HTB devvortex

发布于:2025-09-07 ⋅ 阅读:(14) ⋅ 点赞:(0)

奇怪,80端口进来一个页面,没啥功能点,burp也抓不到包

学到一手新东西,域名和子域名可能指向同一个服务器IP,但是得到的网页是不一样的,原因在于应用了虚拟主机技术

虚拟主机(Virtual Host) 的机制

当多个网站共享同一个 IP 地址时,服务器通过 HTTP 请求头中的 Host字段来区分不同的网站。这就是基于名称的虚拟主机技术。

在一个 IP 上,可以运行多个网站,靠的就是 虚拟主机 配置:

  • Apache 里叫 VirtualHost
  • Nginx 里叫 server_name

例如 Nginx 配置可能是:

server {
    server_name devvortex.htb;
    root /var/www/devvortex;
}

server {
    server_name portal.devvortex.htb;
    root /var/www/portal;
}

这样:

  • 访问 devvortex.htb → 返回 /var/www/devvortex 的内容
  • 访问 portal.devvortex.htb → 返回 /var/www/portal 的内容

接下来学习一个枚举FUZZ工具ffuf的使用

ffuf -u FUZZ.devvortex.htb -w /home/gw/桌面/test/fuzzDicts-master/subdomainDicts/main.txt -fc 302

字典从github找的

https://github.com/TheKingOfDuck/fuzzDicts

还真是有意思,有种打SRC的感觉,果然世界是一个巨大的环

第一次没有扫到,ai一才发现对于虚拟主机需要使用特殊的语法

服务器根据请求中的 Host: admin.site1.com来决定返回哪个网站的内容。

⚙️ 为什么要用 Host 头扫描?

绕过 DNS 限制

当子域名未配置 DNS 记录时,直接访问 http://sub.domain.com会失败。但服务器可能已配置了该虚拟主机,通过修改 Host 头仍可访问。

发现隐藏服务

管理员可能未公开 DNS 记录,但服务器已配置虚拟主机(如内部测试环境)。

扫描 IP 直接绑定的服务

当目标只有 IP 没有域名时(如 http://10.10.10.10),通过修改 Host 头可枚举所有配置在该 IP 上的虚拟主机。

ffuf -u http://devvortex.htb -H "Host: FUZZ.devvortex.htb" -w wordlist.txt -fc 302

发现子域名dev,进来拿diesearch扫一扫

image-20250906160938611

image-20250906160858559

进administrator后台发现一个登录页面,看着像某种框架,搜一下看看有没有弱口令

  • Joomla! CMS(内容管理系统)的后台管理登录界面

Joomla 默认用户名确实经常是 admin

常见弱密码:

  • admin
  • password
  • 123456
  • admin123
  • joomla
  • qwerty

搜弱密码的时候突然发现这玩意有个未授权访问

image-20250906162150150

拿到数据库信息

user: lewis

password: P4ntherg0t1n5r3c0n##

成功进入到后台

image-20250906162414368

getshell网上一搜一大堆

进入global configuration允许php上传

image-20250906163615950

接下来学习msfenom使用

-l  列出所有可用的payload,编码器,空指令……
-p  指定要使用的msf的payload,也可以使用自定义payload,几乎是支持全平台的
-f  指定payload输出的文件类型,--help-formats,可查看支持的所有输出格式
-e  指定要使用那种编码器
-i  指定编码的次数,如果使用编码器
-b  指定坏字符,比如空字符截断问题,等等……
-x  使用一个自定义可执行程序模板,并将payload嵌入其中
-k  当模板被执行时,payload自动分离并注入到新的进程中,一般和-x选项一并使用
-o  指定创建好的payload的存放位置

这里不知道为什么上传失败,转到system里的template下的error.php成功

奇怪的是这里反弹shell一直504超时

换一种手法,先把反弹命令的shell放到python服务器下,目标机用curl命令执行,突然成功了,ai了一下发现原因是msf生成的php代码会因为网络原因产生超时,curl命令则会立即下载并执行,想对来说快的多

提升TTY

script -c /bin/bash -q /dev/null

进来权限只有www-data,把LinEnum传进去看看

没发现什么明显的东西,在之前未授权的时候我们其实拿到数据库的用户名和密码,能否再次利用去拿一些其他信息或者提权

$2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12

进来拿到logan的哈希密码,这里也是被gpt坑了一手,原来用hashcat就可以跑出来原文密码

3200 bcrypt模式,0 使用字典攻击

hashcat -m 3200 -a 0 pass.txt /usr/share/wordlists/rockyou.txt --show

image-20250906211226980

发现个网站也能跑出来 https://hashes.com/zh/decrypt/hash

logan tequieromucho

尝试ssh登录

进来后先查看一下sudo

image-20250906213319761

利用蛮有意思,正好跟上一个靶场对上了,查看文件时用less分页,进而打出rootshell

image-20250906214703913


网站公告

今日签到

点亮在社区的每一天
去签到