惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
J
Java Code Geeks
V
V2EX
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园 - Franky
爱范儿
爱范儿
T
Tailwind CSS Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
博客园_首页
B
Blog RSS Feed
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

Black Hills Information Security, Inc.

Bad Habits: An ANTISOC Operation Same Problem, Different Angles: When Red Team and Blue Team Actually Talk to Each Other How to Identify and Exploit New Vulnerabilities Swapper – A Pure Regex Match/Replace Burp Extension A Practical Guide to BloodHound Data Collection Network Engineering Basics Signed, Trusted, and Abused: Proxy Execution via WebView2 Getting Started In Pentesting – Advice From The BHIS Pentest Lead Cloud Security: Tips and Resources for Securing the Cloud Lessons From A Chatbot Incident How to Lead Effective Tabletops Understanding GRC: How to Navigate Risks and Compliance Standards The “P” in PAM is for Persistence: Linux Persistence Technique Malware Analysis: How to Analyze and Understand Malware OSINT: How to Find, Use, and Control Open-Source Intelligence What to Do with Your First Home Lab When the SOC Goes to Deadwood: A Night to Remember Social Engineering and Microsoft SSPR: The Road to Pwnage is Paved with Good Intentions Common Cyber Threats Finding the Right Penetration Testing Company Deceptive-Auditing: An Active Directory Honeypots Tool The Curious Case of the Comburglar How to Set Smart Goals (That Actually Work For You) Inside the BHIS SOC: A Conversation with Hayden Covington Abusing Delegation with Impacket (Part 3): Resource-Based Constrained Delegation Why You Got Hacked – 2025 Super Edition Abusing Delegation with Impacket (Part 2): Constrained Delegation Abusing Delegation with Impacket (Part 1): Unconstrained Delegation GoSpoof – Turning Attacks into Intel Model Context Protocol (MCP)
Introducing Squeegee: The Microsoft Windows RDP Scraping ...
BHIS · 2024-05-18 · via Black Hills Information Security, Inc.

, , ,

Hi, it’s David with BHIS! You’ll be saying, “Wow,” every time you use this tool. It’s like a shammy. It’s like a towel. It’s like a sponge. A regular towel doesn’t work wet. This works wet or dry. This is for the house, the car, the boat, the RV. It’s Squeegee! Holds 12 times its weight in liquid. Look at this. It just does the work. Why would you want to work twice as hard? It doesn’t drip. It doesn’t make a mess.

Just kidding. Squeegee won’t clean up your messes, but hopefully, you will find it useful on your tests. Squeegee is actually a tool to scrape text from RDP screen captures.

You are probably asking yourself why that might be useful. We are constantly thinking about ways to get information using unconventional techniques. Imagine that you are on an internal penetration test and you want to know what the local administrator account username is on hosts, but you have hundreds or thousands of RDP listeners on the network. How might you approach that problem?

Next, consider a situation where you might want to get active session information from the environment in an effort to move laterally and escalate privileges. Bloodhound session data isn’t as reliable as it used to be, and, in modern Windows environments, session enumeration tends to get caught. What about cataloging users with active RDP sessions?

Example RDP Logged In Users

Squeegee can help in both of these situations. The first step is to collect RDP screen captures using a tool like NCC Group’s scrying. Once you have the RDP screen captures, you can process the entire group of results using Squeegee by just pointing the tool at the correct folder.

Squeegee Execution

Squeegee will filter string content that is not likely to be useful in the context of username harvesting and system analysis. In addition, the tool will interpret various strings commonly observed in RDP image output to identify the operating system, the domain the computer is joined to, and whether the system is missing patches. Reporting options include console output, logfile output, and an HTML report.

The HTML report organizes results by operating system and includes links to download the full list of unique usernames and usernames associated with a given RDP instance.

Squeegee HTML Report (Table of Contents)
Squeegee Sample Results

Squeegee uses the easyocr library for OCR support. As a result, text can be extracted from images with support for 81 different languages. This provides an easy method to process an image like the one shown below.

RDP Screen Capture with Non-Latin Characters

Without OCR support, reproducing strings presented on the screen may take considerable effort. Passing in the ISO language code to the script will cause easyocr to process strings associated with the target language. Once the images have been processed, usernames can be copied and pasted from the report or downloaded in the accompanying text file.

Non-Latin Strings Extracted from RDP Screen Capture

Check out the Squeegee repository at https://github.com/OOAFA/squeegee.



Ready to learn more?

Level up your skills with affordable classes from Antisyphon!

Pay-What-You-Can Training

Available live/virtual and on-demand