中间件未授权总结
ID |
技术描述 |
利用场景/条件 |
过程 |
参考 |
武器库关联 |
---|---|---|---|---|---|
S1 | Elasticsearch未授权访问漏洞 |
http://localhost:9200/_rvier/_search 就可以查看敏感信息了 http://localhost:9200/_plugin/head/ web管理界面 http://localhost:9200/_river/_search 查看数据库敏感信息 http://localhost:9200/_nodes 查看节点数据 |
|||
S2 | Jenkins未授权访问 | 访问http://172.16.102.144:8080/ | |||
S3 | ZooKeeper未授权访问 |
获取该服务器的环境详细信息 echo envi|nc 172.16.2.251 2181 |
|||
S4 | Memcached未授权访问 |
nc 192.168.1.103 11211 或者telnet 192.168.1.103 11211 |
|||
S5 | CouchDB未授权访问 |
curl http://192.168.18.129:5984 curl http://192.168.18.129:5984/_config 可以发现有结果返回 |
|||
S6 | JBoss未授权访问 |
http://172.16.102.146:8080/jmx-console/ 无需认证即可访问控制页面 |
|||
S7 | Zabbix未授权访问 |
在登录页面,输入admin/zabbix可登录。 |
|||
S8 | Rsync未授权访问 |
可以使用:rsync ip::或者rsync rsync://ip:873/查看同步的模块名。 使用rsync rsync://ip:873/模块名查看模块下的文件。 |
|||
S9 | Spring Boot Actuator未授权访问远程代码执行 |
利用思路: 1)利用env加refresh进行getshell 2)利用mappings,寻找未授权接口 3)利用trace,获取认证信息(Cookie、tooken、Session),利用认证信息访问接口。 4)env有可能泄露的数据库账号密码(mangodb),当然得开放外网,可能性较小。 漏洞发现: 通常识别当前 web 应用使用的框架为 springboot 框架。主要有两个方法判断: 1、通过web应用程序网页标签的图标(favicon.ico);如果没有修改默认图标,那么进入应用首页后可以看到如下默认的绿色小图标: 2、看报错页面是否如下图这样。
漏洞利用: 访问/trace端点获取基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等),如果存在登录用户的操作请求,可以伪造cookie进行登录。 访问/env端点获取全部环境属性,由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以mysql、mangodb 数据库信息,比如如下站点存在 actuator 配置不当漏洞,通过其/env 路径,可获得 mysql、mangodb 的用户名及密码: 访问/health 路径,比如如下站点,访问其 health 路径可探测到站点 git 项目地址,造成git 项目地址泄露 访问/heapdump 路径,返回 GZip 压缩 hprof 堆转储文件。在 Android studio 打开,会泄露站点内存信息,很多时候会包含后台用户的账号密码,通过泄露的账号密码,然后进入后台一番轰炸也不错的。 /env端点配置不当造成RCE: 前置条件:Eureka-Client <1.8.7(多见于Spring Cloud Netflix) 比如测试前台json报错泄露包名就是使用netflix
|
https://mp.weixin.qq.com/s/4d-cKr6ZauXK90TmQZ1Lbw | ||
S10 | Active MQ未授权访问 |
访问: |