4. 攻撃の検知と調査の手法を検討する
4.3. 感染嫌疑の調査例
4.3.3. 感染嫌疑 PC の変更調査
システム情報や設定情報のテキスト化
感染嫌疑PCの変更調査は、意図しない変更がマルウェアの感染で引き起こされていな いか、不審ファイルが存在しないかの2点の調査が主となる。マルウェアが変更しやすい 箇所、隠そうとする場所などを調査する。具体的には、システム情報や各種設定値をOS コマンドで出力、フォルダ・ファイル一覧のテキスト出力を行い、不審点がないかを確認 するという手順で進める。
ここでは、システム情報や設定情報の取得例(表 4.3-3)と、マルウェアがよく利用す る「感染頻出フォルダ」(表 4.3-5)、永続化でよく利用される「要注意レジストリ」(表 4.3-4)を紹介する。取得コマンドの例も記載した。
56
表 4.3-3 システム情報取得例
永続化の調査例
「意図しない永続化」は永続化の設定箇所を確認し、意図しない、つまり「インストー ルした覚えがない」ものを判別すればよいが、これもイベントログと同じく大量に存在す るため、そのひとつひとつを調査し判別するのは、非常に困難である。ここでは以下を提 示したい。
マルウェアがよく使う永続化設定箇所を確認する
あくまで傾向ではあるが、マルウェアが永続化によく使う設定箇所が存在する。また、
マルウェアがよく配置されるフォルダもあるため、この二つを組み合わせて、「不審な」
永続化設定箇所を抽出することは可能である。
マルウェアがよく使う永続化設定箇所(要注意レジストリ)と、その設定値を取得する コマンドを紹介する。表 4.3-4に列挙している。
内容 取得コマンド例
システム情報の収集 systeminfo 環境変数の取得 set
スケジュールタスク schtasks /query /v sc query state= all IPアドレス情報 ipconfig /all ルーティング情報 route print トークン情報 whoami /all
フォルダ・ファイル一覧 表 4.3-5 参照のこと
※C:¥全体を取得する場合は「dir /a /s C:¥ 」 プロセス情報 tasklist /v
tasklist /svc tasklist /m
wmic process GET
ProcessId,Caption,ExecutablePath,CommandLine レジストリ情報 表 4.3-4 参照のこと
57
表 4.3-4 要注意レジストリ 取得コマンド例とレジストリ reg query “レジストリ名” /sで取得する
スタートアップ系レジストリ
"HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Run" /s
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnce" /s
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnceEx" /s
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥policies¥Explorer¥Run" /s
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Userinit" /s
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Shell" /s
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Shell" /s
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Load"
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Run"
"HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows¥Appinit_Dlls" /s
"HKLM¥Software¥Microsoft¥Command Processor¥AutoRun" /s
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServices" /s
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServicesOnce" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Run" /s
"HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Load"
"HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Run"
"HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows¥Run" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnce" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥AppKey¥18¥ShellExecute" /s
"HKCU¥Software¥Microsoft¥Command Processor¥AutoRun" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥policies¥Explorer¥Run" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServices" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServicesOnce" /s
"HKU¥.DEFAULT¥Software¥Microsoft¥Windows¥CurrentVersion¥Run" /s
"HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥User Shell Folders" /v
"Startup"
"HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥User Shell Folders" /v
"Common Startup"
サービスレジストリ
"HKLM¥SYSTEM¥currentControlSet¥services"
58
この他にも永続化箇所はあるが、マルウェアがよく使うという点では、スタートアップ 系のレジストリとサービスレジストリは必ず確認すべき箇所である。
次に、マルウェアがよく配置されるフォルダを紹介する。表 4.3-5に列挙16した。3章 で記載した本事例でも、これらのフォルダに多くの実行ファイルや痕跡が残されていた。
表 4.3-5 感染頻出フォルダ
環境変数等 実フォルダ例
%TEMP% C:¥Users¥ユーザー名¥AppData¥Local¥Temp
%PROGRAMDATA%
%ALLUSERPROFILE%
C:¥ProgramData
%PUBLIC% C:¥Users¥Public
%APPDATA% C:¥Users¥ユーザー名¥AppData¥Roaming
%LOCALAPPDATA% C:¥Users¥ユーザー名¥AppData¥Local
%USERPROFILE%¥Appdata C:¥Users¥ユーザー名¥Appdata
スタートアップフォルダ(ユーザー) C:¥Users¥ユーザー名
¥AppData¥Roaming¥Microsoft¥Windows¥Start Menu¥Programs¥Startup
スタートアップフォルダ C:¥ProgramData¥Microsoft¥Windows¥Start Menu¥Programs¥Startup
では、レジストリのひとつを例にあげて、どのように確認を進めるかを紹介する。
図 4.3-3 永続化されたレジストリキー例
16 この表ではWindows7を対象にしている。
HKEY_LOCAL_MACHINE¥SYSTEM¥currentControlSet¥services¥SSS Type REG_DWORD 0x110
Start REG_DWORD 0x2 ErrorControl REG_DWORD 0x0
ImagePath REG_EXPAND_SZ "C:¥ProgramData¥SSS¥Update.exe"
DisplayName REG_SZ SSS ObjectName REG_SZ LocalSystem Description REG_SZ SSS
59
図 4.3-3は自動実行するサービスレジストリのひとつであるが、「ImagePath」に指定 されているのが、実行されるファイルである。この実行ファイルが配置されているフォル ダが、表 4.3-5でないかどうかをまず確認し、これらのフォルダに該当する場合は、ファ イルに不審点があるかどうかを調べてみる、という流れで進めると効率的である。ファイ ル名やファイルサイズ、バージョン情報、最終更新日、配置されているフォルダはデフォ ルトインストールで指定される箇所か等を順次確認していく。3章の本事例で記したよう に、正規ファイルや正規プログラムを模したケースもあるため、公開情報でこれらの情報 と比較することも有効である。もちろん、マルウェアは必ずしもこれらのフォルダにのみ 配置されるわけではない点にはご注意いただきたい。