Vulhub靶场-KIOPTRIX: LEVEL 1

目录

环境配置

端口扫描

漏洞发现

mod_ssl缓冲区溢出漏洞利用

Samba远程代码执行漏洞利用



环境配置

首先去官网下载靶场导入到虚拟机中

下载地址:Kioptrix: Level 1 (#1) ~ VulnHub

下载完成之后导入到vmware中

这里需要改nat,桥接模式的靶机拿不到IP,按照网上的的教程改成nat模式扫不到端口,最终找到下面的解决办法

  1. 关闭Kioptrix: Level 1 VM 并在VMWARE中移除网络适配器。
  2. 从 VMware 中移除 VM(注意并不是从磁盘删除)。
  3. 浏览到 Kioptrix: Level 1 VMVM 的 VMX 文件的位置并用文本编辑器中开它。
  4. 删除所有以“ethernet0”开头的条目并保存更改。
  5. 然后重新导入虚拟机,并将增加网络设备器,并且其模式为NAT

环境配置好之后可以先看一下靶机的mac地址,方便等会找到靶机IP

Vulhub靶场-KIOPTRIX: LEVEL 1_第1张图片

端口扫描

根据mac地址确认到靶机的IP为192.168.253.147

Vulhub靶场-KIOPTRIX: LEVEL 1_第2张图片

首先对靶机进行一个全面的扫描

nmap -A 192.168.253.147

开启的web服务通过访问后没有发现什么有价值的东西,并且目录扫描之后也没有什么可以利用的信息。

Vulhub靶场-KIOPTRIX: LEVEL 1_第3张图片

漏洞发现

先通过apache的版本去查找一下可以利用的历史漏洞,这里可以看到有三个的mod-ssl版本也符合,这里尝试利用一下。

注:searchsploit 是一个用于搜索漏洞利用代码的命令行工具。是 Metasploit 框架的一部分。

Vulhub靶场-KIOPTRIX: LEVEL 1_第4张图片

mod_ssl缓冲区溢出漏洞利用

首先通过locate命令找一下这三个c文件在哪个目录。

这里可以看一下这个c文件应该怎么用,可以知道先下载libssl-dev

然后再进行编译,编译命令gcc -o OpenFuck OpenFuck.c -lcrypto

Vulhub靶场-KIOPTRIX: LEVEL 1_第5张图片

所以在编译之前先安装一下libssl-dev

Vulhub靶场-KIOPTRIX: LEVEL 1_第6张图片

找到位置后先把那三个c文件下载到/root/目录下

然后进行编译,21671.c和764.c编译的时候都会报错,但是47080.c不会报错。

Vulhub靶场-KIOPTRIX: LEVEL 1_第7张图片

Vulhub靶场-KIOPTRIX: LEVEL 1_第8张图片

Vulhub靶场-KIOPTRIX: LEVEL 1_第9张图片

然后直接执行程序openfuck,因为前面通过nmap已经确认了操作系统为red-hat,apache的版本为1.3.20,那么符合的只有0x6a和0x6b,这里两个都是一下发现只有0x6b可以成功。

Vulhub靶场-KIOPTRIX: LEVEL 1_第10张图片

Vulhub靶场-KIOPTRIX: LEVEL 1_第11张图片

这里也说明了他的用法,后面的-c跟40或者50

Vulhub靶场-KIOPTRIX: LEVEL 1_第12张图片

这里成功了,但是可以发现用户不是root用户而是普通用户,这里注意一下中间在执行该命令时有报错,提示C文件ptrace-kmod.c找不到,我的环境是出网的,不知道为啥没有下载下来这个文件。索性就直接下载一下,然后在本地利用python开启http服务,然后把c文件47080.c的需要调用这个ptrace-kmod.c文件的地址修改一下。

Vulhub靶场-KIOPTRIX: LEVEL 1_第13张图片

这里找到链接所在位置,将其中的地址更改为本地

Vulhub靶场-KIOPTRIX: LEVEL 1_第14张图片

注意这里不要弄错填成127.0.0.1,要填本地ip,

Vulhub靶场-KIOPTRIX: LEVEL 1_第15张图片

然后重新利用这个47080.c文件去编译得到payload应用程序

Vulhub靶场-KIOPTRIX: LEVEL 1_第16张图片

然后再一次去执行应用程序去拿到root权限。

Vulhub靶场-KIOPTRIX: LEVEL 1_第17张图片

Samba远程代码执行漏洞利用

由于nmap没有扫出来samba的版本,所以去网上下载了一个探测samba版本的脚本

下载地址:GitHub - amitn322/smb-version: Python script to get Samba Server Version

这里遇到了两个问题,第一个是没有执行权限,加了权限后报print的错误,这个一看就知道是因为python版本的不同导致的,我这里默认是python3。

Vulhub靶场-KIOPTRIX: LEVEL 1_第18张图片

用python2执行后得到samba的版本为2.2.1a

Vulhub靶场-KIOPTRIX: LEVEL 1_第19张图片

然后通过searchsploit扫描漏洞

osx为mac的操作系统,因为靶机为linux,我们直接使用10.c

编译一下得到abc,然后直接执行abc,看一下它的用法,然后由于我们是linxu,直接-b 0

最终得到root权限

Vulhub靶场-KIOPTRIX: LEVEL 1_第20张图片

MSF可以直接打,但是由于考试不让使用MSF,这里便没有使用。

你可能感兴趣的:(Vulhub靶场,vulbub靶场,samba,mod_ssl)