FlokiBot、POSに侵入:ブラジルにおける問題

投稿者:Curt Wilson
投稿アーカイブ:バックドア、調査、マルウェア、脅威分析、トロイの木馬

はじめに

攻撃者は、カード情報を盗むマルウェアを使用して侵入したエンドポイントを通過するクレジットカードやデビットカードの取引量が増加することを渇望しています。暗号化されていない処理メモリを収集してカード情報を取得するマルウェア・ファミリーには数多くの種類がありますが、このようなマルウェアの能力の一部は、侵入したマシンからHTTPS GETやPOSTデータなどを取得・抽出するFlokiBotなど、一般情報を盗むタイプのトロイの木馬と一致しています。

ASERT(Arbor Security Engineering & Response Team)がすでに解析したFlokiBot[https://www.arbornetworks.com/blog/asert/flokibot-flock-bots/]やその他のマルウェア[http://blog.talosintel.com/2016/12/flokibot-collab.html]そのものに注目するのではなく、リスクファクターと攻撃者のTTPへの認識を向上させる目的で、3件のFlokiBot侵入事例から一部の要素を解析しました。最初の解析事例は、カードの不正取引操作に関与している攻撃者が含まれる可能性が高く、特に興味深いものです。
IOCはFlokiBot_final_IOCにてご覧いただけます。

標的設定とデータ抽出

ASERTのリサーチャーは先ごろ、侵入された多数のPOSシステムなどのマシンから発生するFlokiBotの活動を観察しました。観察された2つのFlokiBotのキャンペーンは、個々のボットネットで構成される、より少数の侵入されたマシンに基づき、狭い標的にフォーカスしていたと考えられます。最初の事例では25台の侵入されたマシンが関与しており、2つ目の事例では43台でした。数が少ないほど、一般的な目的の悪意のある広告やコモディティ化したエクスプロイトキットの配信メカニズムに比べて、より具体的な標的設定スキームであることを意味します。マルウェアの広がりが少なければ、検出数やセキュリティリサーチャーからの注目度が下がる可能性が高く、司法機関とセキュリティ業界の対応も遅くなります。

FlokiBotは、コマンド&コントロール(C2)サーバーに抽出データを送ります。C2サーバーでは、大文字のマシン名の後に続くアンダースコアとCore::_generateBotId機能によって生成される16字のBot IDを使用して、侵入されたマシンごとにフォルダが作成されます。抽出データは、ファイル名の付いたreports.txtとして各フォルダに保存されます。これは通常、Zeus型トロイの木馬が行う命名手法であり、FlokiBotもこの手法に基づいています。

Zeusベースのレポート構成
Zeusベースのレポート構成

上記のサニタイズされたreports.txtのエントリ例は、攻撃者がアクセスできるデータを示しています。上記のスクリーンショットでは、VISAカードが抽出され、Track 2フィールドに表示されています。process_nameフィールドは、カードデータが抽出されたプロセスの名前を表しています。

ブラジルの侵入事例観察

ASERTが追跡したある特殊なFlokiBotキャンペーン(特定のC2サーバー周辺で発生)は、ブラジルの標的に特化しており、POSマシンやカード処理に関与するその他のシステムが標的に含まれていました。ブラジルを標的とするFlokiBotは新しいものではなく、過去にFlashpoint Intel[https://www.flashpoint-intel.com/flokibot-curious-case-brazilian-connector/]によって解析されています。Flashpoint Intelは、「FlokiBot」として知られる攻撃者であるマルウェアの作者が、さまざまな言語によるオンライン犯罪コミュニティに関わっているブラジル人の「仲介役」である可能性を明らかにしました。

侵入事例観察(1):クレジットカード作成システムの侵入

観察事例(1)における侵入されたシステムは、Windows 7、SP1マシンでした。マシンのlanguage_idは1064(ポルトガル語)です。

レポートファイルの解析によると、システムから抽出されたTrack 2データには268個の独自インスタンスがありました。179のMastercardのインスタンス、86のVISAカードのインスタンス、「Amex、Diners、JP」と分類される3つのカードのインスタンスです。データは2016年9月25日から2016年10月2日までの8日間に抽出されました。

このシステムは、TeamViewerおよびAmmyy Adminアプリケーションのクライアントインストールを主要機能としており、これらのアプリケーションはリモート管理の実行に使用されます。POSなどのシステムを標的とする攻撃者は、リモート管理メカニズムにおける脆弱性を悪用し続けています。

侵入されたシステムを通過するカードデータのフローは、カードデータのプロセスと移動を示すタイムラインのインフォグラフィックを用いると容易に理解できます。インフォグラフィックを参照するにあたり、FlokiBot自体がExplorer.exeに注入されることを覚えておくと、さらに分かりやすくなります。

プロセス実行とカードデータの移動のタイムライン
プロセス実行とカードデータの移動のタイムライン

このインスタンスでは、FlokiBotは以下のWindowsプロセスのメモリ領域内部に存在するカードデータを発見しました。

DecryptTracks.exeは「virus novo bomba\Decrypter」という名前のフォルダに保存されましたが、トラック情報を解読するユーティリティの可能性があります。カード関連のフォーラムから派生した洞察によると、POSスキマーダンプファイル経由で入手されたカードデータは一般的に売主のみが知っているキーで暗号化されるため、おそらくダンプを解読するユーティリティです。「virus novo bomba」をポルトガル語から英語に翻訳すると、「new virus bomb」(新しいウイルス爆弾)となります。

DecryptTracks.exeバイナリの命名スキームは正当なシステムとしてはやや疑わしいものに見えますが、さらに下記の証拠と組み合わせると、FlokiBotを展開する攻撃者は暗号化されたトラックデータから物理的にクレジットカードを作成する違法ビジネスに関与する何者かに侵入している可能性が示唆されています。別の可能性として、攻撃者がテスト目的で、自分のマルウェアで自分のシステムに侵入し、マルウェアを無効化するのを忘れたとも考えられます(面白い可能性です)。この抽出にはPOSアプリケーションに関連するプロセスが全く存在していない点も、侵入されたシステムが正統なPOS設備ではないことを示唆しています。

上述の抽出タイムラインを観察することで、この仮説はさらに裏付けられます。MSR606.exeプロセスは、中国で事業を展開するPostechという企業によって開発された可能性があります。MSR606.exeアプリケーションは、Delphiで開発された「MagCard Write/Readユーティリティプログラム」です。アンダーグランウドのカード関連フォーラムのチャットは、MSR-606ハードウェアは非常に人気があることを示唆しています。このプログラムのあるバージョンは、以下のように表示されます。

MSR-606カードリーダー/ライターで使用されたアプリケーション
MSR-606カードリーダー/ライターで使用されたアプリケーション

MSR606.exeソフトウェアは、MSR606磁気テープカードリーダー/ライターと相関し、オンライン上のプログラムマニュアルには以下のような説明があります。

MSR606シリーズは、高保磁力または低保磁力の磁気カードの読み取り/書き込みができる設計です。最大3トラックのデータを同時にコード化して検証できます。ホストコンピューターなどの端末と、USBインターフェースを使用して通信します。

MSR-606ハードウェアは容易に購入可能であり、オンラインでも入手できます。https://www.amazon.com/2xhome-MSR606-Magnetic-Encoder-Magstripe/dp/B00LGZVZN4に掲載されているMSR606ハードウェアの写真を以下に掲載します。

MSR606磁気カードリーダー/ライター
MSR606磁気カードリーダー/ライター

抽出レポートファイルを通じて、カードデータの一部はMSR606.exeアプリケーションの内部にキーボードを経由して入力されたことを観察しました。このようなトランザクションにおけるTrack 2データはFlokiBotのキーロガー機能経由で入手され、抽出レポートのKeyloggerフィールドに現れています。MSR606.exe内にカードデータをペーストすることで、結果的にキーロガー経由でデータが入手された可能性があります。

MSR606.exeの使用が正当である可能性もありますが、MSR606.exeアプリケーション経由によるBINの異なる多数のカードの作成は疑わしいものです。

MSR606.exeプロセスからキーロガー機能を通じて入手された同じカードデータは、Explorer.exe、SGCRA.exeおよびInternetExplorer.exeのプロセスメモリからも、クリアテキスト形式で入手されました。

SGCRA.exeプロセスとInternetExplorer.exeは別のマルウェア、FighterPOSである可能性が最も高いと思われます。例えば、InternetExplorer.exeのファイル名およびSGCRA.exeのファイル名[https://www.virustotal.com/en/file/80e129571e4147eef2064e1a58352e79070837142be4f7d9b78e1ce5644e69ab/analysis/]を使用するサンプルとして、MD5 hash daaa0d3511e23b265bf88e3a036e7e9aを参照してください。問題のサンプルは、頻繁にFighterPOSまたはPunkey POSとして検出されますが、実際にはFlokiIntruderとして知られるマルウェアである可能性を示す文字列を含んでいます。ASERTのマルウェアリポジトリをざっと確認したところ、InternetExplorer.exeファイル名を使用するマルウェア・ファミリーには、NewPOSThingsやFighterPOSなどがあります。SGCRA.exeファイル名は、FighterPOSとしてタグ付けられたマルウェアによって6回使用されています。

抽出されたカードのBIN番号によると、標的になることが最も多い国は以下のとおりです。
標的になることが最も多い国

侵入観察事例(2):Windows 7マシン

観察事例(2)における侵入されたシステムも、Windows 7、SP1マシンです。マシンのlanguage_idは1064(ポルトガル語)です。

レポートファイルの解析によると、システムから抽出されたトラック2データには167個の独自インスタンスがありました。94のMastercardのインスタンス、68のVISAカードのインスタンス、「Amex、Diners、JP」と分類される5つのカードのインスタンスです。

このマシンでは、ほぼすべてのカードデータがExplorer.exeから抽出されたものであり、ごく少数がAppData\Roaming\Microsoft\InternetExplorer.exeで稼働するマルウェアFighterPOS/FlokiIntruderのインスタンスから発見されました。この事例では、キーロガーメカニズム経由で抽出されたものは、カードなどのデータでも全くありませんでした。レポートによると、カードデータの存在にもかかわらず、POSアプリケーションの稼働は明確に示されませんでした。

本事例におけるマルウェアは、暗号化/コード化されたクレジットカード情報が書き込まれた時点で、マルウェア自身の抽出プロセスの存在を抽出します。このような抽出は、https://shhtunnel[.]at/class/gate.phpのpath_source値によってC:\Windows\Explorer.exeのprocess_nameから実行されます。

Zeus 2.0.8.9の流出ソースコードでは、プロセスによるURLアクセスの表示とメモリから取得したクレジットカードの種別表示のためにpath_source変数が使用されることが観察されました。本事例では、Explorer.exe(FlokiBotと注入)はFlokiBot C2サーバー上のgate.phpにアクセスしていました。その他の事例では、path_sourceには「VISA」、「Mastercard」、または「Amex、Dinners、JP」が含まれます。

カードデータの抽出によって最も影響を受けた国は以下のとおりです。
カードデータの抽出によって最も影響を受けた国

侵入観察事例(3):Linx Autosystemのインストール

本事例も、ポルトガル語を使用するWindows 7、X64 SP1システムです。カード処理バイナリは、c:\autosystem\paf.exeです。このシステムには、ブラジルのLZT Sistemasという企業が制作したLinx Autosystemと呼ばれるEコマースパッケージが含まれていました[http://intranet.lzt.com.br/rss/c5d5f049a044122a2a3cd2b36e2248d6/]。LinxのWebサイト[http://www.linx.com.br/clients]は、幅広い顧客ベースがあることを示唆しています(ポルトガル語から英語に翻訳)。

この抽出レポートは、キーロガーおよびTrack 2の発見を特徴としています。抽出は2016年10月27日から2016年11月22日までに行われ、この期間中に290件のクレジットカード情報が盗まれました。内訳は、VISAカードが147件、Mastercardが123件、Amex、Diners、JPが20件でした。

C2、その他のFlokiBotキャンペーンであるKronosにリンク

上記3件の観察事例におけるC2サーバーはshhtunnel[.]atであり、解析期間中に128.199.209.15に解決されました。ドメインのIPアドレス変遷は以下のとおりです。

IP 日付
107.191.52.175 2016年8月4日~25日
52.67.39.110 2016年10月11日~10月11日
188.166.220.14 2016年10月13日~30日
128.199.209.15 2016年10月31日~現在

ドメインの登録は、sprobot[@]outlook.comという電子メールアドレスを持つ「Karl Marx」という名前に関連していました。この電子メールアドレスは、関連するその他のいくつかのドメイン登録にも使用されました。

ドメイン マルウェアの活動
Springlove[.]at Kronosバンキング型トロイの木馬
Springlovee[.]at FlokiBotバージョン13
Sshtunnel[.]at Kronosバンキング型トロイの木馬、ランサムウェア活動も可能
Treasurehunter[.]at 2016年12月13日時点のFlokiBot v13およびRealPoSマルウェアの可能性

IPアドレス128.199.209[.]15は、Digital Oceanに関連しています。

AS番号| IP |国コード | 名称
133165 | 128.199.209.15 | GB | DIGITALOCEAN-AS-AP Digital Ocean, Inc., SG

当該IPアドレスは、以下のドメインでも使用されていました。

ドメイン マルウェアの活動
Pegadorde[.]info FighterPOSマルウェア
www.androidupdate[.]online Android Marcherバンキング型トロイの木馬
springback[.]at なし
jembrana[.]net なし
avalanche[.]today 悪意のあるサイト[Sophos]
superavalanche[.]at なし
kachapaka.net[.]in 悪意のあるサイト[BitDefender, Fortinet]
mobil-sicherheitsupdater[.]online Android Marcherバンキング型トロイの木馬
springalove[.]at Kronosバンキング型トロイの木馬
tastydragon.co[.]id なし
ftp.jembrana[.]net なし
imap.tastydragon[.]com なし
mail.tastydragon[.]com なし
ex-ago[.]com なし

このドメインリストの中に含まれるものが、マルウェアの活動が全く観察されない場合に必ずしも悪意を意味するわけではありませんが、同じIPを示す悪意のあるドメインの割合は注目に値します。

また、ASERTがFlokiBotによって侵入されたシステムがDexterのPOSマルウェアにも侵入されていたことを観察した点にも注意すべきです。攻撃者は同じような標的を狙っており、複数の侵入が含まれるシナリオは意外なものではありません。このようなシナリオは、ある種のマルウェアを検出・除去した場合でも、マルウェアの心配がないシステムとはいえない理由でもあります。「感染をクリーニング」するという時代遅れの概念は、多くの場合(特に、より高度なセキュリティ環境がリスクにさらされている場合)、もはや適用できません。その代わりに、適切なインシデント対応プロセスが完了した後に、完全に再構築することで保証されます。

パッシブDNSに関する洞察

shhtunnel[.]at上のパッシブDNSクエリによって、関連の可能性がある2つのドメインとして、sshtunnel02[.]xyz(ドメイン名の類似性による)およびp0o9i8u7y9[.]xyzが明らかになりました。後者のドメインは、よく悪用される.xyz TLDを使用している点が興味深く、ドメイン名自体の構造がドメイン生成アルゴリズム(DGA)によって生成された可能性を示唆しています。また、以下のマルウェア活動も観察されました。

ドメイン マルウェアの活動
Sshtunnel02[.]xyz アンドロメダ/ダウンローダー
p0o9i8u7y9[.]xyz ランサムウェア

Sshtunnel02[.]xyzは2016年8月上旬に107.191.52[.]175に解決し、その期間中はns1.vultr.comおよびns2.vultr.comのネームサーバーを使用していました。

もう1つのドメインであるp0o9i8u7y9[.]xyzは、4つのIPアドレスに解決しました。

IP 日付
107.191.52.175 2016年8月6日~31日
128.199.205.239 2016年9月6日~18日
52.67.156.144 2016年9月21日~28日
213.252.246.108 2016年10月5日~11月14日
162.243.164.43 2016年11月16日~2017年1月4日

本稿執筆時点では、最後のIPはp0o9i8u7y9[.]xyzのクエリに応答する解決が終了していませんでした。

パッシブDNSの関連付けがここに提示されているため、とりわけ解決期間中において、ネットワーク保護機能によってこれらのドメインまたはIPアドレスを含むあらゆる活動に対して警戒することが奨励されます。

FlokiBot C2サーバー

これらのC2サーバーは、ASERTのマルウェア解析の洞察から入手されました。注:これらのFlokiBot C2は、いずれも過去に脅威活動の解析が行われたサーバーに関連するものではありません。

ドメイン 最終観察日
blackircd.net 2017年1月4日
treasurehunter.at 2016年12月20日
4haters.ga 2016年12月19日
uspal.cf 2016年12月19日
duparseled.com 2016年12月17日
web.netsworkupdates.com 2016年12月16日
slalsaxxa1ma.cma.beehoney.co.nz 2016年12月13日
adultgirlmail.com 2016年12月1日
wowsupplier.ga 2016年11月28日
extensivee.bid 2016年11月23日
feed.networksupdates.com 2016年11月23日
springlovee.at 2016年11月22日
vtraffic.su 2016年11月13日
shhtunnel.at 2016年11月12日

FlokiBotサンプルハッシュ(MD5)

結論

攻撃者たちは、過去も現在も、FlokiBotマルウェア・ファミリーを使用して、ブラジルをはじめとしてあらゆる場所のPOSインフラに対する侵入キャンペーンに関与しています。ASERTは、C2サーバーに関する洞察を得ることで、3件の侵入事例サンプルを説明することができました。それらの事例の処理活動とC2サーバーに報告されたシステム利用パターンの解析に基づくと、このうち1件はクレジットカードの作成に関与する攻撃者であり、その他2件の侵入されたマシンはPOSシステムであるか、POSに密接に関連するものであると考えられます。

POSインフラを運営する個人や企業は、セキュリティのベストプラクティスへの取り組みに慎重でなければならず、攻撃者がPOSマシンに侵入するために用いる可能性がある多数の戦術を認識する必要があります。一般的な戦術の例として、リモートアクセスが可能な管理サーバー(Remote Desktop、Ammyy Admin、Team Viewer、VNCなど)のスキャニング、脆弱または標準的な認証情報の悪用、狙った標的に対するPOSなどのソフトウェアの更新を装ったスピアフィッシング攻撃の配信、導入されたPOSに対してベンダーが提供するリモートサポートへの侵入、マルウェアをインストールして標的に到達するためにパートナー組織経由で間接的に水平移動を行うなどの戦術を実施するためのPOSマシンへの物理アクセスが挙げられます。異常なネットワーク接続や、POSマシンから見知らぬ宛先へのデータ抽出に対しては、警告が発せられるべきです。POSインフラへのネットワークや信頼できる接続を有するマシンからのデータ抽出も、迅速な調査とインシデント対応プロセスのトリガーとなる警告のきっかけとなるべきです。

Dennis Schwarz、Neal Dennis、Kirk Solukの洞察とコメントに謝意を表します。