某次HW行动中艰难曲折的getshell

admin 2023年10月25日22:49:43评论28 views字数 1792阅读5分58秒阅读模式

免责声明

本公众号所发布的文章及工具代码等仅限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。

0x00 前言
        某次HW行动中,队友发现某集团的一个项目管理系统存在弱口令,至此开始了艰难的getshell之路。某次HW行动中艰难曲折的getshell
0x01 开始操作

        首先登陆系统寻找上传点,结果发现上传数据包是用的websocket传输,不知道怎么修改发送websocket数据包,所以只能放弃了。
        除了文件上传还有什么能快速getshell的?那肯定是sql注入啦,随便找个查询接口,反手就是一个单引号:
某次HW行动中艰难曲折的getshell
这不就来了吗?!!!
某次HW行动中艰难曲折的getshell

某次HW行动中艰难曲折的getshell
sqlmap启动,还是DBA

某次HW行动中艰难曲折的getshell

某次HW行动中艰难曲折的getshell

        直接--os-shell,权限很低,并且有未知厂家的EDR。
        没有curl、wget等命令,尝试certutil等等下载命令,尝试了一晚上,网上的方法基本上全军覆没,都拦截了,陷入了死局。
        这时候我们想到了echo命令,往web目录下echo一个免杀的webshell不就行了吗?
        这里介绍一个免杀项目
        https://codeload.github.com/Tas9er/ByPassGodzilla/zip/refs/heads/main

某次HW行动中艰难曲折的getshell

某次HW行动中艰难曲折的getshell
        但是问题来了,混淆过的免杀马特别长,怎么echo进去呢?一行一行的肯定不行,又陷入了僵局。
        然后想到了能不能编码后再echo进去,通过命令还原出来,想起来Windows是可以用certutil命令进行解码的 。(certutil不仅仅只是文件下载,还有很多强大的功能)  
        本地测试一下base64编码,利用certutil解码出来

某次HW行动中艰难曲折的getshell
某次HW行动中艰难曲折的getshell

        本地测试是可以的。这次我用的hex编码,在目标服务器中运行certutil -decodehex hex.txt bin.txt

某次HW行动中艰难曲折的getshell

        没有问题,成功解出来了。但是现在又遇到一个新的问题,web路径是中文的。

某次HW行动中艰难曲折的getshell

        sqlmap的os-shell是用ASCII码往里写的,所以往路径里echo的时候会乱码,所以在写的时候一直没写进去,提示找不到路径,这时候又没招了,想了一晚上。第二天一早,突然有了灵感。最骚的思路来了

某次HW行动中艰难曲折的getshell

        众所周知,asp、asp.net的站点都有一个web.config文件,就在网站的根目录下,那么我们能不能将目标主机E盘下所有的web.config文件所在目录找出来?存在一个txt中,那么我从文件中提取路径作为参数,往里面批量copy我们的webshell文件不就可以了吗?
        说干就干  dir /s /b E:web.config > E:soft1.txt

某次HW行动中艰难曲折的getshell


        这样就找到了所有的路径并且存放到文件中,不知道取路径作为变量?
省事直接这样问chatGPT:我将E盘下所有的web.config文件所在路径保存到了E:soft1.txt文件中,现在我想将E:softa4.aspx批量复制到web.config文件的所在路径,也就是E:soft1.txt中的路径,请帮我列出命令

某次HW行动中艰难曲折的getshell


        得到了命令:for /f "delims=" %i in (E:soft1.txt) do copy E:softa4.aspx "%i"

        经过本地不断测试得到完整的命令:dir /s /b D:web.config > E:soft5.txt && (for /f "usebackq delims=" %a in ("E:soft5.txt") do (copy E:softa4.aspx "%~dpa"))
某次HW行动中艰难曲折的getshell某次HW行动中艰难曲折的getshell
        这样就可以直接把webshell复制到中文路径的web目录下。至此,完美getshell。

某次HW行动中艰难曲折的getshell

某次HW行动中艰难曲折的getshell
        提权、加账户、关杀软、上线cs,内网漫游一把梭,结束。
0x02 总结一下
        看了一些文章,部分师傅对于webshell太长 而且有特殊字符 所以不知道怎么echo进去,这篇文章有很好的解决方案,Windows可以用certutil,Linux用base64 -d就行,hex内容也可以用xxd命令进行解码。
        还有对于无法远程下载、sqlmap环境下中文路径无法echo的解决方法。

原文始发于微信公众号(信安404):某次HW行动中艰难曲折的getshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月25日22:49:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某次HW行动中艰难曲折的getshellhttp://cn-sec.com/archives/2144234.html

发表评论

匿名网友 填写信息