【网络安全3x01】CTF8月竞赛学习----------取证

在CTF中,取证(Fornesics)赛题包括了文件分析、隐写、内存镜像分析和流量抓包分析。任何要求检查一个静态数据文件(与可执行程序和远程服务器不同)从而获取隐藏信息的都可以被认为是取证题(除非它包含了密码学知识而被认为是密码类赛题)。

本篇为取证类常见做法简单汇总。

01 GIF文件取证

gif图片分离

1
2
convert test.gif %02d.png
eog *.png

gif图片分离去背景组合

1
2
3
4
5
6
convert test.gif %02d.png

ls *.png | while read filename; do convert $filename -transparent white $filename; done
ls *.png | while read filename; do convert $filename 00.png -gravity center -composite 00.png; done

eog *.png

02 文件类型取证

1
2
3
file hardshells
mv hardshells hardshells.zip
fcrackzip -b -D -v -u -p rockyou.txt hardshells.zip

挂载文件d

1
2
mkdir mountpoint
mount d mountpoint/

编辑16进制文件

1
hexeditor dat

解压缩文件

1
2
unzip .zip文件
gunzip .gz文件

03 JPG文件取证

改文件头

04 PCAP文件取证

查看关联文件

1
binwalk PCAP包

分离保存关联文件

1
2
binwalk -e PCAP包
foremost PCAP包

或者直接搜索

1
string PCAP包 | grep -i "字符串"

base64解码

1
echo "dEo2NFpxYmRMdw==" | base64 -d

05 USB键位信息取证

1
2
tshark -r PCAP包 -T fields -e usb.capdata > keyboardData.txt
python keyboardScanCode.py keyboardData.txt

06 内存取证

Imageinfo

这个命令可以用来获取内存镜像的摘要信息,比如系统版本,硬件构架等

1
volatility -f wuliao.data imageinfo

可以使用–info参数来查看Volatility已经添加的profile和插件信息

Kdbgscan

这个插件可以扫描文件的profile的值,通常扫描结果有多个,只有一个结果是完全正确的,kdbgscan和imageinfo都只适用于windows的镜像

Pslist

1
volatility -f wuliao.data --profile=Win7SPx64 pslist

pslist可以直接列出运行的进程,如果进程已经结束,会在Exit列显示日期和时间,表明进程已经结束

Hivelist

列举缓存在内存中的注册表

1
volatility -f wuliao.data --profile=Win7SP1x64 hivelist

filescan

扫描内存中的文件

1
volatility -f wuliao.data --profile=Win7SP1x64 filescan

filescan 也可以结合grep命令来进行筛选,比如

1
volatility -f wuliao.data --profile=Win7SP1x64 filescan |grep "flag"

Dumpfiles

导出内存中缓存的文件

直接导出上面搜索flag得到的flag.jpeg文件

1
volatility -f wuliao.data --profile=Win7SP1x64 dumpfiles -Q 0x000000007f142f20 -D ./ -u

Cmdscan/cmdline

提取内存中保留的cmd命令使用情况

1
volatility -f wuliao.data --profile=Win7SP1x64 cmdline

其它

  • 查看截图
1
volatility -f wuliao.data --profile=Win7SP1x64 screenshot --dump-dir=./
  • 查看系统用户名
1
volatility -f wuliao.data --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
  • 查看网络连接
1
volatility -f wuliao.data --profile=Win7SP1x64 netscan

参考资料

  1. 2019 CTF取证实战网络安全课程(入门级)
  2. 【笔记】CTF图片、文件的简单取证
  3. CTF 内存取证 USB流量分析
  4. Volatility取证使用笔记