Nmap的使用
Nmap(“Network Mapper(网络映射器)”)是一款开放源代码的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap一新颖的方式使用原始IP报文来发现网络上有哪些主机,哪些主机提供什么服务(应用程序名和版本),哪些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。
官网地址:https://namp.org
一:Nmap作用
-
检测存活在网络上的主机(主机发现)
-
检测主机上开放的端口(端口发现)
-
检测相应的服务(服务发现)
-
检测操作系统,硬件地址以及软件版本
-
检测脆弱性的漏洞(Nmap的脚本)
二:常用的端口扫描指令
-sS:TCP SYN扫描
-p:指定端口号进行扫描
-v: 显示扫描过程
-F:快速扫描
-Pn:禁止Ping扫描后,跳过主机发现的过程进行端口扫描
-A:全面的系统扫描,包括打开操作系统探测,版本探测,脚本扫描,路径跟踪
-sU:UDP扫描
-sT:TCP扫描
-sV:扫描系统版本和程序版本号检测
--script=vuln:全面的漏洞扫描
-n:禁止反向域名解析
-R:反向域名解析
-6:启用IPV6扫描
例:
-
扫描指定IP开放端口
nmap -sS -p 端口号 -v ip
使用半开扫描,指定端口号1-65535,显示扫描过程
-
穿透防火墙扫描
nmap -Pn -A ip
服务器禁止ping命令,可以试一试-Pn,namp参数配合使用
-
漏洞扫描
nmap -script=vuln ip
使用vuln脚本进行全面的漏洞扫描
-
指纹识别扫描
nmap - sV -v ip
扫描系统版本和程序版本号检测,并输出详细的信息
三:端口扫描状态
Opend:端口开启
Closed:端口关闭
Filtered:端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙过滤
Unfiltered:未被过滤,数据有到达主机,但是不能识别端口的当前状态
Open|filtered:开放或者被过滤,端口没有返回值,主要发生在UDP,IP,FIN,NULL和Xmas扫描中
Closed|filtered:关闭或者被过滤,只发生在IP,ID,dile扫描
四:漏洞脚本扫描
脚本保存位置:/usr/share/nmap/scripts,“script=”后的参数为脚本的名字
官方脚本网址:https://svn.nmap.org/nmap/scripts/
-
wohis信息扫描
nmap --script=whois-domain 站点根域名
使用whois脚本对站点进行whois信息查询,即域名注册信息
-
DNS解析爆破扫描
nmap --script=dns-brute 站点根域名
使用DNS爆破脚本进行dns解析扫描,查找相关域名(子域名)
五:扫描结果保存
将输出结果保存到指定文件
-
保存为txt文件
nmap --script=dns-brute 站点 -oN test.txt
-
保存为xml格式
nmap --script=dns-brute 站点 -oX test.xml
xml格式需要用浏览器打开,查看结果
六:攻击方向
端口号 | 端口说明 | 攻击方向 |
---|---|---|
80/443/8080 | 常见web服务端口 | web攻击,爆破,对应服务器版本漏洞 |
7001/7002 | weblogic控制台 | java反序列化,弱口令 |
8080/8089 | jboss/Resin?Jetty/Jenkins | 反序列化,控制台弱口令 |
9090 | WebShphere控制台 | Java反序列化,弱口令 |
4848 | GlassFish控制台 | 弱口令 |
1352 | Lotus domino邮件服务 | 弱口令,信息泄露,爆破 |
10000 | Webmin-Web控制面板 | 弱口令 |
nmap更多命令可使用man nmap进行查看