HTB-Included(本地文件包含、TFTP文件上传、LXD容器挂载目录)

前言

  • 各位师傅大家好,我是qmx_07,今天给大家讲解Included靶机
    在这里插入图片描述

渗透过程

信息搜集

  • rustscan工具 通常只扫描TCP端口,所以我们要配合nmap进行-sU 执行udp端口扫描
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 可以观察到 服务器开放了TFTP UDP端口,用来进行文件传输协议,端口号是69
  • 同时开放了80 HTTP TCP端口

发现HTTP服务 存在本地文件包含

在这里插入图片描述

  • 发现url地址栏里 有?filename 这个参数,怀疑是文件包含
    在这里插入图片描述
  • /etc/passwd 文件存放linux系统存在的用户信息
  • 确认 存在文件包含漏洞

登录TFTP服务 上传shell php文件

  • 文件准备:
    在这里插入图片描述
  • 文件存放在:/usr/share/webshells/php/php-reverse-shell.php
    在这里插入图片描述
  • 通过tftp 上传shell文件
  • tftp默认存放目录: /var/lib/tftpboot

通过文件包含漏洞 反弹会话

在这里插入图片描述

  • 访问上传的shell文件,成功反弹会话
    在这里插入图片描述
  • 通过以下命令,稳定会话
script /dev/null -c bash

在这里插入图片描述

  • 通过访问网站目录,发现mike用户及密码

LXD权限提升

在这里插入图片描述

  • 通过查看mike用户 发现所属于lxd组
  • LXD 是用于在 Linux 系统上处理 LXC 容器的管理 API,为本地 lxd 组的任何成员执行任务
  • 通过查阅Hackticks 资料,利用 Alpine 镜像起作用,该镜像是基于 busy box 的轻量级 Linux 发行版,在本地下载并构建此发行版后,将使用 HTTP 服务器将其上传到远程系统。然后将该映像导入 LXD 中,并使用 root 权限挂载 Host 文件系统

alpine镜像下载:

git clone https://github.com/saghul/lxd-alpine-builder.git

cd lxd-alpine-builder

./build-alpine

在这里插入图片描述

  • 开启http服务器
    在这里插入图片描述
  • 下载HTTP服务中的alpine 镜像
    在这里插入图片描述
lxc image improt 镜像 //导入镜像
lxc image list //查看容器列表

挂载目录:


设置security.privileged为ture,这样容器就能拥有根文件系统拥有的所有特权
lxc init cd73881adaac privesc -c security.privileged=true

在 LXC 容器中添加一个磁盘设备并挂载到/mnt文件夹
lxc config device add privesc host-root disk source=/ path=/mnt/root recursive=true

在这里插入图片描述
在这里插入图片描述

  • 容器初始化设置权限、挂载文件夹成功
    在这里插入图片描述
  • 启动容器并开启shell
    在这里插入图片描述
    用户 flag:a56ef91d70cfbf2cdb8f454c006935a1

在这里插入图片描述
root flag:c693d9c7499d9f572ee375d4c14c7bcf

知识点讲解

  • Linux Container(LXC)通常被认为是一种轻量级虚拟化技术,它介于Chroot和完整开发的虚拟机之间,LXC可以创建一个跟正常Linux操作系统十分接近的环境,但是不需要使用到单独的内核资源
  • Linux Daemon(LXD)是一个轻量级容器管理程序,而LXD是基于LXC容器技术实现的,而这种技术之前Docker也使用过。LXD使用了稳定的LXC API来完成所有的后台容器管理工作,并且增加了REST API支持,更进一步地提升了用户体验度

答案

  • 1.服务器运行着什么服务?

TFTP

  • 2.HTTP80端口 拥有什么漏洞?

Local File Inclusion

  • 3.TFTP 用来默认存储的文件地址是?

/var/lib/tftpboot/

  • 4.哪个文件位于Web服务器文件夹,用于横向移动?

.htpasswd

  • 5.Mike所属的哪个组可以用作权限提升?

lxd

  • 6.利用镜像是什么?

alpine

  • 7.为容器设置什么参数 能拥有root权限?

security.privileged=true

  • 8.挂载目录后,可以在容器哪个位置找到flag.txt?

/mnt/root/

  • 9.用户flag是?

a56ef91d70cfbf2cdb8f454c006935a1

  • 10.root flag是?

c693d9c7499d9f572ee375d4c14c7bcf

总结

  • 介绍了 本地文件包含、TFTP协议 上传shell文件反弹会话,通过容器挂载目录 做权限提升
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值