Nmap是一款扫描目标网络信息的工具,可以是黑客用来探测主机信息,收集情报的神器。也可以是运维人员扫描网络环境,及时发现系统漏洞的好帮手。
1、主机发现(Host Discovery)#探测目标网络环境中有哪些主机是可以进行通信的,当然你也可以用ping命令试一下
2、端口扫描(Port Scanning) #扫描主机的端口,通过端口对对应的服务来判断目标主机运行了哪些应用
3、版本侦测(Version Detection)#使用各种特征来判断主机运行了哪些服务应用
4、操作系统侦测(OS detection)#通过特征来识别当前主机的系统版本,不只是计算机,也有可能会是路由交换
5、防火墙/IDS规避(Firewall/IDS evasion)#Nmap可以通过各种方法来规避目标防火墙的拦截,从而达到目的
6、NSE脚本引擎(Nmap Scripting Engine) #这是Nmap自带的扩展脚本,通过加载对应脚本来扫描目标有哪些在脚本已记录的漏洞和弱点
0x02 安装Nmap
1、可以在http://nmap.org/download.html这个网站中得到获取Nmap的各个版本的方法。
2、如果是Centos的话可以使用YUM安装Nmap,如果是debian或ubuntu的话,可以使用apt-get 来安装。
3、如果你使用的是Kali linux 或Back Track系列的话,那就不需要额外去安装了,但升级还是需要的。
0x03 主机发现
1、探测单个主机的在线情况:nmap -sP <target ip>
2、探测一个网段的主机在线情况:nmap -sP <network address > </CIDR >
3、扫描自定义的IP范围:nmap -sP <target ip-digital>
0x04 端口扫描
1、扫描一百个常见主机端口:nmap -F <target ip>
2、自定义扫描端口:nmap -p<port1>-<port2> <target ip>
3、自定连续的端口扫描:nmap -p(range) <target IP>
4、扫描系统的危险端口:
nmap -sT -sV -p 21,80,443,873,2601,2604,3128,4440,6082,6379,8000,8008,8080,8081,8090,8099,8088,8888,9000,9090,9200,11211,27017,28017 --max-hostgroup 10 --max-parallelism 10 --max-rtt-timeout 1000ms --host-timeout 800s --max-scan-delay 2000ms -iL iplist.txt -oN result /port .txt -- open <target IP> |
5、端口状态:使用Nmap扫描端口信息,一般会有6种状态信息
open:端口是开放的。
closed:端口是关闭的。
filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
open|filtered:端口是开放的或被屏蔽。
closed|filtered :端口是关闭的或被屏蔽。
0x05 系统与服务信息扫描
1、扫描系统服务及版本信息:nmap -o <target IP>
0x06 防火墙逃逸
1、源IP欺骗:nmap -S <IP_Address> <target ip> #伪造一个IP,那么防火墙的日志里将不会出现你的真正IP。
2、源端口欺骗:nmap --source-port <portnumber> <target ip>
3、源MAC欺骗:nmap –spoof-mac<mac address,prefix,or vendor name> <target ip>
4、数据报分段扫描:nmap -f <指定MTU> <target ip>
0x07 扫描参数
-A #进行全面的扫描,包括端口及主机版本探测,速度较慢。
-sS #以SYN的方式进行扫描,以报文回复来判断端口状态,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广
-ST #TCP扫描,如果对方端口无法建立TCP连接,则判断为关闭状态,但扫描速度较慢,并且会在对方主机日志上会有记录,所以不推荐使用
-sU #UDP扫描,向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的,反之则为开启
0x08 时间参数
-T0 #非常非常慢的发包,用于躲避IDS/IPS
-T1 #相当慢,用于躲避防火墙,比T0稍微快一些
-T2 #降低速度以消耗更小的带宽,比默认慢十倍
-T3 #默认选项,根据目标的反应自动调整时间模式
-T4 #假定处在一个很好的网络环境,会很快完成扫描,或被防火墙发现
-T5 #非常快速的发包,很可能会漏掉一些开放端口
0x09 常见的危险端口
21 ftp 主要看是否支持匿名,也可以跑弱口令
80 web 常见web漏洞以及是否为一些管理后台
443 openssl 心脏滴血以及一些web漏洞测试
873 rsync 主要看是否支持匿名,也可以跑弱口令
2601,2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网
6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
6379 redis 一般无认证,可直接访问
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上
9200 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache 未授权访问
27017 mongodb 未授权访问
28017 mongodb统计页面
本文出自 “安全运维” 博客,请务必保留此出处http://qiudays.blog.51cto.com/8910608/1638144
原文地址:http://qiudays.blog.51cto.com/8910608/1638144