OtterCTF-内存取证
2022-10-16 21:10:19 Author: 安全孺子牛(查看原文) 阅读量:13 收藏

1、密码是什么?

你得到了 rick 电脑内存的样本。你能得到他的用户密码吗?

1.1 查询当前内存版本

        当前操作系统版本为:Win7SP1x64

vol.py -f OtterCTF.vmem imageinfo

1.2 使用mimikatz查询密码

        获取到密码为:MortyIsReallyAnOtter,答案是:CTF{MortyIsReallyAnOtter}

vol.py -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz

2、一般信息

        让我们开始吧——PC 的名称和 IP 地址是什么?

2.1 获取IP地址

1.使用netscan查看网络连接

vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan

    查看监听本地IP地址为:192.168.202.131

IP地址为:CTF{192.168.202.131}

2.获取主机名

1.查找偏移量

    主机名存储在SYSTEM注册表配置单元中,使用hivelist查找偏移量

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" hivelist

2.查找注册表项

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" printkey -o 0xfffff8a000024010 -K "ControlSet001\Control\ComputerName\ComputerName"

    主机名为:CTF{WIN-LO6FAF3DTFE}

3、游戏时间

    瑞克就是喜欢玩一些好的老式电子游戏。你能看出他在玩什么游戏吗?服务器的IP地址是什么?

3.1获取游戏信息

1.查看进程详情

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" pstree

3.2 基于进程进行搜索

    基于谷歌进行搜索,发现LunarMS是一个比较古老的游戏

    游戏名为:CTF{LunarMS}

3.2 服务器地址

1.查看网络连接

    通过游戏名为关键字进行过滤

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" netscan | grep "LunarMS"

    服务器地址为:CTF{77.102.199.102}

4、游戏名称

    我们知道这个账号登录了一个叫Lunar-3的频道。帐户名是什么?

4.1 游戏名称

1.导出游戏内存

    根据上个问题,获取到游戏LunarMS游戏的PID为708

    基于PID导出内存信息

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" memdump -p 708 -D .

2.提取内存中字符串

strings 708.dmp > 708.dmp.string

3.关键字进行过滤

grep -C 10 "Lunar-3" 708.dmp.string

grep -c 10找出关键字匹配的上10行和下10行

    经过测试发现账号名称为:CTF{0tt3r8r33z3}

5、游戏名称2

通过一点研究,我们发现登录角色的用户名总是在此签名之后:0x640x??{6-8} 0x40 0x06 0x ??{18}{1} 0x5a 0x0c 0x00 {2}Rick的角色叫什么?

5.1 游戏名称2

1.基于字节进行搜索

    我们已经有LunarMS进程内存的转储,可以针对该内存数据进行检索,通过xxd检索字节

xxd 708.dmp | grep "5a0c 0000"

    在标红处有一段人类可读的内容

2.使用偏移量

xxd -s 0x20b05fc2 -l 16 708.dmp

使用xxd为提供进程内存转储的下 16 个字节

游戏名称2为:CTF{M0rtyL0L}

6、Rich密码

Rich总是忘记他的电子邮件的密码,所以他使用在线存储密码服务来存储他的密码。他总是复制和粘贴密码,这样他就不会弄错了。Rick的邮箱密码是什么?

6.1 Rich密码

Rick 总是复制并粘贴他的密码,所以剪贴板插件很可能会为我们提供这个问题所需的信息

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" clipboard

密码为:CTF{[email protected]_Pr0vid0rs}

7、捉迷藏

我们把Rick的电脑内存转储出来是因为有恶意软件感染请查找恶意软件进程名称(包括扩展名)

提示:小心!只有3次尝试才能得到正确的旗帜

7.1 恶意软件

1.查看进程信息

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" pstree

    查看使用explorer.exe程序启动Rick And Morty,然后Rick And Morty启动vmware-tray

2.查看进程命令输出

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" cmdline -p 3820,3720

    在用户的AppData\Local\Temp目录运行的可执行文件比较奇怪

    提交文件名称获取答案为:CTF{vmware-tray.exe}

8、荣耀之路

恶意软件是怎么进入Rick电脑的?这一定是瑞克的一个古老的非法习惯......

8.1 入侵方式

1.过滤文件

    在第7题中发现一个文件路径涉及Torrents,使用filescan搜索torrents文件

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" filescan | grep -i "rick and morty"

    发现有一个下载文件

2.导出文件查看

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" dumpfiles -Q 0x000000007d8813c0 -D .

cat file.None.0xfffffa801af10010.dat

    查看该文件不是种子文件,只是一个区域传输的ID,ID=3代表通过互联网传送

3.提取下一个文件

    根据filescan查找的内容,提取下一个文件

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" dumpfiles -Q 0x000000007dae9350 -D .

    查看文件信息,看到有一串值内容

 cat file.None.0xfffffa801b42c9e0.dat

进行确认比对,答案为:CTF{M3an_T0rren7_4_R!ck}

9、荣耀之路2

按照恶意软件入侵的方式继续搜索

9.1 入侵方式

1.查找浏览器历史记录

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" filescan | grep -ie "history$"

2.导出浏览器记录

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" dumpfiles -Q 0x000000007d45dcc0 -D .

3.数据库检索

    Chrome 将历史数据存储在 SQLite 数据库中

mv file.None.0xfffffa801a5193d0.dat history.sqlite
sqlite3 history.sqlite

    查询下载路径和下载URL

select current_path, site_url from downloads;

    查看文件通过在mail.com中下载

4.从镜像中导出字符串

strings OtterCTF.vmem > OtterCTF.vmem.strings
grep "@mail.com" OtterCTF.vmem.strings

    发现有[email protected]账号匹配

5.过滤邮箱内容

    过滤邮箱后20行内容

grep -A 20 "<[email protected]>" OtterCTF.vmem.strings

    发现标红的地方有一段比较特殊的内容

    经过测试验证内容为:CTF{[email protected][email protected]}

10、Bit 4 Bit

我们发现这个恶意软件是勒索软件。找到攻击者的比特币地址。

10.1 比特币地址

1.查看桌面文件

    勒索软件往往会在桌面上放一张勒索字条

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" filescan | grep "Desktop"

    发现READ_IT.txt文件比较可疑

2.导出文件内容

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" dumpfiles -Q 0x000000007d660500 -D .
cat file.None.0xfffffa801b2def10.dat

    查看文件内容,仅有提示

3.导出进程

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" memdump -p 3720 -D .

    搜索包含勒索关键字

strings -e l 3720.dmp | grep -i -A 5 "ransom"

    判断内容为:CTF{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}

11、为弱者设计的图形

恶意软件的图像有可疑之处

11.1 可疑地方

可以使用procdump插件转储进程可执行文件,然后使用binwalk最重要的是从可执行文件中识别和图形

1.导出存储内容

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" procdump -p 3720 -D .

2.提取文件内容

binwalk executable.3720.exe

分离图片内容,获取到图片内容

foremost -t png executable.3720.exe

获取到答案为:CTF{S0_Just_M0v3_Socy}

12、恢复

        瑞克的文件要被找回了!用于加密文件的随机密码是什么?

12.1 找回随机密码

1.导出木马进程

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" memdump -p 3720 -D .

2.提取内存字符串

strings -e l 3720.dmp > 3720.dmp.stings
wc -l 3720.dmp.stings

    导出为可读的Unicode字符串,发现有399214行

3.针对结果进行搜索

grep "WIN-LO6FAF3DTFE" 3720.dmp.stings | sort | uniq

    针对passwd进行过滤未发现信息,通过主机名进行排序和过滤,发现有一串内容

4.字符串过滤

grep -C 5 "aDOBofVYUNVnmp7" 3720.dmp.stings

    发现该字符串多次出现

    最终确认为随机密码:CTF{aDOBofVYUNVnmp7}

13、结束

既然你从内存中提取了密码,你能破解瑞克的文件吗?

13.破解文件

1.查看文件信息

    在VT上查杀,查看到有关联VapeHacksLoader.exe

    经过关联查询提示为HiddenTear勒索病毒

    获取到解密器为:https://www.bleepingcomputer.com/download/hidden-tear-decrypter/

2.提取标志位

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" filescan | grep "Flag.txt$"

    搜索标志位信息,发现在桌面中

vol.py -f OtterCTF.vmem --profile="Win7SP1x64" dumpfiles -Q 0x000000007e410890 -D .

    提取文件

3.检查并修复文件

xxd file.None.0xfffffa801b0532e0.dat

    分析为一个 48 个看似随机字节的块,然后是空字节填充

    去除空字节

dd bs=1 count=48 if=file.None.0xfffffa801b0532e0.dat of=flag.txt
xxd flag.txt

4.解密文件

    根据第12节中获取到随机码信息进行解密

获取到答案为:CTF{[email protected]_B3S7_RicK_0f_Th3m_4ll}


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDI0NTM2Nw==&mid=2247488739&idx=1&sn=5b735a621376dc26e76427852aaf6e55&chksm=ea6dc6fbdd1a4fed74fa0d22ed85f6b5edf74b27d9be2bc5555403766469f9f342c043b98639#rd
如有侵权请联系:admin#unsafe.sh