AD 環境で伝播機能を含んだ DarkSide (ダークサイド)ランサムウェア

DarkSide (ダークサイド)ランサムウェアは解析およびサンドボックス検知を回避するために、Loader とデータファイルが両方あることで初めて動作する。「msupdate64.exe」名のローダーは(同じパスに存在する)ランサムウェアをエンコード状態でしている「config.ini」データファイルを読み込み、正常なプロセスのメモリ上でランサムウェアを実行する。実行すると、特定の引数値を合わせて動作する構造であり、タスクスケジューラに登録されて周期的に動作するように構成されている。

[図1] ランサムウェアの動作方式

ダークサイドランサムウェアの機能は以下の通りである。

1) ランサムウェアの暗号化対象除外リスト
正常なプロセスにインジェクションされたランサムウェアは、特定のフォルダーおよびファイル名を除くすべてのファイルを暗号化する。以下の[表1]、[表2]は暗号化除外と関係するファイルパスおよびファイル名である。

暗号化除外フォルダーパス
“AppData”
“Boot”
“Windows”
“WINDOWS”
“Windows.old”
“Ahnlab”
“Tor Browser”
“Internet Explorer”
“Google”
“Opera”
“Opera Software”
“Mozilla”
“Mozilla Firefox”
“$Recycle.Bin”
“ProgramData”
“All Users”
“Program Files”
“Program Files (x86)”
“#recycle”
“..”
“.”
“SYSVOL”
“bootmgr”
“ntldr”
[表1] 暗号化除外フォルダーパスリスト
暗号化除外ファイル名
“autorun.inf”
“boot.ini”
“bootfont.bin”
“bootsect.bak”
“bootmgr.efi”
“bootmgfw.efi”
“desktop.ini”
“iconcache.db”
“ntuser.dat”
“ntuser.dat.log”
“ntuser.ini”
“thumbs.db”
“AUTOEXEC.BAT”
“autoexec.bat”
“bootfont.bin”
“bootfont.bin”
“ntldr”
“config.ini”
“begin.txt”
“finish.txt”
[表2] 暗号化除外ファイル名リスト

2) 実行中のプロセス強制終了機能
ランサムウェアは暗号化中にファイルのハンドル衝突を防ぐため、実行中のプロセスを終了する。以下は該当する対象リストである。

プロセス強制終了対象
“sql.exe”
“oracle.exe”
“ocssd.exe”
“dbsnmp.exe”
“synctime.exe”
“agntsvc.exe”
“isqlplussvc.exe”
“xfssvccon.exe”
“mydesktopservice.exe”
“ocautoupds.exe”
“encsvc.exe”
“firefox.exe”
“tbirdconfig.exe”
“mydesktopqos.exe”
“ocomm.exe”
“dbeng50.exe”
“sqbcoreservice.exe”
“excel.exe”
“infopath.exe”
“msaccess.exe”
“mspub.exe”
“onenote.exe”
“outlook.exe”
“powerpnt.exe”
“steam.exe”
“thebat.exe”
“thunderbird.exe”
“visio.exe”
“winword.exe”
“wordpad.exe”
“wrapper.exe”
“dbsrv12.exe”
“WinSAT.exe”
[表3] プロセス強制終了対象リスト

3) サービス終了対象
ランサムウェアはバックアップおよびアンチウイルス製品に関連したサービスを終了させる。以下の[表4]は関連対象リストである。

サービス終了対象
vss
sql
svc$
memtas
mepocs
sophos
backup
GxCIMgr
DefWatch
ccEvtMgr
ccSetMgr
SavRoam
RTVscan
QBFCService
QBIDPService
Intuit.QuickBooks.FCS
QBCFMonitorService
YooBackup
zhudongfangyu
stc_raw_agent
VSNAPVSS
VeeamTransportSvc
VeeamDeploymentService
VeeamNFSSvc
PDVFSService
BackupExecVSSProvider
BackupExecAgentAccelerator
BackupExecAgentBrowser
BackupExecDiveciMediaService
BackupExecJobEngine
BackupExecManagementService
BackupExecRPCService
AcrSch2Svc
AcronisAgent
CASAD2DWebSvc
CAARCUpdateSvc
[表4] サービス終了対象リスト

4) ボリュームシャドーの削除、Windows イベントログの停止、Windows 復旧の無効化

攻撃者は vssadmin.exe のようなツールを利用してボリュームシャドーコピーを削除するなどの振る舞いを行うが、以下のような方式を利用してコマンドラインベースのビヘイビア検知を回避する。
SUSPEND モードで各プロセスを実行させるが、コマンドライン引数は「11111111」のようなダミー値を与えていた。その後このプロセスのメモリから PEB を読み込み RTL_USER_PROCESS_PARAMETERS 構造体を検索したあと、CommandLine が位置するアドレスを獲得する。
最後にこのアドレスに実際のコマンドライン引数として WriteProcessMemory() を利用して再度使用するため、vssadmin.exe のようなツールは新たに伝達された引数で正常に振る舞いを行うことができる。

[図2] 既存のコマンドライン
[図3] コマンドラインの引数変更
[図4] 変更されたコマンドライン引数
プロセスの実行ログ 実際のコマンドライン
vssadmin.exe 11111111111111111111111111 vssadmin.exe Delete Shadows /All /Quiet
bcdedit.exe 111111111111111111111111111111111 bcdedit.exe /set {default} recoveryenabled No
bcdedit.exe 1111111111111111111111111111111111111111111111111 bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures
wbadmin.exe 111111111111111111111111 wbadmin.exe DELETE SYSTEMSTATEBACKUP
wbadmin.exe 11111111111111111111111111111111111111 wbadmin.exe DELETE SYSTEMSTATEBACKUP -deleteOldest
wbadmin.exe 111111111111111111111 wbadmin.exe delete catalog -quiet
wbadmin.exe 1111111111111 wbadmin.exe delete backup
wbadmin.exe 1111111111111111111111111111111111111111 wbadmin.exe delete systemstatebackup -keepversions:0
wevtutil.exe 111111111111111111111 wevtutil.exe clear-log Application
wevtutil.exe 111111111111111111 wevtutil.exe clear-log Security
wevtutil.exe 1111111111111111 wevtutil.exe clear-log System
wevtutil.exe 111111111111111111111111111111 wevtutil.exe clear-log “windows powershell”
wmic.exe 1111111111111111111111111 wmic.exe SHADOWCOPY /nointeractive
net.exe 1111111111 net.exe stop MSDTC
net.exe 1111111111111111111 net.exe stop SQLSERVERAGENT
net.exe 1111111111111111 net.exe stop MSSQLSERVER
net.exe 11111111 net.exe stop stop vds
net.exe 11111111111111 net.exe stop SQLWriter
net.exe 111111111111111 net.exe stop SQLBrowser
net.exe 1111111111111111 net.exe stop MSSQLSERVER
net.exe 1111111111111111111 net.exe stop MSSQL$CONTOSO1
netsh.exe 1111111111111111111111111111111111111111 netsh.exe advfirewall set currentprofile state off
netsh.exe 11111111111111111111111111111111 netsh.exe firewall set opmode mode=disable
[表5] 実際に実行されたコマンドライン
[図5] 表5 プロセスの異常な実行の検知(AhnLab EDR)
[図6] 実行およびメモリに書かれたデータの検知画面(AhnLab MDS)

AhnLab EDR/MDS製品群は上記のような実行を異常な実行と判断して検知している。MDS 製品は対象プロセスのメモリに書かれたデータの追加確認も可能である。

書かれたデータ
76 00 73 00 73 00 61 00 64 00 6d 00 69 00 6e 00 2e 00 65 00 78 00 65 00 20 00 44 00 65 00 6c 00 65 00 74 00 65 00 20 00 53 00 68 00 61 00 64 00 6f 00 77 00 73 00 20 00 2f 00 41 00 6c 00 6c 00 20 00 2f 00 51 00 75 00 69 00 65 00 74 00
上記のデータが意味するコマンド
vssadmin.exe Delete Shadows /All /Quiet
[表6] メモリに書かれたコマンド

5) ランサムノートおよびファイルの暗号化拡張子
ランサムウェアは暗号化が完了したフォルダーごとに[図7]のようなランサムノートファイル(_r_e_a_d_m_e.txt)を生成する。

[図7] ランサムノート

またランサムウェアは、ファイルを暗号化した後、ファイル拡張子を「.s1s2s3[ファイル暗号化数]」形態に修正する。

6) ランサムウェアの自己削除
ランサムウェアの振る舞いが終了すると、以下のコマンドを通して自己削除を試みる。

自己削除コマンド
“C:\Windows\System32\cmd.exe” /c ping 127.0.0.1 -n 3 && del /f/q “C:\Users\Default\Desktop\msupdate64.exe”
[表7] 自己削除コマンド
[図8] 自己削除コマンドの検知(AhnLab MDS)
[図9]自己削除コマンドの検知(AhnLab EDR)

内部伝播(ドメインコントローラーによるランサムウェアの配布方式)

このランサムウェアが AD サーバーのドメインコントローラーで動作する場合、[図9]のようにグループポリシーを生成して、現在のドメインと接続された他の PC にランサムウェアを拡散する。

[図10] ドメインコントローラーによるランサムウェアの配布方式

[表8]はランサムウェアのドメインコントローラーに存在する実行ファイルを、感染対象の PC のデスクトップパスに「[配布日]_ランサムウェアファイル名].exe」形態でコピーコマンドを下す、ファイル関連のグループポリシーである。

{D6C45CD3-BCB9-4D6C-A16C-FD416DAA1C47}\User\Preferences\Files\Files.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<Files clsid=”{215B2E53-57CE-475c-80FE-9EEC14635851}”><File clsid=”{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}” name=”[配布日][ランサムウェアファイル名].exe” status=”[配布日][ランサムウェアファイル名].exe” image=”2″ changed=”[配布日]” uid=”{1F86D6A8-6640-47D8-A26B-E263CAECE394}” bypassErrors=”1″>
[表8] ランサムウェア実行ファイルに生成されるグループポリシー
[図11] グループポリシーによって生成されたランサムウェアの実行検知画面(AhnLab EDR)

ダークサイドランサムウェアは再現および解析を防ぐために特定引数が合わない場合は動作しない。しかし、[図10]のように AhnLab EDR は AD 環境でグループポリシーによって生成されるランサムウェアを上記のように検知しており、実行する引数の確認も可能である。

継続的な伝播のため、以下のようなコマンドでグループポリシーを配布する。

Powershell コマンド
 powershell.exe -Command “Get-ADComputer -filter * -Searchbase ‘DC=ahnlabs,DC=com’ | foreach{ Invoke-GPUpdate -computer $_.name -force -RandomDelayInMinutes 0}”
[表9] 伝播コマンド
[図12] PowerShell を利用したグループポリシーの配布検知画面(AhnLab EDR)

金銭を目的として企業 AD 環境を対象に ATP 攻撃を行う攻撃者が使用するマルウェアは、従来のシグネチャベースのアンチウイルス製品の検知をすべて回避して配布している。

[図13] VirusTotal 確認ができないダークサイドランサムウェア

上記の[図13]のようなウイルストータルの収集もされないダークサイドランサムウェアは、従来のシグネチャベースのアンチウイルス製品によって検知されない可能性が非常に高い。

これを効果的に検知するためには APT 検知ソリューションである MDS や、EndPoint ですべての疑わしい振る舞いを記録/報告する EDR 製品の重要性が浮かび上がってくる。

[図14] ダークサイドランサムウェアの検知画面(AhnLab MDS)
[図15] ダークサイドランサムウェアの検知画面(AhnLab EDR)

ダークサイドランサムウェア攻撃は MITRE ATT&CK フレームワークで以下の Techniques に該当する。

  • T1486 Data Encrypted for Impact[1]
  • T1484.001 Domain Policy Modification: Group Policy Modification[2]
  • T1053.005 Scheduled Task/Job: Scheduled Task[3]
  • T1562.001 Impair Defenses: Disable or Modify Tools or T1489 Service Stop[4]
  • T1489 Service Stop[5]
  • T1021.002 Remote Services: SMB/Windows Admin Shares[6]
  • T1562.001 Impair Defenses: Disable or Modify Tools[7]

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

Categories:AhnLab 検知

Tagged as:,,

5 1 vote
評価する
Subscribe
Notify of
guest

0 コメント
Inline Feedbacks
View all comments