The hackers labs

Binary Trail

1.1

¿Cuál es el nombre del binario sospechoso?
这个可疑的二进制文件(可执行文件)叫什么名字?

我们通过给的文件知道了登陆的账号密码是root/toor

既然他让我们查找可疑的二进制可执行文件,那么首先正常排查通过排查完网络和进程,以及可执行文件的权限,以后去排查近期新增文件(直接去排查全系统的,不去排查60分钟以内或者三天以内的这种,如果是现场应急响应可以去一点一点排查,打靶机的话可以换种思路)

root@oscar:/#find / -user root -perm -4000 -print 2>/dev/null
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/snapd/snap-confine
/usr/lib/polkit-1/polkit-agent-helper-1
/usr/bin/gpasswd
/usr/bin/fusermount3
/usr/bin/umount
/usr/bin/newgrp
/usr/bin/sudo
/usr/bin/su
/usr/bin/chsh
/usr/bin/mount
/usr/bin/chfn
/usr/bin/passwd

root@oscar:/# find / -type f -name "*.php" 2>/dev/null | grep -vE "/usr/|/lib/|/sys/|/proc/|/var/www/html/|/var/lib/"

root@oscar:/# find / -type f -name "*.py" 2>/dev/null | grep -vE "/usr/|/lib/|/sys/|/proc/"
/etc/python3.12/sitecustomize.py

root@oscar:/# find / -type f -name "*.c" 2>/dev/null | grep -vE "/usr/|/lib/|/sys/|/proc/"
/opt/lab/auth_proxy.c

我先查看了所有的sudo位文件,没有找到以后我有去排查了脚本文件发现python和c各有一个,提交上去发现c的文件是正确的,打完以后我去看了一下yolo师傅的博客发现还可以通过查看靶机上的新增可疑文件。

find / -type f -perm -111 -printf "%TY-%Tm-%Td %TH:%TM %p\n" 2>/dev/null | sort -r | head

答案是auth_proxy不带后缀的.C

1.2

¿Qué archivo oculta el binario en el sistema?
该二进制文件隐藏在系统中的哪个文件中?

这一步就可以通过最开始的排查直接知道完整的路径然后打开文件可以得到一个路径

root@oscar:/# cat /opt/lab/auth_proxy.c
#include <stdio.h>
#include <stdlib.h>

int main() {
  printf("Running auth_proxy...\n");
  system("touch /etc/.shadow_auth");
  return 0;
}
root@oscar:/#

这个时候就知道了/etc/.shadow_auth他隐藏在这个文件里面

1.3

¿Qué comando dejó rastros el binario en los logs del sistema?
是哪个命令在系统日志中留下了二进制文件的痕迹?

我们通过这个二进制文件去查日志文件找到了路径,通过路径我们再去筛选痕迹

root@oscar:/var/log# grep -a -i "auth_proxy" /var/log/auth.log*
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: touch /etc/.shadow_auth
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: Probando creación de archivos ocultos
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: touch /etc/.shadow_auth
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: Probando creación de archivos ocultos
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: touch /etc/.shadow_auth
/var/log/auth.log.1:Dec 21 10:32:45 server auth_proxy: Probando creación de archivos ocultos

可以发现touch这个是答案

在 C 语言中,system() 函数的作用是直接调用操作系统的 Shell 去执行一段命令行指令。程序并没有用 C 语言底层的 API 去写文件,而是调用了 Linux 的自带命令 touchtouch 命令常用于创建空文件)。

1.4

¿En qué archivo de logs se encontraron los rastros?(RUTA)
跟踪信息在哪个日志文件中发现?(路径)

前面通过这个命令查到了"auth_proxy" /var/log/auth.log*所在的日志痕迹那么跟踪信息应该也是在这个路径所找到的/var/log/auth.log

1.5

¿Qué permisos tiene el archivo oculto /etc/.shadow_auth? (Numérico)
隐藏文件 /etc/.shadow_auth 的权限是什么?(数字)

使用 stat 命令可以提取文件的信息,给他设置 -c "%a" 的参数可以只输出我们想要的权限数字

root@oscar:~# stat -c "%a" /etc/.shadow_auth
600
root@oscar:~#

小结

在寻找可疑二进制文件时,我们可以从权限、后缀名和时间线三个方向入手,这道题主要就是让我们通过排查完成以后对于日志的审查。

El Topo DNS

打开靶机,桥接模式后得到ip

IP:10.251.209.123
debian login:

他的账号密码通过官方的WP可以找到

auditor/auditor 进行登录ssh

1.1

¿Qué dirección IP externa sirvió el _stager_ `p.sh` al servidor web?
暂存器向 Web 服务器提供的外部 IP 地址是什么?

玄机打多了,犯了一个非常致命的错误,我直接推到根目录然后通过cd /var/log里面去找web服务日志

auditor@debian:/var/log$ ls -a
. .. alternatives.log alternatives.log.1 apache2 apt btmp btmp.1 dpkg.log dpkg.log.1 faillog installer journal lastlog private README runit wtmp

auditor@debian:/var/log$ grep "p.sh" access.log
grep: access.log: No existe el fichero o el directorio

auditor@debian:/var/log$ cd apache2
-bash: cd: apache2: Permiso denegado

然后发现没有权限要么是查找不到

auditor@debian:~$ ls -a
. .. .bash_history .bash_logout .bashrc dfir_eltopo .profile
auditor@debian:~$ cd dfir_eltopo
auditor@debian:~/dfir_eltopo$ grep "p.sh" access.log
192.168.1.10 - - [10/nov/2025:09:10:13 +0100] "GET http://162.248.1.100/p.sh HTTP/1.1" 200 1024

在这个发现了dfir_eltopo==数字取证事件响应

所以我们直接筛选p.sh的就直接出来IP

1.2

¿Qué fichero PHP (solo nombre) fue el punto de entrada más probable de la explotación inicial?
哪个 PHP 文件(仅填写文件名)是最初漏洞利用最可能的入口点?

既然告诉我们是PHP文件,那么直接通过筛查就能得到

auditor@debian:~/dfir_eltopo$ grep -E '"(GET|POST|PUT) /[^ ]+\.php' access.log | awk '{print $7}' | sort | uniq -c | sort -nr
  1211 /contact.php
    1 /upload.php

答案是upload.ph

1.3

¿Cuál es el FQDN de la primera consulta de _beaconing_ de C2 observada en los logs?
在日志中观察到的第一个 C2 信标(beaconing)请求的完全限定域名(FQDN)是什么?

可以在最开始看见下面有一个dns的log文件

通过查看一下以后直接筛选出现的次数

auditor@debian:~/dfir_eltopo$ awk '!visited[$0]++' dns.log | awk '{print $NF}' | sort | uniq -c | sort -nr
    2 www.updates.ubuntu.com
    2 www.microsoft.com
    2 www.google.com
    2 www.github.com
    2 www.cdn.example.com
    1 OTk5Ojc6OjoK.data.eltopo.thl
    1 Oio6MTgwMDA6MDo5OTk5OTo3Ojo6CmRhZW1vbjoqOjE4MDAwOjA6OTk5OTk6.data.eltopo.thl
    1 Nzo6OgpkZXZ1c2VyOiQ2JHJvdW5kcz02NTYwMDAkYWJjZGVmZyRoaWprbG1u.data.eltopo.thl
    1 cm9vdDokNiRzYWx0eSRULlVWcy4uLjoxODAwMDowOjk5OTk5Ojc6OjoKYmlu.data.eltopo.thl
    1 b3AuLi46MTgwMDE6MDo5OTk5OTo3Ojo6CmZ0cHVzZXI6KjoxODAwMTowOjk5.data.eltopo.thl
    1 3.beacon.c2.eltopo.thl
    1 2.beacon.c2.eltopo.thl
    1 1.beacon.c2.eltopo.thl

可以准确看到有三个c2的信息这个时候再按照原始时间排序,筛选出带beacon.c2的行,提取首个FQDN

auditor@debian:~/dfir_eltopo$ sort dns.log | grep 'beacon.c2.eltopo.thl' | awk '{print $NF}' | uniq | head -1
1.beacon.c2.eltopo.thl

1.4

¿Cuál es el dominio (solo el dominio, sin subdominios de datos) usado para exfiltrar el fichero shadow?
用于泄露(窃取)shadow 文件的域名是什么?(仅填写主域名,不含数据子域名)

我们可以通过上一步的筛查知道有三串编码

这些是典型的DNS 隧道数据泄露特征:

  • shadow 文件内容编码成 Base64 / 十六进制等格式
  • 拼接到恶意域名的子域名部分,通过 DNS 查询发送到攻击者控制的域名服务器
  • 格式:[编码数据].data.恶意主域名

所以答案是data.eltopo.thl

1.5

¿Qué servicio de red (protocolo) usó el atacante para pivotar al servidor interno 10.0.0.50?
攻击者使用什么网络服务(协议)来跳转到内部服务器 10.0.0.50?

我们要找到是什么协议首先就是要先查看系统日志或命令历史寻找这个ip

因为他的日志已经给我们都打包好要用的都扔到文件夹里了

auditor@debian:~/dfir_eltopo$ cat ftp.log
[09:10:13] 192.168.1.10 -> 10.0.0.50 FTP 220 (vsFTPd 3.0.3)
[09:10:13] 192.168.1.10 -> 10.0.0.50 FTP USER devuser
[09:10:13] 10.0.0.50 -> 192.168.1.10 FTP 331 Please specify the password.
[09:10:13] 192.168.1.10 -> 10.0.0.50 FTP PASS developer123
[09:10:13] 10.0.0.50 -> 192.168.1.10 FTP 230 Login successful.
[09:10:13] 192.168.1.10 -> 10.0.0.50 FTP LIST
[09:10:13] 10.0.0.50 -> 192.168.1.10 FTP 226 Directory send OK.
[09:10:13] 192.168.1.10 -> 10.0.0.50 FTP GET client_database_backup.zip
[09:10:13] 10.0.0.50 -> 192.168.1.10 FTP 150 Opening BINARY mode data connection.
[09:10:13] 10.0.0.50 -> 192.168.1.10 FTP 226 Transfer complete.

可以直接通过ftp.log文件知道用的是FTP协议

1.6-1.8

1.6
¿Qué nombre de usuario se utilizó para autenticarse en el servidor interno?
用于向内部服务器进行身份验证的用户名是什么?
1.7
¿Qué contraseña se utilizó para el movimiento lateral exitoso?
成功进行横向调动时使用的密码是什么?
1.8
¿Cuál es el nombre de fichero exacto que el atacante robó del servidor interno?
攻击者从内部服务器窃取的确切文件名是什么?

还是通过ftp.log文件知道FTP USER devuser这一行就是答案devuser

下一行的pass就是密码developer123

GET后面的实际上就是答案client_database_backup.zip

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇