1.虚拟机导入
靶机下载下来是VMware文件,所以安装了workstation的朋友可以直接打开文件夹中的vmx文件即可;而我用的VitrualBox,这里需要借助VMware OVF Tool将vmx转换为ovf文件。下载地址请自行百度,进入ovftool文件夹打开cmd输入命令:
ovftool.exe "vmx文件路径" "ovf输出路径"
注意,路径的双引号为英文格式,两个路径中间有个空格。
然后在VirtualBox中导入虚拟机挂在ovf文件即可。
2.靶机发现
靶机安装好后,是找到靶机IP进行后续操作。
nmap -sP x.x.x.0/24
可以根据MAC地址后的信息判断图中10.10.10.110为virtualbox创建的靶机。
3.漏洞探测
首先使用nmap对靶机端口以及服务进行探测:
nmap -sV -T4 -p 1-1024 10.10.10.110
nmap中-sV为输出开放端口的详细信息包括版本等,如果不加-p默认扫描端口为常用端口,这里限制扫描端口为1-1024。
4.漏洞利用
4.1 Apache Mod_SSL/Apache-SSL远程缓冲区溢出漏洞(CVE-2002-0082)
使用Exploit-DB搜索到对应的Exploit进行下载。接下来就是对.c文件进行编译。
这里遇到一个坑,在编译的时候系统提示未找到openssl/ssl.h文件或目录。
在编译时需要底层软件支持,而本地系统没有,所以需要先进行安装,具体来说是安装libssl-dev 找不到相应的头文件,所以这里在安装了各种库后还是失败了,甚至还把我的kali虚拟机给搞坏了。。。
被折磨了很久之后在https://n0tty.github.io/2017/02/25/kioptrix-1/中找到了跟我有一样问题的人,他的解决办法是在另外一台ubuntu机器中对exploit进行了编译。
不幸的是我连续在我的centos、ubuntu虚拟机中进行编译均是相同错误提示。
最后在exploit前段注释中找到了答案:
最后照着上图注释进行编译即可。另外如果安装库的时候提示没有该安装包记得在kali中apt-get update来更新安装包。
运行编译后文件47080,根据提示需要根据系统版本以及apache版本来确定需要打进去的内存参数。这里访问靶机80开放的网站,得到靶机系统为RedHat。
再根据exploit语法规则分别尝试这两个内存参数,最后使用0x6b成功拿到靶机shell:
4.2 Samba服务器call_trans2open远程缓冲区溢出漏洞(CVE-2003-0201)
使用smbclient对目标主机进行扫描,得到靶机smb版本为2.2.1a
我这里用了msf的扫描模块,因为我的smbclient一直提示:protocol negotiation failed: NT_STATUS_IO_TIMEOUT
查了很多网上的解决办法都没有解决,暂且先这样吧。
通过smb版本我们在漏洞库查到了两个符合版本的exploit:7.pl&10.c
中间尝试的过程就不展示了,最后使用10.c编译后的exploit成功拿到服务器权限:
自此该靶机的两个漏洞已经全部拿下,后续将会针对使用的工具的介绍和用法做个笔记。