The Hackers Labs (防御靶场练习)
The Hackers Labs (防御靶场练习)
Binary Trail(二进制痕迹)
对公司基础设施至关重要的 Linux 服务器已显示出可疑活动的迹象。在例行审计期间,已发现位于非标准目录中的未知二进制文件的存在。此文件的性质和来源尚不确定,但其行为表明可能存在对系统的纵。安全团队已要求进行分析,以了解其影响程度。这包括识别对系统配置所做的任何更改、使用的可能攻击媒介,以及评估此二进制文件是否代表活跃的威胁。要完成此任务,您需要检查服务器以获取与此二进制文件相关的证据,评估其行为,并记录您的发现。您必须确定: 1. 二进制的主要功能。2. 如果您修改了关键系统文件或设置。3. 指示他们如何到达服务器的任何痕迹。4. 它与系统中记录的异常事件可能存在关系。您的分析应该是系统的,并侧重于得出有关二进制对系统的影响的明确结论。避免依赖高级工具;仅使用标准 Linux 环境中可用的基本功能来模拟初始响应计算机的约束。登录: root / toor
参考文章:CTF 二进制跟踪解析、【The Hackers Labs】Binary Trail靶机wp-CSDN博客
1.¿Cuál es el nombre del binario sospechoso?(可疑二进制文件的名称是什么?)
注意:本靶机没有网络环境,因此只能在实机操作不能用远程shell工具
注意:使用命令localectl查看其使用的键盘配置:

System Locale(系统语言环境)
VC Keymap(虚拟控制台键盘布局)
X11 Layout(X11 图形界面键盘布局)
X11 Model(使用的键盘型号)
这里的键盘布局为西班牙语布局,因此符号要按下图中来:

但是打不了><,因此更改键位:
sudo vim /etc/default/keyboard
更改:
XKBMODEL="pc104"
XKBLAYOUT="us"
重启靶机,修改成功
回到题目,寻找可疑二进制文件
思路:检查靶机上安装的第三方软件
直接到/opt目录下检查:

可以发现这个任意用户可执行的文件auth_proxy,可以推测其为恶意软件
思路:寻找当前用户具有执行权限且不位于/bin、/usr、/sbin等常见系统目录下的文件
find / -type f -executable -not -path "/bin/*" -not -path "/usr/*" -not -path "/sbin/*" -not -path "/lib/*" -mtime -7 2>/dev/null
find /
从根目录 / 开始递归搜索所有文件和目录。
-type f
仅搜索普通文件(排除目录、符号链接等)。
-executable
匹配当前用户具有执行权限的文件(需注意权限与实际可执行性)。
-not -path "/bin/\*"
排除路径匹配 /bin/* 的文件,但仅限 /bin 的直接子项(如 /bin/ls),不排除深层路径(如 /bin/subdir/file)。
-mtime -7
匹配修改在7天内的文件。
2>/dev/null
隐藏所有错误信息(如权限不足导致的访问拒绝)。

这些文件属于 console-setup 相关的配置缓存文件,它们的作用是加速系统在控制台模式(非图形界面)下的键盘、字体和终端设置。
我们不断增加匹配的时间范围:

/var/lib/dpkg/info/libgstreamer1.0-0:amd64.postinst:当 libgstreamer1.0-0:amd64 安装、升级或重新安装时,该脚本会自动执行,以配置 GStreamer 多媒体框架。
/etc/grub.d/01_password:GRUB2 的密码保护配置,用于在 GRUB 启动菜单中限制未授权用户更改引导选项
/etc/grub.d/10_linux:GRUB2 生成启动菜单时的核心脚本之一
/etc/cloud/clean.d/99-installer:该文件属于 cloud-init,用于 清理云计算环境的安装痕迹,通常用于虚拟机(如 AWS、Azure、GCP)
GStreamer 是一个 开源的多媒体框架,用于 音频和视频处理,常用于 音视频播放器、流媒体处理、视频编辑 等应用。
GRUB 是 Linux 的 引导加载程序,用于在计算机开机时 加载操作系统。
因此可疑软件为auth_proxy
2.¿Qué archivo oculta el binario en el sistema?(二进制文件隐藏在系统中的是什么文件?)
二进制文件分析思路:首先使用strings查看文件中的字符串
strings /opt/auth_proxy > 1.txt
vim 1.txt

可以发现该软件会执行命令touch /etc/.shadow_auth,创建隐藏文件
补充:可以使用以下命令过滤分析命令执行的部分:
strings /opt/auth_proxy | grep "/" > 2.txt
vim 2.txt

3.¿Qué comando dejó rastros el binario en los logs del sistema?(二进制文件在系统日志中留下了什么命令的痕迹?)
由上题分析可知命令为touch
分析.bash_history,发现内容都会被删除(.bash_history > /dev/null)
主要分析/var/log/auth.log
auth.log 文件是 Linux 系统中的一个日志文件,记录了与身份验证相关的事件,例如用户登录、权限提升和 SSH 连接。
可以发现除了我们创建出的auth.log还有auth.log.1


找到命令执行的那几行
strings auth.log.1 | grep "auth_proxy"

4.¿En qué archivo de logs se encontraron los rastros?(RUTA)(在哪个日志文件中发现了这些痕迹?(路径))
由3分析可知在/var/log/auth.log.1中发现了这些痕迹
但答案不对?

官方答案:

因为日志文件的轮转机制,所以其实是日志文件 /var/log/auth.log
日志文件轮转机制(Log Rotation)是一个用于管理和维护日志文件的过程,特别是在日志文件大小不断增加的情况下,确保日志文件不会无限制地增长,导致磁盘空间不足或系统性能问题。
在 Linux 系统中,日志轮转通常由 logrotate 工具管理。轮转机制会定期将当前的日志文件归档,并创建一个新的日志文件来继续记录日志。
当日志文件(如 /var/log/auth.log)达到一定大小或时间(例如,每天、每周)时,当前日志文件会被归档(通常会添加一个后缀,如 .1,.2,.gz等),并创建一个新的日志文件继续记录。
5.¿Qué permisos tiene el archivo oculto /etc/.shadow_auth? (Numérico)(隐藏的 /etc/.shadow_auth 文件具有哪些权限?(数字))
查看文件权限:
ls -l .shadow_auth

查看文件系统详细信息:
stat .shadow_auth

Santa Logs(圣诞老人的日志)
在北极,精灵们有很多工作要做,以确保圣诞节晚上一切正常。然而,圣诞老人的电脑系统开始发生一些奇怪的事情。
这一切都开始于淘气的怪物,精灵的天敌,设法渗透到3000礼物网络——跟踪谁是好孩子或坏孩子的主要系统!起初,他们只是改变了一些小清单:他们把煤送给模范孩子,把玩具送给淘气的孩子。但后来,事情已经失控了!
技术精灵们向"圣诞日志"寻求帮助,这是一个由圣诞老人、他的驯鹿鲁道夫(网络专家)和一群追踪精灵组成的精英团队。任务很明确:
- 检查系统日志,找出巨魔是何时、何地、如何渗透进来的。
- 找到隐藏在系统中的病毒,这是巨魔们为了破坏送礼行动而留下的陷阱。此病毒包含一个秘密flag,发现以删除它并重置系统。
- 在12月24日午夜之前重置系统。否则,雪橇将耗尽动力,无法起飞!!
用户名:Santa
密码:Cl@us
1.¿Qué IP realizó la conexión SSH exitosa?(哪个 IP 使 SSH 连接成功?)
打开虚拟机,按下 ctrl+alt+del 解锁,按照西语键盘按下右alt+2来输入@
事件日志来源是 Santalogs,这表明这个日志可能不是 Windows 原生的,而是由某个第三方应用程序(如 SSH 服务器)或管理员手动创建的。因此事件ID可能与正常 Windows 事件ID不同
访问事件查看器来分析相关日志(Santalogs):

找到SSH登录成功日志:

2.¿Cuántos intentos fallidos de acceso FTP están registrados?(记录了多少次失败的 FTP 访问尝试?)
筛选相关事件ID:


总共有50件
3.¿Qué mensaje de advertencia relacionado con el espacio en disco se registró en los logs?(日志中记录了哪些与磁盘空间相关的警告消息?)

low disk space
4.¿Cuál es la clave para desencriptar el script malicious_script.py?(解密 malicious_script.py 脚本的密钥是什么?)
总共216条日志我们完全可以手动看完,前面都是SSH和FTP攻击,那么最后就有脚本利用:



圣诞小精灵发现了密钥
6.flag
圣诞小精灵发现了在C:\tmp目录下的解密脚本,我们进行分析:

import base64
from Crypto.Cipher import AES
import getpass
# 让用户输入 AES 密钥,并确保密钥长度为 32 字节(AES-256)
key = getpass.getpass('Introduce la clave AES:').ljust(32)[:32]
# 待解密的 Base64 编码的密文数据
data = b'pF6q3/bS1dJFLcMT/SWmf4mpjRTmRCuMJ+QCAHIY0A='
# 使用 ECB(电子密码本)模式创建 AES 解密器
cipher = AES.new(key.encode(), AES.MODE_ECB)
try:
# 解密过程:
# 1. 先进行 Base64 解码,获取原始密文
# 2. 使用 AES-ECB 模式解密
# 3. 结果转换为字符串,并去除填充字符
decrypted = cipher.decrypt(base64.b64decode(data)).decode().strip()
# 打印解密后的明文
print(f'\n[+] Mensaje desencriptado: {decrypted}')
except Exception:
# 捕获异常,通常发生在密钥错误或数据损坏时
print('\n[-] Error: Clave incorrecta o datos corruptos.')

输入密钥即可得到flag
La Corporación(公司)
这是您作为 La Corporación 网络安全部门初级分析师的第一天,La Corporación 是一家为全球客户处理关键和敏感数据的技术组织。在过去的几周里,该公司一直是不断入侵企图的目标,安全团队面临着防止任何入侵的压力。
你的老板是一位网络安全老手,以直率的态度和对新手缺乏耐心而闻名,他给了你第一个任务。当他递给你周末捕获的三条网络流量日志时,他苦笑着告诉你:
"这些日志可能包含一些有趣的东西......也可能不包含。如果你能发现任何可疑的事件或活动,你可能值得在这里。如果你找不到任何东西,那么,支持部门总是有工作的。"
在队友们的注视下,时钟滴答作响,你知道这是你证明自己有能力成为团队一员的机会。
作为一名新分析师,您的任务是:1.分析所有三个记录(星期五.pcap、星期六.pcap、星期日.pcap)根据您的调查结果回答关键问题。
1.攻击者进行了多少次 SSH 连接尝试?
viernes.pcap就是星期五的流量包,进行分析:

只有HTTP和FTP协议的流量
sabado.pcap就是星期六的流量包,进行分析:

与星期五的流量包相似
domingo.pcap就是星期天的流量包,进行分析:

出现了SSH连接记录,我们进行过滤分析:

2.攻击者在入侵尝试中使用了什么端口?
我以为问的是攻击者使用的端口,分析发现所有流量连接的源IP为20
但答案是入侵尝试是在用的22端口的SSH服务
3.入侵尝试使用了什么协议?
同上
4.攻击者尝试执行的文件的名称是什么?
过滤攻击者IP,分析流量包:

看上去攻击者尝试执行文件上传的脚本/CVE-2021-41773.sh
5.入侵尝试的日期是多少?

但答案其实是星期天domingo
6.攻击的 IP 地址是什么?
由第1题分析可知
7.攻击者在恶意 HTTP 流量中使用了哪个主机?
在 HTTP 请求中,Host 头部字段指定了目标服务器的主机名

非常基础的流量分析。

我打蓝队时我们队的靶机be like:
浙公网安备 33010602011771号