難読化ローダーチェーンがフェイクDLLを経由してVIPERTUNNELバックドアを配信

難読化された多段階ローダーチェーンが、フェイクDLLとステルスなPythonパーシスタンスを介してVIPERTUNNEL Pythonバックドアを配信するために使用されており、ポート443経由でのSOCKS5トンネリングを可能にし、UNC2165/EvilCorp および元RansomHub関係者と密接に関連しています。

DragonForceランサムウェア侵害時に、調査官は「523135538」という名前の疑わしいスケジュール済みタスクがC:\ProgramData\cp49s\pythonw.exeを引数なしで起動しているのを発見しました。

このパターンは良性のWindowsPython使用には珍しく、ローダーメカニズムをすぐに示唆しています。

古典的なDLLサイドローディングの代わりに、パーシスタンスはPythonの自動ロードトリックに依存していました:C:\ProgramData\cp49s\Lib\ 内の悪意のあるsitecustomize.pyで、コマンドラインパラメータなしでもpythonw.exeが起動されるたびに実行されます。

スクリプトはctypesを介してPython C APIを悪用してPy_GetArgcArgvを呼び出し、インタープリターが単一の引数(実行可能ファイルのみ)で起動されたかどうかをチェックし、その場合のみb5yogiiy3c.dllを検出してrunpy.run_pathを使用してスクリプトのように実行します。

この「DLL」は実際には難読化されたPythonファイルであり、行為者が実行チェーン全体をPythonに保ちながらローダーコードをWindowsライブラリとして偽装することを可能にします。

b5yogiiy3c.dll内では、難読化の複数のレイヤーが真の目的を隠しています:インポートには、BLAKE3、SHA-256、AES、ChaCha20、base64、zlibなどの埋め込まれたサードパーティモジュールと暗号プリミティブが含まれており、高エントロピーブロブからセカンダリペイロードを復号化および解凍するステージローダーを強く示唆しています。

関数名、コアPython API、およびデコードロジックはランダム変数にマップされ、Base85デコードと整数から文字列への変換が不透明なデータを実行可能コードに変換する中央の「変換レイヤー」を形成しています。

最終的な難読化解除されたペイロードはVIPERTUNNELで、TCP 443経由でハードコードされたC2へのアウトバウンドトンネルを確立し、標準HTTPS通信と混合するPythonSOCKS5プロキシバックドアです。

デフォルト認証情報とC2パラメータは埋め込まれていますが、オペレータはコマンドラインパラメータを介してC2をオーバーライドでき、バイナリを再コンパイルすることなく柔軟な再展開を可能にします。

VIPERTUNNELは3つのコアクラスを公開しています:Wire(ソケット抽象化とトンネルフレーミング)、Relay(SOCKS5プロキシロジックとローカルクライアントとC2間のデータシャトル)、およびCommander(初期ハンドシェイク、セッションオーケストレーション、およびRelayインスタンスの生成を担当するメイン制御スレッド)。

異常なPython自動実行、予期しないsitecustomize.py使用、Base85プラス暗号ローダーパターン、および説明されたVIPERTUNNEL/Pyramid C2フィンガープリントに焦点を当てた狩猟は、エンタープライズ環境での同様のバックドアの早期発見を大幅に改善できます。

翻訳元: https://cyberpress.org/vipertunnel-backdoor-via-fakedll/

ソース: cyberpress.org