7月23日、スマートウォッチやウェアラブルデバイスのメーカーである「Garmin」が WastedLocker という名前のランサムウェア攻撃を受け、サービスおよび生産ラインが中断されるといった問題が発生した。
このランサムウェアの製作者は「Evil Corp」というロシアのハッキンググループであり、彼らは特定の企業をターゲットにして APT 攻撃を実行したあと、ペネトレーションテストツールである Cobalt Striker を利用して WastedLocker ランサムウェアを配布したものと推定される。
WastedLocker はシステム内のファイルを暗号化し、それらを復号化する対価として金銭を要求する典型的なランサムウェアの特徴を持つマルウェアである。特に WastedLocker ランサムウェアのような場合、プログラムに伝達される特定のパラメータ条件に基づき、暗号化範囲をコントロールできるコマンドインターフェースが存在することが特徴である。これは、攻撃者が標的型攻撃により既に感染したシステムから確保されたリソース内で特定のターゲットのみを選定して、それらの暗号化を実行するために作成したものと判断される。
このマルウェアは、大きく分けて以下のような4種類の不正な行為を実行する。
1.特定 ADS 領域に自己コピーを生成および再帰を実行(*偽造メカニズム) 2.管理者権限で実行されない場合、UAC BYPASS を実行(*権限昇格メカニズム) 3.特定パラメータによる暗号化プロセスの実行(*ランサムウェア行為) 4.自分自身を削除(*痕跡削除メカニズム) |
1.特定 ADS 領域に自己コピーを生成および再帰を実行(*偽造メカニズム)
1.1 システムフォルダに存在する任意の exe または dll ファイルを一時フォルダにコピー
└ %AppData%\Roaming\[random]

1.2 任意にコピーしたファイルのADS領域(:bin)に自身のコピーを挿入。
└ %AppData%\Roaming\[random]:bin


1.3 管理者権限で実行された場合、ADS 領域内の自身のコピーを以下のようにパラメータを付与して呼び出し
条件1) パラメータが入力された場合
└ %AppData%\Roaming\[random]:bin %パラメータ% -r
条件2) パラメータが入力されなかった場合(*デフォルト値: -r)
└ %AppData%\Roaming\[random]:bin –r

2.管理者権限で実行されない場合、UAC bypassを実行(*権限昇格メカニズム)
2.1 トリックフォルダの生成後、NtFsControlFile APIを使用してマウントポイント(c:\Windows \)を設定
└ %Temp%\[random]


2.2 AutoElevate が設定された正常なシステムファイルをトリックフォルダにコピー
└ %system32%winsat.exe -> %Temp%\[random]\system32\winsat.exe

2.3 winsat.exe がインポートする正常なモジュールをトリックフォルダにコピー
└ %system32%winmm.dll -> %Temp%\[random]\system32\winmm.dll

2.4 winmm.dll にパッチを当てて DLL ハイジャックを実行
└ パッチされた dll で ADS 領域内の自身のコピーを呼び出し。

3.パラメータ条件による以下の暗号化プロセス行為の実行(*ランサムウェア)
(Usecase Arg : -p, -f, -u, -r, -s )
-p:指定されたファイル/ディレクトリを対象に、まず暗号化を実行したあと、ドライブおよびデバイス全体を対象にもう一度暗号化を実行。
└ ex) -p c:\user\vmuser\desktop
-f:指定されたファイル/ディレクトリを対象に暗号化を実行。
└ ex) -f c:\user\documents\test.txt
-u:認証のための資格証明(ユーザー名、パスワード)を使用して指定されたネットワークリソースのファイルを対象に暗号化を実行。
└ ex) -u username:password \\hostname
-r:ボリュームシャドウ削除、%system32%パスに自己コピーを生成および ACL の再設定後、サービスに登録して実行。
└ ImagePath : C:\Windows\system32\[random].exe %パラメータ% -s
-s:サービスルーティンに分岐し、すべてのファイル(パラメータ-X)または指定されたファイル(パラメータ-O)を対象に暗号化を実行
<暗号化プロセス>
1.ディレクトリリスティングおよび暗号化対象ファイルの選定
└ 暗号化除外拡張子:
*\ntldr | \bootmgr | *\grldr | *.386 | *.adv | *.ani | *.bak | *.bat | *.bin | *.cab | *.cmd | *.com | *.cpl | *.cur | *.dat | *.diagcab | *.diagcfg | *.dll | *.drv | *.exe | *.hlp | *.hta | *.icl | *.icns | *.ics | *.idx | *.ini | *.key | *.lnk | *.mod | *.msc | *.msi | *.msp | *.msstyles | *.msu | *.nls | *.nomedia | *.ocx | *.ps1 | *.rom | *.rtp | *.scr | *.sdi | *.shs | *.sys | *.theme | *.themepack | *.wim | *.wpx

└ 暗号化除外ディレクトリ:
*\$recycle.bin* | *\appdata* | *\bin* | *\boot* | *\caches* | *\dev* | *\etc* | *\initdr* | *\lib* | *\programdata* | *\run* | *\sbin* | *\sys* | *\system volume information* | *\users\all users* | *\var* | *\vmlinuz* | *\webcache* | *\windowsapps* | c:\program files (x86)* | c:\program files* | c:\programdata* | c:\recovery* | c:\windows* | c:\users\ %USERNAME%\appdata\local\temp* | c:\users\ %USERNAME%\appdata\roaming*

2.選定されたファイルに対する暗号化の実行およびランサムノートの生成
└ 暗号化アルゴリズム/ブロックモード:AES-256 / CBC
└ 暗号化キー:内部アルゴリズムによりランダムに生成された256bitのキーと128bitのIV

└ 復号キー:暗号化に使用したAES キーと IV を内蔵した RSA 公開キー(4096bit)を利用して暗号化したあと、Base64に最終エンコードしてランサムノートにロギング(*攻撃者の RSA 個人キーを確保できる場合、復号キーを取得できる。)


└ 暗号化されたファイル名:[ファイル名].garminwasted (*garmin:攻撃対象の組織名 / wasted:ランサムウェアの名前)
暗号化されたファイル名
└ ランサムノート名:[ファイル名].garminwasted_info (*garmin:攻撃対象の組織名 / wasted:ランサムウェアの名前)
ランサムノート名
4.自分自身を削除(*痕跡削除メカニズム)
コマンドラインのdelコマンドを利用して自分自身を削除
[解析のまとめ]
WastedLockerランサムウェアは、まず自身を隠蔽するために特定のADS領域に自分のコピーを生成したあと、再実行する。このとき、管理者権限で実行されていない場合、UAC BYPASSを試みてプログラムにより入力された特定のパラメータによる暗号化プロセス行為を実行する。最終的に暗号化プロセスが完了すると、自分自身またはコピーをすべて削除し、自身の痕跡を削除する。
AhnLab V3 プロダクトラインでは、上記タイプのマルウェアを次のような診断名で診断している。
[ファイルの診断]
– Trojan/Win32.WastedLocker.R345840 (2020.07.24.03)
– Trojan/Win32.Ransom.C4170354 (2020.07.28.04)
[行為の診断]
– Malware/MDP.SystemManipulation.M2255 (2019.08.02.09)
Categories:マルウェアの情報
[…] https://asec.ahnlab.com/jp/16663/ […]