type
status
date
slug
summary
tags
category
icon
password
靶场难度:easy
拓展知识:提权,子域名爆破
Titanic实战
1.外网渗透
拿到靶机ip:10.10.11.55
扫描端口:
nmap 10.10.11.55
22需要密码,80找漏洞拿密码,走80看看
跳转到http://titanic.htb/ ,加入windows hosts文件解析
10.10.11.55 titanic.htb如下功能点抓包,发现流量/book是我们提交的内容,/download读取了.json文件的内容


修改
/download?ticket=./db2dfc98-f069-4cc1-a216-744fa4916501.json发现后端接收相对路径,那就换成../../../../../../etc/passwd


文件读取读不到任何东西,22端口的密码还不知道,所以要找到密码文件存储的地方
主站已经找不到东西了,就爆破域名看子站
通过findstr限制状态码



访问‣

找到mysql的配置文件,但公网不开端口,没用
此时,清楚项目跟路径为/home/developer/gitea/data,但不知道docker搭建起来后的效果怎么样,只能自己搭一个或者官网看看

成功读取

此时,22端口的密码只能存在于网站的数据库中,没有其他存储位置,除非找gitea的框架漏洞
先试试能不能通过 任意文件读取读数据库文件

即可下载

打开数据库文件正好跟/etc/passwd的俩个用户一样

问ai怎么解密,ai思考自己死循环了,自己搜索
gitea渗透密码破解python .\test.py -s 8bf3e3452b78544f8bee9400d6936d34 -t e531d398946137baea70ed6a680a54385ecff131309c0bd8f225f284406b7cbc8efc5dbef30bf1682619263444ea594cfb56 -w .\rockyou-top15000.txt
最后找到developer密码为25282528,连接机器,得到普通用户flag

2.内网提权
常规sudo提权不可用,suid提权失败,计划任务提权均失败
查看wp,学习新手法
- 查找写权限的目录
find / -writable -type d 2>/dev/null- 再看看有执行权限的命令
find /opt -type f -perm -u=x 2>/dev/null
此处看到一个命令,查一下版本,提权漏洞

Google搜索
magick exploit poc查到任意代码执行CVE-2024-41817在
/opt/app/static/assets/images/下运行如下命令即可在/tmp/目录创建sh,其他目录无效,因为/opt/scripts/identify_image.sh 文件中设置的工作目录是/opt/app/static/assets/images/输入
/tmp/sh -p 获得root权限sh
的-p`选项用于在特权模式下启动shell。特权模式意味着shell会以启动它的进程的有效用户ID(通常是root)来运行
Cap实战
1.外网渗透
拿到靶机ip:10.10.10.245
扫描端口:
nmap 10.10.10.245
ssh,待收集密码,一般不选择爆破,试几个123456,root,admin,password连不上放弃
ftp,缺密码,不能匿名连接

进web页面

各种功能点都点一下,发现burp中出现一个响应类型为app的包,下载一下发现是pcap,wireshark的流量包,下载出的1.pcap流量看完后全是正常web页面的流量,没东西

尝试http://10.10.10.245/download/0-10都试试
在http://10.10.10.245/download/0的时候,下载的pcap包看到了ftp账户

连接后可读取目录,拿到user的flag。

此处ftp也可以读取根目录的各种文件,而一般是只允许读/home/user/,此处感觉是系统存在相同的用户,直接复用了用户的权限,所以存在相同的账号密码连接ssh

2.内网提权
sudo提权 和 suid提权此处都没有成功。
计划任务并未设置任何的sh文件,无需判断sh文件是否可编辑,也无法提权

不存在docker,不能docker提权
passwd提权需要对/etc/passwd可读可写,此处放弃

ssh密钥提权不满足条件

最后看WP,学习python提权https://gtfobins.github.io/gtfobins/python/
先输入,python,python2,python3看看有哪个环境,存在python3

接下来直接粘链接中的命令成功提权
python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
