HTB-UnderPass

一、初步侦察与Web服务探测

1.1 端口扫描与Web初步探索

首先对目标主机 10.10.11.48 进行全面的端口扫描,以识别开放的服务。

sudo nmap 10.10.11.48 -p- --min-rate=5000 -A


图1: Nmap扫描结果,显示开放22和80端口

扫描结果显示目标开放了 SSH (22) 和 HTTP (80) 端口。访问80端口的Web服务,显示为Apache的默认页面。


图2: 访问80端口,显示Apache默认页面

尝试进行目录爆破,初步使用 dirsearch 未发现任何有价值的路径。

dirsearch -u http://10.10.11.48/


图3: dirsearch目录爆破未发现有用信息

更换为 feroxbuster 并使用更全面的字典进行再次爆破,依然没有新的发现。

feroxbuster -u http://10.10.11.48/


图4: feroxbuster目录爆破仍无发现

二、SNMP枚举与关键信息获取

2.1 UDP端口扫描与SNMP服务发现

由于TCP端口的Web服务未提供直接突破口,且未收集到域名信息进行子域名爆破,Apache和OpenSSH版本也无已知漏洞,转向对UDP端口的扫描。

sudo nmap 10.10.11.48 -p- -sU --min-rate=5000


图5: UDP全端口扫描结果,发现161端口开放 (SNMP)

UDP全端口扫描结果显示UDP 161端口开放,该端口通常用于SNMP (Simple Network Management Protocol) 服务。
(注:UDP扫描通常较慢,可优先针对性扫描常见的UDP服务端口,如161 SNMP。)

sudo nmap 10.10.11.48 -p 161 -sU -sV


图6: 针对UDP 161端口的Nmap扫描,确认SNMP服务

2.2 SNMP信息枚举

使用 snmp-checksnmpwalk 工具对SNMP服务进行信息枚举。snmpwalk 适合进行更细致的MIB树遍历。

snmp-check 10.10.11.48 -p 161


图7: snmp-check枚举结果

snmpwalk -c public -v 2c 10.10.11.48


图8: snmpwalk枚举结果 (部分)

从SNMP枚举结果中,获得了三条关键信息:

  1. Web服务域名为 underpass.htb
  2. 系统可能存在一个名为 steve 的用户(此信息尚不确定)。
  3. Web系统似乎使用了与 daloradius 相关的组件。

三、daloradius应用突破

3.1 域名绑定与daloradius识别

将域名 underpass.htb 添加到本地 /etc/hosts 文件。
(尝试使用 steve 账户进行SSH爆破或对 underpass.htb 进行子域名爆破均未成功。)

关键在于第三条信息:daloradius。搜索该名称,发现它是一个开源的RADIUS Web管理应用。


图9: daloradius相关信息

对于此类开源Web应用,常见的攻击思路包括:

  1. 查找历史漏洞 (CVE) 并利用。
  2. 查找默认凭据或源码中泄露的凭据。

搜索daloradius相关的CVE,未找到可直接利用的漏洞。但在查找默认凭据时有所发现。


图10: 发现daloradius默认凭据信息

相关信息还指出了daloRADIUS管理端的登录路径通常为 /daloradius/app/operators/login.php


图11: daloradius登录路径信息

3.2 登录daloradius后台

访问 http://underpass.htb/daloradius/app/operators/login.php,使用发现的默认凭据 administrator / radius 进行登录。


图12: 访问daloradius登录页面并尝试登录

成功登录到daloradius后台管理界面。


图13: 成功登录daloradius后台

3.3 后台信息收集与凭据破解

进入系统后台后,常见的利用思路是:

  1. 寻找命令执行、文件上传等可直接导致RCE的功能点。
  2. 寻找用户凭据(Web系统用户或其他系统凭据的泄露)。

在daloradius后台的用户管理或相关配置页面中,发现了一个用户 svcMosh 的密码哈希。


图14: daloradius后台发现svcMosh用户的密码哈希

将该密码哈希提交到在线哈希破解网站 (如 https://hashes.com/) 进行破解。


图15: 在线破解密码哈希得到明文密码

成功破解密码为 underwaterfriends

四、权限提升:Mosh Server利用

4.1 SSH登录与Sudo权限检查

使用获取到的凭据 svcMosh / underwaterfriends 尝试SSH登录目标主机。

ssh svcMosh@10.10.11.48


图16: 成功使用svcMosh用户和破解的密码SSH登录

登录成功后,检查 svcMosh 用户的 sudo 权限。

sudo -l


图17: svcMosh用户的sudo -l输出,显示可以执行mosh-server

sudo -l 输出显示,用户 svcMosh 可以免密码以root权限执行 /usr/bin/mosh-server 命令。
mosh-server 是Mosh (Mobile Shell) 远程终端软件的服务端组件。

4.2 Mosh提权漏洞分析与利用

搜索 mosh-server 相关的提权方法。Mosh的设计允许客户端通过提供一个预共享密钥 (MOSH_KEY) 来连接到由 mosh-server 启动的会话。如果可以控制 mosh-server 的启动(例如通过 sudo),则可以指定其监听的端口和密钥,然后以root权限连接该会话。


图18: mosh-server相关用法说明(示意)

提权步骤如下:

  1. 在目标机 (Server) 上以root权限启动 mosh-server
    sudo /usr/bin/mosh-server 执行时,它会输出一个 MOSH CONNECT 命令,其中包含了端口号和 MOSH_KEY

    sudo /usr/bin/mosh-server
    


    图19: 在目标机上执行sudo mosh-server,获取连接信息

  2. 在攻击机 (Client) 上使用获取到的信息连接
    从上一步的输出中提取 MOSH_KEY 和端口号。然后在攻击机上设置 MOSH_KEY 环境变量,并使用 mosh-client 连接到目标机的指定端口。

    # 在攻击机上执行
    export MOSH_KEY=<KEY_FROM_SERVER_OUTPUT> # 例如 rWvs9Svgy6J14SEw7eKOSA
    mosh-client <TARGET_IP> <PORT_FROM_SERVER_OUTPUT> # 例如 10.10.11.48 60001
    


    图20: 在攻击机上设置MOSH_KEY并执行mosh-client


    图21: 成功通过mosh连接并获取root权限shell

成功连接后,将获得一个root权限的shell。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值