No.177-HackTheBox-Linux-Mango-Walkthrough渗透学习

**

HackTheBox-Linux-Mango-Walkthrough

**
靶机地址:https://www.hackthebox.eu/home/machines/profile/214
靶机难度:初级(4.1/10)
靶机发布日期:2020年4月14日
靶机描述:
Mango is a medium difficulty Linux machine hosting a website that is found vulnerable to NoSQL injection. The NoSQL database is discovered to be MongoDB, from which we exfiltrate user credentials. We can use one set of credentials to gain a foothold using SSH, and the other to move laterally within the box. A SUID binary is then exploited to escalate our privileges to root.

作者:大余
时间:2020-07-29

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

一、信息收集

在这里插入图片描述
可以看到靶机的IP是10.10.10.162…
在这里插入图片描述
我这里利用Masscan快速的扫描出了22,80端口,在利用nmap详细的扫描了这些端口情况…看图即可
在这里插入图片描述
浏览web80返回403禁止错误,访问HTTPS网站显示了搜索引擎页面…搜索不会给任何返回信息…跳过
在这里插入图片描述
这是登录页面,默认几个用户密码都无法登录…nmap就发现开放了三个服务…
burpsuit分析开启…
在这里插入图片描述
插入普通字符串引号等不会返回错误或一些响应…
由于网站正在运行PHP,尝试使用NoSQL绕过身份验证…
在这里插入图片描述
https://docs.mongodb.com/manual/reference/operator/query/ne/
MongoDB身份验证绕过文章。
这里MongoDB使用$ ne(不等于)运算符绕过…
这个运算符可以通过数组语法传递给PHP,最终将其注入MongoDB…
可看到$ ne是注入成功的,并且该页面以admin重定向到home.php…
在这里插入图片描述
该页面有一个电子邮件地址,一个潜在的用户名没别的信息了…
在这里插入图片描述
google看看有什么能执行的EXP吗…
在这里插入图片描述
发现存在脚本可枚举Nosql(mongodb)注入易受攻击的Web应用程序的用户名和密码…
在这里插入图片描述
下载后,安装下相对应的应用…
在这里插入图片描述
命令:python nosqli-user-pass-enum.py -u http://staging-order.mango.htb/ -up username -pp password -ep username -op login:login -m POST
执行即可,获得了页面的用户名两个…
在这里插入图片描述
命令:python nosqli-user-pass-enum.py -u http://staging-order.mango.htb/ -up username -pp password -ep password -op login:login -m POST
继续枚举,获得了两个用户名对应的密码…
在这里插入图片描述
SSH登录mango用户后,权限很低…
在这里插入图片描述
利用nosql脚本获得的admin用户,su登录了进去…获得了user_flag信息…
在这里插入图片描述
这里存在两个SUID,二进制程序,run-mailcap和jjs,很经典的提权漏洞程序了…
https://gtfobins.github.io/gtfobins/run-mailcap/
https://gtfobins.github.io/gtfobins/jjs/
该两篇那文章是讲解了如何提权…jjs可以和run互相利用…
在这里插入图片描述
命令:

Java.type('java.lang.Runtime').getRuntime().exec('cp /bin/sh /tmp/sh').waitFor()
Java.type('java.lang.Runtime').getRuntime().exec('chmod u+s /tmp/sh').waitFor()

利用jjs和run获得了root权限,并获得了root_flag信息…
这里也可以单独利用jjs,写入ssh-key,通过SSH登录root用户…提供的链接文章页面有讲解…

简单的靶机…加油

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

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

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值