您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战和Windows漏洞利用等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。前文通过编写程序实现加密和解密,并讲解了OllyDbg和在线沙箱的逆向分析过程。这篇文章将详细介绍Windows远程桌面服务漏洞(CVE-2019-0708),该高危漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击,堪比WannaCry。希望对入门的同学有帮助。

话不多说,让我们开始新的征程吧!您的点赞、评论、收藏将是对我最大的支持,感恩安全路上一路前行,如果有写得不好的地方,可以联系我修改。基础性文章,希望对您有所帮助,作者的目的是与安全人共同进步,加油!也强烈推荐大家去看看参考文献的视频和书籍。

文章目录

  • 一.漏洞描述
  • 二.远程桌面连接
  • 三.Kali系统还原漏洞
  • 四.总结

作者的github资源:

  • 系统安全:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
  • 网络安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study

前文分析:

  • [系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向
  • [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例
  • [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战
  • [系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向破解
  • [系统安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大战僵尸游戏
  • [系统安全] 六.逆向分析之条件语句和循环语句源码还原及流程控制
  • [系统安全] 七.逆向分析之PE病毒原理、C++实现文件加解密及OllyDbg逆向
  • [系统安全] 八.Windows漏洞利用之CVE-2019-0708复现及蓝屏攻击

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


一.漏洞描述

2019年5月14日微软官方发布安全补丁,修复了Windows远程桌面服务的远程代码执行漏洞(CVE-2019-0708),该高危漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击的,堪比WannaCry。它影响了某些旧版本的Windows系统,包括:

  • Windows 7 for 32-bit Systems Service Pack 1
  • Windows 7 for x64-based Systems Service Pack 1
  • Windows Server 2008 for 32-bit Systems Service Pack 2
  • Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
  • Windows Server 2008 for Itanium-Based Systems Service Pack 2
  • Windows Server 2008 for x64-based Systems Service Pack 2
  • Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
  • Windows Server 2008 R2 for Itanium-Based Systems Service Pack 1
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
  • Windows XP SP3 x86
  • Windows XP Professional x64 Edition SP2
  • Windows XP Embedded SP3 x86
  • Windows Server 2003 SP2 x86
  • Windows Server 2003 x64 Edition SP2
  • Windows 8和Windows 10及之后版本的用户不受此漏洞影响

2019年09月07日,黑客大佬Rapid7在Github公开发布了CVE-2019-0708(Windows远程桌面服务漏洞)的EXP,基于该模块的漏洞利用工具开始扩散,已经构成了蠕虫级的攻击威胁。

据360Center分析,该漏洞是预身份验证且无需用户交互,这意味着这个漏洞可以通过网络蠕虫的方式被利用。利用此漏洞的任何恶意软件都可能从被感染的计算机传播到其他易受攻击的计算机,其方式与2017年WannaCry恶意软件的传播方式类似。成功利用此漏洞的攻击者可以在目标系统完成安装应用程序,查看、更改或删除数据,创建完全访问权限的新账户等操作。

CVE-2019-0708已公开的漏洞利用工具可以极易的被普通攻击者使用,脚本化/批量化/自动化攻击将接踵而至。经研判,360CERT确认漏洞等级严重,影响面广,建议相关单位、企业内部立即进行安全排查,给在漏洞影响范围内的服务器、主机及时更新安全补丁。


二.远程桌面连接

首先,我们需要在Win7系统(攻击机)设置远程连接。

点击“远程设置”->“远程”,勾选“允许远程协助连接这台计算机”和“仅允许运行使用网络级别身份验证的远程桌面的计算机联机”,然后点击“应用”。

查看IP地址为:

  • 192.168.0.111

接着打开远程控制的电脑Win10系统,在运行中输入“mstsc”。

远程桌面连接中输入IP地址“192.168.0.111”,再点击“连接”按钮。

输入用户名和密码。

接着确定远程桌面连接。

成功控制电脑,这就是远程连接的过程。接下来我们就利用Kali环境复现该CVE漏洞。

简单总结,Win7中允许远程连接主要是设置IP地址,开启计算机属性中的远程连接开关即可。


三.Kali系统还原漏洞

第一步,开启Win10系统的虚拟机Kali系统。

第二步,通过git命令下载远程代码。

git clone https://github.com/n1xbyte/CVE-2019-0708.git

原网站内容显示如下所示:

第三步,查看所下载资源的组成,可以看到crashpoc.py、poc.py、README.md文件。

ls
cd CVE-2019-0708
ls

第四步,查看文件权限并升级权限。

ls -lh

通过“ls -lh”命令查看权限,以“crashpoc.py”权限为例,第一块“-rwx”代表文件主人root的权限,即管理员权限;第二块“r– –”代表这个文件所在组的其他人的权限;第三块“r– –”代表其他人的权限,如Apache等软件属于其他人权限。“r”代表读取权限、“w”达标写入权限、“x”代表执行权限。

chmod 777 crashpoc.py

调用命令“chmod 777 crashpoc.py”修改权限,“chmod”表示change mod修改文件属性;“crashpoc.py”表示所修改的文件;“777”表示权限列表,每个“7”表示一组,总共三组,“r– –”二进制表示“100”,其值为4,而“111”二进制值为7(4+2+1),即所有权限都开启。

输入下面的命令修改权限,“x”代表执行权限,可以看到“crashpoc.py”文件变成了绿色,表示可执行。同时该文件权限修改为“-rwx r-x r-x”。

chmod +x crashpoc.py

第五步,查看源代码。

cat crashpoc.py
cat poc.py

打开crashpoc.py查看源代码,发现需要安装impacket、Structure扩展包。

下述命令“whereis python3”能查看安装位置,“pip3 list”能查看Python安装的所有扩展包。

第六步,安装扩展包。

pip3 install impacket
pip3 install Structure

第七步,利用脚本进行攻击。

python3 crashpoc.py 192.168.0.111 32
#ip地址 系统版本

目标主机蓝屏,复现如下图所示。

注意,运行代码可能会导致错误,Why?应该是OpenSSL的问题。


四.总结

写到这里,这篇文章就介绍结束了,希望对您有所帮助。这里也推荐大家阅读360、绿盟和谢公子大神的文章(参考文献),他们通过MSF目录复现了该漏洞。网上很多实验都是还未攻击就变成蓝屏,说明该漏洞没有MS17_010永恒之蓝的质量高,而且存在一定限制。这篇文章也存在一些不足,作者没有深入理解其原理,也是作为网络安全初学者的慢慢成长路吧!后续会继续深入,更透彻撰写相关文章。

最后补充防御方法:

  • 微软官方已经发布更新补丁(包括Windows XP等停止维护的版本),请用户及时进行补丁更新
  • 若用户不需要用到远程桌面服务,建议禁用该服务
  • 在防火墙中对TCP 3389端口进行阻断
  • 开启系统防火墙或IP安全策略限制来源IP,即只允许指定IP访问
  • 启用网络级认证(NLA),此方案适用于Windows 7, Windows Server 2008, and Windows Server 2008 R2
  • 安装必要的防火墙或杀毒软件,关注安全公司的漏洞报告或防御文章

真心感觉自己要学习的知识好多,也有好多大神卧虎藏龙、开源分享。作为初学者,我们可能有差距,不论你之前是什么方向,是什么工作,是什么学历,是大学大专中专,亦或是高中初中,只要你喜欢安全,喜欢渗透,就朝着这个目标去努力吧!有差距不可怕,我们需要的是去缩小差距,去战斗,况且这个学习的历程真的很美,安全真的有意思。但切勿去做坏事,我们需要的是白帽子,是维护我们的网络,安全路上共勉。

最后,真诚地感谢您关注“娜璋之家”公众号,也希望我的文章能陪伴你成长,希望在技术路上不断前行。文章如果对你有帮助、有感悟,就是对我最好的回报,且看且珍惜!再次感谢您的关注,也请帮忙宣传下“娜璋之家”,哈哈~初来乍到,还请多多指教。

(By: Eastmount 2020-12-27 夜于武汉 https://blog.csdn.net/Eastmount)


参考文献:

  • https://github.com/n1xbyte/CVE-2019-0708
  • CVE-2019-0708 远程桌面漏洞复现-谢公子大神
  • CVE-2019-0708 漏洞利用复现-u010062917
  • https://github.com/rapid7/metasploit-framework
  • 360Windows RDP服务蠕虫级漏洞
  • CVE-2019-0708 EXP披露预警-绿盟

[系统安全] 八.Windows漏洞利用之CVE-2019-0708复现及防御详解相关推荐

  1. [系统安全] 十.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)及防御详解

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  2. [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  3. [网络安全自学篇] 四十四.Windows远程桌面服务缺陷(CVE-2019-0708)复现及防御详解

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了木马原理知识,并通过远程服务器IPC $ 漏洞实现木马植入及控制远程服 ...

  4. Windows漏洞利用技术概述

    Windows漏洞利用技术总结 1. 前言 本文是我对漏洞利用技术的学习总结,也是自己践行QAD (Questions.Answer.Discussions)的一次实践.本文通过阅读几位大牛的文章.演 ...

  5. php可以打印一个页面,利用html实现分页打印功能的实例详解

    本篇介绍利用html实现分页打印功能的实例详解,有些不想打印出来的分页打印的都可以应用这类样式进行控制 在非打印时是无效的. 页面打印 /* 应用这个样式的在打印时隐藏 */ .noPrint { d ...

  6. java io类库,Java利用io类库对各种文件的操作详解

    Java中文网 - Java利用io类库对各种文件的操作详解 java中提供了io类库,可以轻松的用java实现对文件的各种操作.下面就来说一下如何用java来实现这些操作. 新建目录 //Strin ...

  7. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  8. 利用Animation控件制作帧动画过程详解

    利用Animation控件制作帧动画过程详解 前言 通过Animation控件来达到序列图的播放(素材和示例视频在文章末尾) 一.序列图 (此素材为已经分割好的序列图) 如若序列图在一张图片上,请参考 ...

  9. Kali WIndows 漏洞利用基础篇 (探索目标主机漏洞)

    通过使用Kali主机扫描工具Nmap和漏洞利用工具Msf来发现目标主机的系统漏洞和软件服务漏洞.因为很多教程只说了用什么漏洞去攻击,但是前提是该主机存在漏洞或者是该漏洞未被安装补丁(该Kali已经实体 ...

最新文章

  1. Silverlight Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效...
  2. php 显示要上传的图片格式,php判断文件上传图片格式的实例详解
  3. HuggingFace-transformers系列的介绍以及在下游任务中的使用
  4. docker离线包相关脚本编写示例:docker镜像load/push/save脚本
  5. c php数据,C 数据类型
  6. 前端学习(808):复杂数据类型传参
  7. 第九期: 阿里巴巴程序员常用的15款开发者工具
  8. Django之项目搭建和配置总结(一)
  9. Pull解析Xml文件
  10. 讨论一道求质数的面试题
  11. Java多线程篇--基本概念
  12. Conventional-path insert(传统路径插入)
  13. pandas生成日期去掉时分秒
  14. 【可视化开发】数据大屏可视化技术汇总
  15. git恢复commit过的代码
  16. java lang ClassCastException java lang Integer cannot be ca
  17. 4.4 ipu_param_mem.h头文件分析
  18. 我要喷一个自认为很垃圾的网站架构 - 老赵【苏州】
  19. jadx-gui 1.4.5使用时遇到的问题
  20. 编程到底要不要学好数学?

热门文章

  1. 深入浅出MySQL事务处理和锁机制
  2. 机器学习入门KNN近邻算法(一)
  3. 201521123011 《Java程序设计》第8周学习总结
  4. C++学习笔记30:模板与型式参数化
  5. 输入输出(Input and Output)
  6. 无法访问请求的页面,因为该页的数据的相关配置数据无效
  7. ASP.NET2.0中用ICallbackEventHandler实现客户端与服务器端异步交互
  8. flag push tcp 作用_TCP/IP协议到底在讲什么?
  9. pymongo查询列表元素_散列表:如何实现word编辑器的拼写检查?
  10. linux除了cat读取文件内容,linux cut命令和cat命令以及查看文件内容命令总结