Cisco Japan Blog

Remcos ボットネット パッケージを「解剖」する

2 min read



 

概要

Cisco Talos では最近、Breaking Securitypopup_icon という会社から販売されている Remcos リモート アクセス ツール(RAT)を使用したキャンペーンを、複数確認しています。こちらpopup_iconの記事に対する同社のコメントによると、同社はソフトウェアの販売を正当な用途に限定し、EULA に従わないユーザのライセンスは取り消すとしていますが、RAT の販売によって、違法の可能性があるボットネットの作成および実行に必要なものをすべて、攻撃者は手にすることができます。

Remcos の価格は、1 ライセンスあたり 58 ~ 389 ユーロです。Breaking Security 社は、RAT 代金の支払い方法として、さまざまなデジタル通貨も扱っています。この RAT を使用すると、Windows XP 以降の全バージョン(サーバ エディションも含む)の Windows オペレーティング システムに対して全面的な制御と監視が可能になります。

Breaking Security 社は、Remcos に加えて Octopus Protectorpopup_icon も提供しています。これは、ディスク上のソフトウェアの暗号化によって、悪意のあるソフトウェアがマルウェア対策製品による検出を回避できるように設計された暗号ツールです。Breaking Security 社の YouTube チャンネルで公開されているビデオpopup_iconでは、いくつかのウイルス対策製品による防御を回避可能にするツールの機能が紹介されています。この会社は、ほかにも、感染システム上で行われるキーストロークの記録と送信に使用できるキーロガーpopup_iconや、大量のスパム メールの送信に使用できるマス メーラーpopup_icon、および侵害後のコマンド & コントロール(C2)通信に利用できる DynDNS サービスpopup_iconなどの製品を提供しています。 これらのツールを Remcos と組み合わせることで、ボットネットの構築と維持に必要なツールとインフラストラクチャがすべて揃います。

シスコの Advanced Malware Protection(AMP)テレメトリ内では、この RAT をさまざまなエンドポイントにインストールしようとするインスタンスが複数確認されています。また、下記で述べているように、Remcos を配信する複数のマルウェア キャンペーンも確認されています。これらのキャンペーンの多くは、さまざまな方法を使用して検出を回避しています。Talos では、Remcos の悪用による被害を受けた人々を支援するために、C2 サーバのアドレスやその他の情報を Remcos バイナリから抽出できるデコーダpopup_icon スクリプトを提供しています。詳細については、「技術詳細」の項を参照してください。

技術詳細

 

拡散する Remcos

Talos は、さまざまな被害者に Remcos を拡散しようとするマルウェア キャンペーンを複数確認しました。Remcos は、多数のハッキング関連フォーラムで広告・販売されています。そのため、互いに無関係な複数の攻撃者が、それぞれ異なる感染手段を利用して、Remcos を攻撃に活用している可能性が高いと考えられます。今年の初めに、RiskIQ 社が、トルコの軍需企業を狙ったとされる攻撃者についてのレポートpopup_iconを発表しました。この攻撃者は以後も活動を続けており、特定の種類の組織を標的としています。Talos では、軍需企業に加え、標的対象に下記のような組織が含まれていることを確認しました。

  • 国際的な通信社
  • 海運およびエネルギー分野で事業を展開しているディーゼル機器メーカーおよびサービス プロバイダー
  • エネルギー分野で事業を展開している HVAC サービス プロバイダー

確認されたすべてのキャンペーンにおいて、特殊な細工を施されたトルコ語のスペア フィッシング メールが攻撃の発端となっています。メールは、トルコ政府機関からの送信を装っています。内容は標的組織の税務申告に関するものです。上記の電子メール メッセージの一例を、以下に示します。

このメールは、トルコの歳入管理局である Gelir ?daresi Ba?kanl???(GIB)からの公的な連絡を装っています。GIB は、財務省の配下でトルコの徴税業務を担当している機関です。末尾には、GIB の公式ロゴやテキストまで含まれています。訳すと、以下のようになります。

「歳入管理局電子メール サービスの電子メール通知システムにご参加いただきありがとうございます。このメッセージは GIB メール通知システムによって送信されています。本メールには返信されませんようお願い申し上げます」。

多くのスペア フィッシング キャンペーンと同様、このメールには悪意のある Microsoft Office ドキュメントが添付されています。これらのドキュメントは、大半が Excel スプレッドシートでしたが、同じ攻撃者が Word ドキュメントを利用していることも確認されました。多くの場合、ドキュメントの内容は不鮮明になっています。これは、内容を確認するためにマクロを有効化するよう被害者を誘導する手段として、意図的に行われています。当該キャンペーンに関与した、Word ドキュメントの例(徴税書類を装っている)を、以下に示します。

分析した Excel スプレッドシートの多くは、大部分が空白で、次の画像と、マクロを有効にするよう促すトルコ語の警告のみが含まれていました。

また、英語圏の人間を狙ったと思われるキャンペーンが確認されました。以下に示すのは、スペインの主力航空会社である Iberia 社関連のレターヘッドが入った請求書を装った、悪意のある添付ファイルの一例です。

 

Iberia 社を利用した悪意のあるドキュメントのほかに、ポーランドのチャーター航空会社である AMC Aviation 社関連の請求書を装った同様のドキュメントも複数明らかになりました。Talos は、Excel ドキュメントと Word ドキュメントの両方で、同一の旅行イメージ画像(下記参照)がデコイとして使用されているのを確認しました。

RiskIQ 社のレポートに記載のとおり、これらのファイルのマクロには、一連の配列の形でドキュメントに埋め込まれた小さな実行可能ファイルが含まれています。実行すると、マクロによって実行可能ファイルが再構築され、システム上の特定の場所に再構築ファイルが保存され、実行されます。指定されるファイルの場所は、悪意のあるドキュメントごとに異なりますが、%APPDATA% や %TEMP% など、マルウェア作者が一般的に使用するディレクトリを含んでいます。また、実行可能ファイル名も、ドキュメントごとに変わっています。

抽出された実行可能ファイルはシンプルであり、Remcos マルウェアのダウンローダとして機能します。この非常に基本的なプログラムを使用し、攻撃者が制御するサーバから Remcos を取得して実行することで、システムを感染させます。以下に、例を示します。

Remcos は、キーストロークの監視、リモート画面のキャプチャ、ファイルの管理、感染システム上でのコマンド実行などの操作に使用できる、強力な RAT です。当該キャンペーンに関連する配信サーバが Remcos 以外にも複数の悪意あるバイナリのホストになっていることが、いくつかの事例で確認されました。

Remcos の背後に潜む人物

前述のように、Breaking Security という会社は、Remcos やその他の不審なソフトウェアを自社 Web サイトで販売しています。会社または会社に関連する人物についての詳細は、Web サイトには掲載されていません。ただし、Web サイトには付加価値税(VAT)番号(DE308884780)が表示されており、同社がドイツで登記されていることがわかります。興味深いことに、ほぼすべての欧州連合(EU)国の会社は、この Web サイトpopup_iconで名称と住所の検索が可能なのですが、ドイツは除外されています。ドイツは、プライバシー保護の観点から、この情報を開示していません。Breaking Security 社はドイツで登記されているため、同社に関連する個人の名前と住所は特定できませんでした。しかし、同社の背後にいる可能性のある人物について、ヒントとなるいくつかのアーティファクトを特定できました。

公的な VAT エントリと個人の VAT エントリの比較

Breaking Security 社のドメインは現在 Cloudflare の背後でホストされ、Whois プライバシーにより登録情報が保護されています。この会社および関連ソフトウェアの背後にいる人物を隠ぺいしようと、かなりの労力が注ぎ込まれています。Talos の分析の中で、この組織の背後にいると思われる個人について、いくつかの手がかりを発見することができました。これは、先方のミスによるものか、あるいは、インターネット上で非常に巧妙に行われた偽証工作の可能性が考えられます。

Talos が最初に特定したのは、次の電子メール アドレスと、下記の Viotto Keylogger のスクリーンショットに表示されているドメインでした。

logs@viotto[.]it
viotto-security[.]net

breaking-security[.]net ドメインの場合と同じく、viotto-security[.]net ドメインのサーバおよび登録情報も保護されていますが、[送信者の電子メール(Sender’s e-mail)] テキスト フィールドに記載されている viotto[.]it ドメインは保護されていません。次のスクリーンショットでは、このドメインに関連付けられた Whois 情報を確認できます。

通常 Talos ではこのようなデータにはぼかしを入れますが、これは多くの場所で公開されているものなので、ぼかさないことにしました。さらに、Web サイトやその他のソースから収集したデータを活用して、Remcos の作者が使用していると思われるその他の電子メール、Jabber、XMPP アドレスを特定しました。

viotto@null[.]pm
viotto24@hotmail[.]it
viotto@xmpp[.]ru

調査したドメインでは、複数の事例において、Cloudflare サービスが利用されていました。一般に、DNS 設定では Web サーバ自体の IP ではなく Cloudflare の IP に名前解決するよう設定されるため、Cloudflare を使用すると、ドメインをホストするサーバのアドレスは判明しづらくなると言えます。よくあるミスなのですが、ドメイン自体が Cloudflare によって保護されていても、多くの場合、サブドメインでは Cloudflare サーバを指していないため、IP アドレスが判明することになります。

breaking-security[.]net ドメインもその例に漏れませんでした。ドメインは Cloudflare によって隠ぺいされますが、メールのサブドメインは保護されません。メールのサブドメインに設定された A レコードは以下のとおりです。

? ? mail[.]breaking-security[.]net.A 146.66.84[.]79
??? webmail[.]breaking-security[.]net A 146.66.84[.]79

IP アドレス 146.66.84[.]79 は SiteGround Amsterdampopup_icon でホストされています。 さまざまなテストを経て、この IP アドレスでメインの breaking-security[.]net の Web サイトもホストされていることを確信できました。

Remcos 関連と特定されたその他のドメインのうちの 1 つに、viotto-security[.]net がありました。このドメインは現在、メインの breaking-security[.]net ドメインにトラフィックをリダイレクトするよう設定されています。しかし、以前は必ずしもそうではありませんでした。Web ページの過去バージョンを表示できる Wayback Machine という Web サイトで、このドメインに関連するページを検索すると、個人の経歴という形で、下記の結果が得られます。この個人と、Breaking Security 社が販売するさまざまなツールの開発者との間には、明らかに共通する利害が複数見受けられます。

また、少なくとも 2016 年以降、Viotto が HackForums などのさまざまなハッキング フォーラムで Remcos を宣伝・販売・サポートしていた実例も、いくつか特定しました。これは、同社の意図に不審な点があることを示すものです。該当するスレッドの一例を、以下に示します。

Breaking Security 社は下記のスレッドで、Remcos が違法な行為に使用される場合はユーザ ライセンスを取り消すと述べていますが、Remcos の公式リセラーとされる組織は、Remcos の使用によって 200 のボットが制御されていることを別のユーザから知らされても、問題視していない様子です。

Viotto は、OpenSC など、別のハッキング フォーラムでも活発に活動しているようであり、OpenSC ではモデレータを務めています。このユーザが Remcos と Octopus Protector を宣伝しているスレッドを、以下に示します。

Remcos の技術詳細:

別のブログ記事popup_iconにも書かれているように、Remcos は C++ で開発されたと見られています。

リリース ノートによると、Remcos は頻繁にメンテナンスされています。作者は、ほぼ月 1 回のペースで新しいバージョンをリリースしています。

v2.0.5 – 2018 年 7 月 14 日
v2.0.4 – 2018 年 4 月 6 日
v2.0.3 – 2018 年 3 月 29 日
v2.0.1 – 2018 年 2 月 10 日
v2.0.0 – 2018 年 2 月 2 日
v1.9.9 – 2017 年 12 月 17 日

Remcos は、RAT の典型的な機能を備えています。システムの中に隠れ、一般的なユーザからは検出されにくくするマルウェア手法を使用することができます。

いくつかのルーチンは、公開されているソースからただコピーしただけ、あるいは(せいぜい)わずかに変更しただけのように見えます。その良い例が、分析対策セクションです。

ここでは、旧式のアーティファクト「SbieDll.dll」がチェックされています。Talos の見解では、Sandboxie を使用しているアナリストは、今ではそれほど多くありません。その他の機能を詳しく調べてみても、公開されているプロジェクトと非常によく似たコードが見られます。Remcos の VMware 検出コードを以下に示します。

以下に示すのは、aldeid.compopup_icon からのコード サンプルです。

Remcos の機能については、すでに前述のブログで、いくつかの機能が詳細に解説されています。この記事では、Remcos の暗号化の実装に重点を置きたいと思います。Remcos では、データのデコードまたはエンコードが必要なときに、RC4 がかなり多用されています。その例として、以下に示すレジストリ エントリ、C2 サーバ ネットワーク通信またはファイルのパスなどが挙げられます。

exepath レジストリ データは、base64 でエンコードされた RC4 暗号化データです。デコードすると、実行可能ファイルのパスになります。

C:\TEMP\1cc8f8b1487893b2b0ff118faa2333e1826ae1495b626e206ef108460d4f0fe7.exe

RC4 の実装については、インターネット上の多くのコード例で見られる標準的な RC4 実装が行われています。最初に、00402F01 で、キー スケジューリング アルゴリズム(KSA)の S_array を構築します。

これは、典型的な RC4 疑似コードに変換できます。

for i from 0 to 255
      S[i] := i
endfor
j := 0
for i from 0 to 255
      j := (j + S[i] + key[i mod keylength]) mod 256
      swap value of S[i] and S[j]
endfor

その後、00402F5B で、RC4 疑似乱数生成アルゴリズム(PRGA)が続きます。

疑似コード内では、次のようになります。

i := 0
j := 0
while GeneratingOutput:
      i := (i + 1) mod 256
      j := (j + S[i]) mod 256
      swap values of S[i] and S[j]
      K := S[(S[i] + S[j]) mod 256]
      output K
endwhile

上記のスクリーンショットが示すように、Remcos は RC4 を使用してデータを暗号化および復号し、PE リソース セクションを使用して初期暗号キーを「SETTINGS」リソースに保存します。このキーは可変長です。Talos が確認した範囲では、40 バイトの短いキーから、250 バイトを超えるキーまでありました。

データは、次の形式で格納されます。

[キーの長さ]
[暗号キー]
[暗号化された設定データ]

暗号化された設定データのセクションには、コマンド & コントロール サーバや、実行する RAT コマンドなどのデータが含まれます。デコードすると、次のようになります。

 

デコードされたデータには、C2 サーバ(例:ejiroprecious[.]ddns[.]net)や、対応するポート番号が含まれ、その後にパスワードが続きます。このパスワードは、RC4 暗号化 C2 通信用に別の S_array を生成するために使用されます。下図は、上記の RC4 キー スケジューリング アルゴリズム(KSA)から該当部分を抜き出したものです。

たとえ上記の例より強力なパスワードが使用されたとしても、これだけ弱い暗号化アルゴリズムが使用されていれば、バイナリ ファイルを入手した人なら誰でも、パスワードを抽出して C2 トラフィックを復号するか、独自のコマンドを C2 チャネルに挿入して RAT を制御することが可能です。幸い、Remcos の被害を受けた企業がネットワーク トラフィックと Remcos バイナリ ファイルを保存していれば、この脅威を分析できる可能性は十分にあります。

フォレンジック調査担当者の負担を軽減するため、Talos ではリソース セクションからの設定データをデコードできる小さなデコーダ Python スクリプトpopup_iconを提供しています。

前述のように、Remcos は、他のあらゆる機能にも同じ暗号化ルーチンを使用しています。そのため、デコーダ プログラムは、暗号化されたバイトを手動で引き渡すオプションも提供しています。これは、たとえば exepath レジストリ キーをデコードするのに使用できます。

この記事の末尾に示している IOC は、いずれもこのツールを使って抽出したものです。テストに使用したのは最新の 2.0.4 および 2.0.5 バージョンの Remcos でしたが、おそらく他のバージョンでも機能します。

また、ネットワーク スニファからバイナリ ファイルにバイトをコピーし、それを引き渡して C2 通信からのバイトを復号することで、C2 サーバから被害者に送信されたコマンドを確認することもできます。抽出されたパスワード(例「pass」)を使用するのを忘れないでください。

まとめ

Remcos の販売組織は、このアプリケーションが合法な用途にしか使用されないと主張しているにもかかわらず、Talos の調査からは、悪意のある攻撃者によって広範に使用されていることがわかります。いくつかの事例では、攻撃者が、さまざまな重要インフラ分野のサプライ チェーンの一部として事業を展開している組織にアクセスしようとして、戦略的に標的を定めています。Remcos や、広く出回っているその他の脅威に対抗するためには、セキュリティ コントロールを確実に実装する必要があります。Remcos は、新機能を追加する開発が活発に行われ、攻撃者のアクセス対象拡大に寄与している、堅牢なツールです。これに対抗するには、この脅威や、インターネット上で蔓延している可能性のある他の同様の脅威に対し、継続的に注意を払う必要があります。

カバレッジ

お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。

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

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

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

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

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

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

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

侵害の兆候(IOC)

Remcos アクティビティの分析中に確認された各種マルウェア配信キャンペーンに関連する IOC を、以下に示します。

悪意のある Office ドキュメント:

0409e5a5a78bfe510576b516069d4119b45a717728edb1cd346f65cfb53b2de2
0ebfbcbf8c35ff8cbf36e38799b5129c7b70c6895d5f11d1ab562a511a2ec76e
18f461b274aa21fc27491173968ebe87517795f24732ce977ccea5f627b116f9
2f81f5483bbdd78d3f6c23ea164830ae263993f349842dd1d1e6e6d055822720
3772fcfbb09ec55b4e701a5e5b4c5c9182656949e6bd96bbd758947dfdfeba62
43282cb81e28bd2b7d4086f9ba4a3c538c3d875871bdcf881e58c6b0da017824
48dec6683bd806a79493c7d9fc3a1b720d24ad8c6db4141bbec77e2aebad1396
4938f6b52e34768e2834dfacbc6f1d577f7ab0136b01c6160dd120364a1f9e1a
4e0bcef2b9251e2aaecbf6501c8df706bf449b0e12434873833c6091deb94f0e
72578440a76e491e7f6c53e39b02bd041383ecf293c90538dda82e5d1417cad1
77cf87134a04f759be3543708f0664b80a05bb8315acb19d39aaa519d1da8e92
8abcb3084bb72c1cb49aebaf0a0c221a40538a062a1b8830c1b48d913211a403
94ff6d708820dda59738401ea10eb1b0d7d98d104a998ba6cee70e728eb5f29f
9cccdb290dbbedfe54beb36d6359e711aee1b20f6b2b1563b32fb459a92d4b95
aa7a3655dc5d9e0d69137cb8ba7cc18137eff290fde8c060ac678aa938f16ec7
ad78b68616b803243d56593e0fdd6adeb07bfc43d0715710a2c14417bba90033
bb3e5959a76a82db52840c4c03ae2d1e766b834553cfb53ff6123331f0be5d12
c5b9c3a3bbfa89c83e1fb3955492044fd8bf61f7061ce1a0722a393e974cec7c
d3612813abf81d0911d0d9147a5fe09629af515bdb361bd42bc5a79d845f928f
e302fb178314aa574b89da065204bc6007d16c29f1dfcddcb3b1c90026cdd130
e7c3c8195ff950b0d3f7e9c23c25bb757668b9c131b141528183541fc125d613
ef5e1af8b3e0f7f6658a513a6008cbfb83710f54d8327423db4bb65fa03d3813
f2c4e058a29c213c7283be382a2e0ad97d649d02275f3c53b67a99b262e48dd2

第 1 段階:実行可能ファイル:

07380d9df664ef6f998ff887129ad2ac7b11d0aba15f0d72b6e150a776c6a1ef
1e5d5226acaeac5cbcadba1faab4567b4e46b2e6724b61f8c705d99af80ca410
224009a766eef638333fa49bb85e2bb9f5428d2e61e83425204547440bb6f58d
27dd5a3466e4bade2238aa7f6d5cb7015110ceb10ba00c1769e4bc44fe80bcb8
502c4c424c8f435254953c1d32a1f7ae1e67fb88ebd7a31594afc7278dcafde3
5a9fa1448bc90a7d8f5e6ae49284cd99120c2cad714e47c65192d339dad2fc59
91032c5ddbb0447e1c772ccbe22c7966174ee014df8ada5f01085136426a0d20
9114a31330bb389fa242512ae4fd1ba0c9956f9bf9f33606d9d3561cc1b54722
9fe46627164c0858ab72a7553cba32d2240f323d54961f77b5f4f59fe18be8fa
c2307a9f18335967b3771028100021bbcf26cc66a0e47cd46b21aba4218b6f90
c51677bed0c3cfd27df7ee801da88241b659b2fa59e1c246be6db277ce8844d6
da352ba8731afee3fdbca199ce8c8916a31283c07b2f4ebaec504bda2966892b

PE32 実行可能ファイル:

Remcos PE32 実行可能ハッシュのリストを含むテキスト ファイルはこちらpopup_iconにあります。

IP アドレス:

109.232.227[.]138
54.36.251[.]117
86.127.159[.]17
195.154.242[.]51
51.15.229[.]127
212.47.250[.]222
191.101.22[.]136
185.209.20[.]221
92.38.86[.]175
139.60.162[.]153
192.0.2[.]2
185.209.85[.]185
82.221.105[.]125
185.125.205[.]74
77.48.28[.]223
79.172.242[.]28
79.172.242[.]28
192.185.119[.]103
181.52.113[.]172
213.152.161[.]165

ドメイン:

dboynyz[.]pdns[.]cz
streetz[.]club
mdformo[.]ddns[.]net
mdformo1[.]ddns[.]net
vitlop[.]ddns[.]net
ns1[.]madeinserverwick[.]club
uploadtops[.]is
prince[.]jumpingcrab[.]com
timmason2[.]com
lenovoscanner[.]duckdns[.]org
lenovoscannertwo[.]duckdns[.]org
lenovoscannerone[.]duckdns[.]org
google[.]airdns[.]org
civita2[.]no-ip[.]biz
www[.]pimmas[.]com[.]tr
www[.]mervinsaat[.]com.tr
samurmakina[.]com[.]tr
www[.]paulocamarao[.]com
midatacreditoexperian[.]com[.]co
www[.]lebontour[.]com
businesslisting[.]igg[.]biz
unifscon[.]com

本稿は 2018年8月22日に Talos Grouppopup_icon のブログに投稿された「Picking Apart Remcos Botnet-In-A-Boxpopup_icon」の抄訳です。

コメントを書く