Cain:比赛结束后久久不能释怀,好题和坏题交相辉映,很小馋猫了。把两个大家问的比较多的题目发出来。
K1sme4:好赤!
[Misc]AI-ezsight
观察到压缩包内含有一样的公告.txt,且加密算法为ZIpCrypto Sotre,因此进行明文攻击
解压后发现一个pt文件,和flag中的14张图片,猜测需要恢复模型,使用图片得到对应输出
因为模型的内部结构已经有了,所以我们不需要定义,只需要从nn.Module继承一个超类即可
class SimpleCNN(nn.Module):
pass
load之后查看模型参数
SimpleCNN(
(conv1): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(conv2): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(fc1): Linear(in_features=3136, out_features=128, bias=True)
(fc2): Linear(in_features=128, out_features=10, bias=True)
)
根据附件来编写forward方法
def forward(self, x):
x = self.conv1(x)
x = F.relu(x)
x = self.pool(x)
x = self.conv2(x)
x = F.relu(x)
x = self.pool(x)
x = x.view(-1)
x = self.fc1(x)
x = F.relu(x)
x = self.fc2(x)
return x
唯一傻逼的地方在于:如何把图片变为tensor张量,借用我司智慧生命来解决一下问题
但是这道题没有缩放,直接把int强制类型转换位float,这也是很多师傅卡住的原因吧。。。。。。
最终exp
import torch
from torch import nn
from PIL import Image
import numpy as np
from torchvision import transforms
import torch.nn.functional as F
class SimpleCNN(nn.Module):
def forward(self, x):
x = self.conv1(x)
x = F.relu(x)
x = self.pool(x)
x = self.conv2(x)
x = F.relu(x)
x = self.pool(x)
x = x.view(-1)
x = self.fc1(x)
x = F.relu(x)
x = self.fc2(x)
return x
# transform = transforms.Compose([
# transforms.ToTensor()
# # transforms.Normalize(0.5, 0.5)
# ])
model = torch.load("password.pt")
print(model)
model.eval()
for i in range(14):
img = Image.open(f"flag/{i}.bmp").convert('L')
inp = torch.tensor(np.array(img), dtype=torch.float32).unsqueeze(0)
ans = torch.argmax(model(inp)).item()
print(ans, end='')
把数字输入到flag.py即可
[Misc]DC-Forensics-1
-
• 小梁的域控机器被黑客攻击了,请你找出一些蛛丝马迹。 攻击者通过AD CS提权至域管理员,在攻击过程中,攻击者使用有问题的证书模版注册了一张证书,该证书的证书模版名、证书序列号是什么?(格式为模版名-序列号,如CertTemplate-2f000000064287f6f5d6ff4a91000000000006)域内CS提权,显然和Kerberos的TGT相关,在 Security.evtx
中过滤事件ID4768,找到唯一的证书序列号:下面要找证书的Template,FTK找文件比较麻烦,挂到本地也没成功,那直接把全部文件导出到本地,暴力搜索可以用everything搜hack,也可以直接anytxt爆搜Template,最终定位到
C:WindowsSystem32CertLoghack-CA.edb
:
-
-
• .edb文件使用 ESEDatabaseView
工具打开,在RequestAttributes
中看到几个CertificateTemplate
:尝试后发现为
MyTem
,最终flag:
MyTem-5400000004d441d1ab0176f6a4000000000004
[Misc]DC-Forensics-2
-
• 小梁的域控机器被黑客攻击了,请你找出一些蛛丝马迹。 攻击者在获取域管理员权限后,尝试上传木马文件,但是被杀毒软件查杀,上传的木马文件的绝对路径是什么?(如C:Windowscmd.exe) 题目附件同DC-Forensics-1结合题目描述,显然是被 Windows defender
查杀,看相关日志Microsoft-Windows-Windows Defender%4Operational.evtx
即可:最终flag:
C:UsersPublice9caab4405a14fb6.exe
[Misc]DC-Forensics-3
-
• 小梁的域控机器被黑客攻击了,请你找出一些蛛丝马迹。 攻击者从机器中提取出了用户的连接其他机器的Windows企业凭据,凭据的连接IP、用户名、密码是什么?(格式为IP-用户名-密码,如127.0.0.1-sam-123456) 题目附件同DC-Forensics-1
lsadump::sam /sam:SAM /system:SYSTEM
只能得到Administrator
用户密码,这一密码在powershell中可以看到明文:net user Administrator Ad9657!net user john Jo9657!whoami /allnet user net user /domainntdsutil "ac i ntds" "ifm" "create full c:copy-ntds" quit quitcd C:UsersjohnDesktop.add_users.batclearnet useripconfig
下面尝试获取masterkey用于后续解密:
-
• 由于masterkey分为用户身份凭证和系统身份凭证(DPAPI_SYSTEM)两种,其中: -
• 用户Master Key file: -
• 位于%APPDATA%MicrosoftProtect%SID% -
• C:Users<UserName>AppDataLocalMicrosoftCredentials<credential_blob>
-
• C:Users<UserName>AppDataRoamingMicrosoftCredentials<credential_blob>
-
• 系统Master Key file: -
• 位于%WINDIR%System32MicrosoftProtectS-1-5-18User
分析系统身份凭证
首先分析本地安全机构 (LSA)密钥:
lsadump::secrets /system:SYSTEM /security:SECURITY
在结果中找到DPAPI_SYSTEM中的user hash,位置如图:
8be2afb7cb82c63b74770e61b5d4938573ad145f
下面解密系统的Master Key file
,位于%WINDIR%System32MicrosoftProtectS-1-5-18User
,看到三个Master Key file
:
下面找要解密的凭据文件,用everything找:
看到用户目录和系统目录都有,先分析系统目录下的Cred,先确认指向MasterKey的索引:
dpapi::cred /in:DFBE70A7E5CC19A398EBF1B96859CE5D
可以看到这里是本地凭据数据,不是题目描述中的企业凭据数据。还是走一遍解密流程,看到guidMasterKey指向了%WINDIR%System32MicrosoftProtectS-1-5-18User
下的461706d7-0e17-40cd-bb2a-20584c2677d0
,由于导出到了本地,而Master Key file
具有系统属性s和隐藏属性h,那么先使用attrib取消属性:
attrib -h -s 461706d7-0e17-40cd-bb2a-20584c2677d0
使用上面得到的DPAPI_SYSTEM中的user hash解出masterkey:
dpapi::masterkey /in:461706d7-0e17-40cd-bb2a-20584c2677d0 /system:8be2afb7cb82c63b74770e61b5d4938573ad145f
得到这个cred对应的masterkey:
0cbf703b58cde2f51a9a958a4263facebef4e12ea4a66f7fd3b63e92c9cab562c911ac5f1cb90e24efb14e11eb9e74f0c619ab871fa2a023e18f753235c1ad4f
解密即可:
dpapi::cred /in:DFBE70A7E5CC19A398EBF1B96859CE5D /masterkey:0cbf703b58cde2f51a9a958a4263facebef4e12ea4a66f7fd3b63e92c9cab562c911ac5f1cb90e24efb14e11eb9e74f0c619ab871fa2a023e18f753235c1ad4f
分析用户身份凭证
administrator用户下的cred为空,分析john的cred,在UsersjohnAppDataRoamingMicrosoftCredentials
下找到14396336784B72E4294497641A22A484
,为企业凭据数据:
这里对应的guidMasterKey为61e93ed3-5ca2-4e98-a27b-b8a09fcf618d
,everything找到并导出,同时从路径中得知SID为S-1-5-21-1507239155-486581747-1996177333-1000
:
下面获取用户master key file中的masterkey,同时上文中的powershell日志里记录了John用户的密码,那么直接解密masterkey:
dpapi::masterkey /in:61e93ed3-5ca2-4e98-a27b-b8a09fcf618d /sid:S-1-5-21-1507239155-486581747-1996177333-1000 /password:Jo9657! /protected
75690187db3d7b10dbad020d97ee3557178b86d34736f60fed190de957366d803c7c46a563bfa08f345a70f7b77578f821c2cc38f5b182c1cfeb7a6b84834125
再用masterkey解密cred即可:
dpapi::cred /in:14396336784B72E4294497641A22A484 /masterkey:75690187db3d7b10dbad020d97ee3557178b86d34736f60fed190de957366d803c7c46a563bfa08f345a70f7b77578f821c2cc38f5b182c1cfeb7a6b84834125
最终flag:
172.16.6.25-indiana-Xss89cwsb!@#
[Misc]DC-Forensics-4
-
• 小梁的域控机器被黑客攻击了,请你找出一些蛛丝马迹。 攻击者创建了一个新用户组和一个新用户,并把这个用户加入了新用户组和域管理员组中,新用户组名、新用户的用户名、新用户的密码是什么?(用户组名和用户名均小写,格式为用户组名-用户名-密码,如admins-sam-123456) 题目附件同DC-Forensics-1根据题目描述,攻击者创建了新用户,那么对应事件ID4720: 发现创建了很多用户,那么再根据描述中用户被添加到组中,对应事件ID4728,这里看到有两个组名:
定位到用户
James
,可以看到做了密码相关的设置:域控用户的密码和
C:WindowsNTDSNTDS.dit
相关,在powershell日志中也能看到攻击者执行过卷影复制拷贝SAM文件和NTDS文件的相关命令:
ntdsutil "ac i ntds" "ifm" "create full c:copy-ntds" quit quit
python .secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
用第一条数据,john配合rockyou跑一下即可得到密码,这里必须要指定format为NT:
john --wordlist=rockyou.txt --format=NT 1.txt
按照题目要求,将用户组名和用户名小写,上面两个组名都试一下即可,最终flag:
maintainer-james-3011liverpool!
原文始发于微信公众号(N0wayBack):2025软件安全攻防赛 半决赛 WP
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论