ESET/マルウェア情報局

ESETの研究員 ハッカーが使うマルウェアと関連のあるバックドアを発見

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はキヤノンマーケティングジャパンが提供する「マルウェア情報局」に掲載された「C&Cサーバーとの通信に特殊な手法を使った、未知のバックドアを発見」を再編集したものです。

 Stealth Falconは2012年から活動しているグループであり、中東の政治運動家やジャーナリストを標的とした攻撃を行っています。Stealth Falconは、これまでCitizen Labによって追跡されてきました。Citizen Labはセキュリティと人権保護を目的としたNPO団体であり、2016年にサイバー攻撃に関する分析を公開しています。さらに、2019年の1月ロイター通信は、Stealth Falconと同様の標的を攻撃しているProject Ravenで、NSA(米国国家安全保障局)の元諜報員が雇われていたと見られる活動に関する調査レポートを公開しました。

 同じような標的、そして攻撃手法について調査したこの2つのレポートを元に、アムネスティインターナショナルシニアテクノロジストのClaudio Guarnieri氏は、Stealth FalconとProject Ravenは同一グループである、と結論づけました。

 特に前述したCitizen Labの分析によって、Stealth Falconに関する技術的な情報はすでに公開されています。

 Citizen Labのレポートによれば、この攻撃の重要なコンポーネントはPowerShellをベースにしたバックドアであり、悪意のある電子メールに含まれる武器化されたドキュメントによって拡散されました。

 今回、ESETは報告されたことのないバイナリバックドアを発見し、このバックドアをWin32/StealthFalconと名付けました。この記事ではこのバイナリバックドアと、Stealth Falconグループによって作られたバックドアの機能を持つPowerShellスクリプトの共通点を明らかにします。これらの共通点は、Win32/StealthFalconが同一グループによって作られたことを裏付ける強力な証拠になると考えています。

 Win32/StealthFalconバックドアは2015年に作られたと見られ、攻撃者は感染させたコンピューターをリモートから操作できます。アラブ首長国連邦、サウジアラビア、タイ、オランダのいくつかの標的が攻撃されており、後者2国のケースでは、標的となったのは中東国家との外交任務でした。バックドアがどのように拡散したのか、標的となったシステムでどのように実行されるのかはこの調査ではわかっていません。ESETでは、バックドアの機能と、C&Cとの通信について主に分析しました。

C&Cとの通信

 Win32/StealthFalconは、C&Cサーバーとの通信にWindowsの標準コンポーネントであるBITS(Background Intelligent Transfer Service)を使っていますが、これはどちらかというと特殊な方法です。BITSはネットワーク帯域幅を大きく消費せずに大容量のデータを転送するために設計されたもので、スループットを抑えてデータを送信することで、他のアプリケーションが必要とする帯域幅に影響を与えない仕組みです。通常はバックグラウンドで動作するアップデーターやメッセンジャーなどのアプリケーションで使用されています。これは、BITSのタスクがホストベースのファイアウォールによって許可される可能性が高いということを意味します。

 従来型のAPI関数による通信と比べて、BITSはCOMインターフェースを使用していることから、セキュリティ製品による検出が比較的難しくなっています。またこの設計は信頼性が高くステルス性にも優れます。ネットワーク切断やユーザーのログアウト、システムの再起動などの理由で中断した転送は自動的に再開されます。さらにBITSは使用可能な帯域幅に応じて、ファイル転送レートを適切な値に設定するため、ユーザーが不審に思うことはありません。

 Win32/StealthFalconは2つのC&Cサーバー間で通信を切り替えることができます。これらのサーバーのアドレスはレジストリーキーに他の構成値と共に格納され、バックドアコマンドによって更新される場合もあります。バックドアがC&Cサーバーとの接続に失敗すると、あらかじめ設定された回数接続を試みたのちに、感染したコンピューターから自身を削除します。

機能

 Win32/StealthFalconはDLLファイルです。実行されると、ユーザーがログインするときに毎回起動されるタスクがスケジュールされます。基本的なコマンドにしか対応していませんが、データの抽出、さらなる悪意のあるツールの導入、自身の構成のアップデートなどといった、データを収集するための体系的な処理を実行します。

 たとえば、このバックドアの重要な機能である、ファイルのダウンロードと実行は、“win*.dll”または“std*.dll”と名付けられた、マルウェアの実行元であるディレクトリに存在するライブラリを定期的にチェックし、そのライブラリをロードすることで行われます。

 さらに、Win32/StealthFalconはファイルを収集し、ハードコードされた接頭辞を付けた暗号化したコピーを一時フォルダに保存し、外部に送信するための準備を行います。そのようなファイルを定期的にチェックし、自動的に外部に送信します。ファイルの送信に成功すると、そのマルウェアはすべてのログファイルや、収集したファイルを安全に消去します。ファイルを消去する前に、ランダムなデータで上書きしますが、これはフォレンジック分析を防止し、消去したファイルが復元されないようにするためです。

 コンフィグレーションの値はHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensionsのレジストリーキーに格納されます。すべの値は、マルウェアのファイル名が、拡張子無しで接頭辞として付与されます。

検出を避けるために使用している可能性のある方法

 興味深いのは、悪意のあるペイロードが開始される前に実行される機能で、これが一見無駄な処理に見えます。300以上のインポートを参照しますが、それらのファイルは一切使いません。その代わりに、またペイロードに戻り、操作を続行しますが、コンディションのチェックを行いません。これはエミュレーションを回避するための方法である可能性があります。

マルウェアの検出を避けるために追加された可能性のある、使わないインポートを何百個も参照する機能

 この機能の正確な意図はわかりませんが、おそらく検出を避けるためか、マルウェアの作成者が使用したより大規模なフレームワークの残骸ではないかと考えています。

Stealth Falconとのつながり

 Win32/StealthFalconも、Citizen Labの分析で説明されているPowerShellをベースとしたバックドアも、同じC&Cサーバーを使用しています。windowsearchcache[.]comというアドレスが「第2段階のC2サーバードメイン」としてCitizen Labに分析されたバックドアとWin32/StealthFalconの一部のバージョンの両方で使われています。

 どちらのバックドアもコードに重要な共通点があります。それぞれ別の言語で書かれていますが、ベースにあるロジックは同じです。どちらもハードコードされた識別子を使い(ほぼ間違いなく攻撃IDか、標的ID)どちらの場合も、感染したホストからのネットワークコミュニケーションはすべてこれらの接頭辞が付けられていて、ハードコードされたキーのRC4によって暗号化されています。

 C&Cサーバーとの通信は、どちらもHTTPSを使いますが、サーバーの証明書を無視するために接続には特定のフラグを設定しています。

結論

 C&Cとの通信に特殊な手法(Windows BITS)を使ったバックドア、そしてそれが高度な技術によって検出や分析を回避し、常駐化を可能にし、フォレンジック分析を撹乱していることをESETは発見し、分析しました。既知のStealth Falconのマルウェアと比較してコードと使用するインフラストラクチャに多くの共通点があり、Win32/StealthFalconバックドアも同一のグループによって使用されていると結論付けました。

IoC(セキュリティ侵害の痕跡情報)

ESETの検出名

 Win32/StealthFalcon

SHA-1

31B54AEBDAF5FBC73A66AC41CCB35943CC9B7F72
50973A3FC57D70C7911F7A952356188B9939E56B
244EB62B9AC30934098CA4204447440D6FC4E259
5C8F83CC4FF57E7C67925DF4D9DAABE5D0CC07E2

RC4キー

258A4A9D139823F55D7B9DA1825D101107FBF88634A870DE9800580DAD556BA3
2519DB0FFEC604D6C9A655CF56B98EDCE10405DE36810BC3DCF125CDE30BA5A2
3EDB6EA77CD0987668B360365D5F39FDCF6B366D0DEAC9ECE5ADC6FFD20227F6
8DFFDE77A39F3AF46D0CE0B84A189DB25A2A0FEFD71A0CD0054D8E0D60AB08DE

 注:マルウェアはハードコードされたキーのバイトを0x3DによってXORすることで次のRC4キーを作成します。

ホストベースのインジケーター

マルウェアのファイル名

ImageIndexer.dll
WindowsBackup.dll
WindowsSearchCache.dll
JavaUserUpdater.dll

ログファイル名のパターン

%TEMP%\dsc*
%TEMP%\sld*
%TEMP%\plx*

レジストリーキー/値

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions X-MRUList
X-MRUData
X-FontDisposition
X-IconDisposition
X-IconPosition
X-PopupPosition
Xはマルウェアのファイル名(拡張子なし)

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

BITSのジョブ名

WindowsImages-
WindowsBackup-
WindowsSearchCache-
ElectricWeb

C&Cサーバー

footballtimes[.]info
vegetableportfolio[.]com
windowsearchcache[.]com
electricalweb[.]org
upnpdiscover[.]org

MITREのATT&CK手法