DAGON LOCKER、DAGON ランサムウェア(以下、DAGON ランサムウェア)の韓国国内での拡散が確認された。AhnLab ASD インフラによるランサムウェアと思われる振る舞いの遮断履歴において最初に発見され、10月には AhnLab が韓国国内の某機関から不正なものと疑われるファイルを収集したこともある。DAGON ランサムウェアの主な配布経路はフィッシングまたは電子メールの添付ファイルだが、サービスとしてのランサムウェア(RaaS、Ransomware-as-a-Service)であるため、攻撃者によって配布経路や攻撃のターゲットは様々である可能性がある。
DAGON ランサムウェアはファイルのアウトラインがパックされた形態であるため、プロセスのメモリに生成される64ビットの EXE バイナリが中核のコードである。このコードは2020年から配布されていた MountLocker(マウントロッカー)または Quantum(クォンタム)ランサムウェアと非常に類似している。同じコードを使用している部分や機能が存在し、MountLocker、Quantum ランサムウェアに類似した変種と見ることができる。DAGON ランサムウェアのコードには、バージョン情報を意味する「Ver 5.1 x64」の文字列が確認された。以下は、DAGON ランサムウェアの主な特徴と感染時のユーザー画面である。
- 実行引数としてランサムウェアの暗号化範囲を制限、または拡張して実行オプションを指定可能
- 特定のパスと拡張子を除くすべてのファイルを対象に暗号化したあと、「*.dagoned」というファイル名に変更
- ファイルの暗号化は ChaCha20 暗号化方式を利用し、このときに使用する暗号化キーは RSA-2048 で暗号化を行う
- システムの Windows サービスとプロセスリストをチェックし、条件に一致する場合サービスとプロセスを終了
- ユーザーのシステム情報とランサムウェアの暗号化履歴を「.log」ファイルに保存
- ボリュームシャドウコピーは削除しない

解析
DAGON ランサムウェアの64ビット EXE バイナリ(md5: 81a757ac559ae73229992d4b533338c3)はすべての文字列をエンコードした状態で保存するため、これをデコードするルーティンを経て必要な文字列を生成する。Windows API 関数を呼び出すときも動的ライブラリをロードして関数を呼び出すが、このプロセスにも同じデコードのルーティンを実行する。Import ヘッダ情報を見ると、初期実行段階に必要な関数だけを Import している。


実行引数としてランサムウェアの暗号化範囲を制限、または拡張して実行オプションを指定可能
GetCommandLineW 関数により伝達された実行引数を確認する。有効な引数が存在するかどうかを確認し、その値に応じてランサムウェアの暗号化動作範囲を制限または拡張する。
例えば、「/LOGIN=」と「/PASSWORD=」で渡された引数と指定値は、ネットワークに接続されたユーザーリソースにアクセスする際に必要なクレデンシャルである。DAGON ランサムウェアは、条件に一致するとネットワークに接続された他のユーザーシステムも暗号化できる。引数として、ランサムウェアの動作範囲以外にも、実行環境オプションを指定することもできる。例えば「/NOKILL」は Windows サービスとプロセスを終了しないようにする。引数が与えられていないデフォルトの実行オプションでもユーザーファイルの暗号化は正常に動作する。今回確認された DAGON ランサムウェアは実行引数情報が確認されておらず、単独で実行されたものと見られる。

特定のパスと拡張子を除くすべてのファイルを対象に暗号化したあと、「*.dagoned」というファイル名に変更
基本的に、ドライブ内のすべてのファイルを暗号化する。別途指定された実行引数がない場合、A ドライブから Z ドライブまでを順番に検索する。ドライブタイプのうち GetDriveTypeW 関数を使ってネットワークドライブ(DRIVE_REMOTE)は除外する。暗号化対象ファイルのうち、特定のパスと拡張子は除外する。46個のパスと15個のファイル拡張子が除外対象である。暗号化のあと、ファイル名は「<元のファイル名>*.dagoned」に変更される。暗号化されたファイルがあるパスにランサムノートファイルの「README_TO_DECRYPT.html」を生成する。
exe, dll, sys, msi, mui, inf, cat, bat, cmd, ps1, vbs, ttf, fon, lnk, .386
"\\windows\\"
"\\System Volume Information\\"
"\\$RECYCLE.BIN\\"
"\\SYSTEM.SAV"
"\\WINNT"
"\\$WINDOWS.~BT\\"
"\\Windows.old\\"
"\\PerfLog\\"
"\\PerfLogs\\"
"\\Program Files\\"
"\\Program Files (x86)\\"
"\\Boot"
"\\ProgramData\\Microsoft\\"
"\\ProgramData\\Packages\\"
"\\EFI"
"\\WindowsApps\\"
"\\Microsoft\\Windows\\"
"\\Local\\Packages\\"
"\\Windows Defender"
"\\microsoft shared\\"
"\\Google\\Chrome\\"
"\\Mozilla Firefox\\"
"\\Mozilla\\Firefox\\"
"\\Internet Explorer\\"
"\\MicrosoftEdge\\"
"\\Tor Browser\\"
"\\AppData\\Local\\Temp\\"
"\\AppData"
"\\All Users"
"\\Boot"
"\\Google"
"\\Mozilla"
"\\autorun.inf"
"\\boot.ini"
"\\bootfont.bin"
"\\bootsect.bak"
"\\bootmgr"
"\\bootmgr.efi"
"\\bootmgfw.efi"
"\\iconcache.db"
"\\desktop.ini"
"\\ntldr"
"\\ntuser.dat"
"\\ntuser.dat.log"
"\\ntuser.ini"
"\\thumbs.db"


ファイルの暗号化は ChaCha20 暗号化方式を利用し、このときに使用する暗号化キーは RSA-2048 で暗号化を行う
ファイルの暗号化には ChaCha20 暗号化方式が利用された。そして、ChaCha20 暗号化キーは RSA で暗号化している。すなわち、DAGON ランサムウェアは複合暗号化方式を利用したランサムウェアである。以下のコードはファイル内の ChaCha20 暗号化ロジックと「expand 32-byte k」シグネチャである。CryptImportKey 関数により RSA 2048 キーをロードし、CryptEncrypt 関数でこのキーを利用して ChaCha20 キーを暗号化する。

システムの Windows サービスとプロセスリストをチェックし、条件に一致する場合サービスとプロセスを終了
システムにおいて、プロセスとして(SERVICE_32)で有効(SERVICE_ACTIVE)に動作している Windows サービスを EnumServiceStatus 関数で照会し、特定の3つのパターンの名前がサービス名に含まれている場合、そのサービスプロセスを終了する。また、動作中のプロセスを照会してその中に49個のプロセスリストと一致するものがある場合、そのプロセスを終了する。
終了対象のプロセスには「agntsvc.exe」 Panda Security Agent や「dumpcap.exe」、「procmon.exe」等、マルウェアの振る舞い監視目的のプロセスがある。
SQL, database, msexchange
"msftesql.exe"
"sqlbrowser.exe"
"sqlwriter.exe"
"oracle.exe"
"ocssd.exe"
"dbsnmp.exe"
"synctime.exe"
"agntsvc.exe"
"isqlplussvc.exe"
"xfssvccon.exe"
"sqlservr.exe"
"encsvc.exe"
"ocautoupds.exe"
"mydesktopservice.exe"
"firefoxconfig.exe"
"tbirdconfig.exe"
"mydesktopqos.exe"
"ocomm.exe"
"mysqld.exe"
"sqlagent.exe"
"mysqld-nt.exe"
"mysqld-opt.exe"
"dbeng50.exe"
"sqbcoreservice.exe"
"excel.exe"
"infopath.exe"
"msaccess.exe"
"mspub.exe"
"onenote.exe"
"outlook.exe"
"powerpnt.exe"
"sqlservr.exe"
"thebat.exe"
"steam.exe"
"thebat64.exe"
"thunderbird.exe"
"visio.exe"
"winword.exe"
"wordpad.exe"
"QBW32.exe"
"QBW64.exe"
"ipython.exe"
"wpython.exe"
"python.exe"
"dumpcap.exe"
"procmon.exe"
"procmon64.exe"
"procexp.exe"
"procexp64.exe"

ユーザーのシステム情報とランサムウェアの暗号化履歴を「.log」ファイルに保存
別途 /NOLOG 実行引数が与えられていない場合、ユーザーのシステム情報とファイルの動作プロセス、およびすべての暗号化履歴を同じパス内に「.log」ファイルとして保存する。ファイルが単独で実行されたとき「.log」ファイルが外部ネットワークアドレスに転送される機能は存在しない。DAGON ランサムウェアが情報流出が可能な他のマルウェアと同時に実行された場合、攻撃者が被害を受けたシステムを確認する目的で「.log」ファイルを利用する可能性がある。ランサムウェアの内部バージョンを意味する文字列の「Ver 5.1 x64」とともに、以下の情報が「.log」ファイルに保存される。
- ユーザーのシステム情報:プロセッサの個数、Windows バージョン、ユーザー名、PC 名、グループアカウント等
- 終了した Windows サービスリスト
- 終了したプロセスリスト
- 暗号化履歴:成功、失敗の状況を含む
- 統計:暗号化速度、暗号化したファイルおよびパスの個数、エラー発生回数等

ボリュームシャドウコピーは削除しない
普遍的なランサムウェアが実行するボリュームシャドウコピーの削除は DAGON ランサムウェアでは確認されていない。
[ファイル検知]
– Ransomware/Win.DagonLocker.C5272105 (2022.10.04.03)
– Ransomware/Win.QuantumLocker.C5279049(2022.10.13.02)
[ビヘイビア検知]
– Ransom/MDP.Behavior.M1171
– Ransom/MDP.Behavior.M1946
[IOC]
MD5
– 48177ece3ebdee2faf8227e52e608562
– 81a757ac559ae73229992d4b533338c3
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報