アンチフォレンジック技術
Reading time: 12 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
タイムスタンプ
攻撃者は、ファイルのタイムスタンプを変更することに興味を持つかもしれません。
タイムスタンプは、MFT内の属性 $STANDARD_INFORMATION
__ と __ $FILE_NAME
に見つけることができます。
両方の属性には4つのタイムスタンプがあります: 変更, アクセス, 作成, および MFTレジストリ変更 (MACEまたはMACB)。
Windowsエクスプローラーや他のツールは、$STANDARD_INFORMATION
からの情報を表示します。
TimeStomp - アンチフォレンジックツール
このツールは、$STANDARD_INFORMATION
内のタイムスタンプ情報を変更しますが、$FILE_NAME
内の情報は変更しません。したがって、疑わしい 活動を特定することが可能です。
Usnjrnl
USNジャーナル (Update Sequence Number Journal) は、NTFS (Windows NTファイルシステム) の機能で、ボリュームの変更を追跡します。UsnJrnl2Csv ツールは、これらの変更を調査することを可能にします。
前の画像は、ツールによって表示された出力で、ファイルに対していくつかの変更が行われたことが観察できます。
$LogFile
ファイルシステムへのすべてのメタデータ変更は、書き込み先行ログとして知られるプロセスで記録されます。記録されたメタデータは、NTFSファイルシステムのルートディレクトリにある **$LogFile**
という名前のファイルに保持されます。LogFileParser のようなツールを使用して、このファイルを解析し、変更を特定できます。
再び、ツールの出力では、いくつかの変更が行われたことが確認できます。
同じツールを使用して、タイムスタンプが変更された時刻を特定することが可能です:
- CTIME: ファイルの作成時刻
- ATIME: ファイルの変更時刻
- MTIME: ファイルのMFTレジストリ変更
- RTIME: ファイルのアクセス時刻
$STANDARD_INFORMATION
と $FILE_NAME
の比較
疑わしい変更されたファイルを特定する別の方法は、両方の属性の時間を比較して不一致を探すことです。
ナノ秒
NTFS タイムスタンプは 100ナノ秒 の精度を持っています。したがって、2010-10-10 10:10:**00.000:0000 のようなタイムスタンプを持つファイルを見つけることは非常に疑わしいです。
SetMace - アンチフォレンジックツール
このツールは、両方の属性 $STARNDAR_INFORMATION
と $FILE_NAME
を変更できます。ただし、Windows Vista以降は、ライブOSでこの情報を変更する必要があります。
データ隠蔽
NFTSはクラスターと最小情報サイズを使用します。つまり、ファイルがクラスターと半分を占有している場合、残りの半分はファイルが削除されるまで使用されません。したがって、このスラックスペースにデータを隠すことが可能です。
slackerのようなツールを使用すると、この「隠された」スペースにデータを隠すことができます。ただし、$logfile
と $usnjrnl
の分析により、いくつかのデータが追加されたことが示される可能性があります:
その後、FTK Imagerのようなツールを使用してスラックスペースを取得することが可能です。この種のツールは、内容を難読化または暗号化して保存することができます。
UsbKill
これは、USBポートに変更が検出された場合にコンピュータをシャットダウンするツールです。
これを発見する方法は、実行中のプロセスを検査し、実行中の各Pythonスクリプトをレビューすることです。
ライブLinuxディストリビューション
これらのディストリビューションはRAMメモリ内で実行されます。検出する唯一の方法は、NTFSファイルシステムが書き込み権限でマウントされている場合です。読み取り権限のみでマウントされている場合、侵入を検出することはできません。
セキュア削除
https://github.com/Claudio-C/awesome-data-sanitization
Windows設定
フォレンジック調査をはるかに困難にするために、いくつかのWindowsログ記録方法を無効にすることが可能です。
タイムスタンプの無効化 - UserAssist
これは、ユーザーによって各実行可能ファイルが実行された日時を保持するレジストリキーです。
UserAssistを無効にするには、2つのステップが必要です:
- 2つのレジストリキー
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs
とHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled
をゼロに設定して、UserAssistを無効にしたいことを示します。 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>
のようなレジストリサブツリーをクリアします。
タイムスタンプの無効化 - Prefetch
これは、Windowsシステムのパフォーマンスを向上させる目的で実行されたアプリケーションに関する情報を保存します。ただし、これはフォレンジック実践にも役立ちます。
regedit
を実行- ファイルパス
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
を選択 EnablePrefetcher
とEnableSuperfetch
の両方を右クリック- 各々の値を1(または3)から0に変更するために修正を選択
- 再起動
タイムスタンプの無効化 - 最後のアクセス時間
NTFSボリュームからフォルダーが開かれるたびに、システムは各リストされたフォルダーのタイムスタンプフィールドを更新するための時間を取ります。これは、重度に使用されるNTFSボリュームではパフォーマンスに影響を与える可能性があります。
- レジストリエディタ (Regedit.exe) を開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
に移動します。NtfsDisableLastAccessUpdate
を探します。存在しない場合は、このDWORDを追加し、その値を1に設定してプロセスを無効にします。- レジストリエディタを閉じ、サーバーを再起動します。
USB履歴の削除
すべてのUSBデバイスエントリは、USBデバイスをPCまたはラップトップに接続するたびに作成されるサブキーを含むUSBSTORレジストリキーの下にWindowsレジストリに保存されます。このキーはここにあります HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
。これを削除することで、USB履歴を削除します。
また、USBDeview ツールを使用して、削除したことを確認することもできます(および削除するために)。
USBに関する情報を保存する別のファイルは、C:\Windows\INF
内の setupapi.dev.log
です。これも削除する必要があります。
シャドウコピーの無効化
シャドウコピーをリストするには vssadmin list shadowstorage
削除するには vssadmin delete shadow
を実行します。
GUIを介して削除することも可能で、https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html で提案された手順に従います。
シャドウコピーを無効にするには、こちらの手順を参照してください:
- Windowsスタートボタンをクリックした後、テキスト検索ボックスに「services」と入力してサービスプログラムを開きます。
- リストから「Volume Shadow Copy」を見つけて選択し、右クリックしてプロパティにアクセスします。
- 「スタートアップの種類」ドロップダウンメニューから「無効」を選択し、変更を適用してOKをクリックして確認します。
どのファイルがシャドウコピーにコピーされるかの設定をレジストリ HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot
で変更することも可能です。
削除されたファイルの上書き
- Windowsツールを使用できます:
cipher /w:C
これは、Cドライブ内の未使用のディスクスペースからデータを削除するようにcipherに指示します。 - Eraser のようなツールを使用することもできます。
Windowsイベントログの削除
- Windows + R --> eventvwr.msc --> 「Windowsログ」を展開 --> 各カテゴリを右クリックして「ログのクリア」を選択
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
Windowsイベントログの無効化
reg add 'HKLM\SYSTEM\CurrentControlSet\Services\eventlog' /v Start /t REG_DWORD /d 4 /f
- サービスセクション内で「Windows Event Log」サービスを無効にします。
WEvtUtil.exec clear-log
またはWEvtUtil.exe cl
$UsnJrnlの無効化
fsutil usn deletejournal /d c:
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。