What the password?
取电脑的密码
先看缓存在内存中的注册表的偏移量
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 hivelist |
关注到SAM(账户密码表)和system
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a0016d4010 |
解不开md5…
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 lsadump |
算了算了passware一把梭
General Info
win版的好像没办法装插件,用插件会更简单
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 netscan |
1 | volatility_2.6_win64_standalone -f 1.vmem --profile="Win7SP1x64" printkey -o 0xfffff8a000024010 -K "ControlSet001\Control\ComputerName\ComputerName" |
法二:
主机网络地址:
1 | python vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan |
电脑名:
1 | python vol.py --plugins=./volatility/plugins/ -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz |
Play Time
进程运行过会在内存中留下痕迹,查一下内存中的进程
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 psscan |
再查网络
直接看还是有点费劲,要是有grep就好了qwq
Name Game
将游戏进程dump下来
strings提取并搜索关键字Lunar-3,下一行是用户名(不懂,猜测是虚拟内存中挨得近?
Name Game 2
0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2}
直接爆搜吧
Silly Rick
看粘贴板中的数据
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 clipboard |
Hide And Seek
根据题目描述和进程解析以及这里,勒索软件可能伪装成vmware-tray.exe
pstree查看进程树(看看vmware-tray.exe的父子进程
虚拟机里的进程不应该由一个动画片产生,这应该是伪装进程
dll存放于临时目录,正常系统文件不应该在这儿吧
Path To Glory
扫一下父进程文件
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 filescan | findstr="Rick And Morty" |
首先了解BT种子:
一种电脑“.torrent”文件,装有BT(BitTorrent)下载必须的文件信息,作用相当于HTTP下载里的URL链接。
提取种子文件strings即可
Path To Glory 2
导出所有chrome进程
1 | volatility_2.6_win64_standalone.exe -f 1.vmem --profile=Win7SP1x64 memdump -n chrome.exe -D ./chrome/ |
这种方式按理说肯定会有结果的,但奈何虚拟机没空间了,写不全
直接看download.exe.torrent前后的十个文件吧
Bit 4 Bit
这题还是说恶意软件的,直接以可执行文件格式保存
1 | volatility_2.6_win64_standalone -f 1.vmem --profile=Win7SP1x64 procdump -p 3720 -D ./ |
然而win版打了命令也没找到可执行文件(?
还是用linux吧
后来明白为什么win版的会没有可执行文件了,因为这玩意被系统杀了(win11专业版真的一言难尽
查完壳逆一下
Graphic’s For The Weak
1 | volatility_2.6_win64_standalone.exe -f 1.vmem --profile=Win7SP1x64 memdump -p 3720 -D ./ |
分离进程中的文件
Recovery
看到这里发送密码信息的格式,去爆搜即可
这里有一点,程序的数据是16字节小端序数据,可以过滤(.NET程序用2个字节表示一个字符串)
1 | strings -el 3720.dmp | grep 'WIN-LO6FAF3DTFE-Rick' -C 5 |
strings用法:
1 | -a --all:扫描整个文件而不是只扫描目标文件初始化和装载段 |
Closure
解密
grep用法:
1 | -a 或 --text : 不要忽略二进制的数据。 |
这里桌面上还有个文件
都提取
1 | volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007e410890 -D ./ |
另一个文件属于提示
之前的图片中有这样一个字符串
可以看看这篇文章
逆向的过程中也看到了hidden_tear
搜索可知这是有联系的
用hidden_tear解密软件解密
解密变种的软件看了wp(没搜到,我是fw
加密代码是采用CBC模式进行加密,会对文件进行填充,还要把多余的00删掉再解