日々多くの人々が電子メールの受信トレイに悪意のある添付ファイル付きの電子メールを受信してると思いますが、サイバー犯罪者は、それらの支払い遅延の督促や請求書に偽装した文書を開き、埋め込みマクロが有効になるように被害者を誘惑しようとします。このマクロは、被害者のマシンに感染しさまざまな悪意ある動作を実行し影響を及ぼします。成功率が高いことから、このような悪意あるOffice文書は依然としてサイバー犯罪者の武器庫における優先兵器です。この需要を利用して収益を上げるために、悪意のあるOfficeドキュメントを作成するための既製のツールキットを作成することを決めた犯罪者もいます。これらのツールキットは主に地下のサイバー犯罪者フォーラムで販売されています。
7月17日、オランダのNational High Tech Crime Unit(NHTCU)は、Rubellaマクロビルダーと呼ばれる犯罪ツールキットを開発して販売した疑いのハッカーを逮捕したことを発表しました。McAfee Advanced Threat Research(ATR)は、少し前にRubellaツールキットを発見し、その調査で重要であると判明した洞察をNHTCUに提供していました。今回のブログでは、Rubella マクロビルダーの背後にいる疑わしい犯罪者を突き止めるために役立ったこのツールキットについて説明します。
目次
Officeマクロビルダーとは
Officeマクロビルダーは、意図的にエンドポイントのセキュリティ防御を回避しようとする難読化されたマクロコードを使用して悪質なペイロードを配信できるように、Officeドキュメントを武器化するように設計されたツールキットです。この目的専用のツールキットを使用することで、犯罪者は大量の悪意のあるドキュメントを作り出し第1段階の回避および配信プロセスを専門の第三者に正常に外部委託することができます。以下は、Officeマクロビルダーの一般的な動作の概要です。ここに示されている防御回避はRubella Officeマクロビルダーに固有のものです。他のビルダーにはさらに別のテクニックもあります。
オランダ語のOpSecが失敗のもとに
Rubellaマクロビルダーはツールキットであり、同じニックネームの「Rubella」によって提供されました。このツールキットは、さまざまな地下フォーラムで派手なバナーとともに販売されていました。月額500米ドルで、彼のツールキットを使用して、エンドポイントセキュリティシステムを迂回して悪意のあるペイロードを配信したり、選択したPowerShellコードを実行したりするOfficeドキュメントを武器にすることができます。
Rubellaのフォーラム投稿の1つでは、この犯罪者がツールキットの詳細と、Windows 10に存在するWindows Anti Malware Scan Interface(AMSI)を迂回することができることを詳しく説明していました。その確実性を証明するために、投稿にはスクリーンショットへのリンクが含まれていました。オランダの研究者によると、このスクリーンショットは、オランダ語版のMicrosoft Wordが使用されていたため目立つものでした。オランダ語は非常に一般的ではない言語で、世界の人口のほんの一部しかそれを使用していません。それを使用するサイバー犯罪者の割合はさらに少ないのです。
興味深いことに、昨年Coinvaultランサムウェアの背後にある個人について報告しました。彼らが捕まった理由の1つは彼らのコードで完璧なオランダ語を使用していたことでした。私たちの頭の中にこの件があったので、今回も私たちはより深い調査を行うことができました。
フォーラムリサーチ
私達は、ビルダーの背後にいる犯罪者についてさらに知るために、Rubellaによる大量の投稿をさらに調べました。Rubellaは、実際には(盗まれた)クレジットカードデータ、盗んだ仮想通貨ウォレット、悪意のあるローダーソフトウェアからTantalus ransomware-as-a-serviceと呼ばれる新たに売り出された製品に至るまで、さまざまな異なる自作の製品とサービスを宣伝していました。
私たちの調査の間、私たちは何年にも渡っていくつかのフォーラムで犯罪者によって使用された異なるニックネームをリンクすることができました。まとめると、Rubellaは、初心者向けのフォーラムで技術的なセキュリティに関する知識を習得することから始め、製品やサービスを提供するための、より大規模で独占的なフォーラムへと徐々に移行しました。
PDBパス Breitling
Rubellaが人気のハッカーフォーラムに投稿した記事の1つは、犯罪者がEメールを偽造するようにコーディングしたフリーソフトウェアの一部の宣伝でした。この投稿にはVirusTotalへのリンクが含まれており、ソフトウェアのSHA-256ハッシュが含まれていました。それは敵対者の能力向上に結び付く可能性を提供していたため私達の興味を引きました。
VirusTotal上のソフトウェアを詳しく調べたところ、メールSpooferにデバッグパスまたはPDBパス「C:\Users\Breitling」が含まれていたことがわかりました。ユーザー名Breitlingが実際の人物についてあまり明らかにしていないとしても、マルウェア内にそのような特定のPDBパスを残すことは古典的なミスです。
特定のPDBパスに焦点を当てることによって、Rubellaが提供していたマクロビルダーのバージョンであるRubellaBuilder.exeという名前のファイルなど、VirusTotalに追加のサンプルが見つかりました。ブログ記事の後半で、ビルダー自体を詳しく見ていきます。
Breitlingが開発用マシンで使用されているユーザ名である可能性が最も高いので、同じマシン上で作成された、したがって著者名Breitlingも含むOfficeドキュメントを見つけることができるかどうか疑問に思いました。著者としてBreitlingを含むOffice文書を見つけましたが、その文書はたまたまオランダ語版のMicrosoft Wordで作成されました。
Word文書の内容を詳しく調べたところ、よく知られているRubellaの Jabberアカウントの文字列 Rubella(@)exploit.im も含まれていました。
フォーラムに戻り、Rubellaにリンクできるニックネームの下に古い投稿を見つけました。この投稿で、犯罪者はC#を使用してレジストリキーを追加する方法についてアドバイスを求めています。彼らは自分たちがしていたことをコミュニティに示すために別のスクリーンショットを配置しました。この行動は明らかにスキルの欠如を示していますが同時に彼の知識への渇望も示しています。
スクリーンショットをよく見ると、同じ PDBパス C:\Users\Breitling\が明らかになりました。
Rubellaとのやりとり
Rubellaは地下フォーラムでかなり外向的で、広告でJabberの連絡先詳細を述べていたので、もう少し情報にアクセスできるよう、彼との連絡を慎重に開始することにしました。私たちがJabberの連絡先リストにRubellaを追加してから約1週間後、私たちは慎重に「こんにちは」を受け取りました。このチャットの間、Rubellaは非常に対応がよく、本物のビジネスマンとして、彼はDryadという新しい「より排他的な」マクロビルダーを提供していると述べました。そしてRubellaはDryadのスクリーンショットを私達と共有し始めました。
結局私達は友好的な方法でやりとりを終え、必要に応じて連絡をとることをRubellaに伝えました。
Dryadマクロビルダー
Rubellaとのチャットから提供された情報に基づいて我々はDryad マクロビルダーのためのクイックサーチを実行しました。私たちは最終的にDryad マクロビルダーのサンプルを見つけ、このサンプルをさらに分析し、Rubellaマクロビルダーとの類似点について比較することにしました。
PEサマリー
私たちは、プログラムが.NETアセンブリでコーディングされていることに気付きました。これは通常、熟練していないマルウェアコーダーにとっては好ましい言語です。
動的解析
アプリケーションを実行したとき、実行するためにログインとパスワードの入力を求められました。
また、アプリを実行したときに常に同じである、数値生成されたHWID(ハードウェアID)にも気付きました。HWID番号は、それが実行されていたアプリを登録するために使用されたマシンに固有の一意の識別子です。
ランダムな名前を入力しようとしたときに、ライセンスを確認するためにWebサイト ‘hxxps://tailoredtaboo.com/auth/check.php’へのリモート接続が検出されました。
要求は、以下のパラメーター ‘hwid = <HWID>&username = <ユーザー名>&password = <パスワード>’で行われます。
アプリが実行されて登録されると、次のインターフェースが表示されます。
このインターフェースでは、アプリによって提案された機能を見ることができ、それは私たちのチャットの間に共有されたスクリーンショットに似ていました。
基本的に、このツールでは以下のことが可能です。
- URLから悪質な実行可能ファイルをダウンロードして実行
- カスタムコマンドの実行
- ペイロードのタイプはexe、jar、vbs、pif、scr
- ドロップされたファイル名を修正
- 難読化を増やすためにスタブをロード
- WordまたはExcelの文書を生成
それはアンチウィルス回避タブを含みます:
- 暗号化を使用して暗号化キーを変更
- ジャンクコードを追加
- ループコードを追加
まだ開発中のタブも含まれています。
- JscriptまたはVBscriptを作成
- ダウンロードして実行
- ペイロードURL
- まだ開発されていないbase64とAMSIバイパスによる難読化
リバースエンジニアリング
サンプルは難読化なしで.Netでコード化されています。次のスクリーンショットでファイルの構造を見ることができます。
また、グラフィックインターフェイスにBunifuフレームワークを使用しています。(https://bunifuframework.com/)
メイン関数
main関数は事前設定オプションでインターフェースを起動します。ユーザーが変更する必要があるペイロードのputty.exe(スクリーンショットにも表示されています)へのリンクがここにあります。
実行可能ファイルを実行する代わりに、コマンドを実行することも可能です。
デフォルトでは、スタブのパスは次のとおりです。
私たちはここで風疹とのリンクをはっきりと見ることができます。
ライセンス機能
このプログラムを使用するには、ユーザーがログインフォームから入力する必要があるライセンスが必要です。
次の関数はログインフォームを示しています。
ライセンスを検証するために、プログラムはチェックを行い、ハードウェアID、ユーザー名、パスワードを組み合わせます。
次の関数はハードウェアIDを生成します。
IDを生成するために‘Win32_Processorクラス’から情報を取得します。
それはから情報を収集します。
- UniqueId:プロセッサのグローバルに一意な識別子。この識別子は、プロセッサファミリ内でのみ一意になります。
- ProcessorId:プロセッサ機能を説明するプロセッサ情報。
- Name:この値は、SMBIOS情報内のProcessor Information構造体のProcessor Versionメンバーに由来します。
- Manufacturer:この値は、プロセッサ情報構造のプロセッサ製造元メンバから取得されます。
- MaxClockSpeed:プロセッサの最大速度(MHz)。
それはそれから「Win32_BIOSクラス」から情報を集めるでしょう。
- Manufacturer:この値は、BIOS情報構造体の製造元のメンバから取得されます。
- SMBIOSVersion:この値はBIOS情報構造体のBIOS Versionメンバーから来ています。
- IdentificationCode:このソフトウェア要素の製造元の識別子。
- SerialNumber:ソフトウェア要素の割り当てられたシリアル番号。
- ReleaseDate: YYYYMMDDHHMMSS.MMMMMM(+ – )OOOの協定世界時(UTC)形式のWindows BIOSのリリース日。
- Version: BIOSのバージョン。この文字列はBIOS製造元によって作成されます。
それから「Win32_DiskDriveクラス」から情報を集めます。
- Model:ディスクドライブの製造元のモデル番号。
- Manufacturer:ディスクドライブ製造元の名前。
- Signature:ディスクの識別 このプロパティは、共有リソースを識別するために使用できます。
- TotalHead:ディスクドライブ上のヘッドの総数。
その後、「Win32_BaseBoardクラス」から情報を収集します。
- Model:物理的要素が知られている名前。
- Manufacturer:物理的要素の製造を担当する組織の名前。
- Name、
- Serial Number
その後、「Win32_VideoControllerクラス」から情報を収集します。
- DriverVersion
- Name
すべてのハードウェア情報が収集されると、一意の識別子となるハッシュが生成されます。
このハッシュ、ユーザー名、パスワードがサーバーに送信され、ライセンスが有効かどうかを確認します。ソースコードでは、tailoredtaboo.comドメインが再び見られました。
マクロを生成
マクロを生成するために、ビルダーはいくつかの部分を使用しています。format関数は各ファイル構造がどのように生成されるのかを示します。
構造は次のとおりです。
悪意のあるドキュメントにマクロを保存するために、関数 ‘SaveMacro’を使用します。
回避技術
さらに、コンテンツを難読化するためのランダムコードを生成し、ジャンクコードを追加します。
関数GenRandomは、数字だけでなくランダムな文字列、charsを生成するために使用されます。生成されたマクロを難読化するために使用されます。
また、ジャンクコード機能を使用して、ドキュメントにジャンクコードを追加します。
さらに難読化するために、Base64と同様にXOR暗号化を使用します。
マクロを書く
最後に、関数WriteMacroは、以前に設定した内容を書き込みます。
工事中
また、「Script Generator」タブでわかるように、ビルダーがまだ開発中の追加機能を使用していることにも気付きました。
クリックするとメッセージが表示され、それはまだ開発中の機能であることを示しています。
さらに、別のタブを作成するための単なるテンプレートである「Decoy Option」タブを見ることができます。タブには何も表示されません。作者はこのタブを離れて別のタブを作成したようです。
Rubellaとの類似点
DryadはRubellaビルダーとよく似ています。コード内に存在する多くのヒントは、Rubellaとのやりとりを裏付けるものです。Rubellaとは異なり、DryadはスクラブされたPDBパスを持っていました。
RubellaビルダーもDryadビルダーも、グラフィックデザインにBunifuフレームワークを使用しています。
ライセンスの確認も同様の機能で、tailoredtaboo.comというドメインを使用しています。以下はRubellaビルダーのライセンス確認機能です。
Tailoredtaboo.comの分析
ビルダーを登録するために使用されたサーバーを分析し、追加のサンプルを発見しました。
これらのサンプルのほとんどは、Builderで生成されたWord文書です。
Tailoredtabooというドメインをすばやく検索したところ、cpanel.tailoredtaboo.comというサブドメインのコントロールパネルなど、いくつかのサブドメインがあることがわかりました。
cPanelサブドメインには、オランダ語で次のログイン画面がありました。
ドメインtailoredtaboo.comは、過去に悪質なコンテンツにリンクされていました。Twitterで研究者@nullcookiesは2018年4月に彼が特定のドメインでホストされているいくつかの悪意のあるファイルを見つけたことを報告しました。メインドメインのディレクトリ一覧には、Rubellaという名前のファイルもいくつかありました。
すべての参照と、Tailoredtaboo.comドメインの使用方法に基づいて、このドメインはRubellaとDryadの両方のマクロビルダーにとって中心的な管理役割を果たし、両方のマクロビルダーの顧客に対する洞察を提供できると考えています。
結論
DryadやRubellaのような武器を使ったOffice文書を作成するツールキットは、この種の感染経路に対するサイバー犯罪者の需要の増大に対応しています。容疑者の逮捕により、DryadとRubella マクロビルダーの時代は終わりました。彼の活動からすると、容疑者はまるでサイバー犯罪の起業家のようでした。しかし彼の若い年齢を考えるとこれもまた憂慮すべきことです。もし彼が自分のスキルを良いほうに利用していればこのような事態にはなりませんでした。残念ながら素早く現金を得られることは、堅実な長期的なキャリアを築くことよりも明らかに魅力的だったようです。私たちマカフィーでは、若手の才能ある人材が暗い地下社会を進むのを見たくはありません。
Indicators of Compromise
URL / Website:
hxxps://tailoredtaboo.com/auth/check.php
Hash Builder:
- Dryad: 7d1603f815715a062e18ae56ca53efbaecc499d4193ea44a8aef5145a4699984
- Rubella: 2a20d3d9ac4dc74e184676710a4165c359a56051c7196ca120fcf8716b7c21b9
Hash related samples:
93db479835802dc22ba5e55a7915bd25f1f765737d1efab72bde11e132ff165a
ad2f9ef7142a43094161eae9b9a55bfbb6dff85d890d1823e77fc4254f29ef17
c2c2fdcc36569f6866e19fcda702c823e7bf73d5ca394652ac3a0ccc6ff9c905
3c55e54f726758f5cb0d8ef81be47c6612dba5a73e3a29f82b73a4c773e691a3
74c8389f20e50ae3a9b7d7e69f6ae7ed1a625ccc8bb6a52b3cc435cf94e6e2d3
388ee9bc0acaeec139bc17bceb19a94071aa6ae43af4ec526518b5e1f1f38f07
08694ad23cafe45495fa790bfdc411ab5c81cc2412370633a236c688b07d26aa
428a30b8787d2ba441dba1dbc3acbfd40cf7f2fc143131a87a93f27db96b7a75
93db479835802dc22ba5e55a7915bd25f1f765737d1efab72bde11e132ff165a
c777012abe224126dca004561619cb0791096611257099058ece1b8d001277d0
5b773acad7da2f33d86286df6b5e95ae355ac50d143171a5b7ee61d6b3cad6d5
a17e3c2271a94450a7a7c6fcd936f177fc40ea156de4deafdfc14fd5aadfe503
1de0ebc0c375332ec60104060eecad77e0732fa2ec934f483f330110a23b46e1
b7a86965f22ed73de180a9f98243dc5dcfb6ee30533d44365bac36124b9a1541
※本ページの内容は、2019年7月17日(CEST時間)更新の以下のMcAfee Blogの内容です。
原文:McAfee ATR Aids Police in Arrest of the Rubella and Dryad Office Macro Builder Suspect
著者: