首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【应急响应】Where-1S-tHe-Hacker-P1

【应急响应】Where-1S-tHe-Hacker-P1

作者头像
Al1ex
发布2025-02-12 14:14:16
发布2025-02-12 14:14:16
25900
代码可运行
举报
文章被收录于专栏:网络安全攻防网络安全攻防
运行总次数:0
代码可运行
场景介绍

韩一是划水通信公司的一名安服,某天在日常巡检的过程中发现客户网站被入侵并挂了黑页,他意识到自己需要应急哥的帮助,于是他毫不犹豫地给你打电话。请你找出攻击痕迹并还原攻击链,服务器已经处于网络隔离状态,排查出并清理攻击者留存的恶意文件,将web服务恢复正常,保证服务器不存在安全问题,在做应急处置、溯源的过程中请给发现存在的脆弱点加固建议

环境构建

下载靶机并使用VMware Workstation打开:

随后使用账号密码登录:

代码语言:javascript
代码运行次数:0
运行
复制
用户:admin
密码:Aa123456
靶机题目

运行靶机中的"答题.exe"即可查看对应的题目

关联题目如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
1.攻击者在黑页上留下的疑似黑客ID是?(末尾不带空格)
2.攻击者在什么时间修改了网站主页?(右键文件属性复制粘贴)
3.攻击者写入的第一个webshell文件名是?
4.攻击者写入的第二个webshell文件名是?
5.第二个webshell的连接密码是?
6.攻击者新建的隐藏账户是?
7.日志分析,隐藏账户创建时间是?(答案格式:2024/12/3 9:16:23)
8.添加隐藏账户进管理员组的时间是?(答案格式同上题)
9.攻击者在什么时间从文件中读取保留的密钥?(答案格式同上题)
10.隐藏账户通过(PTH)哈希传递攻击登录的时间是?
11.攻击者上传的两个CobaltStrike木马文件名是?(答案格式:"A.exe和B.exe")
解题过程
第一问答

靶机的第一个问题是"攻击者在黑页上留下的疑似黑客ID是?",这一个我们需要访问WEB服务并查看黑页的具体内容,于是我们可以直接进入到phpstudy的安装目录中去启动服务随后在本地访问WEB服务,从下面的界面可以看到黑客ID为"X123567X"

第二问答

靶机的第二个问题是"攻击者在什么时间修改了网站主页?",这一个我们可以直接定位到网站的WEB路径下的index.php文件的修改时间——2023‎年‎11‎月‎6‎日,‏‎4:55:13

第三问答

靶机的第三个问题是"攻击者写入的第一个webshell文件名是?",关于这个问题我们在WEB根目录下面无法直接看到对应的webshell文件,我们可以通过后面查杀工具D盾进行检测

从扫描结果中可以知晓第一个webshell的文件名称为SystemConfig.php,时间为2023-11-06 04:41:37,第二个webshell的文件名称为syscon.php,时间为2023-11-06 04:44:34

第四问答

靶机的第四个问题是"攻击者写入的第二个webshell文件名是?",这一个我们在上面的扫描结果中已经得到了——syscon.php,时间为2023-11-06 04:44:34

第五问答

靶机的第五个问题是"第二个webshell的连接密码是?",我们直接查看syscon.php文件内容可以看到对应的连接密码为——pass

第六问答

靶机的第六个问题是"攻击者新建的隐藏账户是?",这个问题其实在我们登录系统的时候就已经看到了——admin$

当然我们也可以直接从计算机管理中查看到对应的隐藏账户-admin$

第七问答

靶机的第七个问题是"日志分析,隐藏账户创建时间是?(答案格式:2024/12/3 9:16:23)",在这里我们需要对系统日志进行分析查看,在CMD中输入"eventvwr.msc"进入到事件查看器中,随后通过检索Event ID为"4720"的创建用户的日志我们可以明确的得到隐藏账户被创建的时间

随后可以看到如下检索结果,从中可以看到隐藏账户admin$是在2023/11/6 4:45:34创建的

备注:下面是常见的关于用户操作类的日志记录:

代码语言:javascript
代码运行次数:0
运行
复制
4624 登录成功
4625 登录失败,如果有人尝试破解系统密码,可以看到大量连续登录失败信息
4726 删除用户
4722 账号启用
4725 账号禁用
4723 修改密码
4724 重置密码
4634 注销成功
4647 用户启动的注销
4672 管理员登录
4720 创建用户,使用系统漏洞攻击成功后,往往会创建一个用户,方便远程登录
4732 加入安全组,常见于将新用户加入管理员组
4733 移除出安全组
4684 通过登陆界面登陆的
第八问答

靶机的第八个问题是"添加隐藏账户进管理员组的时间是?(答案格式同上题)",关于这一个问题我们搜索4732事件即可——2023/11/6 4:46:07

第九问答

靶机的第九个问题是"攻击者在什么时间从文件中读取保留的密钥?(答案格式同上题)",我们可以直接检索关键事件"5058"获取到对应的密钥读取操作记录,获取到对应的时间节点——2023/11/6 4:46:58

第十问答

靶机的第十个问题是"隐藏账户通过(PTH)哈希传递攻击登录的时间是?",关于这个问题我们可以根据时间点来缩小排查范围

由于在PHT攻击时需要传递NTML Hash值且为登录类操作,所以我们重点关注Logon类型且身份验证数据报文为NTLM的,随后找到如下报文,确定对应的时间点——2023/11/6 4:47:28

第十一问

靶机的第十一个问题是"攻击者上传的两个CobaltStrike木马文件名是?(答案格式:"A.exe和B.exe")",在这里我们使用D-Eyes进行辅助排查,首先下载安装包并在当前目录下以管理员权限运行CMD,随后执行以下命令检索C盘的可疑文件内容信息

代码语言:javascript
代码运行次数:0
运行
复制
D-Eyes.exe fs

同时我们也可以执行以下命令来检索可疑的进程信息:

代码语言:javascript
代码运行次数:0
运行
复制
D-Eyes.exe ps

最后会给出扫描后整理的结果:

通过执行以下命令获取计划任务信息:

代码语言:javascript
代码运行次数:0
运行
复制
D-Eyes.exe task

从上面的执行结果中发现可疑的计划任务信息,随后转到对应的目录下进行查看,未找到对应的文件:

联想到当前操作系统为Windows 10,默认自带Windows Defender,随后去查看Windows defender的隔离区

从下面的保护历史记录中我们可以发现异常文件:SysonmT.exe、SystemTemp.exe

攻击还原

下面我们来还原一下整个攻击链路,由于我们服务器上只部署了WEB服务,所以我们排查的重点主要集中在攻击者如何通过WEB服务漏洞实施的入侵,在这里我们使用360星图进行分析,首先在星图中配置日志文件的存放路径,随后运行星图软件进行日志分析

随后即可查看对应的分析结果:

不过这里的txt格式不是那么很友好,尤其是我们进行数据检索分析的时候,所以我们可以将其转换为Excel进行分析操作:

随后我们筛选状态码为200的日志,时间日期升序排序

随后我们对状态为200的日志按照时序从低到高进行着行查看,以最初的webshell访问时间为分水岭,往更早时间去回溯可以推断出漏洞利用点,往更晚的时间去分析相关异常可以得到攻击者利用webshell进行深入攻击的路径,这里我们以命令执行的时间点2023/11/6 4:36:56为分水岭进行先前和向后分析:

(1) 先前分析

从状态为200的请求先前可以看到请求了一次www.zip,我们直接转到WEB目录下可以看到确实存在www.zip压缩包,内容为网站的源码

通过查看源代码我们在inc\conn.info.php文件中发现MySQL的root账号密码,

而我们的web路径中有phpmyadmin,所以可以尝试使用账户密码进行登录操作:

随后获取到ohpmyadmin的权限

由于中间存在一段时间差,所以我们推测攻击者是否通过phpmyadmin来getshell:

从我们星图的分析中我们也看到有对应的phpmyadmin访问记录,同时看到了phpmyadmin/index.php记录,说明有登录成功

随后我们在phpmyadmin中执行以下命令查看是否有对文件写入做权限限制——无:

代码语言:javascript
代码运行次数:0
运行
复制
show global variables like "%secure%'

在这里可以直接执行以下命令来写webshell:

代码语言:javascript
代码运行次数:0
运行
复制
select "<?php echo 'SecTest';?>" into outfile 'C:\\phpstudy_pro\\WWW\\test.php';

随后我们对可疑的访问日志进行分析:

根据上面的URL请求特征不难看出这里是进行了SQL注入攻击,于是我们直接来到最后一个SQL语句构造处并对执行的SQL语句进行解码,从中可以看到这里的"INTO OUTFILE"操作,这个其实就是SQLmap的--os-shell的操作,其原理就是通过文件写入函数(INTO OUTFILE)落地一个有上传功能的脚本,随后再通过这个上传脚本进行上传命令执行的后门,但根据综合日志分析以及异常文件历史痕迹分析,该操作并未成功,但可以确定的是该payload插入利用的路径大概率存在SQL注入漏洞,因为SQLMAP在验证注入点的确真实存在之后才能执行OS-Shell的操作

随后对数据进行HEX解码

随后保存解码后的文件并访问可以看到这里是构造了一个文件上传的表单:

时间节点:

  • 2023/11/6/04:22 发现SQL注入点并尝试通过SQLMAP来getshell,但是并未成功
  • 2023/11/6/04:31 下载源码文件www.zip并获取phpmyadmin的root账号权限
  • 2023/11/6/04:33 成功登录phpmyadmin后台
  • 2023/11/6/04:41 写入webshell文件SystemConfig.php
  • 2023/11/6/04:44 写入webshell文件syscon.php
  • 2023/11/6/04:45 新建隐藏用户admin$
  • 2023/11/6/04:55 写入index.php挂黑页
  • 2023/11/6/04:57 利用获取的web管理权限发布文章
  • 2023/11/6/05:03 上传CS木马SysnomT.exe
  • 2023/11/6/05:04 上传CS木马SystemTemp.exe
服务还原
页面还原

首先将黑页代码进行删除并把隐藏的正常代码文件名index.php.bak更改为index.php

取消隐藏属性

内容还原

访问网站时可以看到攻击者发布的内容信息

随后我们登录后台并删除发布的内容即可(这里密码没试出来就不做尝试了)

文件清理

随后我们需要清理之前扫描出来的webshell后门文件

以及对CS文件进行隔离删除:

参考连接

https://learn.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-5058

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景介绍
  • 环境构建
  • 靶机题目
  • 解题过程
    • 第一问答
    • 第二问答
    • 第三问答
    • 第四问答
    • 第五问答
    • 第六问答
    • 第七问答
    • 第八问答
    • 第九问答
    • 第十问答
    • 第十一问
  • 攻击还原
  • 服务还原
    • 页面还原
    • 内容还原
    • 文件清理
  • 参考连接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档