目录
OtterCTF
1. What the password?
you got a sample of rick’s PC’s memory. can you get his user password?(你得到了瑞克电脑内存的样本,你能得到他的用户密码吗?
使用volatility -f /root/桌面/OtterCTF.vmem imageinfo获取基本信息,profile为Win7SP1x64
使用volatility -f /root/桌面/OtterCTF.vmem --profile=Win7SP1x64 hashdump查看密码,但都是MD5加密后的,使用lsadump命令可以获取到明文
CTF{MortyIsReallyAnOtter}
2. General Info
Let’s start easy - whats the PC’s name and IP address?(让我们从简单的开始–电脑的名称和IP地址是什么?)
使用netscan查看ip地址
使用hivelist
查看注册表
使用volatility -f /root/桌面/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey命令查看注册表system值
跟着一直解析,最后看到主机名
CTF{WIN-LO6FAF3DTFE}
CTF{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?(瑞克只是喜欢玩一些好的老式电子游戏,你能告诉他在玩哪个游戏吗? 服务器的IP地址是什么?)
使用netscan查看到游戏名
然后筛选一下,用volatility -f /root/桌面/OtterCTF.vmem --profile=Win7SP1x64 netscan|grep LunarMS命令
CTF{LunarMS}
CTF{77.102.199.102}
ps:LunarMS是日本一款叫露娜的系列游戏
4. Name Game
We know that the account was logged in to a channel called Lunar-3. what is the account name?(我们知道该账户登录了一个名为Lunar-3的频道。什么是账户名称?)
尝试搜索Lunar-3及其前后的内容
使用strings /root/桌面/OtterCTF.vmem | grep "Lunar-3" -C 5命令,-C参数是显示搜索内容上下文n行,我这里n是5
CTF{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?(通过一点研究,我们发现,登录的字符的用户名总是在这个签名之后。0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} 瑞克的角色叫什么名字?
将LunarMS.exe dump出来,进一步分析
使用
hexdump -C 708.dmp | grep "5a 0c 00" -A 3 -B 3进行搜索
CTF{M0rtyL0L}
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?(愚蠢的瑞克总是忘记他的电子邮件的密码,所以他使用在线存储密码服务来存储他的密码。他总是复制和粘贴密码,这样他就不会弄错。瑞克的电子邮件密码是什么?)
查看粘贴板
CTF{M@il_Pr0vid0rs}
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)(我们提取瑞克的电脑内存转储的原因是有一个恶意软件感染。请找到恶意软件的进程名称(包括扩展名))
查看进程,发现vmware-tray.exe是Rick And Morty的子进程,非常奇怪
查看一下这个进程的DLL,发现程序是在temp目录下执行的,那这个应该就是恶意软件进程了
CTF{vmware-tray.exe}
8. Path To Glory
How did the malware got to rick’s PC? It must be one of rick old illigal habits…(恶意软件是如何进入里克的电脑的?这一定是瑞克的一个老习惯…)
这题什么思路都没给,但是上面提到了是Rick And Morty的子进程,于是搜索一下跟这个有关的文件试试,搜到了一个种子文件,dump下来
筛选出字符,发现了一串可疑字符串
最后结果是没有e的
CTF{M3an_T0rren7_4_R!ck}
9. Path To Glory
Continue the search after the the way that malware got in.(在恶意软件进入后继续搜索。)
这个题目很迷,不清楚干嘛,百度搜一下,说是把谷歌浏览器的进程dump下来
文件有点多,放到一个目录下,然后搜索可疑信息
CTF{Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@inYear}
10. Bit 4 Bit
We’ve found out that the malware is a ransomware. Find the attacker’s bitcoin address.(我们发现这个恶意软件是勒索软件。找到攻击者的比特币地址。)
把软件dump下来,然后拖到ida分析
根据注释中的提示,判断出1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M就是攻击者的比特币地址了
CTF{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}
11. Graphic’s For The Weak
There’s something fishy in the malware’s graphics.(恶意软件的图形中有些可疑。)
使用dnSpy逆向文件
CTF{S0_Just_M0v3_Socy}
12. Recovery
Rick got to have his files recovered! What is the random password used to encrypt the files?(里克得把他的档案找回来!用于加密文件的随机密码是什么?)
在form1中有一个sendpassword函数,但是并没有发送,使用的是computerName+userName
猜测就是第二题拿到的主机名WIN-LO6FAF3DTFE加上用户名Rick,使用strings进行搜索一下
CTF{aDOBofVYUNVnmp7}
13. Recovery
Now that you extracted the password from the memory, could you decrypt rick’s files?(既然你从内存中提取了密码,你能解密瑞克的文件吗?)
最后一题要解密文件,需要用到桌面上的flag文件,这个flag文件应该是被加密过的,但我们已经知道密码了
将文件dump下来
百度后知道这个恶意软件就是HiddenTear勒索软件,先使用HiddenTear Bruteforcer爆破出密钥,这里密钥已经知道了,再使用HiddenTearDecrypter进行解密
先将加密文件的末尾多余的0去掉,再把后缀加上.png.locked
最后
CTF{Im_Th@_B3S7_RicK_0f_Th3m_4ll}
完结撒花~~~