RDP协议(Remote desktop protocol)
RDP(remote desktop
protocol)桌面远程传输协议,是一个多通道的协议,可以让用户连接上提供微软终端机服务的电脑。RDP协议大部分被应用在Windows操作系统中,当然也包括linux,freebsc,mac
os
x在内的其他系统。公司员工在出差或者居家办公期间,可以使用远程桌面软件访问其办公计算机,这样一来提高了办公效率,但也带来了很多安全风险隐患。如果攻击者通过RDP协议获取到目标主机的操作系统版本、用户名多维度信息,便可以直接搜索操作系统版本相应的漏洞并利用其实施密码爆破,大大提高了黑客获取目标主机操控权限的概率。
##基于RDP协议的识别方法
识别方法概述
当前最普遍的操作系统识别方法主要是基于规则匹配的方法。例如:利用Nmap扫描目标主机,通过获取网络中传输和接收的数据包信息与它已经创建的规则库进行特征匹配,进行快速识别。但目标主机所处的网络环境会影响数据包信息质量,导致操作系统版本识别准确率较低;另外,单靠Nmap等扫描工具探测维度不够,获取信息有限,无法获取目标主机用户名信息。
解决思路
以虚拟的攻,促真实的防。站在攻击者的角度,解决问题的思路如下:通过RDP协议获取到目标主机的远程桌面登录截图,利用目标检测算法获取目标主机的操作系统版本和用户名位置。考虑到用户名字符存在多种多样的形式,我们将识别到的用户名位置在宽、高上分别设置一定的像素偏差,然后将其裁剪出来,利用ocr模型识别出具体的字符。最后,汇总每个主机的操作系统版本与用户名信息进行返回。
图1 基于RDP协议获取操作系统版本和用户名流程
###实现方法
1.数据准备
我们主要针对Windows操作系统编写脚本,获取开启RDP服务的Windows主机的登录截图,目前主要支持的操作系统版本包括Windows7_Profession、Windows7_Enterprise、Windows7_ulimate、Windows_Server_2008_Standard、Windows_Server_2008_Enterprise、Windows_Server_2008_Datacenter、Windows_Server_2012、Windows_Server_2008_R2_Standard、Windows_Server_2008_R2_Enterprise、Windows_Server_2008_R2_Datacenter、Windows_Server_2008_R2_Foundation、Windows_Server_2008_R2_Web_Service、Windows_Server_2012_R2、Windows10/Windows11/Windows_Server_2016/2019一共14个类别。其中Windows_Server_2016和Windows_Server_2019都是基于Windows
10内核开发的,所以我们将它们归为一类。同时,训练数据为经过人工挑选大量具有代表性的图片,使得模型的泛化能力得以保证。下图是我们基于RDP协议获取到的Windows7_Enterprise的截图,从图中可以看到目标主机的操作系统版本和用户名。
图2 基于RDP协议获取到的用户登录界面
2.目标检测算法
提到目标检测算法,就不得不说Yolo系列,目前Yolo系列已经更新至V7版本,但考虑到算法稳定性问题,我们采用Yolo
V5算法对RDP截图进行识别训练。Yolo系列算法的本质相同,主要原理如下:
图3 yolo算法案例图
将输入图片分割成SxS网格,每个单元格(grid cell)负责去检测中心点落在该格子内的目标,如上图中的红色grid
cell就负责预测“狗”这个对象。其次在不同的算法中每个grid cell又会生成多个bounding
box,简称bbox,每个bbox又有置信度计算方法,其置信度大小一共包含两个部分具体计算公式如下:
其中,表示边界框含有目标的可能性大小,如果该边界框是背景时为0,当边界框包含目标时为1;
表示预测框和真实框的交并比。
表示第个bbox的置信度,取值范围从0到1,表征边界框匹配目标的好坏程度。
每个grid
cell最终的预测值为大小的张量,其中B表示bbox的个数,每个bbox预测值包括它的中心坐标(x,y)和(w,h),也就是边界框相对于整个图片的宽高比例,以及该bbox的边框置信度c;C表示每个bbox预测包含所有类别的概率值。其总的损失函数如下:
整个公式由三部分组成,第一部分为绿色方框中的内容,表示第i个网格中的第j个bbox是否负责这个Object,称为坐标预测;第二部分为红色方框中的内容,分别是含有Object的bbox的置信度预测与不含Object的bbox的置信度预测,统称置信度预测;第三部分为蓝色方框中的内容,表示是否有Object中心落在网格i中,称为类别预测。与
分别为权重系数。
跟常见的机器学习任务一样,训练模型的最终目的是为了使上述的损失函数不断减小,让目标检测任务从 预测方框 和 预测类别
两个维度不断逼近真实的标签数据,从而达到训练效果。经过实验,最终的预测结果如下图所示。
图4 基于rdp方法识别结果图###3.OCR识别
在得到用户名位置后,根据经验判断,将预测框的位置在图片宽度基础上误差设置为0-5个像素值,在高度基础上误差设置为0-3个像素值,然后将其裁剪下来,利用我们已有的ocr模型进行识别,得到最终的操作系统版本类别和用户名信息。同时,支持多个用户名识别。
4.实验结果
为保证测试结果准确性,实验分别对每个类别的600-1000张图片进行测试,最后进行人工核查,得到实验结果如下表所示。在用户名方面,测试的准确率为98%左右。
类别
| 准确率—|—Windows7_Profession
| 99.8%Windows7_Enterprise
| 99.6%Windows7_ulimate
| 99.8%Windows_Server_2008_R2_Standard
| 94.5%Windows_Server_2008_R2_Enterprise
| 98.7%Windows_Server_2008_R2_Datacenter
| 99%Windows_Server_2008_R2_Foundation
| 100%Windows_Server_2008_R2_Web_Service
| 100%Windows_Server_2012_R2
| 98.2%Windows_Server_2008_Standard
| 100%Windows_Server_2008_Enterprise
| 100%Windows_Server_2008_Datacenter
| 100%Windows_Server_2012
| 100%Windows10/Windows11/Windows_Server_2016/2019
| 98%基于rdp方法实验结果
##总结
目前,网络安全风险验证过于依赖人工方式,多以白帽黑客进行人工渗透测试为主,交付方式、工作效率、标准化程度、行为及数据可控性存在多方面不足。同时,网络安全缺乏有效验证手段,尽管企业投入了大量资金购买各类安全系统及设备,也很难科学、准确地验证自身安全控制的有效性及安全投入的合理性。
网络安全攻防技术必将愈发体现出人工智能及机器学习介入的影响,未来的网络安全将会越来越多地出现AI vs
AI的攻防局面,墨云将一直专注人工智能在攻防安全领域的应用研究,打造智能化产品体系,为用户提供全方位的信息安全服务。
技术必将愈发体现出人工智能及机器学习介入的影响,未来的网络安全将会越来越多地出现AI vs
AI的攻防局面,墨云将一直专注人工智能在攻防安全领域的应用研究,打造智能化产品体系,为用户提供全方位的信息安全服务。
最后
分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取
有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:
还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】