常见未授权访问漏洞总结
前言
未授权访问漏洞是常见的攻击入口点,某些严重的未授权访问会直接导致getshell,熟悉常见的未授权访问漏洞排查方法对红蓝双方都有很大的帮助。本文对常见的未授权访问利用所需的工具和命令做总结。
mysql
3306端口未授权访问,可读取数据库内容,可尝试在web路径写webshell
工具:Navicat
sqlserver
1433端口未授权访问,可读取数据库内容,可尝试执行master..cmdshell
1 |
|
工具:Navicat
MongoDB
27017端口未授权访问,可读取数据库内容
工具:Navicat,Robo3T
Redis
27017端口未授权访问,可读取数据库内容
可通过四种方式getshell:写webshell、写crontabs、写ssh公钥、Redis主从复制(4.x,5.x)
工具:Redis-cli,fofa:protocol=redis
Hadoop
Hadoop webUI界面未授权访问,如果存在New Application API功能,可尝试getshell
工具:浏览器,https://github.com/vulhub/vulhub/blob/master/hadoop/unauthorized-yarn/exploit.py
Elasticsearch
9200端口未授权访问,可非法操作数据
1 |
|
工具:浏览器
ZooKeeper
2181,2182端口未授权访问,可读取敏感信息,或者在Zookeeper集群内执行kill命令
工具:netcat,https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
SpringBoot
SpringBoot,web中env路径配置文件未授权访问,可暴露大量联动设备密码信息
工具:浏览器
ds_store
http://ip/.ds_store未授权访问,可通过github工具下载web目录
工具:https://github.com/lijiejie/ds_store_exp
VNC
vnc用于远程桌面控制,默认端口在5900-5905之间,此类端口未授权访问会导致恶意用户直接控制受控主机
工具:VNCview
Docker
docker的2375端口web未授权访问,可通过访问ip:2375/version验证,有可能造成执行目标服务器容器命令如container、image等
工具:浏览器
Jenkins
Jenkins面板http://ip:8080/manage
未授权访问会允许用户选择执行脚本界面,操作一些系统层命令
1 |
|
工具:浏览器
Memcached
Memcached是一套常用的key-value分布式高速缓存系统,由于其设计缺陷没有权限控制模块,若11211端口的服务对公网开放,攻击者无需授权即可通过命令访问Memcached中的敏感信息。
1 |
|
工具:netcat,telnet
JBOSS
JBOSS的webUI界面http://ip:8080/jmx-console未授权访问(或默认密码admin/admin),可导致JBoss的部署管理的信息泄露,攻击者也可以直接上传木马获取webshell
1 |
|
http://221.229.247.184:8080/jmx-console/
工具:浏览器,fofa:”JBoss Management”
svn
.svn目录未授权访问,可能导致大量源码泄露
1 |
|
工具:https://github.com/anantshri/svn-extractor
git
.git目录未授权访问,可能导致大量源码泄露
方法1
1 |
|
方法2
1 |
|
工具:git,https://github.com/lijiejie/GitHack
nfs
nfs默认端口2049,配置不当时,可以远程挂载nfs的共享目录
1 |
|
CouchDB
CouchDB的webui未授权访问时,可通过 http://xx.xx.xx.xx:5984/_utils/ 页面创建管理员用户,并通过put方式远程代码执行(CVE-2017-12635)
1 |
|
工具:curl,https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!