渗透漏洞分析--沙窝里的王

漏洞分析有好多工具,我偏爱nmap与burpsuite
上次忘了写nmap专篇博客,恰好补上。

工具:nmap

1.检测开机在网络上的主机(主机发现)
2.检测主机上开放的端口(端口发现或枚举)
3.检测到相应的端口(服务发现)
4.软件版本检测脆弱性的漏洞(Nmap的脚本)

nmap常用参数

-sT     TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
-sP     ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-sS     半开扫描,一般不会记入日志,不过需要root权限。 -sU     udp扫描,但是一般不可靠,
-sA     用来穿过防火墙的规则集,速度慢。
-sV     端口服务及版本
-A       包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。 
-P0     扫描之前不使用ping,适用于防火墙禁止ping,比较有用。 
-v      显示扫描进程 
-O       探测目标系统的漏洞,容易误报 
-oN/-oX/-oG     将报告写入文件,格式分别为正常(自定义.txt),XML,grepable. 
-iL      扫描主机列表 
-sC   --script=default   默认的脚本扫描,主要是搜集各种应用服务的信息

上面是nmap的基本参数。

识别主机是否在线

扫描单个IP执行命令如下:
渗透漏洞分析--沙窝里的王_第1张图片nmap可以扫描多个IP:
扫描整个子网 nmap 192.168.25.1/24
扫描多个主机 namp 192.168.25.2 192.168.25.6
扫描一个小范围 nmap 192.168.25.2-10
扫描txt内的ip列表 nmap -iL text.txt
扫描除某个目标外 nmap 192.168.25.1/24 -exclude 192.168.25.25
查看192.168.24.18的端口信息:
直接输入nmap 192.168.24.18即可,如下图:
渗透漏洞分析--沙窝里的王_第2张图片扫描特定端口:nmap -p 3389 192.168.24.18
渗透漏洞分析--沙窝里的王_第3张图片

服务的指纹识别

nmap -sV 192.168.24.18

渗透漏洞分析--沙窝里的王_第4张图片

TCP扫描

connect扫描

常见的TCP的socket实现过程为:

渗透漏洞分析--沙窝里的王_第5张图片本质的连接和结束的过程是如下这个样子:
渗透漏洞分析--沙窝里的王_第6张图片从上面两个图我们可以看出来目标主机的一个端口如果是监听状态(LISTENING或者LINSTEN),那么当我connect目标主机时就能成功,否则说明端口是关闭的。
缺点: 正因为TCP的可靠性,所以当端口不存在的时候,源主机会不断尝试发SYN帧企图得到ack的应答,多次尝试后才会放弃,因此造成了扫描的时间较长。并且,connect的扫描方式可能较容易被目标主机发现。

SYN扫描

上面说到出去开放状态的端口,是在等待其它主机发送SYN帧,所以SYN扫描的原理就是向目标端口发送SUN数据帧,如果源主机收到SYN+ACK数据包,说明此端口开放,如果收到RST说明此端口关闭。由于SYN扫描并不会完成TCP三次握手过程,所以又叫半开放扫描。

FIN扫描

根据上述四次挥手过程,主动结束的一方会发送FIN帧。当我们发送FIN帧给一个非监听的端口时,会有RST应答,反之,发给一个正在监听的端口时,不会有任何回应。

你可能感兴趣的:(渗透漏洞分析--沙窝里的王)