红明谷CTF 2022

MissingFile

前置知识

DPAPI

全称:Data Protection Application Programming Interface

DPAPI blob

一段密文,可以使用Master Key对其解密

Master Key

64字节,用于解密DPAPI blob,使用用户登录密码、SID和16字节随机数加密后保存在Master key file

Master Key File

二进制文件,可以使用用户登录密码对其解密,获得Master Key

楔子

本意是为了考察选手对于MTF的一些认知,以及对于微软里面常见的一个API CryptProtectData加密获得的数据,也就是常说的 DPAPI Blob的一些了解程度的考察。但是为了方便出题(其实是自己折磨自己了),用了各种办法将数据读入内存,反而导致flag的泄露(疑似是flag也被存在了内存中,还没有被抹去),导致出现了非预期解

题目
题目描述: 某日Akira检查自己电脑时,发现机器好像中毒了!Akira试着抢救,但被病毒发现,只剩下了一份快照,这份快照能帮Akira找到病毒留下的秘密吗?
思路

题目描述中提到了机器中毒,其实就是指这台电脑 已经被攻击过,暗示memory中会残留一些攻击者利用过的数据。通产情况下,内存中残留的数据不足以进行数据恢复,但是在某些特定的情况下,数据被加载到内存中,便有获取一些特定数据的机会,这一题就是模拟这种场景,同时提到了被病毒发现,其实这里是想表达病毒进行了自我数据删除,所以有数据残留。

加密数据发现

对于此类内存分析题,首先通过volatility调查当前内存版本

vol -f memory imageinfo 

然后我们查看桌面上的文件

vol -f memory --profile=Win7SP1x86_23418 filescan | grep -E -i "desktop"

在这里插入图片描述

我们发现了一个奇怪的目录UsersNewGuestDesktopHacker以及mimikatz.exe

然而这个目录内似乎什么也没有。但是题目里提到病毒把数据给删除了(假设该情况成立),于是考虑使用 mftparser对内存中的 MFT进行分析。关于这个MTF的介绍,网上有很多文章都有介绍,这边简单提一下:在Windows使用的NTFS文件系统中,有一个被称为 Master File Table的数据,这部分数据会 存放在内存中,用于对NTFS中每个新增文件的一些信息进行记录,例如:文件的位置,修改时间等等。利用此特性,NTFS就能够快速定位每一个文件在磁盘上的位置,并且也能够让Explore能够对文件进行快速搜索。当文件大小不足1024字节的时候,这个文件数据 会直接存放到MFT中。由于大部分文件删除的时候,并不会直接抹去数据,而是标记此块数据已经被删除,所以MFT中通常会残留某些被删除的小文件的数据

我们就可以利用volatility中内置的插件mftparser 来查找Hacker目录中被删除的数据

vol -f memory --profile=Win7SP1x86 mftparser > mtfparser.txt

在这里插入图片描述

我们追踪Hacker文件夹的时候找到了一个可疑文件S3cret

官方WP的提示说从文件的魔数可以看出来,这个文件用的是Windows的 DPAPI技术进行的数据加密。(但是这个时候我还不知道是怎么看出来的)

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

如果对这种数据进行解密的话,需要能够获取当前操作系统登录用户对应的 MasterKey才能解开。然而获得这个 MasterKey需要知道攻击者登录过程中使用的账户,以及账号的登录密码和对应的SIDs。通常的思路是利用这些数据生成一个blob加密过程中使用的MasterKey,从而对目标blob进行解密。

此时如果用 volatility 进行过文件扫描的话,会发现磁盘上残存则 mimikatz,一个专门用于Windows渗透的工具。并且使用这个工具可以进行一些敏感数据的导出。考虑到本机曾经中毒而且存在mimikatz,攻击者可能对当前机器的密码进行了dump,内存中可能残存着可以利用的数据。

对于DPAPI加密的数据了,从filescan中可以发现,S3cret被存放在一个叫做 NewGuest的用户桌面,于是尝试dump基本信息。

.volatility_2.6_win64_standalone.exe -f memory --profile=Win7SP1x86 hivelist
.volatility_2.6_win64_standalone.exe -f memory --profile=Win7SP1x86 hashdump

在这里插入图片描述
在这里插入图片描述

我们结合前面的信息发现 可疑的NewGuest用户,我们对其用户密码进行爆破可疑得到其加密密码为弱口令 123456

在这里插入图片描述

根据前置知识,我们解密Master Key file需要用户登录密码,以及sid

然后我们就需要搜索关于NewGuest用户的sid

使用命令

vol -f memory --profile=Win7SP1x86_23418 getsids
vol -f memory --profile=Win7SP1x86_23418 getsids | grep NewGuest

在这里插入图片描述

得到sid S-1-5-21-206512979-2006505507-2644814589-1001

然后我们将DPAPI加密的文件S3cret文件dump出来,这里我不知道怎么dump,就手动删除前面的偏移量以及后面的ASCII编码(卑微)

在这里插入图片描述

将十六进制转为文件dump_s3cret(也就是DPAPI blob文件)

这个时候我们就可以使用渗透工具mimikatz检查对应的blob文件的内容

dpapi::blob /in:"dump_S3cret"

在这里插入图片描述

可以知道这里需要一个GUID470a5148-d8c9-4453-bf41-f0c09d158bfd Master key,我们试着返回内存去寻找这个Master Key文件(也就是从我们之前保存的mtfmaster.txt中查找关于这个GUID的信息)

cat mtfparser.txt| grep "470a5148-d8c9-4453-bf41-f0c09d158bfd"   

2022-02-13 08:35:13 UTC+0000 2022-02-13 08:35:13 UTC+0000   2022-02-13 08:35:13 UTC+0000   2022-02-13 08:35:13 UTC+0000   Users\NewGuest\AppData\Roaming\MICROS~1\Protect\S-1-5-21-206512979-2006505507-2644814589-1001\470a5148-d8c9-4453-bf41-f0c09d158bfd

我们找到了这条数据,然后我们可以查看大约匹配到的数据的前后50条数据

在这里插入图片描述

手动导出hex数据

在这里插入图片描述

我们将文件提取出来了之后保存为Master.key。并且使用mimikatz结合SID用户登录密码 提取出 masterkey

mimikatz # dpapi::masterkey /in:"master.key" /sid:S-1-5-21-206512979-2006505507-2644814589-1001 /password:123456

在这里插入图片描述

masterkey:092c4220064c30bc7f8b15d2d48957c4926af0632149b9c08cd87f34fc43aa1204d775bdc6ab429a0d4d0826fb80b08250b125d92913e2f7578cf778073bfe38

最后使用 masterkey解密DPAPI blob文件

dpapi::blob /in:dump_S3cret /masterkey:092c4220064c30bc7f8b15d2d48957c4926af0632149b9c08cd87f34fc43aa1204d775bdc6ab429a0d4d0826fb80b08250b125d92913e2f7578cf778073bfe38

在这里插入图片描述

内容被提取出来了

66 6c 61 67 7b 48 69 64 65 5f 42 65 68 69 6e 64 5f 57 69 6e 64 6f 77 73 7d 00

flag{Hide_Behind_Windows}

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值