微软Windows RDP文本提取工具Squeegee详解

本文介绍Black Hills信息安全团队开发的Squeegee工具,该工具通过OCR技术从RDP屏幕截图中提取系统信息、用户名等关键数据,支持81种语言识别,帮助红队进行横向移动和权限提升操作。

介绍Squeegee:微软Windows RDP文本提取工具

作者:David Fletcher
来源:Black Hills信息安全团队

大家好,我是BHIS的David!这款工具会让您每次使用时都惊叹"哇哦"。它就像麂皮布、毛巾和海绵的结合体——普通毛巾湿了就没用,但这个工具干湿皆宜。适用于房屋、汽车、船只、房车。它就是Squeegee!能吸附自身重量12倍的液体。看好了,它就是能完成工作。何必费两倍力气?它不会滴漏,不会弄得一团糟。

开个玩笑。Squeegee不会清理您的烂摊子,但希望您能在测试中发现它的价值。实际上,Squeegee是一个从RDP屏幕截图中提取文本的工具。

您可能会问这有什么用处?我们一直在思考如何通过非常规技术获取信息。假设您正在进行内部渗透测试,需要获取数百或数千个网络RDP监听器的主机本地管理员账户名,该如何解决?再考虑需要从环境中获取活动会话信息以实现横向移动和权限提升的情况——Bloodhound会话数据不再像过去那样可靠,现代Windows环境中的会话枚举容易被检测。那么如何统计具有活动RDP会话的用户呢?

示例:RDP已登录用户
Squeegee能同时解决这两个问题。第一步使用NCC Group的scrying等工具收集RDP屏幕截图,然后只需将Squeegee指向对应文件夹即可批量处理结果。

Squeegee执行流程
该工具会过滤在用户名收集和系统分析场景中无效的字符串内容,并能解析RDP图像输出中常见的各种字符串,以识别操作系统、计算机加入的域以及系统补丁缺失情况。支持控制台输出、日志文件输出和HTML报告三种输出方式。

HTML报告按操作系统分类结果,包含下载唯一用户名列表和特定RDP实例关联用户名的链接。

Squeegee HTML报告(目录)
Squeegee示例结果
该工具使用easyocr库提供OCR支持,可提取81种不同语言图像的文本。如下图所示,能轻松处理包含非拉丁字符的图像:

包含非拉丁字符的RDP屏幕截图
若无OCR支持,重现屏幕显示的字符串需要大量精力。通过向脚本传入ISO语言代码,easyocr会处理目标语言相关的字符串。图像处理完成后,可直接从报告复制用户名或下载附带的文本文件。

从RDP截图提取的非拉丁字符串
访问https://github.com/OOAFA/squeegee 获取Squeegee代码库。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计