Anti-Forensic Techniques

HackTricksをサポートする

タイムスタンプ

攻撃者は、ファイルのタイムスタンプを変更することに興味があるかもしれません。 タイムスタンプは、MFT内の属性$STANDARD_INFORMATION __ と __ $FILE_NAMEに見つけることができます。

両方の属性には4つのタイムスタンプがあります:変更アクセス作成、およびMFTレジストリ変更(MACEまたはMACB)。

Windowsエクスプローラーや他のツールは、**$STANDARD_INFORMATION**からの情報を表示します。

TimeStomp - アンチフォレンジックツール

このツールは、$STANDARD_INFORMATION内のタイムスタンプ情報を変更しますが、$FILE_NAME内の情報は変更しません。したがって、疑わしい 活動を特定することが可能です

Usnjrnl

USNジャーナル(更新シーケンス番号ジャーナル)は、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つのステップが必要です:

  1. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgsHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabledの2つのレジストリキーをゼロに設定して、UserAssistを無効にすることを示します。

  2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>のようなレジストリサブツリーをクリアします。

タイムスタンプの無効化 - Prefetch

これは、Windowsシステムのパフォーマンスを向上させる目的で実行されたアプリケーションに関する情報を保存します。ただし、これはフォレンジック実践にも役立ちます。

  • regeditを実行

  • ファイルパスHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParametersを選択

  • EnablePrefetcherEnableSuperfetchの両方を右クリック

  • 各々を変更して、値を1(または3)から0に変更

  • 再起動

タイムスタンプの無効化 - 最終アクセス時刻

NTFSボリュームからフォルダーが開かれるたびに、システムは各リストされたフォルダーのタイムスタンプフィールドを更新するための時間を取ります。これは、最終アクセス時刻と呼ばれます。NTFSボリュームが頻繁に使用される場合、これがパフォーマンスに影響を与える可能性があります。

  1. レジストリエディタ(Regedit.exe)を開きます。

  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemに移動します。

  3. NtfsDisableLastAccessUpdateを探します。存在しない場合は、このDWORDを追加し、その値を1に設定してプロセスを無効にします。

  4. レジストリエディタを閉じ、サーバーを再起動します。

USB履歴の削除

すべてのUSBデバイスエントリは、PCまたはラップトップにUSBデバイスを接続するたびに作成されるサブキーを含む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で提案された手順に従います。

シャドウコピーを無効にするには、こちらの手順を参照してください:

  1. Windowsスタートボタンをクリックした後、テキスト検索ボックスに「services」と入力してサービスプログラムを開きます。

  2. リストから「Volume Shadow Copy」を見つけて選択し、右クリックしてプロパティにアクセスします。

  3. 「スタートアップの種類」ドロップダウンメニューから「無効」を選択し、変更を適用して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:

HackTricksをサポートする

Last updated