题目地址:
https://otterctf.com/challenges
1 - What the password?
描述:you got a sample of rick's PC's memory. can you get his user password?
首先查看一下镜像的信息
python2 vol.py -f /home/kali/Desktop/OtterCTF.vmem imageinfo
题目描述需要获取密码, 使用mimikatz插件
python2 vol.py -f /home/kali/Desktop/OtterCTF.vmem --profile=Win7SP1x64 mimikatz
MortyIsReallyAnOtter
就是flag
2 - General Info
描述:Let's start easy - whats the PC's name and IP address?
需要得到主机名和ip
查看一下注册表
python2 vol.py -f /home/kali/Desktop/OtterCTF.vmem --profile=Win7SP1x64 hivelist
主机名会出储存在\REGISTRY\MACHINE\SYSTEM
中的ControlSet001\Control\ComputerName\ComputerName
里面
python2 vol.py -f /home/kali/Desktop/OtterCTF.vmem --profile=Win7SP1x64 printkey -o 0xfffff8a000024010 -K "ControlSet001\Control\ComputerName\ComputerName"
得到主机名:WIN-LO6FAF3DTFE
ip地址,则可以通过netscan:查看网络连接状况
来读取
python2 vol.py -f /home/kali/Desktop/OtterCTF.vmem --profile=Win7SP1x64 netscan
ip: 192.168.202.131
3 - Play Time
描述:
Rick just loves to play some good old videogames. can you tell which game is he playing? whats the IP address of the server?
使用pslist
列一下进程
LunarMS
就是这个游戏的名字
知道了它的pid
是708 , netscan配合gerp搜索一下
得到它的ip: 77.102.199.102
4 - Name Game
描述:We know that the account was logged in to a channel called Lunar-3. what is the account name?
使用strings命令查找可打印字符, 在配合grep, 匹配Lunar-3
, 找它的上下文
-A 5:表示后5行
-B 5: 表示前5行
得到用户名为: 0tt3r8r33z3
5 - Name Game 2
描述: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?
将 LunarMS.exe进程数据保存下来
memdump : 转储进程的可寻址内存
D:提取程序后保存的地址
生成了一个708.dmp的文件
可以直接使用010查看相应的内容, 搜索一下0x5a 0x0c 0x00 0x00
得到用户名:M0rtyL0L
也可以使用xxd命令:生成二进制文件的十六进制表示
配合gerp筛选特定信息的位置
xxd 708.dmp | grep "5a0c 0000"
6 - Silly Rick
描述: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?
总是复制粘贴, 可以查看剪切板数据 clipboard
得到了 剪贴板中的内容 :M@il_Pr0vid0rs
就是password
7 - Hide And Seek
描述: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) BEAWARE! There are only 3 attempts to get the right flag!
需要查找恶意软件进程的名字
列一下进程 pslist
可疑的搜索一下, 尝试一下
最后的结果是:vmware-tray.exe
8 - Path To Glory
描述:How did the malware got to rick's PC? It must be one of rick old illegal habits...
进程里有Rick And Morty ,美国的一个动画, 应该就是下片儿导致电脑中毒的
filescan
看一下文件
将这些文件都提取出来, 用010查看
dumpfiles : 提取内存中映射或缓存的文件
最后在第四条里面可以找到
M3an_T0rren7_4_R!ck
9 - Path To Glory 2
描述:Continue the search after the way that malware got in.
按照恶意软件进入的方式继续搜索
有很多的chrome的信息, 恶意软件肯定从浏览器下载的,把chrome.exe的进程保存下来
strings配合grep搜索Rick And Morty season 1 download.exe
相关的东西
Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@in
10 - Bit 4 Bit
描述:We've found out that the malware is a ransomware. Find the attacker's bitcoin address.
将之前的恶意软件的进程保存下来
使用strings查找ransomware
相关的内容
1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M
11 - Graphic's For The Weak
描述:There's something fishy in the malware's graphics.
恶意软件的图形中有问题, 用foremost
分离一下程序
可以分离出很多东西, 在图片里面可以找到flag
CTF{S0_Just_M0v3_Socy}
12 - Recovery
描述:Rick got to have his files recovered! What is the random password used to encrypt the files?
使用procdump转存进程的可执行文件
反编译一下可以找到 密码的生成和发送的函数computerName前面已经知道了WIN-LO6FAF3DTFE
搜索一下
aDOBofVYUNVnmp7
13 - Closure
描述:Now that you extracted the password from the memory, could you decrypt rick's files?
需要解密软件
将flag.txt文件保存下来
查找pdb文件
pdb文件主要存储了如下调试信息:
(1)public, private,和static函数地址。
(2)全局变量的名称和地址。
(3)参数和局部变量的名称及它们在栈中的偏移量。
(4)类型定义,包括class, structure,和 data definitions。
(5)源文件名称和行号。
------------------------------------------------
版权声明:本文为CSDN博主「吃素的施子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/feikudai8460/article/details/116237433
------------------------------------------------
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_66638011/article/details/130577116
可以发现勒索软件为HiddenTear, 网上找解密程序HiddenTearDecrypter
010打开前面保存的flag文件,将这个加密文件的末尾多余的0去掉,再把后缀加上.locked
, 用上前面的得到的密码解密
解密后记事本打开