每日一句:
渗透测试,特别是涉及到工具的时候,一定要得到授权才要继续。
本文内容:
~初识Nmap
~Nmap常用扫描指令
~Nmap扫描状态
~Nmap漏洞扫描
~补充一下批量扫描
一、初识Nmap
Nmap号称端口扫描之王,但是nmap除了端口扫描以外还可以干别的。
只不过他的端口扫描功能太过耀眼。
这款工具kali自带,win可以去官网下载
至于原理,不做过多的解释,有兴趣的同学可以自行去了解一下
一些功能:
~主机发现
~端口发现或枚举
~服务发现(对应的软件和版本)
~操作系统,硬件地址,以及软件版本
~检测脆弱性的漏洞(Nmap的脚本)
二、Nmap常用扫描指令
-------------------
-sS: TCP SYN扫描 ---》 不建立连接,会发包进行前两次握手(半开扫描)
-p: 指定端口扫描
-v: 显示扫描过程
-F: 快速扫描 ---》 扫的不是太全
-Pn: 禁止ping后扫描---》跳过主机发现的过程,直接进行端口扫描
-A: 全面的系统扫描:包括打开操作系统探测、版本探测、脚本扫描、路径跟踪---》会建立连接
-------------------
扫描指定开放端口:
命令:nmap -sS -p 端口号 -v 192.168.1.2
含义:使用半开扫描,指定端口号1-65535,显示扫描过程
穿透防火墙扫描:
命令:nmap -Pn -A 192.168.1.2
含义:服务器禁止ping命令,试试-Pn,nmap参数配合使用
-------------------
-sU: UDP扫描
-sT: TCP扫描
-sV: 扫描系统版本和程序版本检测
-n: 禁止反向域名解析
-R: 反向域名解析
-6: 启用IPV6扫描
--scrpt=vuln 全面的漏洞扫描
--------------------
漏洞扫描命令:
nmap –script=vuln 59.63.200.79
使用vuln脚本进行全面的漏洞扫描
指纹识别扫描命令:
nmap -sV -v 192.168.0.161
扫描系统和程序版本号检测,并且输出详细信息
三、Nmap扫描状态
不加任何参数:
超级用户状态下,默认-sS(半开扫描)
非超级用户下时,默认-sT(TCP,完整连接)
端口扫描的状态:
Opend: 端口开启
Closed: 端口关闭
Filtered: 端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙
Unfiltered: 未被过滤,数据有到达主机,但是不能识别端口的当前状态
Open|filtered: 开放或者被过滤,端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
Closed|filtered: 关闭或者被过滤,只发生在IP ID idle扫描
四、Nmap漏洞扫描
Nmap自带很多脚本。可以使用这些脚本进行信息收集
脚本保存位置: /usr/share/nmap/scripts
举例一:whois信息查询
命令:
nmap -–script=whois-domain shop.aqlab.cn
使用whois脚本对站点进行whois信息查询
举例二:DNS解析查询
命令:
nmap --script=dns-brute shop.aqlab.cn
使用DNS爆破脚本进行dns解析扫描
举例三:扫描目标主机是否存在永恒之蓝(ms17-010)
命令:
nmap -p445 --script smb-vuln-ms17-010 192.168.1.100
nmap -p445 --script smb-vuln-ms17-010 192.168.1.100 192.168.1.101 192.168.1.102
上边是扫描指定IP
nmap -p445 --script smb-vuln-ms17-010 192.168.1.0-254
nmap -p445 --script smb-vuln-ms17-010 192.168.1.0-192.168.1.254
上边是扫描一个网段
补充:如过自带的脚本没有这些东西,可以去官网下载一下,放到文件夹就行
kali下的文件夹位置为: /usr/share/nmap/scripts/
五、Nmap报告输出
把Nmap扫描结果保存到本地
一、标准保存
命令:
nmap –oN test.txt shop.aqlab.cn
标准保存会包输出结果保存到指定文件
二、保存为xml格式
命令:
nmap –oX test.xml shop.aqlab.cn
保存为xml格式需要用浏览器打开,查看结果
六、补充一下批量扫描与升级
1,将目标保存到1.txt中
2,nmap -iL 1.txt
3,升级nmap(kali环境)
(1)使用以下命令获取当前NMAP版本。
nmap --version
(2)更新NMAP软件。
apt-get install nmap
(3)再次获取当前NMAP版本号。
nmap --version