SuperAPI AI 工具集

offensive-anti-forensics

通用与其它

查看项目

更新于 10-16 01:14

技能介绍

用途:该技能用于授权红队演练中控制取证痕迹,即在目标 Windows 与 Linux 系统上操纵、销毁或阻止取证工件生成,属于反取证(anti-forensics)操作。资料明确要求:仅在获得书面授权与明确范围的前提下使用,并应记录清除了哪些工件及时间,以便蓝队重建检测基线。

主要能力:

  1. Windows 事件日志清除与盲化:使用 wevtutil cl 清除指定通道,如 wevtutil cl Security、wevtutil cl "Microsoft-Windows-PowerShell/Operational"、wevtutil cl "Microsoft-Windows-Sysmon/Operational";用 wevtutil el 枚举日志、wevtutil epl 先导出备份;PowerShell 侧可用 Clear-EventLog 或 Get-WinEvent 遍历有记录的日志再调用 wevtutil cl。资料指出原生 Windows API 不支持选择性删除单条事件,需清除后重写或借助第三方工具。还可通过内存中补丁 ntdll!EtwEventWrite(改写首字节为 RET 0xC3)从源头阻断 ETW 日志,或用 Invoke-Phant0m 结束事件日志服务相关线程。
  2. Linux 日志处理:用 truncate -s 0 截断而非删除以保留 inode;用 sed -i 按源 IP 或时间段选择性删除行;处理轮转日志时先 gunzip 再清理后 gzip。systemd journal 可用 journalctl --flush --rotate 与 journalctl --vacuum-time=1s 或 --vacuum-size=10M,也可直接删除 /var/log/journal/* 后重启 systemd-journald。登录记录 utmp/wtmp/btmp 为二进制文件,可用 utmpdump 导出、grep 过滤后 utmpdump -r 写回,或编译示例中的 utmp_editor.c。
  3. 时间戳操纵:Windows 可用 PowerShell 修改 CreationTime、LastWriteTime、LastAccessTime,或让目标文件时间戳与系统文件一致,Meterpreter 可用 timestomp,SetMACE 类工具可绕过标准 API 直接改 MFT 属性;Linux 可用 touch -t、touch -r 克隆参考文件时间,ctime 需借助 debugfs 的 set_inode_field 修改。
  4. 文件系统与磁盘痕迹:NTFS 备用数据流(ADS)可隐藏数据,如 type payload.exe > readme.txt:payload.exe,并可用 wmic process call create 执行、dir /r 或 Get-Item -Stream * 枚举。安全删除可用 sdelete -p 3、cipher /w、shred -vfz -n 3、shred -u,以及 dd 覆写空闲空间、fstrim。USN 日志可用 fsutil usn deletejournal /d 删除、readjournal 读取、/n 禁用;删除文件 MFT 条目需通过写入填充卷触发复用。
  5. 内存痕迹:清除 PowerShell 命令历史(Remove-Item (Get-PSReadlineOption).HistorySavePath、ClearHistory、Set-PSReadlineOption -HistorySaveStyle SaveNothing),Linux 侧 unset HISTFILE、history -c、rm -f ~/.bash_history、set +o history、ssh-add -D,并可用 exec bash --norc --noprofile 丢弃内存痕迹。资料指出不宜将凭据转储到磁盘,优先使用纯内存工具,并提示直接操作 LSASS 可能导致进程崩溃。
  6. 网络取证规避:使用 DoH 解析 C2 域名、将 C2 封装在 HTTPS 以混入正常流量、用 SSH 动态转发与 proxychains 加密横向移动、传输前用 openssl 加密数据。
  7. 反虚拟机与沙箱检测:通过 Win32_ComputerSystem 的制造商/型号判断 VMware、VirtualBox、Xen;检测 vmtoolsd、vboxservice 等进程;检查低内存、少核心、小磁盘、近期启动、缺少用户文件等沙箱特征,命中后退出。

重要限制与检测视角:清除日志本身会产生证据——事件 ID 1102(安全日志被清除)与 104(系统日志被清除)会被记录。MFT 中 $STANDARD_INFORMATION 与 $FILE_NAME 时间戳不一致、USN 日志缺失或创建时间极新、日志文件近期修改但大小为零、Shell 历史缺失、Sysmon EventID 2 记录文件创建时间变更、ntdll 中 EtwEventWrite 存在内联钩子或 RET 指令、ADS 可被 Streams.exe 或 Get-Item -Stream 枚举、Prefetch 与 Shimcache 在可执行文件删除后仍存留,均可作为反取证检测指标。资料还给出与 MITRE 编号对应的速查表(如 T1070.001、T1070.002、T1070.003、T1070.004)。该技能的授权前提、具体环境依赖与法律合规要求均需使用者自行确认。