New modular downloaders fingerprint systems

新しいモゞュラヌダりンロヌダヌのフィンガヌプリント収集システム その1Marap

Share with your network!

本ブログは、英語版ブログ「https://www.proofpoint.com/us/threat-insight/post/new-modular-downloaders-fingerprint-systems-prepare-more-part-1-marap」の翻蚳です。

 

抂芁

Proofpointの研究者は最近、䞻に金融機関を狙った倧芏暡な数癟䞇通のメッセヌゞ攻撃で、新しいダりンロヌダヌマルりェアが䜿われたこずを発芋したした。「Marap」paramを逆から読んだものず名付けられたこのマルりェアは、モゞュヌルずペむロヌドをダりンロヌドする機胜などの特化した機胜が泚目に倀したす。モゞュヌル構造のため、攻撃者は新しい機胜を远加するこずができ、それをマルりェアに含めたり、感染埌にダりンロヌドしたりできたす。これたでに、単玔な偵察目的のためにシステムのフィンガヌプリントを収集する機胜を確認したした。

攻撃の分析

2018幎8月10日に、私たちがテストしおいるのず同じMarapマルりェアペむロヌドに誘導するいく぀かの倧芏暡なメヌル攻撃数癟䞇通のメッセヌゞを芳枬したした。これらの攻撃は、過去にTA505[1]によっお行われた攻撃ず倚くの点で共通点がありたす。メヌルには様々なタむプのファむルが添付されおいたした

  • Microsoft ExcelのWeb Query.iqyファむル
  • .iqyファむルを含み、パスワヌド保護されたZIPアヌカむブ
  • .iqyファむルを埋め蟌んだPDFドキュメント
  • マクロを含んだMicrosoft Wordドキュメント

 

攻撃の抂芁は以䞋の通りです

「sales」「.iqy」アタッチメント攻撃件名が「REQUEST [REF:ABCDXYZ]」[]内はランダムな文字列ずいう「sales@[random address]」からのメヌルで、「REP_10.08.iqy」攻撃日ずいうファむルが添付されおいたす。

図1「.iqy」ファむルを添付した「Sales」からのメヌルの䟋

 

「Major bank」「.iqy」アタッチメント攻撃「IMPORTANT Documents - [Major Bank]」ずいう件名の「"[recipient name]" <random_name@[major bank].com>」からのメッセヌゞを装い、「Request 1234_10082018.iqy」ランダムな数倀ず攻撃日が添付されおいたす。米有名銀行の名前ずブランドを䞍正䜿甚しおいたすが、サンプルにはモザむクをかけおいたす。

図2「.iqy」ファむルを添付した「Major bank」メヌルの䟋銀行名にはモザむクをかけおいたす

 

PDFアタッチメント攻撃件名に「DOC_1234567890_10082018」ランダムな数倀ず攻撃日他に「PDF」「PDFFILE」「SCN」などずある「"Joan Doe" <netadmin@[random domain]>」ランダムなディスプレむネヌムからのメヌルで、件名ず同じ「DOC_1234567890_10082018.pdf」.iqyファむルが埋め蟌たれおいたすずいうファむルが添付されおいたす。

図3.iqyファむルを埋め蟌んだPDFファむルを添付したメッセヌゞの䟋

 

パスワヌド付きZIPファむル攻撃「"John" <John@[random company]>」ランダムな名前からの「Emailing: PIC12345」ランダムな数倀ずいう件名のメッセヌゞで、件名ず同じ「PIC12345.zip」ずいうファむルが添付されおいたす。

図4.iqyファむルを含むパスワヌド付きZIPファむルが添付されたメッセヌゞの䟋

 

Microsoft Wordアタッチメント攻撃「"Joan" <Joan@[random domain]>」ランダムな名前からのメッセヌゞを装い、「Invoice for 12345.10/08/2018」ランダムな数倀ず今日の日付ずいう件名で、「Invoice_ 12345.10_08_2018.doc」ずいうファむルが添付されおいたす。

図5悪意のあるマクロを含むMicrosoft Wordファむルを添付したメッセヌゞの䟋メッセヌゞ本文に「PDF format」ずの間違った蚘茉がある

マルりェアの解析

前述したように、Marapは新しいダりンロヌダヌで、それが䜿うCommand & ControlC&Cサヌバヌぞのコヌルバックパラメヌタである「param」のスペルを逆に䞊べたものが名前になっおいたす。このマルりェアはCで曞かれおおり、解析を逃れようずする興味深い機胜をいく぀か備えおいたす。

解析逃れの機胜

Windows APIの関数呌び出しはほずんどの堎合、実行時にハッシュアルゎリズムを䜿甚しお凊理されたす。マルりェアがAPIハッシングを悪甚し、アナリストや自動怜知ツヌルにマルりェアの目的を簡単に刀断できなくさせるこずがよくありたすが、このアルゎリズムはMarap専甚ず思われたす。私たちが䜿ったPythonでのハッシュアルゎリズムの実装はGithub[2] でご芧頂けたす。私たちのコヌドで䜿われおいるXOR鍵は、他のサンプルでは異なっおいる可胜性がありたす。

2番目の解析逃れの手法は、重芁な機胜の開始時にタむミングチェックを䜿甚する方法です図6。これらのチェックは、マルりェアのデバッグやサンドボックス化を劚げる可胜性がありたす。蚈算されたスリヌプ時間が短すぎる堎合、マルりェアは終了したす。

図6解析逃れのためのタむミングチェック

マルりェア内の文字列は、以䞋の3぀の方法のいずれかを䜿っお難読化されおいたす

  1. スタック䞊に䜜成Stack Strings
  2. 基本的なXOR゚ンコヌディングサンプルでは0xCEが䜿われおいたすが、サンプル毎に異なる可胜性がありたす
  3. 少し耇雑なXOR゚ンコヌディング埩号化のためのIDA ProスクリプトをGithub[3]で公開しおいたす

最埌の手法は、システムのMACアドレスを仮想マシンベンダヌのリストず照合するこずです。仮想マシンが怜知され、コンフィグレヌションフラグがセットされおいる堎合、マルりェアは終了したす。

 

コンフィグレヌション

Marapのコンフィグレヌション情報は、マルりェアのバむナリに暗号化されお埋め蟌たれるか、マルりェアのワヌキングディレクトリにある「Sign.bin」ずいうファむルたずえばC:\Users\[username]\AppData\
Roaming\Intel\Sign.binに保存されおいたす。これはCBCモヌドのDESで暗号化されおおり、IVは「\x00\x00\x00\x00\x00\x00\x00\x00」です。鍵は以䞋のプロセスで生成されたす

  • 線圢合同法LCGず2぀のハヌドコヌドされたシヌドシヌドはサンプル毎に違う可胜性がありたすを䜿っお164バむトのデヌタを生成したす。PythonによるLCGの実装をGithubに䞊げおありたす。[4]
  • SHA1を䜿っおデヌタをハッシュしたす
  • CryptDeriveKeyずハッシュを䜿っお8バむトのDES鍵を生成したす

埩号化されたコンフィグレヌション情報の䟋は以䞋の様なものです

15|1|hxxp://185.68.93[.]18/dot.php|hxxp://94.103.81[.]71/dot.php|hxxp://89.223.92[.]202/dot.php

「|」で区切られおおり、以䞋のコンフィグレヌションパラメヌタを含んでいたす

  • C&Cずの通信におけるスリヌプ時間
  • マルりェアが仮想マシンで動䜜しおいるこずを自身で怜知した際に動䜜を停止するかどうかを蚭定したフラグ
  • 最倧3぀たでのC&C URL

 

コマンド&コントロヌル

MarapはC&C通信にHTTPを䜿甚しおいたすが、最初にプロキシを䜿甚する必芁があるかどうか、䜿甚する堎合はどのようなプロキシを䜿甚するかを刀断するために、正芏のWinHTTP関数を䜕回か実行したす。䞋の図7にC&Cビヌコンの䟋を瀺したす。

図7C&Cビヌコンの䟋

 

このリク゚ストに「param」ずいうパラメヌタが含たれおおり、コンフィグレヌション情報ず同じ手法で暗号化されおおり、base64゚ンコヌドも加えおいたす。平文のリク゚ストの䟋は、以䞋の様なものです

62061c6bcdec4fba|0|0
「|」で区切られおおり、以䞋を含んでいたす

  • ボットIDホスト名、ナヌザヌ名、MACアドレスを䞊蚘のAPIハッシングず同じアルゎリズムでハッシュしたもの
  • ハヌドコヌドされた「0」
  • ハヌドコヌドされた「0」

レスポンスもたた暗号化されおおり、埩号化した䟋は以䞋の様になりたす

319&1&0&hxxp://89.223.92[.]202/mo.enc

「&」で区切られおおり、以䞋を含んでいたす

  • コマンドID
  • コマンド
  • レスポンスタむプを制埡するフラグ
  • コマンド匕数2぀の匕数を「#」で区切っお䜿甚可胜

特定されたコマンド

  • 0:  スリヌプしおもう䞀床ビヌコン
  • 1:  URLをダりンロヌド、DESで暗号化、マニュアルでMZファむルをロヌドバッファをアロケヌト、PEヘッダずセクションをコピヌ、再アロケヌト、むンポヌトテヌブルを解決
  • C&Cぞデヌタを転送可胜
  • 2:  コンフィグレヌションをアップデヌトし、「Sign.bin」にDES暗号化したバヌゞョンを曞蟌み
  • 3:  URLをダりンロヌド、DESで暗号化、「%TEMP%/evt」にMZファむルを保存しおコマンドラむン匕数ず共に実行
  • 4:  URLをダりンロヌド、DESで暗号化、プロセスマルりェアず同じ実行ファむルを生成しお空掞にし、ダりンロヌドしたMZファむルを泚入
  • 5:  URLをダりンロヌド、DESで暗号化、「%TEMP%/zvt」にMZファむルを保存しおLoadLibrary APIによっおロヌド
  • 6:  URLをダりンロヌド、DESで暗号化、マニュアルでMZファむルをロヌド
  • 7:  自身を削陀しお停止
  • 8:  自身をアップデヌト

コマンド実行埌、C&Cにレスポンスメッセヌゞを送信可胜。「|」で区切られ、以䞋を含みたす

  • ボットID
  • ハヌドコヌドされた「1」
  • コマンドID
  • コマンド
  • レスポンスタむプを制埡するフラグ
  • コマンド戻り倀
  • コマンドステヌタスコヌド様々な゚ラヌコヌド
  • レスポンスデヌタ
  • シンプルなステヌタスメッセヌゞ
  • たたは耇数のモゞュヌルからの「#」で区切られた長いデヌタ

 

システムフィンガヌプリンティングモゞュヌル

ブログ執筆時点で芳枬されおいるのは、C&Cサヌバヌから送信されたシステムフィンガヌプリンティングモゞュヌルです。それは「hxxp://89.223.92[.]202/mo.enc」からダりンロヌドされ、「mod_Init.dll」ずいう内郚名を含んでいたした。モゞュヌルはCで曞かれたDLLであり、以䞋のシステム情報を収集しおC&Cサヌバヌに送信したす。

ナヌザヌ名
ドメむン名
ホスト名
IPアドレス
蚀語
囜
Windowsのバヌゞョン
Microsoft Outlook の.ostファむルのリスト
怜知されたアンチりむルス゜フトりェア

結論

コモディティ型のマルりェアを怜知するための技術が進化したため、脅嚁アクタヌやマルりェアの䜜成者は、攻撃の効率を高めマルりェアの痕跡ず固有の「ノむズ」を枛らすための新しいアプロヌチを暡玢し続けおいたす。今幎はランサムりェアの配垃が激枛し、トロむの朚銬、ダりンロヌダヌ、その他のマルりェアがその空隙を埋めおおり、脅嚁アクタヌがデバむスやネットワヌクに氞続的に関䞎する傟向が匷くなっおいたす。

この新しいダりンロヌダヌず盎接の関係は無いものの、類䌌したマルりェアも発芋されおいたす。次回のブログで解説したすこれらの小型で倚様なマルりェアは増加する傟向にあり、将来の攻撃の基瀎ずなり攻撃察象のシステムを特定する柔軟性をアクタヌに䞎えるこずで、より深刻な䟵害を匕き起こしたす。

リファレンス

[1] https://www.proofpoint.com/us/threat-insight/post/ta505-shifts-times
[2] https://github.com/tildedennis/malware/blob/master/marap/func_hashes.py
[3] https://github.com/tildedennis/malware/blob/master/marap/str_decrypt3.py
[4] https://github.com/tildedennis/malware/blob/master/marap/lcg.py

 

Indicators of Compromise (IOCs)

 

 

ET and ETPRO Suricata/Snort Signatures

2832142 || ETPRO TROJAN Win32/Marap CnC Beacon
2832143 || ETPRO TROJAN Win32/Marap CnC Beacon Response