Nmap使用技巧总结
目录
前言
Nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。Nmap是一款非常强大的实用工具,可用于:
检测活在网络上的主机(主机发现)
检测主机上开放的端口(端口发现或枚举)
检测到相应的端口(服务发现)的软件和版本
检测操作系统,硬件地址,以及软件版本
检测脆弱性的漏洞(Nmap的脚本)
一、主机发现
1. 全面扫描 / 综合扫描nmap -A 192.168.1.1032. Ping 扫描nmap -sP 192.168.1.1/243. 免 Ping 扫描,穿透防火墙,避免被防火墙发现nmap -P0 192.168.1.1034. TCP SYN Ping 扫描nmap -PS -v 192.168.1.103nmap -PS80,10-100 -v 192.168.1.103 (针对防火墙丢弃 RST 包)5. TCP ACK Ping 扫描nmap -PA -v 192.168.1.1036. UDP Ping 扫描nmap -PU -v 192.168.1.103 7. ICMP Ping Types 扫描nmap -PU -v 192.168.1.103(ICMP ECHO)nmap -PP -v 192.168.1.103(ICMP 时间戳 )nmap -PM -v 192.168.1.103(ICMP 地址掩码 )8. ARP Ping 扫描nmap -PR -v 192.168.1.1039. 列表 扫描nmap -sL -v 192.168.1.10310. 禁止方向域名解析nmap -n -sL -v 192.168.1.10311. 方向域名解析nmap -R -sL -v 192.168.1.10312. 使用系统域名解析系统nmap --system-dns 192.168.1.2 192.168.1.10313. 扫描 IPV6 地址nmap -6 IPv6 14. 路由跟踪nmap --traceroute -v www.sunbridgegroup.com14. SCTP INIT Ping 扫描nmap -PY -v 192.168.1.103
二、端口扫描
1. 时序扫描nmap -T(0-5) 192.168.1.1032. 常用扫描方式nmap -p 80 192.168.1.103nmap -p 80-100 192.168.1.103nmap -p T:80,U:445 192.168.1.103nmap -F 192.168.1.1.103( 快速扫描 )nmap --top-ports 100 192.168.1.103( 扫描最有用的前 100 个端口 )3. TCP SYN 扫描 (高效的扫描方式)nmap -sS -v 192.168.1.103 4. TCP 连接扫描nmap -sT -v 192.168.1.1035. UDP 连接扫描nmap -sU -p 80-100 192.168.1.1036. 隐蔽扫描nmap -sN 61.241.194.153(NULL 扫描 )nmap -sF 61.241.194.153(FIN 扫描 )nmap -sX 61.241.194.153(Xmas 扫描 )7. TCP ACK 扫描nmap -sA 192.168.1.1038. TCP 窗口扫描nmap -sW -v -F 192.168.1.1039. TCP Maimon 扫描nmap -sM -T4 192.168.1.10310. 自定义 扫描nmap -sT --scanflags SYNURG 192.168.1.103 11. 空闲 扫描 ( 隐藏 IP )nmap -sI www.0day.co:80 192.168.1.10312. IP 协议 扫描nmap -sO -T4 192.168.1.103
三、指纹识别与探测
1. 版本探测nmap -sV 192.168.1.103nmap -sV -A 192.168.1.1032. 全端口版本探测nmap -sV --allports 192.168.1.1033. 设置扫描强度nmap -sV --version-intensity (0-9) 192.168.1.103 4. 轻量级扫描nmap -sV --version-light 2 192.168.1.1035. 重量级扫描nmap -sV --version-all 192.168.1.1036. 获取详细版本信息nmap -sV --version-trace 192.168.1.1037. RPC 扫描nmap -sS -sR 192.168.1.1038. 对指定的目标进行操作系统监测nmap -O --osscan-limit 192.168.1.1039. 推测系统并识别nmap -O --osscan-guess 192.168.1.103
四、伺机而动
1. 调整并行扫描组的大小nmap --min-hostgroup 30 192.168.1.110/24 nmap --max-hostgroup 30 902 192.168.1.1042. 调整探测报文的并行度nmap --min-parallelism 100 192.168.1.104nmap --max-parallelism 100 192.168.1.1043. 调整探测报文超时nmap --initial-rtt-timeout 100ms 192.168.1.104nmap --max-rtt-timeout 100ms 192.168.1.104nmap --min-rtt-timeout 100ms 192.168.1.1044. 放弃缓慢的目标主机nmap --host-timeout 1800000ms 192.168.1.1045. 调整报文适合时间间隔nmap --scan-delay 1s 192.168.1.104nmap --max-scan-delay 1s 192.168.1.104
五、防火墙/IDS 逃逸
1. 报文分段nmap -f -v 61.241.194.153 2. 指定偏移大小nmap --mtu 16 192.168.1.1043. IP 欺骗nmap -D RND:11 192.168.1.104nmap -D 192.168.1.104,192.168.1.103,192.168.1.101 192.168.1.1044. 源地址欺骗nmap -sI www.0day.cn:80 192.168.1.1045. 源端口欺骗nmap --source-port 902 192.168.1.1046. 指定发包长度nmap --data-length 30 192.168.1.1047. 目标主机随机排序nmap --randomize-hosts 192.168.1.1048. MAX 地址欺骗nmap -sT -Pn --spoof-mac 0 192.168.1.104
六、信息收集
1. IP 信息收集nmap --script ip-geolocation-* www.pcos.cn2. WHOIS 查询nmap --script whois-domain www.pcos.cnnmap --script whois-domain --script-args whois.whodb=nofollow www.ithome.comnmap -sn --script whois-domain -v -iL host.txt3. 搜索邮件信息 ( 新版可能没有这个模块 )nmap --script http-email-harvest www.pcos.cn4. IP 反查nmap -sn --script hostmap-ip2hosts www.pcos.cn5. DNS 信息收集nmap --script dns-brute www.pcos.cnnmap --script dns-brute dns-brute.threads=10 www.pcos.cnnmap --script dns-brute dns-brute.threads=10,dns-brute.hostlis www.pcos.cn6. 检索系统信息nmap -p 445 445 192.168.1.104 --script membase-http-info7. 后台打印机服务漏洞nmap --script smb-security-mode.nse -p 445 119.29.155.458. 系统漏洞扫描nmap --script smb-check-vulns.nse -p 445 119.29.155.459. 扫描 Web 漏洞nmap -p80 --script http-stored-xss.nse/http-sql-injection.nse 119.29.155.4510. 通过 Snmp 列举 Windows 服务 / 账户nmap -sU -p 161 --script=snmp-win32-services 192.168.1.104nmap -sU -f -p 161 --script=snmp-win32-users 192.168.1.11011. 枚举 DNS 服务器的主机名nmap --script dns-brute --script-args dns-brute.domain=baidu.com 12. HTTP 信息收集nmap -sV -p 80 www.0day.com (HTTP 版本探测 )nmap -p 80 --script=http-headers www.pcos.cn (HTTP 信息头探测 )nmap -p 80 --script=http-sitemap-generator www.pcos.cn ( 爬行 Web 目录结构 )13. 枚举 SSL 密钥nmap -p 443 --script=ssl-enum-ciphers www.baidu.com14. SSH 服务密钥信息探测map -p 22 --script ssh-hostkey --script-args ssh_hostkey=full 127.0.0.1
七、数据库渗透测试
1. Mysql 列举数据库nmap -p3306 --script=mysql-databases --script-args mysqluser=root,mysqlpass 192.168.1.1012. 列举 MySQL 变量nmap -p3306 --script=mysql-variables 192.168.1.3nmap -sV --script=mysql-variables 192.168.1.3 ( 无法确定端口的情况下 ) 3. 检查 MySQL 密码nmap -p3306 --script=mysql-empty-password 192.168.1.3nmap -sV -F -T4 --script=mysql-empty-password 192.168.1.34. 审计 MySQL 密码nmap --script=mysql-brute 192.168.1.101nmap -p 3306 --script=mysql-brute userdb=/root/passdb.txt passdb=/root/pass.txt 192.168.1.101 ( 指定字典 )5. 审计 MySQL 安全配置nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username='root',mysql-audit.password='123',mysql-audit.fi lename='nselib/data/mysql-cis.audit'" 192.168.1.1046. 审计 Oracle 密码nmap --script=oracle-brute -p 1521 --script-args oracle-brute.sid=test192.168.1.121nmap --script=oracle-brute -p 1521 --script-args oracle-brute.sid=test --script-args userdb=/tmp/usernames.txt,passdb=/tmp/password.txt 192.168.1.1057. 审计 msSQL 密码nmap -p 1433 --script ms-sql-brute --script-args userdb=name.txt,passdb=pass.txt 192.168.1.1048. 检查 msSQL 空密码nmap -p 1433 --script ms-sql-empty-password 192.168.1.1049. 读取 msSQL 数据nmap -p 1433 --script ms-sql-tables --script-args mssql.username=sa,mssql.Password=sa 192.168.1.10110. 读取 msSQL 执行系统命令nmap -p 1433 --script ms-sql-xp-cmdshell --script args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="ipconfig" 192.168.1.10111. 审计 PgSQL 密码nmap -p 5432 --script pgsql-brute 192.168.1.101
八、渗透测试
1. 审计 HTTP 身份验证nmap --script=http-brute -p 80 www.pcos.cn2. 审计 FTP 服务器nmap --script ftp-brute -p 21 192.168.1.101nmap --script ftp-brute --script-args userdb=user.txt,passdb=pass.txt -p 21 192.168.1.101nmap --script=ftp-anon 192.168.1.1013. 审计 Wordpress 程序nmap -p80 --script http-wordpress-brute 192.168.1.110nmap -p80 --script http-wordpress-brute --script-args userdb=user.txt,passdb=passwd.txt 192.168.1.110nmap -p80 --script http-wordpress-brute --script-args http-wordpress-brute.threads=10 192.168.1.1104. 审计 Joomla 程序nmap -p80 --script http-joomla-brute 192.168.1.110nmap -p80 --script http-joomla-brute --script-args uesrdb=user.txt,passdb=passwd.txt 192.168.1.110nmap -p80 --script http-joomla-brute --script-args uesrdb=user.txt,passdb=passwd.txt,http joomla-brute.threads=5 192.168.1.110 5. 审计 邮件服务器nmap -p110 --script=pop3-brute 192.168.1.1106. 审计 SMB 口令nmap --script smb-brute.nse -p 445 192.168.1.110nmap --script smb-brute.nse --script-args passdb=pass.txt -p 445192.168.1.1107. 审计 VNC 服务nmap --script vnc-brute -p 5900 192.168.1.1108. 审计 SMTP 服务器nmap -p 25 --script smtp-brute 192.168.1.110nmap -p 25 --script=smtp-enum-users.nse smith.jack.com ( 枚举远程系统所有用户 )9. 检测 Stuxnet 蠕虫nmap --script stuxnet-detect -p 445 192.168.1.11010. SNMP 服务安全审计nmap -sU -p 161 --script=snmp-netstat 192.168.1.101 ( 获取目标主机网络连接状态 )nmap -sU -p 161 --script=snmp-processes 192.168.1.110 ( 枚举目标主机 的系统进程 )nmap -sU -p 161 --script=snmp-win32-services 192.168.1.110 ( 获 得windows 服务器的服务 )nmap -sU -p 161 --script snmp-brute 192.168.1.110
九、Zenmap
1. Intense scan ( 详细扫描 )nmap -T4 -A -v 192.168.1.1012. Intense scan plus UDP (UDP 扫描经典使用 )nmap -sS -sU -T4 -A -v 192.168.1.1013. Intense scan, all TCP ports (TCP 扫描 )nmap -p 1-65535 -T4 -A -v 192.168.1.1014. Intense scan, no ping ( 无 Ping 扫描 )nmap -T4 -A -v -Pn 192.168.1.1015. Ping scan (Ping 扫描 )nmap -sn 192.168.1.101/24 6. Quick scannmap -T4 -F 192.168.1.101/247. Quick scan plusnmap -sV -T4 -O -F --version-light 192.168.1.101/248. Quick traceroutenmap -sn --traceroute 192.168.1.1019. Regular scannmap 192.168.1.10110. Slow comprehensive scannmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53--script "default or (discovery and safe)" 192.168.1.101