知攻善防实验室 | Windows 应急响应靶机 — Web 1

🌟 关注这个靶场的其它相关笔记:[网安靶场] 蓝队应急响应靶场 —— 知攻善防实验室 · 靶场笔记合集

前来挑战!应急响应靶机训练-Web1安服仔都要攻克的应急响应靶机https://mp.weixin.qq.com/s?__biz=MzkxMTUwOTY1MA==&mid=2247485154&idx=1&sn=2b27ca8af88ec5107138f3498e48f12a&chksm=c11a571ff66dde09e927da278fc8ac280d0f4a1a046e28eec41da72fc32df678af27f8fef01e&scene=21#wechat_redirect

0x01:应急响应 —— 题目环境介绍

0x0101:应急响应靶场 — 场景导入

小李在值守的过程中,发现有 CPU 占用飙升,出于胆子小,就立刻将服务器关机,并找来正在吃苕皮的 hxd 帮他分析,这是他的服务器系统,请你找出以下内容,并作为通关条件:

  • 攻击者的 Shell 密码

  • 攻击者的 IP 地址

  • 攻击者的隐藏账户名称

  • 攻击者挖矿程序的矿池域名(仅域名)

  • 有实力的可以尝试着修复漏洞

0x0102:应急响应靶场 — 环境搭建

将靶场从官网网盘下载下来后,通过 VMware 启动即可,如果启动错误,请将 VMware 版本升级至 17.5 以上。

靶机环境:

  • Windows Server 2022

  • phpstudy(小皮面板)

0x0103:应急响应靶场 — 答案验证

如何查看自己的题解是否正确?在虚拟机的 administrator 用户的桌面上有一个解题程序,点击运行后即可校验你认为正确的答案:

相关账户密码

0x02:应急响应 —— 蓝队应急视角

将靶机下载下来后,建议第一件事是先给靶机做一个原始快照,保留好原始数据,不然回头病毒没干崩虚拟机,你应急的时候先给它干崩了,这样就不好玩了。OK,下面开始应急推理。

0x0201:WebShell 查杀

打开靶机,发现桌面存在 PhpStudy,我们先定位一下网站的根目录:

然后上传一个 D 盾,对上面获取到的网站根目录进行一次自定义扫描,如下,可以扫出来一个 shell.php:

打开 shell.php 文件,内容如下,我们的第一个目标是拿到攻击者的 Shell 的密码:

如上,成功拿到了攻击者的 Shell 密码,那么下一个就是去找攻击 IP 了(Shell 可以保留一个副本,然后把原始的给干掉)。

0x0202:网站日志排查

攻击者上传了 WebShell 后肯定是要访问的,而这些访问记录就会被记录在 Web 日志中,所以接下来,我们只要去找哪个 IP 访问了 system.php,我们就知道,谁是攻击者了。

目标使用的是 PhpStudy 搭建的站点,PhpStudy 中用做 Web 服务的就是 Apache 和 Nginx,所以我们主要排查这两个中间件的日志。

在靶机中 Nginx 的日志在 C:\phpstudy_pro\Extensions\Nginx1.15.11\logs 目录下:

如上,啥都没有,所以重点排查 Apache 的日志信息:

C:\phpstudy_pro\Extensions\Apache2.4.39\logs
Apache日志详解 - 夏秋初 - 博客园转自 :http://blog.51cto.com/longlei/2095594 Apache日志详解 1、Apache日志文件名称及路径介绍 当我们安装并启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access_log(在Windows上是access.lhttps://www.cnblogs.com/xiaqiuchu/articles/10400792.html

如上,成功拿到攻击者的 IP 地址。如果你再网上翻翻日志,会发现存在一堆 POST 请求,此时打开 PhpStudy 并且访问,你会发现是一个登录框,盲猜攻击者就是爆破出了弱口令账户然后上传的木马程序:

0x0203:隐藏账户排查

下面是去寻找攻击者留下的隐藏账户。也不用刻意去寻找,在 WIndows 的设置中去查看其他用户就会发现一个叫 hack168$ 的账户,还是管理员权限的:

其实通过 D 盾也是可以直接排查出隐藏账户的:

0x0204:挖矿病毒排查

在上一步中,我们成功定位到了一个隐藏账户。那么下面我们来看看该用户的目录下是否有啥见不得人的秘密。

Windows 的用户文件夹在 C:\Users\<用户名>,我们进入 hack168$ 的文件夹中,看修改日期,其余的都是同一时间,唯独 “桌面” 的日期不一样:

进入该用户的桌面,一个 kuang 程序映入眼帘(它要是换个名字,藏深一点还不好发现):

从这个软件的图标来看是一个 pyinstaller 打包的工具,所以我们可以使用 pyinstxtractor 进行反编译:

再从 kuang.exe 反编译得到的 kuang.exe_extracted 文件夹中找到 kuang.pyc 文件,使用在线 pyc 反编译工具得到源码,很容易就定位到矿池地址了:

https://toolkk.com/tools/pyc-decomplie

最终题解如下(PS:想要成功显示和笔者一样的内容需要反编译解题程序,它们没做暂停):

0x03:应急响应 —— 蓝队溯源视角

在本节,我们将以蓝队溯源视角,尝试通过攻击者遗留下来的痕迹,溯源攻击者的完整攻击路径,以此来发掘我们站点的薄弱之处,同时提升我们自身的攻防技术。

在 “应急视角” 一章中,我们知道了,攻击者是通过 Web 服务打进来的,那么我们就先开启靶机的 Apache 服务(还有 MySQL 服务)来看看这个靶机上搭建了啥站点:

如上,可以看到,靶机上通过 EMLOG 搭建了一个个人的 Web 站点。然后我们来深度分析一下靶机上的 Apache 日志,来看一下攻击者的攻击路径(我们现在可是蓝队溯源,攻击者咋攻击的都留痕了)。

0x0301:网站日志溯源 — 注册接口 SQL 注入 | 用户枚举?

日志咋溯源,我们之前不是已经拿到了攻击者的 IP 嘛,就直接搜,搜索到日志中攻击者第一次访问时对应的日志,然后一条一条往下面看就行了(看到有点意思的,记得那浏览器拼接日志路径自己去看看这个界面有啥功能),下面是笔者摘抄出来的有些意思的日志:

# 1. 攻击者第一次访问我们站点
192.168.126.1 - - [26/Feb/2024:22:28:56 +0800] "GET / HTTP/1.1" 200 7822
# 2. 攻击者找到了后台的注册接口 - 这个注册接口是能随意注册进去的
192.168.126.1 - - [26/Feb/2024:22:28:59 +0800] "GET /admin/account.php?action=signin HTTP/1.1" 200 3644

如上,我们发现攻击者找到了注册接口,然后就是一大堆的注册日志:

注册接口,一般我们都是注册用户的,然后我们实操发现,注册接口是能随便注册的,并没有密码啥的限制,那为啥攻击者会发送这么多 POST 请求包呢?SQL 注入,有点可能。

我们继续找,找到攻击者停止注册的分界日志点(真实情况下,可能攻击者只是挂了一个进程在慢慢跑,自己可能会在注册中间浑水摸鱼去摸其它的接口):

如上,可以发现,攻击者注册着注册着,转头跳到了 /admin/ 路径下,然后加载了一堆网页资源,这里我们留意一下 err_login=1 这个请求包,笔者测试,这个似乎是邮箱存在时的报错:

复盘留言:笔者这里犯蠢了,signin 是登录接口,不是注册接口!!!

那这是不是说明,攻击者在注册接口停留这么久,要么是想通过 SQL 注入创建一个高权限账号,要么是想通过网站的报错机制,枚举出后端可能存在的用户的邮箱账号?

但是注意了,我们并没有从日志中发现攻击者对登录接口进行爆破,那这有两种可能:

  1. 攻击者爆破出了后端可能存在的用户,且该用户拥有弱口令,攻击者不用爆破,一次就成功登录。

  2. 攻击者可能掌握了后端某个用户的账号,但是觉得爆破效率不高,且因为网站注册接口不严谨,任意用户都可以随意注册,所以攻击者自己注册了个账号,准备先进内部看看。

笔者这里比较倾向于第二种思路,我们也注册一个账号,然后开启二阶段。

0x0302:网站日志溯源 — 推翻重蹈 & 弱口令登录

继续看日志,可以看到如下两条内容,攻击者请求了一个 /admin/upgrade.php 页面:

笔者尝试拿自己注册的底权限账号也查看一下,结果出了下面这个问题:

看来上一阶段我们推测失败,攻击者确实是爆破出了后台的一个管理员账户,且该账户拥有弱口令,直接进行的登录,那么我们要想继续溯源,要么去找我们亲爱的运维,要管理员账号密码(可惜我们没有运维),要么自己爆破,复现渗透流程。


笔者在爆破过程中发现前面的推导有点问题,笔者把 signin 想当然的就当作是注册接口了,然而实际上,signin 对应下面这个页面,它是一个登录接口:

证明攻击者就是单纯的通过爆破拿到了后台管理员的账号与密码,然后进行的后续渗透。好,那么问题来了,作为一个经验丰富的渗透专家,你怎么爆破效率比较高?肯定是先确定一个值呀,比如,用户名。

我们来到网站首页,可以看到 emer 发布于 xxx,这是不是很可能就是真实存在的一个用户:

中间隔了很长很长时间以后 。。。。。。。。 笔者是 Sha Bi,笔者爆破了半天都没成功,后面去看人家搭建 EMLOG,发现搭建成功后全部都是 Emer 发布,证明上面的可能就不是一个真实存在的用户。

然后,最后你猜怎么着,使用 admin : 123456 就过了,就进了后台了,还拥有管理员权限:

0x0303:网站日志溯源 — Emlog Pro 任意文件上传漏洞

现在登录了后台,我们继续看日志,可以发现,攻击者后面一直在请求 plugin.php 页面,即插件页面,并且它还调用了 Upload 方法,证明它可能上传了插件(内含恶意代码):

此时我们只要搜索关键字 ”EMLOG PRO 漏洞“ 就会发现,EMLOG 确实有个任意文件上传漏洞:

仔细看一下,确实就是本次案例演示的内容,所以嘞,后续的从上传到 Get Shell,只需要去参考 CVE-2023-44974 这个漏洞就可以了(当然,修复也是)。

0x0304:系统日志溯源 — 后门用户创建

其实在上一步中我们已经可以推导出攻击链路了,攻击者先通过 Web 的弱口令漏洞以管理员身份登录了 EMLog 的后台,然后利用 CVE-2023-44974 漏洞上传了一个恶意的插件进而 GetShell,最后通过获得的 Shell 在我们的机器上胡作非为。

但由于前面我们还排查出了后门账户,所以嘞,笔者还是教你这个后门账户咋看,最简单的其实是去系统日志中查 4720,即用户创建记录:

如上,一查即知,我们当然还可以去注册表中查看,这个也是比较稳妥的方法:

参考文章 🚀:Windows 权限维持 —— 影子账户后门 - 基础隐藏

0x04:参考资料

应急响应靶机训练-Web1【题解】衔接上文,应急响应靶机训练-Web1【题解】https://mp.weixin.qq.com/s?__biz=MzkxMTUwOTY1MA==&mid=2247485188&idx=2&sn=54b8962a88b9da74a3db436f515b815b&chksm=c11a56f9f66ddfefd0ca7402617e4c5665033b0305a5f66a1434630b9795b09fa23fc63d3c12&scene=21#wechat_redirect
Emlog Pro 任意文件上传漏洞(CVE-2023-44974)_emlog v2.2.0后台插件上传漏洞-优快云博客文章浏览阅读3.1k次,点赞10次,收藏3次。Emlog Pro 任意文件上传漏洞(CVE-2023-44974)_emlog v2.2.0后台插件上传漏洞 https://blog.youkuaiyun.com/W13680336969/article/details/137267677
### 关于应急响应练习 Web3 靶机的信息 #### 下载地址 对于希望参与应急响应练习中的Web3靶机实验的用户来说,获取该靶机的方式通常由官方渠道提供。目前可访问链接为:https://pan.quark.cn/s/4b6dffd0c51a[^1]。请注意,此链接不仅限于特定版本的靶机,因此建议查阅最新文档确认具体资源。 #### 使用教程概述 针对Web3靶机的具体使用指南并未直接提及,但从其他相似案例可以推测大致流程: - **前期准备** - 安装并启动虚拟化平台(如VMware Workstation),确保支持所需的操作系统镜像。 - 获取并导入目标虚拟硬盘文件(.vmdk),调整相应设置以匹配主机环境需求。 - **初始探索** - 登录至预设管理员账号(`administrator/Zgsf@qq.com`)进入操作系统界面。 - 浏览已部署的服务列表及其端口状态,识别潜在的安全漏洞点。 - **安全事件分析** - 查看各类服务器日志记录(例如Apache/Nginx access.log),定位可疑活动痕迹。 - 利用内置或第三方工具(D盾等)辅助排查恶意软件感染迹象。 - **护措施实施** - 基于发现的风险因素采取针对性加固策略,比如更新补丁、优化权限管理机制。 - 构建实时监控体系以便及时应对未来可能出现的新威胁状况。 上述步骤旨在帮助参与者全面理解如何处理网络空间内的突发事件,并非严格限定于某单一场景下的操作手册[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值