OtterCTF
1 - What the password?
mimikatz一把梭了password :MortyIsReallyAnOtter
2 - General Info
```plain Let's start easy - whats the PC's name and IP address? 让我们从简单开始 - PC 的名称和 IP 地址是什么? ```vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan
找到ip
上题的PC名称就是答案
3 - Play Time
```plain Rick just loves to play some good old videogames. can you tell which game is he playing? whats the IP address of the server? Rick 只是喜欢玩一些不错的旧电子游戏。 你能分辨出他在玩哪个游戏吗? 服务器的IP地址是多少? ```用pslist查看进程
可以过滤一下产看ip
ip:77.102.199.102
4 - Name Game
```plain We know that the account was logged in to a channel called Lunar-3. what is the account name? 我们知道该帐户已登录到一个名为 Lunar-3 的频道。 帐户名称是什么? ```先导出来这个应用
再strings梭
5 - Name Game 2
```plain From a little research we found that the username of the logged on character is always after this signature: 0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} What's rick's character's name? format: CTF{...} 通过一些研究,我们发现登录字符的用户名始终在此签名之后:0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} 瑞克的角色叫什么名字?格式: CTF{...} ```把上题的文件拖到010
M0rtyL0L
6 - Silly Rick
```plain Silly rick always forgets his email's password, so he uses a Stored Password Services online to store his password. He always copy and paste the password so he will not get it wrong. whats rick's email password? 傻瑞克总是忘记他的电子邮件密码,所以他使用在线存储的密码服务来存储他的密码。他总是复制并粘贴密码,这样他就不会弄错密码。Rick 的电子邮件密码是多少? ```clipbord梭了
7 - Hide And Seek
```plain The reason that we took rick's PC memory dump is because there was a malware infection. Please find the malware process name (including the extension) 我们采取 rick 的 PC 内存转储的原因是存在恶意软件感染。请找到恶意软件进程名称(包括扩展名) ```pslist查看进程
恶意程序是vmware-tray.exe
8 - Path To Glory
```plain How did the malware got to rick's PC? It must be one of rick old illegal habits... 恶意软件是如何进入 Rick 的 PC 的?这一定是里克旧的非法习惯之一...... ```找出恶意程序
再导出,strings一下
9 - Path To Glory 2
```plain Continue the search after the way that malware got in. 在恶意软件进入的方式之后继续搜索。 ```这道题目依旧不知道干啥,没事接着翻大佬的wp。
大佬说先把所有的chrome浏览器进程转储下来,这里注意一定要建立一个目录,把chrome储存的内容都放在目录中,要不容易混乱。
查找进程,发现Rick And Morty上面是好几个chrome程序。
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pslist
把chrome.exe给dump下来具体分析。
memdump 转储进程的可寻址内存
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 memdump -n chrome.exe -D /root/Desktop/dump/chrome
使用strings命令配合grep命令查找Rick And Morty相关数据,这里查找的是Rick And Morty下载中相关的数据。
strings ./chrome/* | grep 'Rick And Morty season 1 download.exe' -C 10
最终我们找到了flag:Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@in 没有Year咱也不知道为什么,在此过程中我们还发现了Flag.txt应该与后面的题目有关。
CTF{Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@in}
10 - Bit 4 Bit
```plain We've found out that the malware is a ransomware. Find the attacker's bitcoin address. 我们发现该恶意软件是一种勒索软件。找到攻击者的比特币地址。 ```题目告诉我们这是个勒索软件,要我们查找比特币地址,其实就是说请逆向软件,并分析。
我们先把勒索软件程序dump下来,查找此勒索软件的进程。
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pstree
procdump 进程转储到一个可执行文件示例
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 procdump -p 3720 -D /root/Desktop/dump
然后使用ILSpy或者IDE进行反编译,这里我是用ILSpy,直接搜索address,就可发现出flag.
发现大佬们直接根据题目中的提示“ransomware”,就直接找出flag。(不得不说太牛了)
strings -e l /root/Desktop/OtterCTF.vmem | grep -i -A 5 "ransomware"
flag:CTF{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}
11 - Graphic's For The Weak
```plain There's something fishy in the malware's graphics. 恶意软件的图形中有一些可疑之处。 ```把恶意程序文件分离一下
12 - Recovery
```plain Rick got to have his files recovered! What is the random password used to encrypt the files? Rick 必须恢复他的文件!用于加密文件的随机密码是什么? ```查看一下有哪些用户名
再strings一下
13 - Closure
```plain Now that you extracted the password from the memory, could you decrypt rick's files? 现在您从内存中提取了密码,您可以解密 rick 的文件吗? ```上题strings看到桌面上有flag.txt
提取出来
上题知道了密钥
用HiddenTear解密
通过软件我知道后缀名是.locked
再分离一下
flag{b1c16538-33f1-56b1-e620-b3a3f403a7f4}
DASCTF
baby_misc
查看文件,在导出这个文件vol.py -f baby_misc.raw --profile=Win7SP1x64 filescan | grep txt
再导出压缩包
vol.py -f baby_misc.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000003e7d2650 -D ./..
查看一下进程导出这个文件
vol.py -f baby_misc.raw --profile=Win7SP1x64 memdump -p 1516 -D ./..
用gimp查看
132424464
用windowns模块查看
vol.py -f baby_misc.raw --profile=Win7SP1x64 windows | grep 132424464
16进制得到解压密码
^&G12BDd
得到flag
flag{fba99a87-2278-f175-5055-a47f5773c131}
[湖湘杯 2021]某取证题
我们先导出这张图片vol.py -f PC11.raw --profile=Win7SP1x64 filescan | grep jpg
vol.py -f PC11.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000007e353630 -D ./..
得到一部分flag
查看一下ie浏览器的记录,太多了,就过滤一下
vol.py -f PC11.raw --profile=Win7SP1x64 iehistory | grep zip
在计算机中没有找到zip文件,就在进程中看到了Wireshark.exe
导出来
vol.py -f PC11.raw --profile=Win7SP1x64 memdump -p 1096 -D ./..
文件分离找到了压缩包
需要明文攻击
./bkcrack -L target.zip
太慢了
./bkcrack -C target.zip -c t.jpg -x 0 ffd8ffe000104a46494600
更改一下密码
./bkcrack -C target.zip -k b0a90b36 14dd97b9 f5d648cf -U flag.zip 123456
over
flag{2911364c-7f0c-4d37-b92c-accaf9d1de2d}
[鹏城杯 2022]简单取证
查看信息,找文件vol.py -f file.raw imageinfo
vol.py -f file.raw --profile=WinXPSP2x86 filescan | grep jpg
导出来
vol.py -f file.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002325028 -D ./..
去010显示是BASE64,赛博厨子一把梭了
压缩包导出来
找到密码
vol.py -f file.raw --profile=WinXPSP2x86 cmdscan
解压出来是坐标,用脚本
from PIL import Imageim = Image.new("RGB", (350, 350), (0, 0, 0))with open("flag.txt", "r") as f:r = f.read()lst = r.split("\n")
for i in lst:x = int(i.split(" ")[0])y = int(i.split(" ")[1])im.putpixel((x, y), (255, 255, 255))im.save("flag.png")
flag{a6b93e36-f097-11ec-a9b2-5254002d2b31}