工具的搭配使用
所有的渗透都是建立在端口上面
常见的端口信息及渗透方法
端口号 端口服务/协议简要说明 关于端口可能的一些渗透用途
tcp 21 ftp 默认的数据和命令传输端口[可明文亦可加密传输] 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)
tcp 22 ssh[数据ssl加密传输] 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输,等等…常用于linux远程管理…
tcp 23 telnet[明文传输] 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令,也许会有意想不到的收获
tcp 25 smtp[简单邮件传输协议,多数linux发行版可能会默认开启此服务] 邮件伪造,vrfy/expn 查询邮件用户信息,可使用smtp-user-enum工具来自动跑
tcp/udp 53 dns[域名解析] 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控
tcp/udp 69 tftp[简单文件传输协议,无认证] 尝试下载目标及其的各类重要配置文件 tcp 80-89,443,8440-8450,8080-8089 web[各种常用的web服务端口] 各种常用web服务端口,可尝试经典的top n,vpn,owa,webmail,目标oa,各类java控制台,各类服务器web管理面板,各类web中间件漏洞利用,各类web框架漏洞利用等等……
tcp 110 [邮局协议,可明文可密文] 可尝试爆破,嗅探 tcp 137,139,445 samba[smb实现windows和linux间文件共享,明文] 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等……
tcp 143 imap[可明文可密文] 可尝试爆破 udp 161 snmp[明文] 爆破默认团队字符串,搜集目标内网信息
tcp 389 ldap[轻量级目录访问协议] ldap注入,允许匿名访问,弱口令 tcp 512,513,514 linux rexec 可爆破,rlogin登陆
tcp 873 rsync备份服务 匿名访问,文件上传 tcp 1194 openvpn 想办法钓vpn账号,进内网
tcp 1352 Lotus domino邮件服务 弱口令,信息泄漏,爆破
tcp 1433 mssql数据库(开放外联) 注入,提权,sa弱口令,爆破
tcp 1521 oracle数据库 tns爆破,注入,弹shell…
tcp 1500 ispmanager 主机控制面板 弱口令
tcp 1025,111,2049 nfs 权限配置不当
tcp 1723 pptp 爆破,想办法钓vpn账号,进内网
tcp 2082,2083 cpanel主机管理面板登录 弱口令
tcp 2181 zookeeper 未授权访问
tcp 2601,2604 zebra路由 默认密码zerbra
tcp 3128 squid代理服务 弱口令
tcp 3312,3311 kangle主机管理登录 弱口令
tcp 3306 mysql数据库 注入,提权,爆破
tcp 3389 windows rdp远程桌面 shift后门,爆破,ms12-020[蓝屏exp]
tcp 4848 glassfish控制台 弱口令
tcp 4899 radmin远程桌面管理工具, 抓密码拓展机器
tcp 5000 sybase/DB2数据库 爆破,注入
tcp 5432 postgresql数据库 爆破,注入,弱口令
tcp 5632 pcanywhere远程桌面管理工具 抓密码,代码执行
tcp 5900,5901,5902 vnc远程桌面管理工具 弱口令爆破,如果信息搜集不到位,成功几率很小
tcp 5984 CouchDB 未授权导致的任意指令执行
tcp 6379 redis未授权 可尝试未授权访问,弱口令爆破
tcp 7001,7002 weblogic控制台 java反序列化,弱口令
tcp 7778 kloxo 主机面板登录
tcp 8000 Ajenti主机控制面板 弱口令
tcp 8443 plesk主机控制面板 弱口令
tcp 8069 zabbix 远程执行,sql注入
tcp 8080-8089 Jenkins,jboss 反序列化,控制台弱口令
tcp 9080-9081,9090 websphere控制台 java反序列化/弱口令
tcp 9200,9300 elasticsearch 远程执行
tcp 10000 webmin linux主机web控制面板入口 弱口令
tcp 11211 memcached 未授权访问
tcp 27017,27018 mongodb 爆破,未授权访问
tcp 3690 svn服务 svn泄露,未授权访问
tcp 50000 SAP Management Console 远程执行
tcp 50070,50030 hadoop 默认端口未授权访问
1、Nmap典型用途
-
主机发现
识别网络上的主机。例如列出响应TCP和/或ICMP请求或打开特定端口的主机。
-
端口扫描
枚举目标主机上的开放端口。
-
版本检测
询问远程设备上的网络服务以确定应用程序名称和版本号。
-
OS检测
确定网络设备的操作系统和硬件特性。
-
软件版本检测脆弱性的漏洞
软件版本检测脆弱性的漏洞(Nmap的脚本)
2、Nmap常用扫描参数说明
参数(区分大小写) | 说明 |
---|---|
-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" |
3、Nmap脚本分类
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,MS17_010等
auth,brute,vuln是常用的脚本
4、实例
常用扫描
-sP :进行ping扫描 (打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测))
nmap -sP 192.168.110.0/24
(这个命令可以用于探测局域网有哪些机器)
-sS :半开放扫描(非3次握手的tcp扫描)
使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行
mamp -sS 192.168.110.14
nmap -sS -p 1-65535 192.168.3.110.4
(扫描目标开放的所有端口-半开式)
sT:3次握手方式tcp的扫描
优点:普通用户也可以使用。
缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
sV:扫描目标地址开放的服务(端口)的版本
版本检测是用来扫描目标主机和端口上运行的软件的版本。
nmap -sV 192.168.110.247
-O:扫描目标地址进行操作系统版本
nmap -O 192.168.110.247
-A:OS识别,版本探测,脚本扫描和综合扫描
nmap -A 192.168.110.247
-Pn -A 绕过防火墙进行全面扫描
nmap -Pn -A 192.168.110.247
脚本使用
nmap --script=auth 192.168.3.26
弱口令扫描
nmap --script=brute 192.168.3.26
nmap --script=vuln 192.168.3.26