玄机靶场 | Where-1S-tHe-Hacker
前言
我一开始用的是在线靶机,但是因为一些不可抗拒因素,具体参考步骤#11,所以最终把靶机下载到本地分析,同时也能省点金币,题目可以在划水但不摆烂公众号下载
题目下载地址:https://pan.baidu.com/s/1MwRbI6Cbz2j_hlHInVL1Bg?pwd=fmzu
服务器账号密码 admin Aa123456
注:样本请勿在本地运行
索引
玄机题目
步骤#1
找到黑客ID 为多少,将黑客ID 作为 FLAG 提交;
打开网页根目录,发现index.php被挂了黑页,在文件内容里面找到黑客ID
1 | flag{X123567X} |
步骤#2
找到黑客在什么时间修改了网站主页,将黑客修改了网站主页的时间 作为 FLAG 提交(y-m-d-4:22:33);
直接查看属性,找到修改时间
提交的时候有个问题,如果时间你是直接复制属性中的,提交时会显示错误,因为属性中的时间携带不可见字符,正确的做法是自己手打进去,具体可以看看010editor的分析
1 | flag{2023-11-6-4:55:13} |
步骤#3
找到黑客第一个webshell文件名是,将第一个webshell文件名 作为FLAG 提交;
可以用D盾,也可以手工排查,这里我选择手工排查
找到Apache目录下的访问日志
前面大量的HEAD表示的是黑客在进行目录扫描,可以不看,直接跳到后半部分扫描结束那里,通过排查,发现两个疑似webshell的可疑文件
去根目录下找到对应的文件,查看进行确认
发现两个都是黑客上传的webshell文件,按照时间顺序,第一个webshell文件名是SystemConfig.php
1 | flag{SystemConfig.php} |
步骤#4
找到黑客第二个webshell文件名是,将第二个webshell文件名 作为FLAG 提交;
同上,第二个webshell文件名是syscon.php
1 | flag{syscon.php} |
步骤#5
找到黑客第二个webshell的连接密码是,将第二个webshell的连接密码 作为FLAG 提交;
步骤三那里可以得到第二个webshell的连接密码是pass
1 | flag{pass} |
步骤#6
找到黑客新建的隐藏账户,将新建的隐藏账户名字 作为FLAG 提交;
有很多方法可以实现,这里选择注册表查看
win+r然后输入regedit
打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SAM\SAM,但是这里不能直接查看,我们右键点击SAM,赋予完全控制权限
然后重新打开注册表,进入HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names,找到当前计算机全部用户,发现隐藏用户为admin$
有时候攻击者可能不会直接新增隐藏用户,而是通过修改Guest用户注册表对应的F值(权限分配)与本地管理Administrator的权限相同,相当于克隆了Administrator,这也需要我们额外注意
还有一个方法,就是直接在此电脑那里查看,更快速,但是平时的话还是建议用注册表来分析,更加精准
1 | flag{admin$} |
步骤#7
找到黑客隐藏账户创建时间是,将隐藏账户创建时间是 作为FLAG 提交(答案格式:2024/12/3 9:16:23);
直接cmd打开,输入net user admin$
查看账户详细信息
1 | flag{2023/11/6 4:45:34} |
步骤#8
找到黑客添加隐藏账户进管理员组的时间,将添加隐藏账户进管理员组的时间 作为FLAG 提交(答案格式:2024/12/3 9:16:23);
这里要用到系统事件分析,按Win+R键输入eventvwr.msc
打开事件查看器
常见事件ID类型
1 | 4624 登录成功 |
这里我们筛选4732,时间的话我们根据admin$的创建时间,选择2023/11/6 4:45:00开始,结束时间随便,可以选小点缩小范围
一个个点进去查看,找到添加到管理员组的事件
注意时间格式
1 | flag{2023/11/6 4:46:07} |
步骤#9
找到黑客在什么时间从文件中读取保留的密钥,将读取保留的密钥的时间 作为FLAG 提交(答案格式:2024/12/3 9:16:23);
这里我们聚焦于两个事件ID
1 | 5051 将保留的密钥写入文件 |
也是通过事件查看器去找,时间我这里选择不变
也是按时间顺序找就行
注意时间格式
1 | flag{2023/11/6 4:46:58} |
步骤#10
找到黑客通过隐藏账户通过(PTH)哈希传递攻击登录的时间是,将(PTH)哈希传递攻击登录的时间 作为FLAG 提交;
哈希传递攻击指的是攻击者无需知道用户的明文密码,只需窃取密码的哈希值(Hash),就能冒充该用户登录到网络中的其他系统。
这里我们聚焦于NtLmSsp(NT LAN Manager Security Support Provider),它用于处理 NTLM 协议的身份验证,我们去筛选登录事件,找到登录进程为NtLmSsp的即可,对应的事件ID为4624
按照时间顺序一个个筛选
注意时间格式
1 | flag{2023/11/6 4:47:28} |
步骤#11
找到黑客上传的两个CobaltStrike木马文件名,将上传的两个CobaltStrike木马文件名 作为FLAG 提交(答案格式:”A.exe,B.exe”);
这里用绿盟D-Eyes主机命令行应急工具,将工具上传到目标机器,cmd输入D-Eyes fs
扫盘
如果是多盘路径可以用D-Eyes fs -P C:\\,D:\\tmp,D:\\tools
,也可以用D-Eyes.exe ps
进行进程扫描,排查异常进程信息
这里我们就使用D-Eyes fs
扫盘
这里只找到之前的webshell文件,并没有找到cs可疑文件,原因是部分文件被Windows Defender自动隔离了,需要从隔离区恢复
这里有个问题,如果用的是玄机靶场的话,已隔离威胁那里是找不到这些被隔离的文件,估计是那边默认给删除了,然后没被工作人员发现
所以我用的是下载来的靶场,还原文件之后再扫一遍,排查可疑文件,发现多了两个文件
把SystemTemp.exe和SysnomT.exe放进安恒云沙箱检测(拉取文件到本地之后不要运行)
可以看到这两个文件都是cs控制程序
1 | flag{SystemTemp.exe,SysnomT.exe} |
靶机内部题目答案
这是靶机内部答题.exe的答案,不是玄机靶场的答案,玄机的答案在上面各小点里
1 | X123567X |
参考
特别鸣谢
划水但不摆烂:https://mp.weixin.qq.com/s/4UoIw-On-0taB8s0xtjkAw
Peterpan.exe:https://blog.csdn.net/administratorlws/article/details/141672688
玄机靶场 | Where-1S-tHe-Hacker
https://waynejoon.github.io/posts/Xuanji-CTF-Where-1S-tHe-Hacker/