2019/4/29 - - -
关于在kali linux中使用nmap 的隐形扫描,结合wireshark抓包软件具体分析的讲解
之前讲到过被动侦察,点击链接- - >,访问关于被动侦察的信息
主动侦察:使用OSINT完成几乎检测不到的被动侦察,这种侦察可以产生大量关于目标组织及其用户的信息。
主动侦察会产生更多更有用的信息,但是,由于与目标系统的相互作用可能会被记录,并且可能会通过防火墙、入侵检测系统(IDS)、入侵阻止系统(IPS)等保护设施触发报警。
主动侦察最常用的方法是对目标发动扫描——发送定义的数据包到目标,然后利用返回的数据包来获取信息。
为了提高提供详细的主动侦察信息的有效性,我们的重点将是使用隐形的、不易察觉的技术。
这时需要使用到nmap工具
当试图减少检测,用一些隐形技术来避免检测及随后的报警,包括以下内容:
·测试之前确定扫描的目标,发送需要确定目标的最小数量的数据包。
例如,如果你想确认一个虚拟主机的存在,首先需要确定80端口,这个基于Web服务的默认端口是开放的。
·避免可能与目标系统连接的扫描,避免可能泄漏数据的扫描。
不要ping目标,或使用同步(SYN)和非常规数据包扫描,
如确认(ACK)、完成(FIN)和复位(RST)数据包。
·随机化或欺骗分组设置,如源IP和端口地址,以及MAC地址。
·调节定时以减缓目标端的包的到来。
·通过包的分解或附加随机数据来改变数据包大小,以此混淆设备对数据包的检测。
进行一次隐形扫描并且做最小化的侦测,可以使用以下nmap命令:
nmap --spoof-mac 0 --data-length 24 -T 0 -max-hostgroup 1 --max-parallelism 10 -PN -f -D 192.168.247.66,RND:5,ME -vv -n -sS -sV -oA /tmp/nmap -p T:1-1024 --randomize-hosts 192.168.247.5-10
接下来,会利用wireshark抓包软件一一介绍各项命令
第一:
–spoof-mac 0
创建一个完全随机的Mac地址
举例:
先正常扫描一个IP地址,不改变Mac地址,不加任何选项参数,默认是-sS,半开放连接,常用于隐秘扫描
抓一下包,看到的Mac地址是这个00:0c:29:54:0a:9b
在kali Linux上查看一下本机的Mac地址,也是这个00:0c:29:54:0a:9b
然后用扫描一下这个直连网络
nmap --spoof-mac 0 192.168.247.10
返回信息是对方主机看起来是关闭的。
原因是我们有了一个随机的Mac地址,对方主机找不到我们的Mac地址。
抓一下包,也是这个Mac地址。
这次我们访问一下外网的IP地址,随机的Mac地址是94:C4:10:6F:19:67
nmap --spoof-mac 0 104.193.88.123
抓包抓到的Mac地址也是94:C4:10:6F:19:67
ε=(´ο`*)))哎~,为什么这次访问外网显示主机是开启的?
原因是我们与网关之间都有对方的Mac地址。才会找到的对方。
而访问直连网络时,不经过网关。
第二:
–data-length 24
发送报文时附加24字节的随机数据,因为正常的报文信息,都会有24字节的信息。
举例:
先来看一下不加附加信息的正常的报文信息。
抓包没有信息。
然后再用这个选项扫描
nmap --data-length 24 192.168.247.10
抓包看到有数据为24字节的随机数据。
第三:
-T 0
非常慢的扫描,用于IDS(入侵检测机制)逃避
与它相关的还有:
-T 1 缓慢的扫描,同样用于IDS逃避
-T 2 较慢的扫描,降低对带宽的消耗,(不常用)
-T 3 正常的扫描,根据目标主机的反应自动调整时间
-T 4 快速的扫描,消耗网络带宽,建议网络好的情况下使用
-T 5 极快的扫描,但是准确度不高。
举例:
先来正常的扫描,注意观察扫描时间
nmap 192.168.247.10
然后再使用-T 0,扫描时间是非常慢的,扫描80这个端口,大概需要10分钟o(>﹏<)o0
nmap -T 0 192.168.247.10
第三:
-max-hostgroup 1
设置最大的组,nmap扫描不会超过这个组
什么意思呢?就是如果我扫描一百台主机,把这个
-max-hostgroup 10 设置为10的话,会一次最多扫描10台主机,不会超过这个数目
因为nmap是支持并行扫描的
那与它相对应的是-min-hostgroup 最小的组,一次扫描的数量,不会少于这个数目
第四:
–max-parallelism 10
限制发送有效探针的数量
–scan-delay
设置指针之间的停顿
scan-delay 和max-parallelism 不能一起使用
第五:
-Pn
不做ping扫描,假定主机在线,直接跳过主机发现,而尝试对主机做扫描
举例:
先来一个正常的扫描
namp 104.193.88.123
发现有icmp的ping包
扫描一下这个ip的80端口
nmap -Pn -p 80 104.193.88.123
抓包看一下,并没有发现ICMP的ping包
第六:
-f
指定分片的数据包
第七:
-D 192.168.247.66,RND:5,ME
用诱饵掩盖扫描,会随机产生5个ip地址,先去扫描我们设置的ip地址,只是数据的修改,并没有真正的扫描,真正用意是掩盖我们真实的扫描
举例:
nmap -D 192.168.247.66,RND:5,ME -p 80 104.193.88.123
抓包看到有不同的ip去扫描我们指定的目标主机
第七:
-vv
会有详细的信息
举例:
nmap -vv 192.168.247.10
第八:
-sS
半开放连接,常用于隐秘扫描
第九:
-sV
服务、应用程序的版本
举例:
nmap -sV 104.193.88.123
第十:
-oA /tmp/nmap/namp
自定义输出,这里把扫描结果输出到/tmp/nmap
举例:
nmap -oA /tmp/nmap 192.168.247.10
第十一:
-p T:1-1024
指定端口,这里是指定tcp的1到1024端口
第十二:
–randomize-hosts 192.168.247.5-10
随机目标主机,不按照默认顺序,会随机扫描。
OK,关于隐形扫描介绍完毕,有什么问题,欢迎评论交流O(∩_∩)O~