HTB靶场:Included(TFTP&LXD)

Included

1. 扫描结果

只有一个80端口

2. 访问

看到URL参数,有思路了;测试一下,果然...

将结果放到文本里,便于查看,可以看到只有两个用户是可登录的

还有一个mike

按照靶场习惯寻找mike的flag,未找到,只能换个思路

3. TFTP

回到刚才的passwd文件,最后一行还有个tftp,看起来好像是ftp协议

TFTP是一个基于UDP的简单文件传输协议,只能获取文件或写入文件,无法列出目录和身份验证。

需要再次扫描一遍UDP端口 -sU

发现tftp协议在69端口,默认端口

这个时候需要借助tftp连接工具,通过上传的方式传shell

php-reverse-shell出处:/usr/share/webshells/php/php-reverse-shell.php;或者简单的一句话reverse木马

接下来需要寻找文件上传位置,利用文件包含漏洞执行这个shell

第一,根据刚才的passwd可以推测,/var/lib/tftpboot即为上传路径

第二,寻找tftp的默认上传位置

拿到shell

权限较低,无法读取flag

3. 提权

  • 找正在运行的进程

  • 找网站下面的线索

  • 找权限范围内的其他线索、文件

最终在/var/www/html下找到apache的两个隐藏配置文件.htaccess.htpasswd

一个用于控制 Apache Web 服务器目录的行为,一个用于存储用户的用户名和密码

拿到密码

拿到user.flag

提权root

根据用户所属lxd分组,可以将lxd进行group提权

lxd:轻量级容器管理,该用户组权限可为用户创建镜像

参考两种方法:https://book.hacktricks.xyz/zh/linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation

  • 解决无法连接gthub.com问题:本地下载后搭起http服务,从靶场curl或wget下载
  1. 下载git clone https://github.com/saghul/lxd-alpine-builder

  2. 导入镜像 lxc image import ./alpine*.tar.gz --alias myimage

  3. 初始化 lxd init

  4. 创建并运行容器 lxc init myimage mycontainer -c security.privileged=true

  5. 挂载根目录 lxc config device add mycontainer mydevice disk source=/ path=/mnt/root recursive=true

拿到root.txt

posted @ 2024-12-17 16:29  柯ili  阅读(60)  评论(0)    收藏  举报