CTF刷题笔记 - misc方向 - 电子取证 内存分析_ctf 镜像恶意进程分析

首先,打印注册表配置单元列表

volatility -f OtterCTF.vmem --profile=Win7SP1x64 hivelist

找到偏移量 0xfffff8a000024010 后,带有计算机名信息的注册表条目读取出来

volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K “ControlSet001\Control\ComputerName\ComputerName”

打印网络信息

volatility -f OtterCTF.vmem --profile=Win7SP1x64 netscan

Play Time

volatility -f OtterCTF.vmem --profile=Win7SP1x64 netscan

Silly Rick

volatility -f OtterCTF.vmem --profile=Win7SP1x64 clipboard

Name Game

可知游戏的的PID为708,将对应的内存文件dump下来

volatility -f OtterCTF.vmem --profile=Win7SP1x64 memdump -p 708 -D D:\Package

通过grep结合strings命令来全局查找 Lunar-3

strings 708.dmp | grep Lunar-3 -A 5 -B 5

显然,0tt3r8r33z3 应该是账户名

Hide And Seek

volatility -f OtterCTF.vmem --profile=Win7SP1x64 pstree

vmware-tray.exe的父进程竟然是Rick And Morty,十分可疑,因此vmware-tray.exe有可能是恶意进程

Name Game 2

Linux下使用xxd工具查找十六进制

xxd 708.dmp | grep “5a0c 0000”

进一步查看该处内容

xxd -s 0x0c33a4a0 -l 32 708.dmp

因此Rick的角色名为M0rtyL0L

Path To Glory

查找与恶意软件的父进程名"Rick And Morty"相匹配的文件,通过查找结果基本可以判断恶意软件可能是通过种子下载下来的

vol.py -f OtterCTF.vmem --profile=Win7SP1x64 filescan | grep “Rick And Morty”

那么,可以将种子文件(.torrent)文件dump下来,逐个进行分析

经分析,可以在上述第四个文件中找到flag

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

为便于识别,可将种子文件重命名为Rick_And_Morty_season_1_download.exe.1.torrent.dat

在种子文件的最后可以找到flag为:M3an_T0rren7_4_R!ck

Bit 4 Bit

首先,了解一下比特币地址

比特币地址以数字 1 开头,后面跟着的是公钥的哈希值,比特币地址使用 base58 编码,为27-34位,例如:1HLoFgMiDL3hvACAfbkDUjcP9r9veUcqAF

然后,我们将恶意软件先dump下来,便于分析

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

然后,对 executable.3720.exe 使用IDA进行逆向分析,可以找到比特币地址

也可以使用如下命令,根据关键词 “ransomware”(勒索软件) 匹配查找到比特币地址

strings -e l OtterCTF.vmem | grep -i -A 5 “ransomware”

Graphic’s For The Weak

直接使用 foremost 分离恶意程序 executable.3720.exe

有一张png图片,查看,得到flag

Path To Glory 2

种子文件需要借助浏览器进行下载,进程树中存在chrome进程,将有所与chrome.exe进程相关的文件dump下来

vol.py -f OtterCTF.vmem --profile=Win7SP1x64 memdump -n chrome.exe -D ./chrome

在所有dump下来的文件中,查找与"Rick And Morty season 1 download.exe"相关的字符串

strings ./chrome/* | grep ‘Rick And Morty season 1 download.exe’ -C 10

可以找到flag

Recovery

题目描述:Rick got to have his files recovered! What is the random password used to encrypt the files?

首先,我们将恶意进程 vmware-tray.exe 的内存映像 dump 下来

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

随后,使用 ILSpy 反编译恶意程序 executable.3720.exe,查看 password 相关代码,可以在 SendPassword 函数中找到 text = 计算机名-用户名 密码

前两个是已知的,计算机名为 WIN-LO6FAF3DTFE,用户名为 Rick,那么我们可以在3720.dmp 中使用 -el 参数全局匹配查找 “WIN-LO6FAF3DTFE-Rick”

strings -e l 3720.dmp | grep “WIN-LO6FAF3DTFE-Rick” -C 5

因此,密码为 aDOBofVYUNVnmp7

Closure

题目描述:Now that you extracted the password from the memory, could you decrypt rick’s files?

之前在Path To Glory 2一问中,在查找与"Rick And Morty season 1 download.exe"相关的字符串时,在排列靠前的结果中可以发现Rick的文件名为 Flag.txt

可以在虚拟内存中进行文件扫描,并按照 “Flag.txt” 进行过滤匹配

vol.py -f OtterCTF.vmem --profile=Win7SP1x64 filescan | grep -i “Flag.txt”

将文件dump下来

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

便于后续识别,将dump下来的文件重命名为Flag.dat

根据如下知识,我们可以通过查看恶意软件的pdb信息来识别勒索软件类型

pdb文件主要存储了如下调试信息:
(1)public, private,和static函数地址。
(2)全局变量的名称和地址。
(3)参数和局部变量的名称及它们在栈中的偏移量。
(4)类型定义,包括class, structure,和 data definitions。
(5)源文件名称和行号。

查看恶意程序中关于pdb的内容

strings executable.3720.exe | grep pdb

可以发现 pdb 文件在hidden-tear目录下,因此可以识别为 HiddenTear 勒索软件

可以使用 HT Decrypter 软件来进行解密,在解密之前,需要移除文件后所有的十六进制 00,并修改文件的后缀为 .locked,放入一个文件夹里面

打开 HT Decrypter 软件,选择放入 .locked 文件的文件夹,输入密码 aDOBofVYUNVnmp7,解密文件

打开解密后的文件,得到flag

[安洵杯 2020]王牌特工

file命令分析文件,是一个ext3文件系统数据

使用mount命令进行挂载

在 /mnt 目录下创建挂载文件夹

mkdir /mnt/findme

挂载文件

mount findme /mnt/findme

查看文件

ls /mnt/findme -al

查看 key.txt 文件,提示使用Veracrypt

使用挂载flagbox文件,密码为:a_cool_key

得到了一个flag,但并非真正的flag

回过头,使用 strings 命令过滤查找关键词 key,可以发现有一些之前未发现的文件,例如cool.key,因此可能某些文件被删除了,需要通过恢复找回

先取消挂载

umount /dev/loop0

然后安装 extundelete 工具

sudo apt-get install extundelete

再次挂载findme文件后,使用 extundelete 工具进行数据恢复

extundelete /dev/loop0 --inode 2

可以发现有一个swp文件,使用 extundelete 工具进行恢复

extundelete /dev/loop0 --restore-file .coolboy.swp

查看恢复后的 .coolboy.swp 文件

cd RECOVERED_FILES
strings .coolboy.swp

base64解码,得到真正的密码

再使用Veracrypt解密flagbox文件,得到flag

[红明谷CTF 2022]MissingFile

题目描述:好像被攻击者入侵了,但是赶到现场的时候,已经只剩下一个空的文件夹了,快照能找到攻击者留下的秘密吗?

首先,查看内存镜像中计算的的所有用户名,使用 hashdump 命令

可以发现除默认用户外,有link3和NewGuest两个用户,由于计算机被攻击者入侵,因此 link3 更有可能是计算机已有用户,而 NewGuest 用户是入侵过程中产生的

根据关键词 NewGuest 扫描文件,可以发现一处可疑路径,同时还可以发现 mimikatz 工具使用的信息

vol.py -f memory --profile=Win7SP1x86_23418 filescan | grep -i NewGuest

使用 mftparser 对内存中的 MFT 条目进行分析,并将结果保存至 mftparser.txt

volatility -f memory --profile=Win7SP1x86_23418 mftparser > mftparser.txt

根据关键词 Hacker,可以发现如下内容

使用010editor,将上述十六进制数据保存为文件 S3cret

DPAPI技术是Windows提供的一种数据保护API,它本质上使用了Windows通过用户自己登录(sids,登录密码等),以及域登录后的一些数据生成的密钥,并且使用内置的算法,对用户指定的数据进行加密。通常Windows上的浏览器历史数据,邮件加密,wifi密码等等都会以这种方式进行数据加密。相关知识要点如下:

DPAPI:
全称Data Protection Application Programming Interface

DPAPI blob:
一段密文,可使用Master Key对其解密

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-4H9IX5bX-1712480488579)]

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-tcumBCPA-1712480488579)]

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值