靶机地址
难度:初级
靶机发布日期:2010年2月17日
靶机描述:Kioptrix VM Image Challenges:
This Kioptrix VM Image are easy challenges. The object of the game is to acquire root access via any means possible (except actually hacking the VM server or player). The purpose of these games are to learn the basic tools and techniques in vulnerability assessment and exploitation. There are more ways then one to successfully complete the challenges.
博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:want2live233@gmail.com
工具、知识点和漏洞
- nmap
- dirsearch
- searchsploit
- metaspaloit
- samba 2.2 缓冲区溢出
- samba 2.2 RCE
- Apache/mod_ssl 缓冲区溢出
0x00、信息收集
友情提示:这个靶机完全开启可能需要5分钟……看到kioptrix login:才可以
靶机IP:192.168.0.108
nmap -sP 192.168.0.0/24
端口和服务
nmap -sS -sV -T5 -A -p- 192.168.0.108
页面、目录枚举
dirb http://192.168.0.108 -X .php,.txt,.zip,.html
python3 dirsearch.py -u http://192.168.0.108 -e .php,.txt,.zip,.html
gobuster dir -u http://192.168.0.108 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip
http://192.168.0.108/test.php
http://192.168.0.108/usage/
http://192.168.0.108/manual/
http://192.168.0.108/manual/mod/mod_ssl/
http://192.168.0.108/mrtg/
运行rpcinfo没有发现nfs共享
nikto扫描
nikto -host http://192.168.0.108
/wordpresswp-includes/js/tinymce/themes/modern/Meuhy.php?filesrc=/etc/hosts
searchsploit openssl,发现有远程缓冲区溢出漏洞
0x01、Apache/mod_ssl
桌面新建一个文件夹,将exp拷贝到里面,gcc编译,结果提示没有openssl
解决办法:sudo apt-get install libssl-dev
使用说明如下:
我们的靶机是RedHat系列,Apache版本1.3.20
前两次都没成,第三次成功了
0x02、samba 2.2
1)Remote Code Execution
samba版本检测
searchsploit samba 2.2
编译exp
2)call_trans2open(RBO)
Remote Buffer Overflow --> RBO
编译exp,最开始试了第一个,结果没编译成功,查看了一下源代码发现是针对OpenBSD和FreeBSD的
3)利用MSF
nttrans(Remote Overflow)利用失败
试了这么多次远程缓冲区溢出可能靶机已经被玩坏了……后面一直在不停的尝试Trying return address……
过了两三分钟还在Trying,我放弃了……
5分钟后……得到了root权限的shell
我这可不是苦等了5分钟哈,我是给这个利用模块设置了一个payload
说一下MSF框架中的各个模块:
- Auxiliaries(辅助模块):负责执行扫描、嗅探、指纹识别等相关功能。
- Exploit(漏洞利用模块):漏洞利用是指由渗透测试者利用一个系统、应用或者服务中的安全漏洞进行的攻击行为。流行的渗透测试技术包括缓冲区溢出、Web应用程序攻击,以及利用配置错误等,其中包含攻击者或者测试人员针对系统中的漏洞而设计的各种PoC验证程序,用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
- Payload(攻击载荷模块):攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标之后,用于在目标系统上运行任意命令或者执行特定代码,在MSF框架中可以自由地选择、传送和植入。攻击载荷也可能是简单地在目标操作系统上执行一些命令,如添加用户账户(linux/x86/adduser),反弹shell(linux/x86/shell_reverse_tcp)等
- Post(后期渗透模块):该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、实现跳板攻击等。
- Encoders(编码工具模块):该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、IDS及类似的安全软件检测出来。
可能说了这些还是不太好理解Exploit和Payload有啥区别,结合上面这个例子来说,我在选择了linux/samba/trans2open这个Exploit之后,在这个模块下,可供我选择的Payload有很多,比如获取shell(linux/x86/shell/reverse_tcp)、添加用户(linux/x86/adduser)、读取文件(linux/x86/read_file),查看在某个模块下有哪些可用的payload可以用show payloads
。放到游戏里面来说,就是通过Exploit我们可以给我们的游戏角色升一级,但是可以通过Payload来指定你想把属性点加到哪个属性上,是加到力量,还是加到敏捷,或者是闪避,你可以自己选。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。更多VulnHub靶机的Walkthrough,请访问本人博客(https://blog.csdn.net/weixin_44214107)。欢迎扫描下方个人微信二维码与我交流。我是ins1ght.