Nmap整理收集
Nmap使用
Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp。
Nmap可以完成以下任务:
主机探测
端口扫描
版本检测
系统检测
支持探测脚本的编写
Nmap在实际中应用场合如下:
通过对设备或者防火墙的探测来审计它的安全性
探测目标主机所开放的端口
通过识别新的服务器审计网络的安全性
探测网络上的主机
常用端口如下
HTTP 80
HTTPS 443
Telnet 23
FTP 21
SSH 22
SMTP 25
POP3 110
WebLogic 7001
TOMCAT 8080
远程登录 3389
Oracle数据库 1521
MS SQL* SEVER 1433
MySQL 3306
1、nmap简单扫描
nmap 192.168.120.116
2、nmap简单扫描,并对结果返回详细的描述输出
nmap -vv 192.168.120.116
3、nmap自定义端口扫描
nmap -p21,443,22 192.168.120.116 (指定不连续的端口)
nmap -p100-200 192.168.120.116 (指定连续的端口)
4、nmap ping扫描 (可以很方便的找出某个网段存活的主机)
nmap -sP 192.168.120.0/24
5、nmap 路由跟踪
nmap --traceroute 192.168.120.116
6、nmap 操作系统类型的探测
nmap -O 192.168.120.116
7、nmap 综合扫描(包含端口扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测)
nmap -A 192.168.120.116
8、nmap混合扫描
nmap -vv -p1-200 -O 192.168.120.116
9、半开放扫描(执行快,效率高,一般用于ip较多的情况下使用)
nmap -sS 192.168.0.0/16
10、(用于防火墙禁止png的情况下使用)
nmap -P0 192.168.120.116
11、
参数介绍
nmap -e 指定网络接口
nmap -v 详细信息输出
nmap -p 指定端口
nmap -iR 全网扫描
nmap -iL 扫描文件中的ip
nmap -exclude 不扫描某些ip
nmap -PO 有些主机关闭了ping检测所以使用这条命令可以跳过ping的探测加快扫描
nmap -PS 端口(SYN)
nmap -PU 端口(UDP)
nmap -Pn 使用ping扫描,显式地关闭端口扫描,用于主机发现
nmap -sn 使用ping扫描,进行端口扫描,假设主机都是up的,返回主机ip和mac
nmap -sA 向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏。该方式 只能用于确定防火墙是否屏蔽某个端口
nmap -sS 使用SYN扫描,不需要完成三次握手(隐蔽扫描)
nmap -sT 扫描开放了tcp端口的设备,需要完成三次握手的tcp扫描
nmap -sU 扫描UDP端口
nmap -sF FIN扫描,用于探测防火墙状态,识别端口是否关闭,容易漏扫
nmap -sV 扫描目标主机的端口和软件版本
nmap -sO 探测主机支持那些ip协议
nmap -sW 窗口扫描,得出一些端口信息
nmap -sP 对对应主机端的主机发送ICMP报文,查询哪些主机是存活的
nmap -O 远程检测操作系统和软件
nmap -O --osscan-guess 猜测目标操作系统版本
nmap -traceroute 路由跟踪
nmap -A 综合扫描,包含1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -oN result.txt 将标准输出写入到指定文件中
nmap -oX result.xml 将输入写成xml的形式
nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已
nmap -oG result.txt 将输出写成特殊格式
nmap -oA 将输出所有格式,有三种 .xml/ .gnmap/ .nmap
nmap -T[0-5] 时间参数模板
-T0 用于躲避IDS,时间很长
-T1 用于躲避IDS,时间很长
-T2 降低了扫描速度,使用更小的带宽和目标主机资源对目标靶机进行扫描
-T3 默认模式,未做优化
-T4 假设用户具有合适及可靠的网络而加速对目标靶机的扫描
-T5 假设用户具有更好的网络或者愿意牺牲准确性而加速扫描
nmap -sC 根据端口识别服务自动调用默认脚本
nmap --script
nmap按脚本分类扫描
nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描:
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
nmap --script=broadcast-netbios-master-browser 192.168.137.4 发现网关
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4 破解rsync
nmap --script informix-brute -p 9088 192.168.137.4 informix数据库破解
nmap -p 5432 --script pgsql-brute 192.168.137.4 pgsql破解
nmap -sU --script snmp-brute 192.168.137.4 snmp破解
nmap -sV --script=telnet-brute 192.168.137.4 telnet破解
nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path2/,/path3/}'
nmap --script=http-methods.nse 192.168.137.4 检查http方法
nmap --script http-slowloris --max-parallelism 400 192.168.137.4 dos***,对于处理能力较小的站点还挺好用的 'half-HTTP' connections
nmap --script=samba-vuln-cve-2012-1182 -p 139 192.168.137.4
oracle sid扫描
nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5
oracle弱口令破解
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 192.168.137.5
列出所有mysql用户
nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4
nmap --script=mysql-* 192.168.137.4
扫描root空口令
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4
猜解mssql用户名和密码
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4
系统信息
nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test 192.168.137.4
查看会话
nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test 192.168.137.4
查看共享目录
nmap -p 445 --script smb-ls --script-args 'share=e$,path=\,smbuser=test,smbpass=test' 192.168.137.4
vnc扫描:
nmap --script=realvnc-auth-bypass 192.168.137.4
检查vnc认证方式
nmap --script=vnc-auth 192.168.137.4
获取vnc信息
nmap --script=vnc-info 192.168.137.4
smb破解
nmap --script=smb-brute.nse 192.168.137.4
smb字典破解
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4