端口扫描
常见端口
21(ftp的默认端口,ftp常用来更新web,可能支持匿名访问)
22(ssh的默认端口,ssh是linux的远程管理端口)
23(telnet的默认端口,远程管理端口,非PC设备比较常见)
443(https的默认端口)
445(SMB共享的默认端口,内网中很常见)
1433(mssql的默认端口,可能可以远程登录数据库)
3306(mysql的默认端口,可能可以远程登录数据库)
3389(windows的远程桌面默认端口)
8000,8088,8888(常见的其他http端口)
其中21,22,23,1433,3306,3389都可能被用于暴力破解用户名和密码,其中22有root,1433有sa,3306有root,3389有administrator的默认高权限用户名,比较容易利用。
COMMON_PORTS = (21, 22, 23, 25, 53, 80, 81, 82, 88, 89, 110, 135, 139, 389, 443, 445, 873, 1080, 1433, 1521, 1723, 2049, 2082, 2083, 3128, 3306, 3311, 3312, 3389, 3390, 3690, 3780, 4440, 4848, 4899, 5432, 5631, 5900, 5901, 5902, 5984, 6082, 6379, 7000, 7001, 7002, 7778, 8000, 8001, 8002, 8008, 8011, 8080, 8081, 8082, 8088, 8089, 8090, 8091, 8099, 8180, 8181, 8182, 8649, 8834, 8888, 8899, 9000, 9080, 9081, 9082, 9090, 9091, 9200, 9300, 10050, 11211, 27017, 27018, 28017, 50000, 50030, 50060, 50070)
扫描原理
扫描类型
nmap
nmap扫描的准确性较高,但是扫描的比较慢。
参考:https://www.cnblogs.com/weihua2616/p/6599629.html
参数说明
参 数 | 说 明 |
---|---|
-sT | TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。 |
-sS | 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。 |
-sF -sN | 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 |
-sP | ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。 |
-sU | UDP扫描,但UDP扫描是不可靠的 |
-sA | 这项高级的扫描方法通常用来穿过防火墙的规则集 |
-sV | 探测端口服务版本 |
-Pn | 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描 |
-v | 显示扫描过程,推荐使用 |
-h | 帮助选项,是最清楚的帮助文档 |
-p | 指定端口,如“1-65535、1433、135、22、80”等 |
-O | 启用远程操作系统检测,存在误报 |
-A | 全面系统检测、启用脚本检测、扫描等 |
-oN/-oX/-oG | 将报告写入文件,分别是正常、XML、grepable 三种格式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-iL | 读取主机列表,例如,“-iL C:\ip.txt” |
常用参数
扫描指定IP所开放的端口及服务:nmap -T4 -sT -p- -sV IP
扫描指定IP所开放的端口:nmap -sS -p 1-65535 -v XXX.XXX.XXX.XXX
扫描C段存活主机:nmap -sP XXX.XXX.XXX.XXX/24
指定端口扫描:nmap -p 80,1433,22,1521 XXX.XXX.XXX.XXX
探测主机操作系统:nmap -o XXX.XXX.XXX.XXX
全面的系统探测:nmap -v -A XXX.XXX.XXX.XXX(Nmap默认扫描主机1000个高危端口)
探测指定网段:nmap XXX.XXX.XXX.XXX-XXX
穿透防火墙进行扫描:nmap -Pn -A XXX.XXX.XXX.XXX(XXX.XXX.XXX.XXX禁止用ping的)
使用脚本,扫描Web敏感目录:nmap -p 80 --script=http-enum.nse XXX.XXX.XXX.XXX
扫描C段指定端口: nmap -sS -p 3388,13388 ip/24
或者 portscan.exe(扫描不准,多扫描几次) 7KB扫描可以自定义端口扫描
准确扫描目标的端口和服务:
nmap -n -sT -sV -p 1-11000 --open -Pn -v 222.74.213.243
nmap -sV -p 详细端口 IP
批量扫描IP指定端口 :
nmap -sS -p 1-65535 -iL ip.txt
nmap -sS -p 1-65535 -iL vipkid.com.cn__full-ip.txt -oN ip-ports.txt
nmap -sS -sV -v -iL 1104.txt -oN 1104result.txt > /dev/null 2>&1 &
nohup nmap -sV -iL 1110.txt -oN 1110result.txt &
nohup nmap -sS -p 1-65535 -iL 1104.txt -oN 1104result.txt > /dev/null 2>&1 &
nohup nmap -sV -iL 11031030.txt -oN 11031030result.txt > /dev/null 2>&1 &
漏洞扫描
Nmap 进行 Web 漏洞扫描
cd /usr/share/nmap/scripts/
wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar xzf nmap_nse_vulscan-2.0.tar.gz
nmap -sS -sV --script=vulscan/vulscan.nse target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv -p80 target
nmap -PN -sS -sV --script=vulscan –script-args vulscancorrelation=1 -p80 target
nmap -sV --script=vuln target
nmap -PN -sS -sV --script=all –script-args vulscancorrelation=1 target
masscan
参考:
https://www.cnblogs.com/guixia621/p/8820204.html
https://blog.csdn.net/zhaopengxslc/article/details/80568534
https://paper.seebug.org/1052/#_12
tips
当目标开启了防火墙 nmap探测全端口 全端口都显示开着,如何规避 或 绕过 而获取真实端口开放情况呢?
1、可能工具的指纹被识别拦截了,用最简单的socket 扫描就可以,或 masscan + nmap banner
2、不一定是防火墙,有其他工具可以做到,扫描时全端口开放,强行爆破,真正的端口返回的不一样
3、常见的服务可以根据banner(连接时的返回数据),其他的 tcp 端口就只能遍历了
如果有web:
可以curl请求目标,然后取title,
如果是http这种的banner探测不出来,可以试试常见存在的路径,比如/favico.ico这种,或者js,css这种目录的状态码,其他协议可通过发送请求的返回结果的特征,作为指定协议识别方法
如果http(s)还可以通过域名去跑端口,有时候比直接ip好使
转载:https://blog.csdn.net/qq_38265674/article/details/110958336