一、nmap介绍
(一)Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。
软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。
一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
(二)优点:
1.灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描。
2.强大。Nmap可以用于扫描互联网上大规模的计算机。
3.可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植。
4.简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip。
5.自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用。
6.文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍。
7.社区支持。Nmap背后有强大的社区团队支持。
8.赞誉有加。获得很多的奖励,并在很多影视作品中出现(如黑客帝国2、Die Hard4等)。
9.流行。目前Nmap已经被成千上万的安全专家列为必备的工具之一。(黑客必备的十大工具之一)
二、环境准备(工具安装)
(一)Windows平台:nmap官网点击这里
1.nmap官网
2.然后全部默认选项安装(安装的时候亦可全选)
3.校验是否安装成功
(二)linux平台:nmap官网点击这里
1.centos、红帽:
①方法一(推荐使用):用仓库下载并安装
yum -y install nmap //(y表示提前输入yes,也可输入yum install nmap,然后输入y)
②方法二:下载nmap官网的rpm安装包
拷贝到虚拟机红帽系统中并安装:
rpm -ivh nmap-7.80-1.x86_64.rpm
校验是否安装成功
③下载nmap官网的bz2压缩文件,拷贝到linux中
tar -xvf nmap-7.80.tar.bz2 //解包nmap
cd nmap-7.80 //进入解压缩过后的目录
./configure //是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
make //编译
make install //编译并安装
校验是否安装成功
2.ubantu、debian、(kali):
①方法一(推荐使用):用仓库下载并安装
su - root //切换到root身份
chmod +x /etc/apt/sources.list //
vi /etc/apt/sources.list //
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-security main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-updates main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-proposed main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-backports main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-security main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-updates main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-proposed main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-backports main restricted universe multiverse //deb源
apt-get update //更新索引文件
apt-get upgrage //通过更换后的新源升级程序
apt-get install nmap //通过仓库安装nmap,安装完成即可校验
校验是否成功安装
3.macos平台:下载nmap官网的dmg安装包
复制到macos中
安装
校验是否安装
三、查看帮助以及相关信息
(一)查看nmap版本
nmap -version
(二)查看nmap帮助
nmap -h
(三)端口状态信息
opend 端口处于开放状态
closed 端口处于关闭状态
filterd 端口处于过滤无法收到返回的probe状态
unfilterd 端口收到返回的probe,但是无法确认
open/unfilterd 端口处于开放或者未过滤状态
closed/unfilterd端口处于关闭或者未过滤状态
(四)快速查找指定字符串的信息(nmap -h)
nmap -h | findstr "O" //Windows
nmap -h | grep "sn" //linux
四、nmap扫描
(一)主机名扫描
nmap www.baidu.com
nmap -vv www.baidu.com //-vv 显示详细的扫描信息
(二)ip探测
nmap 10.1.1.1 //一个ip
nmap 10.1.1.1 10.1.1.2//两个ip
nmap 10.1.1.1,2,3,4,5...//多个ip
nmap 10.1.1.0/24 //整个网段
nmap 10.1.1.* //整个网段
nmap 10.1.1.* --exclude 10.1.1.252//除去ip扫描
(三)DNS解析探测
nmap --dns-server 114.114.114.114 www.baidu.com
(四)端口探测
nmap -p 80 222.210.108.127 //单个端口
nmap -p 80,443 222.210.108.127 //两个端口
nmap -p 1-10000 222.210.108.127 //多个端口
nmap -p- 222.210.108.127 //所有端口
(五)探测主机存活性
nmap -sP 192.168.29.129 //ping扫描,探测主机存活性,使用TCP、SYN扫描、ICMP echo Request来探测主机存活性
nmap -sn 192.168.29.129 //ping扫描,探测主机存活性
(六)服务器指纹探测
nmap -sV 192.168.29.129
(七)侵略性探测
nmap -A -v T4 192.168.29.129 //v持续输出返回解析,T加快速度1-5
nmap -sC -sV -O 192.168.29.129 //sC使用nmap脚本进行探测(sC:equivalent to --script=default),sV探测主机的服务信息,A侵略性策略,O探测主机的操作系统信息
nmap -A 192.168.29.129 //1-10000端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -O 192.168.29.129 //主机系统探测
(八)快速扫描
nmap -F 192.168.29.129 //快速扫描
(九)顺序扫描端口
nmap -r 192.168.29.129 //顺序扫描端口
(十)检测主机接口和路由信息
nmap --iflist 192.168.29.129
nmap -traceroute 192.168.29.129
(十一)探测防火墙
nmap -sA 192.168.29.129 //探测该主机是否使用了包过滤器或防火墙
nmap -PN 192.168.29.129 //扫描主机检测其是否受到数据包过滤软件或防火墙的保护
(十二)不触发防火墙探测,停止探测前的icmp请求
nmap -Pn 192.168.29.129 //扫描前不进行Ping扫描测试
nmap -PS 192.168.0.129 //使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机
有时候包过滤防火墙会阻断标准的ICMP ping请求,在这种情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机
nmap -PA -p 22,80 192.168.29.129 //使用TCP ACK扫描远程主机上特定的端口
nmap -sN 192.168.29.129 //执行TCP空扫描以骗过防火墙
(十三)扫描协议
nmap -p T:25,U:53 192.168.29.129 //tcp25udp53进行扫描
nmap -p smtp 192.168.29.129 //smtp扫描
nmap -p s* 192.168.29.129 //s开头的服务
(十四)扫描特定网卡
nmap -e ens33 192.168.29.0/24 //linux
nmap --iflist //windows
(十五)扫描后输出xml
nmap -A -oX 1.xml 192.168.29.129
(十六)ndiff对比xml的差异
ndiff -h //帮助
ndiff 1.xml 2.xml //对比差异
(十七)其他扫描
nmap -sU 192.168.29.129 //udp端口的扫描
nmap -sT 192.168.29.129 //将与目标端口进行三次握手,尝试建立连接,如果连接成功,则端口开放,慢,且会被目录主机记录
nmap -sS -T4 192.168.29.129 //利用基本的SYN扫描方式测试其端口开放状态
nmap -sF -T4 192.168.29.129 //利用FIN扫描方式探测防火墙状态。FIN扫描方式用于识别端口是否关闭,收到RST回复说明该端口关闭,否则说明是open或filtered状态
nmap -sA -T4 192.168.29.129 //利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包
nmap -iL target.txt //如果有一个ip地址列表,将这个保存为一个txt文件,和nmap在同意目录下,扫描这个txt的所有主机
nmap -sV 192.168.29.129 //版本检测扫描
nmap -sS 192.168.29.129 //半开放扫描(非3次握手的tcp扫描)扫描速度快,效率高。需要root权限
(十八)nmap的NSE脚本
1.NSE脚本的路径
D:\nmap\scripts //windows路径
/usr/share/nmap/script //liunx路径
2.NSE脚本的分类
auth: 负责处理鉴权证书(绕开鉴权)的脚本
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务
brute: 提供暴力破解方式,针对常见的应用如http/snmp等
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等
dos: 用于进行拒绝服务攻击
exploit: 利用已知的漏洞入侵系统
external: 利用第三方的数据库或资源,例如进行whois解析
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
malware: 探测目标机是否感染了病毒、开启了后门等信息
safe: 此类与intrusive相反,属于安全性脚本
version: 负责增强服务与版本扫描(Version Detection)功能的脚本
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067
3.部分操作
(1)负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令
nmap --script=auth 192.168.29.*
(2)提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解
nmap --script=brute 192.168.29.129
(3)默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击
nmap --script=default 192.168.29.* 或者 nmap -sC 192.168.29.*
(4)检查是否存在常见漏洞
nmap --script=vuln 192.168.29.129
(5)利用第三方的数据库或资源,例如进行whois解析
nmap --script external 222.210.108.127
来源:freebuf.com 2021-04-08 17:22:46 by: xyphh36
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册