1. 初始Nmap
官网:www.nmap.org
1.1 简介
Nmap是一款开放源代码的网络探测和安全审核的工具
它的设计目的是快速地扫描大型网络,当然用它扫描单个主机也没问题
可以用来发现网络上有哪些主机,提供什么服务(应用程序名和版本),运行在什么操作系统(包括版本信息),使用什么类型的报文过滤器 / 防火墙……
1.2 Nmap的一些功能
- 检测存活在网络上的主机(主机发现)
- 检测开放的端口(端口发现或枚举)
- 检测到相应的端口(服务发现)的软件和版本
- 检测操作系统,硬件地址,以及软件版本
- 检测脆弱性的漏洞(Nmap的脚本)
2. Nmap常用扫描指令
2.1相关网站
https://www.freebuf.com/news/141607.html //nmap使用指南
http://cve.scap.org.cn //cve查询
https://svn.nmap.org/nmap/scripts/ //nmap官网脚本
2.2常用命令:
- -sS: TCP SYN扫描
- -p: 指定端口号扫描
- -v: 显示扫描过程
- -F: 快速扫描
- -Pn: 禁止ping后扫描,跳过主机发现的过程进行端口扫描
- -A: 全面的系统扫描: 包括打开操作系统探测,版本探测,脚本扫描,路径跟踪
- -sU: UDP扫描
- -sT: TCP扫描
- -sV: 扫描系统版本和程序版本号检测
- -n: 禁止反向域名解析
- -R: 反向域名解析
- -6: 启用IPV6扫描
- --scrpt=vuln: 全面的漏洞扫描
2.3 例如
漏洞扫描
nmap --scrpt=vuln 192.168.1.1
使用vuln脚本进行全面的漏洞扫描
指纹识别扫描
nmap -sV -v 192.168.1.1
扫描系统和程序版本号检测,并且输出详细信息
扫描指定IP开放端口
nmap -sS -p 端口号 -v 192.168.1.1
使用半开扫描,指定端口号1-65535,显示扫描过程
穿透防火墙扫描
nmap -Pn -A 192.168.1.1
服务器禁止ping命令,试试-Pn
3. Nmap端口扫描状态
opend:端口开启
closed: 端口关闭
filtered:端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙过滤
unfiltered: 未被过滤,数据有到达主机,但是不能识别端口的当前状态
open | filtered: 开放或者被过滤,端口没有返回值,主要发生在UDP,IP,FIN,NULL,Xmas扫描中
closed | filtered: 关闭或者被过滤,只发生在IP ID idle扫描
4. Nmap漏洞扫描
nmap 中的漏洞脚本保存位置 /usr /share /nmap /scripts
4.1 whois信息搜集
nmap --script=whois-domain shop.aqlab.cn //使用whois脚本对站点进行whois信息查询
4.2 DNS解析爆破扫描
nmap --script=dns-brute shop.aqlab.cn
4.3 扫描web漏洞
nmap --script http:stored-xss.nse 目标 //扫描目标是否存在xss漏洞,还有很多其他的web扫描脚本
4.4 检测MySQL密码
nmap --script=mysql-empty-password 目标 //检测目标是否存在弱口令或者密码为root
4.5 FTP服务认证
nmap --script ftp-brute -p 21 目标
nmap --script ftp-brute --script-args userdb=user.txt,passdb=pass.txt -p 21 目标 //使用字典
4.6 wordpress认证
nmap --script http-wordpress-brute -p 80 目标
nmap --script http-wordpress-brute --script-args userdb=user.txt,passdb=pass.txt -p 80 目标 //使用字典
5. Nmap报告输出
5.1 标准格式保存
nmap -oN test.xml shop.aqlab.cn
标准保存会把输出结果保存到指定文件
5.2 保存为xml格式
nmap -oX test.xml shop.aqlab.cn
保存为xml格式需要用浏览器打开,查看结果
补充
web应用服务
端口号 端口说明 攻击方向
80 /443 /8080 常见web服务端口 web攻击,爆破,对应服务器版本漏洞
7001 /7002 weblogic 控制台 Java 反序列化,弱口令
8080 /8089 Jboss /Resin?Jetty /Jenkins 反序列化,控制台弱口令
9090 WebShphere 控制台 Java反序列化,弱口令
4848 GlassFish 控制台 弱口令
1352 Lotus domino 邮件服务 弱口令,信息泄漏,爆破
10000 webmin-Web 弱口令
文件共享
端口号 端口说明 攻击方向
21 /22 /69 FTP/TFTP 文件传输协议 匿名上传,下载,爆破和嗅探
2049 NFS服务 配置不当
139 Samba服务 爆破,未授权访问,远程代码执行
389 Ldap 目录访问协议 注入允许,匿名访问,弱口令
远程连接
端口号 端口说明 攻击方向
22 SSH远程连接 爆破,SSH隧道以及内网代理转发,文件传输
23 Telnet远程连接 爆破,嗅探,弱口令
3389 Rdp 远程桌面连接 Shift后门(server 2003以下),爆破
5900 VNC 弱口令爆破
5632 PyAnywhere服务 抓密码,代码执行
数据库服务
端口号 端口说明 攻击方向
3306 Mysql 注入,提权,爆破
1433 MSSQL数据库 注入,提权,SA弱口令,爆破
1521 Oracle数据库 TNS爆破,注入,反弹shell
5432 PostgreSQL 爆破,注入,弱口令
27017 /27018 MongoDB 爆破,未授权访问
6379 Redis数据库 可尝试未授权访问,弱口令,爆破
5000 SysBase /DB2 数据库 爆破,注入
邮件服务端口
端口号 端口说明 攻击方向
25 SMTP邮件服务 邮件伪造
110 POP3协议 爆破,嗅探
143 IMAP协议 爆破
网络常见协议
端口号 端口说明 攻击方向
53 DNS域名系统 允许区域传送,DNS劫持,缓存投毒,欺骗
67 / 68 DHCP服务 劫持,欺骗
161 SNMP协议 爆破,搜集目标内网信息
特殊服务端口
端口号 端口说明 攻击方向
2181 Zookeeper服务 未授权访问
8069 Zabbix 服务 远程执行,SQL注入
9200 /9300 Elastcsearch服务 远程执行
11211 Memcache服务 未授权服务
512 /513 /514 Linux Rexec服务 爆破,Rlogin登录
873 Rsync 服务 匿名访问,文件上传
6390 Svn服务 Svn泄漏,未经授权访问
50000 SAPManagement Console 远程代码执行