hacktricks/forensics/basic-forensic-methodology/anti-forensic-techniques.md

11 KiB
Raw Blame History

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

タイムスタンプ

攻撃者はファイルのタイムスタンプを変更して検出を回避する可能性があります。
MFT内の属性$STANDARD_INFORMATIONおよび$FILE_NAMEにタイムスタンプが含まれている可能性があります。

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

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

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

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

Usnjrnl

USNジャーナルUpdate Sequence Number JournalはNTFSWindows 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はクラスターと最小情報サイズを使用します。つまり、ファイルが1つのクラスターと半分を使用している場合、残りの半分はファイルが削除されるまで使用されません。そのため、このスラックスペースにデータを隠すことが可能です。

この「隠された」スペースにデータを隠すことができる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_TrackProgsおよびHKEY_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を選択します
  • EnablePrefetcherおよびEnableSuperfetchの両方を右クリックし、それぞれの「修正」を選択して、値を1または3から0に変更します
  • 再起動します

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

Windows NTサーバーのNTFSボリュームからフォルダーが開かれるたびに、システムはリストされた各フォルダーのタイムスタンプフィールドである最終アクセス時刻を更新します。使用頻度の高いNTFSボリュームでは、これがパフォーマンスに影響する可能性があります。

  1. レジストリエディタRegedit.exeを開きます。
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemに移動します。
  3. NtfsDisableLastAccessUpdateを探します。存在しない場合は、このDWORDを追加し、その値を1に設定してプロセスを無効にします。
  4. レジストリエディタを閉じ、サーバーを再起動します。

USB履歴の削除

すべてのUSBデバイスエントリは、WindowsレジストリのUSBSTORレジストリキーの下に保存されます。このキーには、PCまたはラップトップにUSBデバイスを接続するたびに作成されるサブキーが含まれています。このキーはここにありますHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR。これを削除すると、USBの履歴が削除されます。
これらを削除したことを確認するために、ツールUSBDeviewを使用することもできます(および削除することもできます)。

USBに関する情報を保存する別のファイルは、C:\Windows\INF内のsetupapi.dev.logファイルです。これも削除する必要があります。

シャドウコピーの無効化

vssadmin list shadowstorageでシャドウコピーをリストします
vssadmin delete shadowを実行してそれらを削除します

https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.htmlで提案された手順に従ってGUIからも削除できます。

シャドウコピーを無効にするには、ここからの手順に従います:

  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 Logs"を展開 --> 各カテゴリを右クリックして「ログをクリア」を選択
  • 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: