malware-traffic-analysis.netからパケットキャプチャ(.pcapng)ファイルをダウンロードしました。これはLog4Jの脆弱性(CVE-2021-44228)を利用したWebサーバーへの攻撃試行の例です。サーバーと通信しているエンドポイントの数を調査し、この脆弱性で一般的なjnidiが平文で見つかりました。
PCAP を開いたとき、最初に行うのは、デバイスがいくつ存在/通信しているかを確認することです(Statistics -> Endpoints)
異常な量のトラフィックと、さまざまな国からの異なる IPv4 会話に気づいた後、Max Mind の GEOIP データベースを使用して世界地図上に表示するためにエンドポイントをエクスポートしました(Endpoints -> Map -> Open in Browser)
Log4J エクスプロイトの PCAP を扱っているとわかっていたので、このエクスプロイトが Java Naming and Directory Interface(jndi)の脆弱性を利用することから、まずこのフィルタから始めるのが良いと考えました(ip contains "jndi")
"jndi" のフィルタはうまく機能し、最初のパケット(HTTP POST リクエスト)を展開して User-Agent フィールドを調べると、IP アドレスへの ldap リクエストとそれに続く base-64 エンコードされたテキストが示されていました。
攻撃の最初の POST リクエストの末尾をデコードすると、シェルスクリプト lh[.]sh をダウンロードするための IP への Web リクエストである wget と、実行権限である x を追加する権限変更を行う chmod コマンドが示されます。最後に、シェルスクリプトが起動されます。
次に、ホストサーバー 198.71.247.91 が外部サーバー、具体的にはデコードされた文字列内の wget の IP アドレスに対して接続を行ったかどうかを確認しました。TCP 接続を確立する SYN パケットでフィルタリングしたところ、サーバーは外部アドレスに接続していないことがわかりました。これはおそらく、サーバーがパッチ適用済みであり、エクスプロイトが失敗したことを意味します。
デコードしたスクリプトについて、VirusTotal を使用してスクリプトが呼び出していた IP の詳細を調査したところ、悪意のある IP であることがわかりました。
VirusTotal のコミュニティセクションでは、その IP が過去にこのエクスプロイトを試みたことが知られており、Log4J 攻撃であるというさらなる証拠がありました。
