ホームページ  >  記事  >  運用・保守  >  APT34 漏洩武器レポート分析の実装方法

APT34 漏洩武器レポート分析の実装方法

WBOY
WBOY転載
2023-05-29 12:42:341538ブラウズ

APT34はイランのAPT組織で、2014年から中東やアジアを中心に政府、金融、エネルギー、通信などを対象にAPT攻撃を続けています。攻撃兵器は常に改良され、攻撃手法も次々と導入されていますが、攻撃者はそれが暴露されたからといって攻撃をやめないという状況が長年続いています。

APT34 組織の背景

4 月 17 日、海外メディアは、「Lab Dookhtegan」という名前のユーザーが APT34 組織からの攻撃を Telegram 上で暴露したと報じました。データも暴露されました。この事件は、これまでのソースコード漏洩と同様、非常に爆発的なものでした。 APT34 組織は、少なくとも 2014 年以来、中東とアジアの特定の国に対して、政府、金融、エネルギー、電気通信、その他の業界を標的とした複数の攻撃を仕掛け続けています。この組織の標的はイランと敵対する国々が多いことから、イランの治安部門、あるいはイラン政府と長年協力関係にある警備会社ではないかとの見方もある。この組織は、ソーシャル メディアの利用、さまざまな ID を持つインターネット アカウントの偽造、ソーシャル エンジニアリング技術による攻撃ターゲットへのアプローチを得意としています。同時に、組織の攻撃兵器は常にアップグレードされており、その攻撃手法はますます洗練されており、スピア フィッシングなどの攻撃手法と新しい攻撃テクノロジーを統合して、既存のターゲットの侵入範囲を継続的に拡大しています。

APT34 漏洩武器レポート分析の実装方法

APT34 組織のメンバーを暴露

漏洩した Webshel​​l リストによると、この組織が最近中国に対して大規模な攻撃を実行したことは明らかです。 。この表には、侵害された「中国」とラベル付けされた 10 以上の Web サイトがリストされており、国内攻撃の議論を裏付ける証拠として使用できます。

APT34 漏洩武器レポート分析の実装方法

Lab Dookhtegan はかつて、組織メンバーの個人情報を数日ごとに公開していると主張していましたが、現在は Telegram と Twitter のアカウントがブロックされています。

APT34 漏洩武器レポート分析の実装方法

漏洩ツールの紹介

このソース コード漏洩には、APT34 組織で一般的に使用される多数の重要な攻撃兵器が含まれています (Webshel​​ls_and_Panel、posion frog など)。 、ウェブマスク、チラ見せ。 Dongxun Technology 2046Lab は、「Iron Dome Advanced Persistent Threat Warning System」を使用してこれらの攻撃兵器の脅威検出を実施し、技術レベルから詳細な分析を実施しました。

検出結果

1. Webシェル警告: [高リスク]

APT34 漏洩武器レポート分析の実装方法APT34 漏洩武器レポート分析の実装方法

2. ファイルサンドボックス検出警告: [高リスク]

APT34 漏洩武器レポート分析の実装方法

3. DNS 秘密チャネル検出警告: DNS を使用して異常に長いドメイン名を送信する秘密トンネルが発見されました

APT34 漏洩武器レポート分析の実装方法APT34 漏洩武器レポート分析の実装方法

攻撃兵器の分析

1.Webshel​​ls_and_Panel

Webshel​​ls_and_Panel ディレクトリには主に C# で書かれたさまざまな Webshel​​l ツールが含まれており、Webshel​​l ディレクトリには2 つのメイン ファイル フォルダー、それぞれ HighShell と HyperShell。

1.1 HighShell

HighShell ディレクトリには、Windows サーバー用の WebShell である HighShell.aspx のみがあります。開いた後のデフォルトのインターフェイスは次のとおりです。

APT34 漏洩武器レポート分析の実装方法

上の図からわかるように、このバージョンはバージョン 5.0 で、認証、ファイルのアップロード、コマンドの実行、データベースが備わっています。操作などの機能。

この Webshel​​l を使用するには、「ログイン」ラベルの後の赤い入力ボックスに接続パスワード (Th!sN0tF0rFAN) を入力し、「実行」ボタンをクリックする必要があります。入力ボックスが緑色に変わると、 Webshel​​l を使用してサーバーにログインし、関連する操作を実行できます。以下の図は、「command」コマンドを操作してサーバ情報を取得する動作図です。

APT34 漏洩武器レポート分析の実装方法

## 1.2 HyperShell

HyperShell は、複数の WebShell ソース コード ファイルを含む、ソース コード ファイルを含むプロジェクト。以下に、使用できるいくつかの Web シェル関数を示します。

simple.aspx

認証、コマンド実行、ファイル アップロード機能を含むシンプルな Web シェルは simple.aspx です。開くと、次の図のようになります:

APT34 漏洩武器レポート分析の実装方法パスワード入力ボックスに接続パスワード (MkRg5dm8MOk) を入力し、「ログイン」ボタンをクリックするとサーバーを制御し、ファイルをアップロードします。パスワード接続は以下の通りです。

APT34 漏洩武器レポート分析の実装方法以下の図は「command」コマンドを操作してサーバ情報を取得する動作図です。
APT34 漏洩武器レポート分析の実装方法

simpleDownload.aspx

simpleDownload.aspx には、次に示すように、アップロード関数が 1 つだけあります。

APT34 漏洩武器レポート分析の実装方法

HighShelllocal.aspx

HighShelllocal.aspx は HighShell のアップグレード バージョンです。バージョン番号は 8.6.2 です。このバージョンの機能は、独立したバージョン 5.0 とほぼ同じです。インターフェイスと機能は主に最適化されています。インターフェイスは図は次のとおりです。

APT34 漏洩武器レポート分析の実装方法

2.ヤドクガエル

2.1 エージェント

2.1.1 Poisonfrog.ps1

Poisonfrog.ps1 はエージェントの唯一のファイルであり、侵害されたホストにバックドア プログラムを仕掛けるために使用されます。このファイルが実行されると、dUpdater.ps1、hUpdater.ps1、UpdateTask.vbs の 3 つのファイルが侵害されたホストの C:\Users\Public\Public ディレクトリに残ります。

APT34 漏洩武器レポート分析の実装方法ホスト上に残されたバックドア プログラムは UpdateTask.vbs スクリプトで、スケジュールされたタスクを通じて 10 分ごとに自動的に実行されます。これは、dUpdater.ps1 と hUpdater.ps1 という 2 つのスクリプトを実行します。

APT34 漏洩武器レポート分析の実装方法

2.1.2 dUpdater.ps1

このスクリプトはリモート コントロール スクリプトであり、DNS ドメイン名を生成し、コントロール サーバーに接続し、そこからのリモート指示やファイルの送受信が可能です。 DGA.Changer アルゴリズムは、サーバー ドメイン名を動的に計算するために DNS ドメイン名を生成するときに使用されます。2046Lab はこの DGA.Changer アルゴリズムを復元しました:

APT34 漏洩武器レポート分析の実装方法

受信関数:

EEA 関数を実行して VVA ドメイン名を取得し、JJA パラメータを r に設定します;

VVA ドメイン名の解決を試みます。失敗した場合は、例外がスローされ、新しいドメイン名が作成されます。再生成され、新しいドメイン名の解決を試みます。ドメイン名に到達するまで操作を繰り返します。解析は成功しました。成功した場合は、最初に解析に成功した IP を取得し、IP の各セグメントをそれぞれ取り出します。

IP が 1.2.3.* の場合、NNA を false に設定し、RRA を設定します。値は PPA ファイルに書き込まれ、メイン関数を終了します。

NNA が true の場合、RRA の値を最初の値に変更します。 IP の 3 つのセグメントを分割し、main 関数のループを続けます。

IP が 24.125.*.* の場合、IP の 3 番目と 4 番目のセグメントを C:\Users\Public\Public\ として連結します。 $DDA\receivebox サブフォルダー名 (PPA)、GGA を 1 に設定、NNA を true に設定して、main 関数のループを続けます。

IP が 11.24.237.110 の場合は、解析を停止して main 関数を終了します。この IP は、OilRig によってかつて使用されていた IP です。

送信関数:

Slaber を実行して送信されたファイルを確認し、EEA 関数を実行して VVA ドメイン名を取得し、JJA パラメーターを s に設定します。

次のことを試してください。 VVA ドメイン名の解決に失敗した場合は、例外をスローし、新しいドメイン名を再生成して、新しいドメイン名の解決を試行します。ドメイン名の解決が成功するまで操作を繰り返します。成功した場合は、最初に正常に解決された IP を取得し、 IP の各セグメントを個別に取得します;

IP が 1.2.3.* の場合、IP の 4 番目のセグメントの値を取得し、main 関数をループします;

If IP は 11.24.237.110 です。解析を停止して関数を終了し、送信するデータを削除します。

スラバー機能:

送信ファイルのサイズを確認し、600kbを超える場合はエラーが報告され、それ以外の場合はリゾルバー機能を実行します。

リゾルバ関数:

送信されたファイルを 30 文字のグループごとに解決します。

プロセッサ関数:

受信したファイルを処理します。MMB は "sendbox" フォルダー内のファイルです;

受信したファイル名が "0" で終わる場合、ファイルを「sendbox」フォルダーに書き込み、UTF-8 エンコードを使用して、以前に受信したファイルを削除します;

受信したファイル名が「1」で終わる場合、パスが存在する場合受信したファイルの内容 、このパスを送信パスとして使用します;

それが存在しない場合は、「ファイルが存在しません」という文字列を MMB ファイルに書き込み、以前に受信したファイルを削除します; 名前の末尾は次のとおりです。 「2」では、「done」フォルダ内のファイルにRRBを設定し、受信したファイルを「done」フォルダに移動し、ファイルの内容をMMBファイルに書き込み、以前に受信したファイルを削除します。

2.1.3 hUpdater.ps1

「myleftheart.com」の IP を解決して接続を試みます;

C:\Users\Public\Public\files\ cfg.ini ファイルが存在する場合は、srv、usr、pas、prt、dom などの対応するパラメータ フィールドを取得します。 srv と prt の値を「:」で新しい文字列に連結し、その文字列を http を使用してプロキシ サーバーとして設定し、usr、pas、および dom の値を資格情報として使用します。プロキシ サーバー; 存在しない場合は、デフォルトのプロキシ サーバーを取得します;

OOA: 0 ~ 9 の整数をランダムに選択し、1 ~ 9 の数値をランダムに選択し、抽出した数値を結合します。

DDA: dUpdater 用。ps1 スクリプトの DDA;

PPA: DDA の 5 番目のビットは OOA を挿入することで取得されます;

「http://myleftheart. com/co/$PPA" で、ダウンロードしたファイルの内容を QQA に設定し、QQA を "" で区切って、配列を SSA に設定します。

p はパス C:\Users\Public\Public\files\$SSA[0] です。

SSA[2] の長さが 0 より大きく、SSA[2] に「not」文字列が存在しない場合は、http://myleftheart.com/fil/SSA[3] からファイルをダウンロードします。 ] を C:\Users \Public\Public\files\$SSA[2] に書き込み、その内容をパス p;

SSA[1] の長さが 0 より大きく、" not" 文字列が SSA[1] に存在しない場合は、パス p でファイルを http://myleftheart.com/res/$PPA$SSA[0] にアップロードします;

SSA の長さ[ 4] が 0 より大きく、SSA[4] 文字列に「not」文字が存在しない場合は、パス SSA[4]d でファイルを http://myleftheart.com/res/$PPA$SSA[0] にアップロードします。 ];

SSA の最後のデータ値が "1" の場合、ループ内で main 関数を実行します;

SSA[0] の長さが 0 より大きく、 SSA[1] に「not」文字列がない場合は、パス p のファイルを http://myleftheart.com/res /$PPA$SSA[0] にアップロードし、パス p のファイルを削除します。

2.2 サーバー側

サーバー側は、侵害されたホストを管理するために APT34 によって使用される一般的な制御エンドであり、侵害されたホストからファイルをダウンロードしたり、侵害されたホストにファイルをアップロードしたりできます。

このサーバーは、シンプルなログイン インターフェイスを提供します。

APT34 漏洩武器レポート分析の実装方法

JSON 構成ファイルを使用してユーザーとパスワードを管理するのは非常に簡単です。流出した文書では、推測しやすいユーザー名 (blacktusk) とパスワード (fireinthehole) が使用されていました。

下図のGUID(/7345SDFHSALKJDFHNASLFSDA3423423SAD22)はブラウザをログインページに誘導するために使用されており、非常に重要なGUIDと言えます。

APT34 漏洩武器レポート分析の実装方法HTTP エージェントと DNS エージェントの両方のホスト リストは、サーバー側でも利用できます。このリストから、現在制御されているホストを簡単に確認できます。

APT34 漏洩武器レポート分析の実装方法

各 HTTP エージェントと DNS エージェントには詳細情報が記載されたページがあり、侵害されたホストに C&C コマンドを発行して、ファイルをアップロードまたはダウンロードできます。ここでの DNS Agent には Glimpse の機能が組み込まれている可能性がありますが、Glimpse については以下で詳しく紹介します。

APT34 漏洩武器レポート分析の実装方法侵害されたホストの場合、APT34 はデフォルトの BAT リモート コントロール スクリプトを使用してホスト情報を取得します。取得される情報は、システム、ユーザー、グループ、ドメイン、特定のレジストリ、スケジュールされたタスクなど、非常に詳細です。 、ウイルス対策ソフトウェアなど。

APT34 漏洩武器レポート分析の実装方法APT34 漏洩武器レポート分析の実装方法

3.Webmask

このツールは主に、DNS プロキシを実装し、特定の DNS ドメイン名をハイジャックし、攻撃者のサーバーに展開されます。デフォルトでドメイン名をローカル サーバーに送信し、Squid3 ICAP を介して HTTP/HTTPS プロキシを実装し、被害者のアカウント パスワードなどの機密情報を盗みます。

APT34 漏洩武器レポート分析の実装方法

dns-redir ディレクトリ:

dnsd.py: DNS プロキシ転送スクリプト

config.json: 設定ファイル

APT34 漏洩武器レポート分析の実装方法

dnsd.js: JS タイプの DNS プロキシ スクリプト。機能は dnsd.py に似ています。

ローカルでシミュレートされた DNS プロキシ機能のスクリーンショットを以下に示します。

APT34 漏洩武器レポート分析の実装方法

icap ディレクトリ:

icap.py: Squid3 と組み合わせて使用​​し、http/https プロキシを構築し、機密データをプロキシにローカルに記録します。

squid.conf 設定ファイル:

APT34 漏洩武器レポート分析の実装方法

Squid3 ICAP は透過的なプロキシ サーバーを実装しており、icap.py スクリプトは次のような機密データを抽出して記録します。パスワードをローカル ログ ファイルに保存します。

APT34 漏洩武器レポート分析の実装方法

icap スクリプト ファイルは、response_body 部分にハイジャック コードを追加し、指定された画像要素を被害者のブラウザに読み込みます。

APT34 漏洩武器レポート分析の実装方法

4.Glimpse

Glimpse は、エージェント、パネル、サーバーの 3 つの部分で構成されている DNS リモート コントロール ツールです。 Glimpse Server の一部のコードから判断すると、コマンドの発行方法など、機能の一部がヤドクガエルと重複している可能性があります。

APT34 漏洩武器レポート分析の実装方法 全体的に、Glimpse は上で紹介したヤドクガエルとよく似ています。流出した情報にはGlimpseの使い方も記載されています。

APT34 漏洩武器レポート分析の実装方法

4.1 エージェント

同様に、Glimpse のエージェントは、侵害されたホスト上で実行されるバックドア プログラムです。機能は、コマンドを受け入れ、ファイルをアップロードおよびダウンロードすることです。

エージェントは、ホスト上の C:\Users\Public\Libraries ディレクトリを作業ディレクトリとして使用します。ファイルの送信とファイルの受信は、このディレクトリの下のサブディレクトリで完了します。

APT34 漏洩武器レポート分析の実装方法エージェントは 2 つのモードで動作できます。1 つは ping モード、もう 1 つはテキスト モードです。

APT34 漏洩武器レポート分析の実装方法

#ping モードは主にホスト情報を交換するために使用されます。テキスト モードは、エージェントとサーバー間の内部プロトコル モードに似ており、内部命令の受け入れを可能にします。

4.2 パネル

パネルは、マスター コントロールのステータスを表示するために使用されます。制御されている侵害されたホストの数を確認できます。同時に、ここで侵害されたホストにコマンドを送信します。

APT34 漏洩武器レポート分析の実装方法APT34 漏洩武器レポート分析の実装方法

コマンドがパネルを通じて侵害されたホストに送信され、結果が返されたことがわかります。

4.3 サーバー

サーバーはマスター制御端末であり、DNS トンネル プロトコルを通じて通信し、エージェントによって送信された ping モード メッセージまたは TXT モード コマンドに応答できます。また、TXT モードでエージェントへの送信コマンドに応答することもできます。コードのスタイルから判断すると、Glimpse と Poison Frog は同じチームによって作成されたはずです。

APT34 漏洩武器レポート分析の実装方法

#サーバーは TXT モードでさらに多くのプロトコル コマンドをサポートしています。これらのコマンドの意味を簡単に確認できます。

if (action == 'M') { // in this place we check the request for type of connection ping or text type if (action == 'W') { // in this place we check the request type if its text we response it else if (action == 'D') { else if (action == '0') { // ctrl[0] => action, if 0 = is there any file else if (action == '1') { // ctrl[0] => action, if 1 = sending the file else if (action == '2') {// ctrl[0] => action, if 2 = receiveing the file

IOCs

MD5:

cd0bbff03ce7946cd7c9dc339726d90a9d3d8fe14927172ca5546bdb95d947625e17061bf2dce87d402ddd8531abb49f

ドメイン名:

myleftheart.com

IP:

11.24.237.110

保護措置

1 .電子メール、不審なリンク、不審な文書などの不審なファイルを安易に開かないでください。

2. システム パッチを適時にインストールし、最新バージョンのソフトウェアを使用してください。

3. ウイルス対策ソフトウェアをインストールし、ウイルス データベースを適時に更新します。

以上がAPT34 漏洩武器レポート分析の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。