mcpField
D
disk-forensics-evasion

disk-forensics-evasion

github.com/wgpsecセキュリティ1.8k44 回インストール4 日前に更新
リポジトリ

disk-forensics-evasion について

証拠の復元と痕跡の低減という両面から手順をまとめた、セキュリティ担当者向けのディスクフォレンジック技能です。複数のファイルシステムの痕跡分析、安全な削除、痕跡管理を扱います。

主な機能

  1. 01ハッシュ検証付きディスクイメージ取得
  2. 02NTFS、ext4などの痕跡分析
  3. 03削除ファイルの復元
  4. 04安全な削除とタイムスタンプ操作
  5. 05操作痕跡を消去する方法

活用シーン

  1. 01WindowsまたはLinuxのディスク証拠調査
  2. 02削除ファイルの復元とファイルシステム痕跡の確認
  3. 03許可されたテストでのディスク痕跡リスク評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill disk-forensics-evasion

インストール後、Claude Code で/disk-forensics-evasionを入力して読み込まれたか確認します。

同梱ファイルreferences/linux-disk-forensics.mdreferences/ntfs-artifacts.md

詳細

ディスクフォレンジックとアンチフォレンジック

両面からの視点:ブルーチームはディスクから証拠を復元し、レッドチームは証拠を復元できないようにします

⛔ 詳細リファレンス


Part A:ブルーチームの視点 — ディスクフォレンジック

Phase 1:証拠の取得
# 使用 dcfldd 完整镜像(含哈希校验)
dcfldd if=/dev/sdb of=/evidence/disk.dd \
  hash=sha256 hashlog=/evidence/disk.sha256 \
  bs=4096 conv=noerror,sync

# 使用 E01 格式(压缩+分片)
ewfacquire /dev/sdb -t /evidence/disk \
  -c deflate -S 2G -e "Case INC-2025"

# 验证完整性
sha256sum /evidence/disk.dd
Phase 2:ファイルシステム分析の判断ツリー
文件系统类型?
├─ NTFS (Windows) → MFT分析 / USN Journal / $LogFile
├─ ext4 (Linux) → inode / journal / superblock
├─ APFS (macOS) → diskutil / apfs_parser
└─ FAT32 (USB) → 简单文件表 / 簇分析
Phase 3:Windows NTFS の主要アーティファクト
アーティファクト場所内容
$MFTボリュームのルート各ファイルのメタデータ(タイムスタンプ、サイズ、パス)
$UsnJrnl$Extend\ファイル変更ログ(作成/削除/名前変更)
$LogFileボリュームのルートNTFS トランザクションログ
PrefetchC:\Windows\Prefetch\プログラムの実行記録(直近8回の実行時刻)
AmcacheC:\Windows\AppCompat\プログラムの初回実行+SHA1
Shimcacheレジストリプログラム互換性キャッシュ
LNK ファイルRecent\最近アクセスしたファイルの記録
ジャンプリストCustomDestinations\タスクバー上のプログラム履歴
$Recycle.Binボリュームのルートごみ箱($I=メタデータ、$R=内容)
VSSSystem Volume Informationボリュームシャドウコピー(過去のスナップショット)
# Sleuth Kit 分析
fls -r -p /evidence/disk.dd        # 递归列出文件(含已删除)
icat /evidence/disk.dd <inode>     # 按 inode 提取文件内容
tsk_recover -r /evidence/disk.dd /output/  # 恢复已删除文件

# MFT 解析
python3 analyzeMFT.py -f \$MFT -o mft_output.csv

# 时间线生成
log2timeline.py /evidence/timeline.plaso /evidence/disk.dd
psort.py -o l2tcsv /evidence/timeline.plaso > timeline.csv
Phase 4:Linux ext4 の主要アーティファクト
アーティファクト内容
/var/log/システムログ(auth.log、syslog、wtmp、btmp)
.bash_historyコマンド履歴
/tmp/一時ファイル(攻撃者がよく使用するディレクトリ)
crontab永続化されたスケジュールタスク
/etc/passwd + shadow新規アカウント
journal (ext4)ファイルシステム操作ログ
inode timestampsatime/mtime/ctime/crtime

Part B:レッドチームの視点 — アンチフォレンジック

戦略 1:安全な削除(復元不能)
# ⛔ 普通 rm 只删除 MFT 条目,数据仍在磁盘!

# Linux 安全删除
shred -vfz -n 3 target_file      # 多次覆写+零填充
srm -sz target_file               # 安全删除

# Windows 安全删除
cipher /w:C:\path\                # 覆写可用空间
sdelete -p 3 target_file          # Sysinternals 安全删除

# 内存文件系统操作(不触盘)
# Linux: 在 /dev/shm 或 tmpfs 操作
mkdir /dev/shm/.work && cd /dev/shm/.work
# Windows: 使用 Named Pipe / 内存 mapped file
戦略 2:タイムスタンプの改ざん(Timestomping / T1070.006)
# Linux: touch 修改 atime/mtime
touch -t 202301011200.00 malware.elf    # 伪装成旧文件
touch -r /bin/ls malware.elf            # 匹配合法文件时间

# Windows: PowerShell
$(Get-Item file.exe).CreationTime = "01/01/2023 12:00:00"
$(Get-Item file.exe).LastWriteTime = "01/01/2023 12:00:00"
$(Get-Item file.exe).LastAccessTime = "01/01/2023 12:00:00"

# ⛔ 注意:NTFS 有 4 组时间戳!
# $STANDARD_INFORMATION 的时间 → 上面的方法可改
# $FILE_NAME 的时间 → 只能通过 NTFS 底层操作修改
# 蓝队对比两组时间差异 → 发现 timestomping
戦略 3:アーティファクト消去チェックリスト
Windows 操作后清除:
├─ Prefetch → 删除 C:\Windows\Prefetch\TOOLNAME-*.pf
├─ Amcache → 删除注册表条目(需要 SYSTEM 权限)
├─ Shimcache → 内存中缓存,重启前修改注册表
├─ USN Journal → fsutil usn deletejournal /d C:
├─ Event Log → wevtutil cl Security/System/Application
├─ Recent/LNK → 删除 %APPDATA%\Microsoft\Windows\Recent\*
├─ Jump Lists → 删除 CustomDestinations\*
├─ $Recycle.Bin → 已手动删除就不进回收站
└─ Thumbcache → 删除 %LocalAppData%\Microsoft\Windows\Explorer\thumbcache*

Linux 操作后清除:
├─ .bash_history → unset HISTFILE 或 export HISTSIZE=0
├─ /var/log/ → 精准修改(不要清空,会被发现)
├─ wtmp/btmp → utmpdump → 编辑 → utmpdump -r
├─ auth.log → sed -i 删除特定行
├─ journal → journalctl --vacuum-time=1h
└─ /tmp/ 文件 → shred 后删除
戦略 4:ベストプラクティス — 最初から痕跡を減らす
OPSEC 最优方案(预防 > 清除):
├─ 工具不落盘 → 内存执行(反射加载/fileless)
├─ 使用 RAM 磁盘 → /dev/shm 或 tmpfs
├─ 操作前 unset HISTFILE → 不记录命令
├─ 使用 LOLBins → 不引入新文件
├─ 通过管道传输 → curl | python 不落盘
├─ 加密落盘文件 → 即使被发现也无法分析
└─ 最短驻留时间 → 用完即删

対照表:フォレンジック技術とレッドチームの対策

ブルーチームの手法レッドチームに露見する情報レッドチームの対策
ファイル復元(icat/tsk_recover)rm 後もデータが残るshred/sdelete で上書き
タイムライン分析(plaso)操作時刻の異常timestomping
MFT 分析$FN のタイムスタンプが変更されていない低レベルの NTFS 操作、またはディスクに書き込まない
USN Journalファイル操作の記録USN Journal を削除
Prefetch 分析ツールの実行記録.pf を削除するか、単独の EXE を使用しない
ボリュームシャドウコピー過去のファイルスナップショットvssadmin delete shadows
ログ分析ログイン/操作の記録ログ全体を消去せず、該当する行だけを正確に削除

コメント