攻防实战-nacos新洞如何反弹和注入内存马
起因
hw中,遇到2个nacos还在测试nacos的yaml漏洞时候,突然有人发了0day.不过网上的师傅好像都没有继续下一步.
本地搭建了windows和linux先本地测试了一下.
测试
总体分为两步,第一步
http://ip/nacos/v1/cs/ops/data/removal
从指定URL下载并安装JAR文件到Apache Derby数据库中,创建一个Java存储过程函数,该函数可以调用JAR文件中的Java方法
第二步
就可以执行命令了
查看一下payload,反编译jar包内容,判断系统,参数接收.
起一个远程服务,方法很多,也可以直接启用一个jar包
命令执行
为了方便,修改了脚本,叫上了代理,流量经过burp方便监测.
看起来,执行命令没有问题,这里poc会自动去重放尝试。
尝试shell
使用默认的poc,linux尝试是否可以反弹,发现没有反应.
win+linux都尝试写文件echo 1>/tmp/jmc.txt,发现也是失败的.
好奇为啥不能反弹,那么问题应该出现在jar包的poc中.应该和Runtime.getRuntime().exec传入有关系.
好奇为啥不能反弹,那么问题应该出现在jar包的poc中.应该和Runtime.getRuntime().exec传入有关系.
只需要修改Runtime.getRuntime().exec即可正常bash反弹
内存马
webshell更稳定更方便操作.既然是远程调用jar包,那就应该可以内存马注入
默认poc,修改payload即可.
不过尝试的次数真多,近700次.
成功写入内存马
目标:
这里巧合的是目标是可以出网的,一般不出网的多.补图.
关于不出网,发现有师傅发了一个poc,未验证.