检测网络安全漏洞 工具 网络安全 漏洞扫描 实验

实验一的名称为信息收集和漏洞扫描

实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。

理论知识记录:

1.信息收集的步骤

2.ping命令

3.arp主机发现

4.端口扫描

tcp扫描

tcp SYN扫描

Nmap

nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。

5.漏洞扫描

漏洞库匹配法

插件技术

理论知识就记录那么多,接下来记录一下实操。

首先是主机发现,先用fping扫描。首先熟悉一下fping的参数。

使用一个工具之前一定要对参数有所了解。分享一下作为英语学渣看英文解释的办法,首先安装了vmtoors的话直接复制粘贴,打开百度在线翻译,然后就能开始看了。

然后我们进行一下内网扫描:fping -a -g 192.168.48.1/24 -q

解释一下这个指令,-a 是显示网段内存活主机(包括自己),-g代表了扫的是ip的范围,后面跟的192.168.48.1/24,-q这个参数非常重要,如果不设置的话,每ping失败一次就会显示一次ping失败,一般一个IPping三个包,256x3条信息。

这里可以通过返回的包的ttl判断一下操作系统的类型,ttl接近128是windows操作系统,ttl接近64是,Linux操作系统。

然后我们开启防火墙一个回复都没有收到。

这时候我们试一下arping扫描,就可以得到回复,下面是开启防火墙时的ping扫描和当机器挂起时的ping扫描的结果。

为什么ping扫描没有回复但是arping扫描有回复呢,现在我们解释一下arping扫描到底是啥。

arping实现了简单的二层发现,即基于物理层和链路层的发现。由于没有ip层的参与,所以是不可路由的。优点是速度快,准确性高;缺点是不可路由,无法发现局域网以外的主机。

arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。

arping命令无法一次性实现多个ip的扫描,但是可以配合shell脚本实现整个局域网的扫描。

arping主要干的活就是查看ip的MAC地址及IP占用的问题。

我们老师说如果一个机器如果对ARP包不回复是没有办法上网的,因为在网络上别人给你发数据包实际上还是发到mac地址上,因为mac地址是固定且唯一的,IP地址是会变得,而ARP报文就是询问ip对应的mac地址,所以是会回复的,就算开了防火墙也会回复,所以可以通过arping去检测局域网内机器是否存活。

下面记录一下下Nmap扫描学习,同样的我们先输入nmap -h看一下参数

这里搬运一下别人整理的翻译,做自己的学习记录。

复制代码
1、 TARGET SPECIFICATION 目标说明

-iL 从主机地址列表文件中导入扫描地址(批量扫描,可自己创建地址列表文件)
-iR 随机选择目标进行扫描,num hosts表示数目,设置为0则无休止扫描
--exclude 排除某个主机地址
--excludefile 排除主机地址列表文件中的地址
2、 HOST DISCOVERY 主机发现

-sL 列表扫描,仅将指定的目标IP列举出来,不进行主机发现
-sn 和-sP一样,只利用ping扫描进行主机发现,不扫描目标主机的端口
-Pn 将所有指定的主机视为已开启状态,跳过主机发现过程
-PS TCP SYN ping,发送一个设置了SYN标志位的空TCP报文,默认端口为80,也可指定端口
-PA TCP ACK ping,发送一个设置了ACK标志位的空TCP报文,默认端口为80,也可指定端口
-PU UDP ping,发送一个空的UDP报文到指定端口,可穿透只过滤TCP的防火墙
-P0 使用IP协议ping
-PR 使用ARP ping
-n/-R -n不用域名解析,加速扫描,-R为目标IP做反向域名解析,扫描慢一些
-dns-servers 自定义域名解析服务器地址
-traceroute 目标主机路由追踪

3、SCAN TECHNIQUES 端口扫描
Nmap将目标端口分为6种状态:
-open(开放的)
-closed(关闭的)
-filtered(被过滤的)
-unfiltered(未被过滤)可访问但不确定开放情况
-open|filtered(开放或者被过滤)无法确定端口是开放还是被过滤的
-closed|filtered(关闭或者被过滤)无法确定端口是关闭还是被过滤的
Nmap产生结果是基于目标机器的响应报文的,而这些主机可能是不可信任的,会产生迷惑或者误导Nmap的报文

-sS TCP SYN扫描,半开放扫描,速度快隐蔽性好(不完成TCP连接),能够明确区分端口状态
-sT TCP连接扫描,容易产生记录,效率低(不推荐)
-sA TCP ACK扫描,只设置ACK标志位,区别被过滤与未被过滤的
-sU UDP服务扫描,例如DNS/DHCP等,效率低

4、 PORT SPECIFICATION AND SCAN ORDER 端口说明和扫描顺序
-p 指定扫描的端口,可以是单个端口,也可以是端口范围,可以指定UDP或TCP协议扫描特定端口
-p 指定扫描的协议,例如-p http即可扫描http协议的端口状态
--exclude-ports 排除指定端口不扫描
-F 快速模式,仅扫描100个常用端口

5、SERVICE/VERSION DETECTION 服务与版本探测
Nmap-services 包含大量服务的数据库,Nmap通过查询该数据库可以报告哪些端口可能对应于什么服务,但不一定正确
-sV 进行服务版本探测
--version-intensity 设置版本扫描强度,范围为0-9 默认是7,强度越高,时间越长,服务越可能被正确识别

6、SCRIPT SCAN 脚本扫描
允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能,使用Lua脚本语言。
-sC 使用默认类别的脚本进行扫描
--script= 使用某个或某类脚本进行扫描;支持通配符描述

7、OS DETECTION 操作系统探测
用TCP/IP协议栈fingerprinting进行探测,Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。测试后Nmap把结果和数据库中超过1500个一直的fingerprints比较,如匹配则输出结果。
-O 启用操作系统探测
-A 同时启用操作系统探测和服务版本探测
--osscan-limit 针对指定的目标进行操作系统检测
--osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配

8、TIMING AND PERFORMANCE 时间和性能
Nmap开发的最高优先级是性能,但实际应用中很多因素会增加扫描时间,比如特定的扫描选项,防火墙配置以及版本扫描等。

-T<0-5> 设置时间模块级数,在0-5中选择。T0、T1用于IDS规避,T2降低了扫描速度以使用更少的带宽和资源。默认为T3,未做任何优化。T4假设具有合适及可靠的网络从而加速扫描。T5假设具有特别快的网络或者愿为速度牺牲准确性
-host-timeout 放弃低速目标主机,时间单位为毫秒

9、FIREWALL/IDS EVASION AND SPOOFING 防火墙/IDS规避和欺骗
-f(报文分段);--mtu(使用指定的MTU)将TCP头分段在几个包中,使得包过滤器、IDS以及其他工具的检测更加困难
-D <decoy1,deoy2[,ME]...>隐蔽扫描;使用逗号分隔每个诱饵主机,用自己的真实IP作为诱饵使用ME选项。如在6号或更后的位置使用ME选项,一些检测器就不报告真实IP。如不适用ME,真实IP将随机放置
-S <IP_Address> 伪造数据包的源地址
-source-port/-g 伪造源端口

10、OUTPUT 输出选项
-oN 标准输出
-oX XML输出写入指定的文件
-oS 脚本小子输出,类似于交互工具输出
-oG Grep输出
-oA 输出至所有格式
-v 提高输出信息的详细度
-resume 继续中断的扫描

然后我们记录一下实验用的语句。

1.A对B进行TCP端口扫描(范围1-150)

nmap 192.168.48.134 -p 1-150

2.对B进行UDP端口扫描,范围也是1-150

nmap 192.168..48.134 -sU -p 1-150

3.对主机B进行TCP/IP指纹特征扫描

nmap -A 192.168.48.134 -Pn

这里学习记录一下tcp/ip指纹特征的原理。

TCP/IP堆栈指纹识别技术是基于TCP/IP协议来实现的,主要是TCP/IP四层模型中网络层的IP协议和传输层的TCP协议。操作系统为了实现网络功能,一般由操作系统来实现传输层、网络层、链路层协议, 而由专门的应用软件来支持相关的应用层协议,如安装QQ软件才能支持QQ协议,这样的实现方式为TCP/IP堆栈指纹技术提供了前提。

比如,IP协议的initial ttl在不同的操作系统就不太一样,TCP协议和IP协议在不同操作系统中体现的细微差异,可以组合成TCP/IP堆栈的指纹特征,每个指纹都代表着一种操作系统在网络活动上的特征。

4.对活动主机运行服务进行探测。

namp -sV 192.168.48.134

5.对主机B进行协议探测

nmap 192.168.48.134 -PO ip(-PO是协议探测,我这里指定是ip协议探测)

nmap 192.168.48.134 -PO ip

scapy项目学习记录

Scapy能完成绝大多数工具所能完成的功能,例如:扫描,网络发现,跟踪路由,探测,攻击,这是kali已经集成的python的工具包,使用方法是,在shell页面输入scapy就能启动。

send、sendp、sr、sr1 发送数据包函数使用,send函数工作在第二层,可用于发送IP包,sendp函数工作在第三层,可用于发送Ether帧。

"/"表示加上一层

例如:send(IP(dst="192.168.64.133")/ICMP()) 生成一个IP包,并加上一层ICMP然后给地址192.168.48.133发送。

sendp(Ether()/IP(dst="192.168.64.133"),iface="eth0")

sr()函数用来发送数据包和接收响应,例如

sr(IP(dst="192.168.64.133")/ICMP())是给IP地址发送一个数据包并且接收响应

通过summary函数查看响应的结果。

由于这次实验没有学多少关于scapy所以我就记录到这里。

下面记录一下实验的漏洞扫描,使用的工具为Nessus,我费了好大的劲才装上的。

用Nessus进行漏洞扫描的过程在我的另一篇博客,我就不在这写啦~

这里记录到我的另一篇博客去啦,扫描的过程我就不放上来了。

靶机是metasploitable2,利用的漏洞是php_cgi_arg_injection

启动metasploit,搜索相关的漏洞利用模块

输入use 0可以选择该攻击的payload。

然后查看需要配置的参数,show options

一般我们就配个IP就行了

输入指令,set rhost 192.168.48.129就能设置了

然后设置好了以后输入exploit,或者run,我一般输exploit,因为比较酷。

可以看到执行以后,有一个meterpreter,那个就是攻击成功了好像。可以输一些指令试试。

我cd切进了我自己写的文件的目录,执行cat指令查看我自己写的内容。

这次的试验记录就到这里结束啦~

相关推荐
用户962377954489 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机12 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544814 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star14 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544817 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全