ニュースの概要
- マルウェア攻撃は、広範囲にマルウェアを拡散させるタイプと、ターゲットを厳選した標的型に大分されます。しかし Cisco Talos は最近、どちらにも該当しないマルウェア攻撃を発見しました。回収された攻撃のサンプルが比較的少ないため、ターゲットを厳選しているのか、大量にスパムを拡散しているのかの判別は困難です。
- この攻撃を Cisco Talos は「Fajan」と名付けました。Bloomberg BNA 社を騙る電子メールメッセージを使用したこのキャンペーンは 2020 年 3 月にはすでに展開されていました。
- 攻撃では、MITRE ATT&CK フレームワークのさまざまな手口が使用されています。特に注目すべきは、スクリプティング(T1064)、PowerShell(001)、プロセスインジェクション(T1055)、非標準ポート(T1571)、リモート アクセス ソフトウェア(T1219)、入力キャプチャ(T1056)、難読化されたファイルまたは情報(T1027)、レジストリの Run キー/スタートアップフォルダ(T1547.001)です。
攻撃者はさまざまな方法を駆使して、リモートアクセス型トロイの木馬(RAT)の亜種のインストールと実行を試みます。この RAT は JavaScript ベースまたは VBScript ベースであり、Netwire RC や Revenge RAT など、他の一般的なファミリと共通のコマンドアンドコントロール(C2)サーバの IP アドレスを使用しています。
ある例では、最終的なペイロードは Nanocore RAT で、XpertRAT などの RAT ファミリが使用する C2 サーバの IP アドレスと同じアドレスを使用していました。
このキャンペーンは単独の攻撃者の手によるものと思われます。さまざまな TTP(戦術、手法、手順)を試行し続けることで検出を困難にし、成功率を上げています。
最新情報
本稿は、Fajan の活動に関する業界初の報告になると思われます。活動が初めて確認されたのは 2020 年 3 月ですが、以来ツールは頻繁に更新されてきました。確認された IOC(侵入の痕跡)と TTP から見て、攻撃者はアラビア語を話す人物またはグループだと推測されます。
仕組み
感染は、Bloomberg BNA 社(現在は Bloomberg Industry Group と改称)からのメッセージを装った電子メールから始まります。同社は、専門家向けに法律や規制に関する情報を提供しています。電子メールにはマクロコードを含む Excel スプレッドシートが添付されており、このマクロが次の感染ステージをダウンロードするか、最終的なペイロードをドロップして実行します。
ペイロードはすべて RAT であるため、攻撃者は非標準の TCP ポート経由で HTTP を使用して感染したシステムを制御できます。
主なペイロードは、JavaScript ファイル、VBScript ファイル、標準の Windows PE バイナリです。
影響
Fajan キャンペーンの背後にいる攻撃者は、頻繁に機能を更新・開発して攻撃の成功率を上げています。感染経路としては電子メールが使用されています。侵害が成功した例を見ると、未だに電子メールが最もよく使用されています。キャンペーンのペイロードにリモートアクセス型トロイの木馬が含まれていることから、攻撃者が監視操作を実行したり、ユーザのデータを盗み取ったりする可能性があることがわかります。分析時点では C2 サーバは応答しなかったため、キャンペーンの最終目的は特定できませんでした。
技術的な詳細
電子メールメッセージ
Fajan の電子メールの基本的な内容は Bloomberg BNA 社のサービスを騙って利用者に支払いを請求するものであり、Excel スプレッドシートがメールに添付されています。
添付ファイルの名前は、同社からの請求書を意味する「Bloomberg_BNA_Invoice」と一意の乱数の組み合わせです。このキャンペーンで使用された電子メールメッセージの初期の例の中には、Excel ファイルのほか RTF 形式のクリーンファイル(ファイルの内容はメール本文と同じ)が添付されているものもあります。
2020 年 4 月の Fajan 電子メールキャンペーンの例
Fajan の電子メールに記載されている電話番号は、ニューヨーク(ブロンクス区)にある個人の電話番号です。ただし、攻撃者の実際の電話番号とは無関係と思われます。
Excel 添付ファイルの VBA マクロコード
Bloomberg を騙ったキャンペーンの添付ファイルには、他の類似キャンペーンとは異なる VBA コードが含まれています。変更箇所は自動ツールで生成していると考えられますが、攻撃者が自分でコーディングした可能性もあります。
VBA コードは難読化されており、ファイル名などの最もわかりやすい文字列を分割しています。こうしたちょっとした変更を加えることで検出されにくくすることが攻撃者の狙いです。ほとんどの Fajan ドロッパーに備わっている注目すべき特徴として、コードの内容の一部を Excel スプレッドシートのセルに配置していることが挙げられます。これにより、コードのエミュレーションと検出が困難になる可能性があります。防御側は、Stream オブジェクト内の通常のマクロの内容のみをスキャンして検出を行う場合がありますが、マクロの内容をセルに配置すればこの手法による検出を回避できます。
添付ファイルに VBA マクロコードが含まれている場合、通常は JavaScript または VBScript ベースのペイロードをドロップして実行します。記事の後半で改めて説明しますが、ペイロードはかなり単純な RAT で、ハードコードされた IP アドレスに接続し、非標準の TCP ポート番号経由で HTTP を使用して送信されたコマンドをリッスンします。
最初の例は自動的に実行される VBA マクロです。Excel のセルの内容とハードコードされた文字列を組み合わせて JavaScript ペイロードを作成します。これが jobswebsite.js です。ペイロードは難読化されていますが、エミュレータを使用するか、eval 関数を wscript.echo 関数に置き換えることで簡単に難読化を解除できます。
JavaScript ベースのペイロードをドロップする VBA ドロッパーの例
VBA マクロで使用される悪意のあるコードスニペットを含む Excel セル
次に示す 2 つ目の例は、「webstyle.vbs」というファイル名の VBScript ベースのペイロードをドロップして実行する VBA ドロッパーです。
webstyle.vbs をドロップして実行する VBA マクロ
ほとんどの場合、VBA マクロコードの最後でスニペットが使用されていて、悪意のあるコードの断片であるセルの内容を削除し、問題のなさそうな内容を Excel ワークシートの最初のセルに追加します。つまり、一度実行すると VBA コードは使用できなくなるということですが、ドキュメントの検出は少し難しくなります。
Workbook_Open 関数の最後で VBA コードを削除
EXCEL 4.0 数式マクロ
添付ファイルの約 60% では、悪意のあるペイロードをドロップして実行するために VBA が使用されています。その他の添付ファイルには、ファイルを開くと実行されるようになっている Excel 4.0 マクロの数式が含まれています。どのファイルにも、PowerShell コマンドラインを実行する簡単なコードが含まれています。この PowerShell コマンドラインは Pastebin の URL から次のステージをダウンロードして実行します。Pastebin の URL の raw コンテンツは Invoke-Expression(IEX)スクリプトレットの引数として提供されます。このスクリプトレットはダウンロードしたコードをメモリ内で実行します。
Excel 4.0 数式マクロのダウンローダコード
中間ステージ
1 つ以上の中間ステージが使用されているので、個々のステージをブロックすれば攻撃を阻止できます。なぜそうなっているか理由は定かではありませんが、ステージ数が多いほど検出されやすくなるにもかかわらず中間ステージを使用しているのは、最終的なペイロードの場所を隠したり、中間ステージの実行内容を変更することでペイロードを柔軟に更新できるようにしたりするためではないかと考えられます。
Pastebin:シンプルな PowerShell ダウンローダ
収集されたすべての Pastebin には、無料のファイル共有サイト Top4top.io からペイロードをダウンロードして実行するコードが含まれています。例外は、Amazon S3 サービスでホストされているペイロードをダウンロードするようになっている初期の一例のみです。
例外的な Pastebin のダウンローダ(Amazon S3 ストレージサービスでペイロードがホストされている)
Top4top.io は無料のファイル共有サイトです。Cisco Umbrella に送信されるドメインリクエストを調べると、このサイトはエジプト、アルジェリア、イエメンのユーザによく利用されています。通常、中間ステージの Top4top URL はメディアファイルタイプのように見えます。しかし実際にダウンロードされるファイルの名前は「c.vbs」や「NoSleep.vbs」となっていて、これは VBScript ベースのペイロードです。
Top4Top.io からダウンロードされる最終ペイロード「NoSleep.vbs」
Top4Top.io サイトが頻繁に悪用されていることは認識されているようです。OVH 社がホストしているサイトの運営者向けにレポートを公開する専用セクションが存在します。
悪用レポートが公開された後で、Top4Top の中間ステージが削除されたケースもあります。
JavaScript のペイロード
Excel VBA コードによってドロップされる一般的な最終ペイロードは、HTTP を使用して C2 サーバと通信するスクリプトファイルです。クライアントは感染したシステムに関する情報を収集し、その情報を HTTP ヘッダー内の User-Agent 文字列として使用します。おそらく感染した個々のシステムの状態を維持するためと考えられます。C2 サーバとの通信に使用されるのは、1111 や 1155 などの非標準 TCP ポートです。
クライアントは、C2 サーバが HTTP レスポンスでコマンドとパラメータを送信することを想定しています。一般的なコマンドは、URL から追加モジュールをダウンロードして実行するというものです。コマンド「RF」の例を見てみましょう。このコマンドは、ユーザの一時フォルダに別のスクリプトファイルを作成し、Wscript.Shell ActiveX オブジェクトの run 関数を使用して実行します。
Fajan の JavaScript RAT コードのスニペット
この JavaScript の例で使用できるコマンドは次のとおりです。
- Sc:スクリプトファイルをユーザの一時フォルダにダウンロードして実行
- Ex:eval 関数を使用してダウンロードしたコードを実行
- RF:Sc と同じ
VBScript ペイロード
このペイロードは Pastebin のダウンロードブランチにある難読化された VBScript であり、簡単に難読化を解除できます。
難読化された Nosleep.vbs ペイロード
難読化を解除すると、VBScript ベースのペイロードの機能と JavaScript ペイロードの機能は非常によく似ていることがわかります。この VBScript の例では、クライアントは C2 サーバにリクエストを送信し、変数で指定された文字列に基づいて分割されたレスポンスが返ってくることを想定しています。このサンプルの分割用の文字列は「NAJAF」です。
他にも、同様のスクリプトが VirusTotal にアップロードされています。ハンドル名「Security.Najaf」を名乗る攻撃者が、このスクリプトを作成したと主張しています。Fajan の作成者がイラク出身であることを示唆している可能性もありますが、単なる偶然や見せかけの可能性もあります。
また、まったく異なる攻撃者が、利用可能なスクリプトコードを単に再利用しているだけだったり、Security.Najaf が開発したコードジェネレータを利用していたりする可能性もあります。いずれにせよ、Talos はこのキャンペーンを C2 サーバから送信されたコマンドを分割するための文字列「Najaf」を逆さまに読んだ「Fajan」と名付けることにしました。
Fajan VBScript ベースの RAT コードのスニペット
VBScript ベースの RAT のバージョンの 1 つでサポートされているコマンドのリストを次に示します。
- Exc:ユーザの一時フォルダにファイルを作成した後、コンテンツをダウンロードしてファイルに保存してから実行します。
- Nim:C2 サーバから提供されたファイル名を使用して、ユーザのスタートアップフォルダにファイルをダウンロードして保存します。
NanoCore RAT ペイロード
スクリプトベースのペイロードをドロップまたはダウンロードするのが通常のパターンですが、2021 年 2 月 16 日には例外が検出されています。キャンペーンで使用されている電子メールの内容はほぼ同じですが、Excel ファイルが少し異なっています。
NanoCore RAT ダウンローダをペイロードとして使用している Fajan キャンペーン(添付ファイルのサイズとファイル名の付け方が若干異なっている)
VBA マクロは、Pastebin から次のステージをダウンロードしたり、最終的なペイロードをドロップしたりするのではなく、VBScript ベースのダウンローダをドロップして実行します。
VBA マクロコードがドロップして実行する VBScript ベースのダウンローダ
この例でも、ファイル共有サイト Top4Top.io からペイロードローダがダウンロードされます。ローダの内容はメモリにダウンロードされます。以前、最近の Masslogger キャンペーンについての記事で説明したものと非常によく似た PowerShell コードが含まれています。
単純な難読化が施された PowerShell 文字列として格納された NanoCore ペイロード
ここから示唆されるのは、Fajan の背後にいる攻撃者と、Masslogger キャンペーンおよび Agent Tesla キャンペーンの背後にいる攻撃者が同様のツールキットを使用して .NET DLL アセンブリローダを生成しているということです。このアセンブリローダは、ペイロードをデコードし、正規の Windows プロセスである msbuild.exe のプロセス空間にペイロードをロードします。
NanoCore ペイロードを msbuild.exe インスタンスに挿入
NanoCore は、2013 年から販売されている有名な商用のトロイの木馬です。作成者は 2017 年に逮捕され、33 ヵ月の懲役を言い渡されました。以降 NanoCore の開発は停止しましたが、一部のバージョンはクラッキングが成功しており、攻撃者によって広く使用されています。
NanoCore クライアントは C# で記述されており、設定情報を含むリソースセグメントが含まれています。リソースセグメントはクライアントの起動時に展開、解凍、復号化されます。
NanoCore の設定読み取り関数
復号化すると、設定をメモリからダンプできるようになります。また、Mario Henkel 氏が公開した NanoCore ダンプツールを使用すれば、デバッグせずにクライアントから情報を抽出することもできます。
調査対象のクライアントから設定情報を抽出した結果、クラッキングされたバージョンのうちの 1 つ(バージョン 1.2.2.0)であることがわかりました。2 月 16 日に実行されたキャンペーンのビルド日は 2021 年 1 月 11 日で、使用された C2 サーバは 79.134.225.33、TCP ポートは 83 でした。
ダンプした NanoCore の設定
NanoCore は開発者や関連グループ向けのエコシステムに対応したモジュラ型 RAT です。このエコシステムでは、NanoCore Builder ツールを使用して最終ペイロードに埋め込む追加プラグインを指定できます。
利用可能なプラグイン(NanoCore の GUI)
この特定のペイロードは、次のプラグインを含むように設定されています。
- Client Plugin:C2 サーバとの通信を処理
- Core Plugin:クライアントの情報を収集するための追加機能
- Management Plugin:リモートコンソール、リモートレジストリエディタ、ファイルブラウザ、タスクマネージャ
- Network Plugin:SOCKS リバースプロキシなど追加のネットワークサポート
- Network Plugin:クライアントのファイアウォール設定とマルウェア対策設定へのアクセス
- Surveillance Plugin:パスワードの窃取とキーロギング
- SurveillanceEx Plugin:リモートデスクトップのサポート、ビデオと音声のキャプチャ
- Misc Tools Plugin:その他の機能、インスタントメッセージ、メモリとプロセスのクリーンアップ
まとめ
Fajan キャンペーンで確認された感染チェーン
Talos は、Bloomberg BNA 社を騙った電子メールメッセージを最初の感染経路として使用する持続的なキャンペーンを調査してきました。Fajan の作成者は、2020 年 3 月にはすでにキャンペーンを活発に展開しています。Talos はこの攻撃を、作成者を示すと思われる文字列(スクリプトペイロードの本文で使用されている文字列)にちなんで「Fajan」と名付けました。
情報が不十分なため、キャンペーンが特定のターゲットを狙っているのか、無差別に攻撃しているのかはわかりません。現在、このキャンペーンの最終目標を判別するには情報が不足しています。わかっているのは、最終的なペイロードは、感染したシステムをリモートで制御し、追加のソフトウェアをインストールする機能を備えた RAT だということです。
それでも、Fajan の活動についての情報をまとめて攻撃者が一定期間にわたって TTP をどのように変化させてきたかを示し、キャンペーンの成功率を上げるために使用されたさまざまな手口を説明する意義はあると考えています。
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
Cisco Secure Endpoint(AMP)は、これらの攻撃者によるマルウェアの実行を阻止するのに最適です。AMP 内に存在するエクスプロイト防止機能は、このような未知の攻撃からお客様を自動的に保護するように設計されています。
Cisco Cloud Web Security(CWS)または Cisco Secure Web Appliance(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
Cisco Secure Firewall(NGFW)、Cisco Secure IPS(NGIPS)、Cisco ISR、Meraki MX などのネットワーク セキュリティ アプライアンスにより、この脅威に関する悪意のあるアクティビティを検出できます。
Cisco Secure Malware Analytics は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
IOC(侵入の痕跡)
電子メール
05a68d25f6dac9d9379535e372f4ee80ab0e1abdcfbd20354f96a0e4f7b8e988
106dbe72ef7acaa0f8e4429df7946cfde4f2d30b6636b06b18a2becb1ab876e2
11279189ff8d8fb062dc3403a839b2cec9bece61b9d9c052aba5cf53dbac3acd
237d80e40e4a4395677c137d85970143d8d450af5a5df62d5771ca3376c7b61d
417763ac92236dab2bedd5ba4e9b1bc8a288a15225a76ee46541d47df4ea2de0
4efd56fec792f5a1d343a6f0ee1fbe781cfaf73db8fa39198c7b88ecc1cfbcf0
5299baa763bbce965483c36ca43c59106a143c25a35f7bede289b5ead9917932
684825ff3f730d1e7c79ba1ed94b2dc29efad9e279f8dfbeb930acb420d58e41
8951766465a94f2f1cb0f0ae6876b48fe6edc206fc6757bc05fca5ec062bcb49
bcbf399e0ac8faa07c78936a84ae3c6d2759446229af617ab68603b7e37b3559
e07cb3752df3a6872bec769474f499dd4ee1d48a0ef64ba70fd30fd114bf2cfc
e8439ca47547da520ec0a73cccf38de344ce20e29dfb2d7ea27dc55e77e4e559
4a08596cb4a32a59b677cdfcf94af83ba5b9f386822cab9e040c184204e2304a
60cb0a1b71ad72758697f71c93ec3374da7286e2d287fc3930448f87f169741f
Excel 添付ファイル
5893cbdb7d3f443668a3d48c3d1ab559d33bafe553e0e988c5d32889276229e5 – 02.16.2021
7bb5a4d74b493666671bda32e8e056a4cc53144b2892ae408c6530c3a9c97b58 – 02.15.2021
d5f5ddf9f82f0b757883d8e0fa319c95f2c30a10436ba820384967822ddd9fc8 – 01.27/28.2021
6c229a383854798275d687519fe363b24f7f568482ca1fc77d68e9aa9c902613 – 06.11.2020
0bea13a67c5cf17b1039823a1835855535bfbd3ac808461ae78fa26f77a79171 – 03.15.2021
e1743dfaefdafb712d6b70d0c31d662359e028805dd5fdfe7a7239e5ce569c1a – 04.17.2020
f59fbaed1d475b840800b2ad5c56ffb984db16c194d2a2c09a7f4d851cb99388 – 02.03.2021
f2b0beea8f515e170a9696c64d86f1ce9b4fd1d8c52c34411421c3cd1989476c – 02.10.2021
87146ae8db88ce1c2b11c0b2896a95f7eeded4b21c88517619bbebbe39791a12 – 05.12.2020
e0250920e3e226a650c027a87ff10dd33295cc1853ad06eb3ea1d7a99a5a96a1 – 08.12.2020
943b70f97713875e8e7bd5487b5dd1aa6745df26ce2eba37737207ee86092b8b – 03.22.2021
4772923cf1f5af42d84a91257cab8d7a9461ba629659b4abe6b9a1b7357d47d4 – 03.08.2021
49e109a4d9fa02c06e9473ee72a3754cfc34591366add7936113dcd6258a8051 – 04.06.2021
bc847cdc5b4f6874f60bdb369ac2fe411df29a815e3028281bfb34263ddda2d8 – 04.12.2021
ペイロードおよびダウンローダ
570cd232c24dd7733a688f6e7373baf5f493ff65ed198346a6728b79551c77b1 – 次によりドロップ 49e109a4d9fa02c06e9473ee72a3754cfc34591366add7936113dcd6258a8051
f95c808947724e26359848c28a25dfd2881f4f3bdd9d861e1990b66abeade09e – 次によりドロップ 5893cbdb7d3f443668a3d48c3d1ab559d33bafe553e0e988c5d32889276229e5
128644d8ea3bbcaac05e927288d20bb91cd344fda0e422f9aab34e63b3bb07f2 – 次によりドロップ 0bea13a67c5cf17b1039823a1835855535bfbd3ac808461ae78fa26f77a79171
fc13c0b783207753c85cfe8d31bc214a187606933586ca36d502d113e87f5ea2 – 次によりドロップされた VBS ダウンローダ 7bb5a4d74b493666671bda32e8e056a4cc53144b2892ae408c6530c3a9c97b58
0aaab7302254def2fe9449364995eb95b9c3896fe435a701a129556b845e0cd6 – 次によりドロップ 943b70f97713875e8e7bd5487b5dd1aa6745df26ce2eba37737207ee86092b8b
120e6fe44d30a8fb22882ac084669ccae70379f8e70569b5b8efd8bf305f8380 – 次によりドロップ d5f5ddf9f82f0b757883d8e0fa319c95f2c30a10436ba820384967822ddd9fc8
e924952bacf7d5d5f076a8a4529a1e3934c0224d09b57d6616b6b5ec7f39a478 – 単純な VBS RAT ペイロード
11aec399f195ab749cf2b7005e5ca7389b513aa08e0d67a72fb970f88730a657 – VB ソースの NanoCore DLL ローダ/インジェクタ
66fe2551210e4aa15195e49a1d16e19a5cd5dbe53d5605c7b4cc72d2dc015566 – NanoCore ペイロード
52f152ea653f725d55da186ee416408c2ee8a55b31119a50a5693aea0449ecab – 次からダウンロードされたペイロード https://k.top4top.io/p_1893s178y1.jpg
3b07a293b7a9a3dfd5371c13e5691a3275f914429e2d9e33d834055e9ddc38ba – メインローダの NanoCore RAT PowerShell
URL
https://e.top4top.io/m_1593v3zvv1.mp4 – ペイロード
https://k.top4top.io/p_1893s178y1.jpg – ペイロード
https://pastebin.com/raw/STGGsHfq – Pastebin PowerShell
https://pastebin.com/raw/fASw9wCZ – Pastebin PowerShell
https://pastebin.com/raw/TB8DyWCt – Pastebin PowerShell
https://pastebin.com/raw/v3YMf04z – Pastebin PowerShell
https://pastebin.com/raw/MESH21tR – Pastebin PowerShell
https://i.top4top.io/p_1869b2cpe1.jpg – NanoCore RAT VB.NET ソース
https://blob-ap-south-1-ukyez4.s3.ap-south-1.amazonaws.com/sara/0e/0e4d/0e4d1215-3079-468d-9188-6eb6a8e0df14.bin?response-content-disposition=attachment%3B%20filename%3D%22news.vbs%22&response-content-type=&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI75SICYCOZ7DPWTA%2F20200417%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200417T170615Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=9fbebca4d882e098045c835add71a9b652dfddd7f0fb529974116f4066ac8f0a – S3 上のペイロード
https://d.top4top.io/m_15684cm0o1.mp3 – ペイロード
IP アドレス
194.37.97.172 C2 サーバ – ルーマニア
194.37.97.135 C2 サーバ – ルーマニア、Netwire、RevengeRAT、
89.40.206.121 C2 サーバ – ルーマニア
79.134.225.33:83 – C2 サーバ – NanoCore – スイス、XpertRAT などの他のファミリ用の既知の C2 IP
本稿は 2021 年 04 月 21 日に Talos Group のブログに投稿された「A year of Fajan evolution and Bloomberg themed campaigns」の抄訳です。