目录
环境配置
端口扫描
漏洞发现
mod_ssl漏洞利用
Samba远程代码执行漏洞利用
环境配置
首先去官网下载靶场导入到虚拟机中
下载地址:Kioptrix: Level 1 (#1) ~ VulnHub
下载完成之后导入到vmware中
这里需要改nat,桥接模式的靶机拿不到IP,按照网上的的教程改成nat模式扫不到端口,最终找到下面的解决办法
- 关闭Kioptrix: Level 1 VM 并在VMWARE中移除网络适配器。
- 从 VMware 中移除 VM(注意并不是从磁盘删除)。
- 浏览到 Kioptrix: Level 1 VMVM 的 VMX 文件的位置并用文本编辑器中开它。
- 删除所有以“ethernet0”开头的条目并保存更改。
- 然后重新导入虚拟机,并将增加网络设备器,并且其模式为NAT
环境配置好之后可以先看一下靶机的mac地址,方便等会找到靶机IP
端口扫描
根据mac地址确认到靶机的IP为192.168.253.147
首先对靶机进行一个全面的扫描
nmap -A 192.168.253.147
开启的web服务通过访问后没有发现什么有价值的东西,并且目录扫描之后也没有什么可以利用的信息。
漏洞发现
先通过apache的版本去查找一下可以利用的历史漏洞,这里可以看到有三个的mod-ssl版本也符合,这里尝试利用一下。
注:searchsploit 是一个用于搜索漏洞利用代码的命令行工具。是 Metasploit 框架的一部分。
mod_ssl漏洞利用
首先通过locate命令找一下这三个c文件在哪个目录。
这里可以看一下这个c文件应该怎么用,可以知道先下载libssl-dev
然后再进行编译,编译命令gcc -o OpenFuck OpenFuck.c -lcrypto
所以在编译之前先安装一下libssl-dev
找到位置后先把那三个c文件下载到/root/目录下
然后进行编译,21671.c和764.c编译的时候都会报错,但是47080.c不会报错。
然后直接执行程序openfuck,因为前面通过nmap已经确认了操作系统为red-hat,apache的版本为1.3.20,那么符合的只有0x6a和0x6b,这里两个都是一下发现只有0x6b可以成功。
这里也说明了他的用法,后面的-c跟40或者50
这里成功了,但是可以发现用户不是root用户而是普通用户,这里注意一下中间在执行该命令时有报错,提示C文件ptrace-kmod.c找不到,我的环境是出网的,不知道为啥没有下载下来这个文件。索性就直接下载一下,然后在本地利用python开启http服务,然后把c文件47080.c的需要调用这个ptrace-kmod.c文件的地址修改一下。
这里找到链接所在位置,将其中的地址更改为本地
注意这里不要弄错填成127.0.0.1,要填本地ip,
然后重新利用这个47080.c文件去编译得到payload应用程序
然后再一次去执行应用程序去拿到root权限。
Samba远程代码执行漏洞利用
由于nmap没有扫出来samba的版本,所以去网上下载了一个探测samba版本的脚本
下载地址:GitHub - amitn322/smb-version: Python script to get Samba Server Version
这里遇到了两个问题,第一个是没有执行权限,加了权限后报print的错误,这个一看就知道是因为python版本的不同导致的,我这里默认是python3。
用python2执行后得到samba的版本为2.2.1a
然后通过searchsploit扫描漏洞
osx为mac的操作系统,因为靶机为linux,我们直接使用10.c
编译一下得到abc,然后直接执行abc,看一下它的用法,然后由于我们是linxu,直接-b 0
最终得到root权限
MSF可以直接打,但是由于考试不让使用MSF,这里便没有使用。