这是作者新开的一个专栏——“漏洞挖掘与防护”,前期会复现各种经典和最新漏洞,并总结防护技巧;后期尝试从零学习漏洞挖掘技术,包括Web漏洞和二进制及IOT相关漏洞,以及Fuzzing技术。新的征程,新的开启,漫漫长征路,偏向虎山行。享受过程,感谢您的陪伴,一起加油~
第一篇文章将详细介绍Windows远程桌面服务漏洞(CVE-2019-0708),该高危漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击,堪比WannaCry。您的点赞、评论、收藏将是对我最大的支持,感恩安全路上一路前行,如果有写得不好的地方,还请海涵。基础性文章,希望对您有所帮助,作者的目的是与安全人共同进步,加油!也强烈推荐大家去看看参考文献的视频和书籍。
文章目录:
- 一.学习路线
- 二.漏洞描述
- 三.远程桌面连接
- 四.Kali系统还原漏洞
- 五.防护及总结
前文赏析:
- [漏洞挖掘与防护] 01.漏洞利用之CVE-2019-0708复现及防御详解(含学习路线)
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
一.学习路线
下面是本人准备从零学习漏洞挖掘(Fuzzing入门)的部分技术路线,作为初学者分享与大家学习,也欢迎大家留言补充和讨论,共勉。
1.基础
- 南大《程序分析》
https://haotianmichael.github.io/2021/05/04/NJU静态程序分析-1-Data-Flow-Analysis/
- fuzzingbook
https://www.fuzzingbook.org/ - Fuzzing101
https://github.com/antonio-morales/Fuzzing101
https://blog.attify.com/fuzzing-iot-devices-part-1/ - 顶会论文阅读:安全四大顶会+软工顶会
2.技术
- AFL (源码解读)
- angr (直接从github学习吗?):基本用法->实例
- 模糊测试、污点分析、符号执行【动静态】
- Ghidra(二进制、开源代表性工具)
- 内核模糊测试工具:syzkaller
- ASAN
- codeql
- MIASM
3.实战
- 固件漏洞实际分析
- 协议漏洞挖掘
- 软件漏洞挖掘
- Web渗透
- IoT漏洞分析(路由设备)
- 区块链漏洞挖掘(智能合约)
- CVE和CNVD申请
- n-day复现 => 0-day挖掘
4.趋势
- LLM+Fuzzing:推荐作者分享的南洋理工大学刘杨教授笔记(见『网络攻防和AI安全之家』知识星球)
- Web3+Fuzzing
- 卫星+Fuzzing
二.漏洞描述
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 2024-07-10 夜于火星)
参考文献:
- 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披露预警-绿盟
原文始发于微信公众号(娜璋AI安全之家):[漏洞挖掘与防护] 01.漏洞利用之CVE-2019-0708复现及防御详解(含学习路线)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论