如何提升Nmap扫描速度?如何绕过防火墙?Nmap实战教程?

作者:FancyPig | 发布时间: | 更新时间:

image.png

Nmap实战教程

本文将会围绕Nmap扫描时针对防火墙的操作、时间与性能、脚本搭配使用三个方面来进行讲解。 有关Nmap的资料可以参考之前的文章 针对禁止Ping的主机,可以使用 -Pn命令完成扫描
nmap -Pn  ipaddress

针对防火墙

FIN扫描

针对IPS、IDS等防火墙,可以使用 -sF命令完成,发送FIN标志的数据包可以避免SYN被防火墙阻断。
nmap -sF  ipaddress

UA绕过防火墙

如果防火墙设置了UA(User Agent)检测,可以将UA设置成其他的,比方说百度Spider的UA,防火墙总不能连搜索引擎的Spider也拦截吧?下面是增加的参数,前面要配合nmap相关命令使用
nmap --script=http-methods --script-args http.useragent="Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
当然你也可以使用其他Spider的UA,自行发挥想象

随机IP地址生成

相关命令

生成100万个随机的IP地址,并保存到文件中,后续扫描时作为参数输入。
nmap -iR 1200000 -sL -n | grep “not scanned” | awk ‘{print $2}’ | sort -n | uniq >! tp; head -25000000 tp >! tcp-allports-1M-IPs; rm tp

相关参数解释

-iR 120000 随机生成1200000个IP地址 -sL 进行列表扫描,仅扫描主机并列出IP地址 -n 不进行dns解析操作,这样将产生Nmap列表扫描的结果。 grep “not scanned” 在此结果中搜出未扫描的行 awk ‘{print $2}’ 打印出每一行的第二列内容(也就是IP地址) sort -n 对获取到的IP地址进行排序 uniq >! tp 然后剔除重复IP地址,将结果保存到临时文件tp head -25000000 tp >! tcp-allports-1M-IPs 取出前1000000个IP地址保存到tcp-allports-1M-IPs文件中 rm tp 删除临时文件

调用方式

使用 -iL命令调用刚才生成的随机IP
nmap -iL tcp-allports-1M-IPs

指定网卡扫描

选择指定 eth0网卡进行扫描
nmap -e eth0 ipaddress

伪装诱骗

-D是Decoy(诱骗)的缩写,本质上是一种混淆,就是除了本身访问的IP以外还制造了其他IP访问,这样一定程度上达成一种混淆视听的效果,让防火墙认为这只是正常的访问,因为别人也在访问。
nmap  -D Decoy_ipaddress

乱序扫描

正常扫描的顺序是从 .1.255进行扫描,这样很容易就能被防火墙识别出来是扫描器在工作,因此我们需要使用 –randomize-hosts打乱扫描主机的IP顺序
nmap –randomize-hosts

时间性能

参考nmap官方的文档https://nmap.org/man/zh/man-performance.html
--min-hostgroup调整并行扫描组的大小,一般设置为1024 --min-parallelism调整探测报文的并行度,一般设置为10 这个选项具有风险,如果过高则影响准确度,同时也会降低Nmap基于网络条件动态控制并行度的能力。这个值设为10较为合适, 这个值的调整往往作为最后的手段。 -T 设置时间模板 时间模板分为paranoid (-T0)、sneaky (-T1)、polite (-T2)、normal(-T3)、 aggressive (-T4)和insane (-T5)六种,从 -T0-T5逐渐加快扫描速度,-T3是默认标准的扫描速度,使用Nmap时不加参数默认的就是 -T3-T5有时候可能会出现扫描失真的情况,并且有可能会造成主机的崩溃等问题,建议使用 -T4,扫描效率与得到产出性价比最高

脚本扩展

auth 处理身份验证 broadcast 网络广播 brute 暴力猜解 default 默认 discovery 服务发现 dos 拒绝服务 exploit 漏洞利用 external 外部扩展 fuzzer 模糊测试 intrusive 扫描可能造成不良后果 malware 检测后门 safe 扫描危害较小 version 版本识别 vuln 漏洞检测
标签:nmap, 实战, 渗透测试, 红队, 内网渗透