OtterCTF-内存取证

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 Image

im = 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}

posted @   WTT0011  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示