{"id":391,"date":"2026-08-03T03:41:35","date_gmt":"2026-08-03T03:41:35","guid":{"rendered":"https:\/\/whoer.io\/?p=391"},"modified":"2026-08-09T04:26:09","modified_gmt":"2026-08-09T04:26:09","slug":"why-rdp-is-still-the-most-abused-entry-point-in-corporate-networks","status":"publish","type":"post","link":"https:\/\/whoer.io\/why-rdp-is-still-the-most-abused-entry-point-in-corporate-networks\/","title":{"rendered":"Why RDP Is Still the Most Abused Entry Point in Corporate Networks \u2014 and How to Fix It"},"content":{"rendered":"<p>Remote Desktop Protocol has been around since 1998. In that time, the security industry has produced hundreds of advisories, patches, emergency directives, and post-mortems about it. And yet, in 2024, RDP remains one of the most reliably exploited services on the internet.<\/p>\n<p>According to the FBI&#8217;s Internet Crime Complaint Center, ransomware attacks cost U.S. organizations more than $59.6 million in reported losses in 2023 alone \u2014 and independent research consistently identifies RDP as the leading initial access vector for ransomware deployments, appearing in over 50% of confirmed incidents analyzed by incident response firms. The attack surface hasn&#8217;t shrunk. If anything, the hybrid work shift between 2020 and 2022 pushed organizations to expose RDP more aggressively than ever \u2014 and many never pulled it back.<\/p>\n<p>This article is about why that gap still exists, what attackers actually do with it, and what a realistic fix looks like in a typical Windows environment.<\/p>\n<h2>How Attackers Exploit Remote Desktop Protocol<\/h2>\n<p>RDP attacks are rarely sophisticated. That&#8217;s what makes them durable.<\/p>\n<p>Brute force and credential stuffing are the entry-level techniques. Port 3389 \u2014 the default RDP port \u2014 is scanned globally within minutes of any new IP being allocated. Tools like Shodan and Censys index millions of exposed RDP endpoints, and threat actors use automated tools to fire credential lists against them continuously. A network with 200 users has statistically predictable passwords: company name + year, first name + birthdate, Welcome1, Summer2024. It takes modest computing resources to cycle through these.<\/p>\n<p>Pass-the-hash moves the attack one level up. Once an attacker has obtained an NTLM hash from one system \u2014 through a phishing payload, a compromised endpoint, or a leaked database \u2014 they don&#8217;t need to crack it. Windows authentication accepts the hash directly. An attacker who compromises a low-privilege workstation can harvest hashes from memory using tools like Mimikatz, then authenticate via RDP to higher-value servers without ever knowing the plaintext password.<\/p>\n<p>BlueKeep (CVE-2019-0708) served as a wake-up call about how catastrophic unpatched RDP can be. A pre-authentication remote code execution vulnerability in Windows 7, XP, and Server 2008, it allowed an attacker to compromise a machine without credentials at all. Microsoft issued an emergency patch and CISA issued an emergency directive \u2014 and yet months after the patch, hundreds of thousands of vulnerable systems remained reachable on the public internet.<\/p>\n<p>Man-in-the-middle attacks exploit the fact that many RDP deployments skip Network Level Authentication (NLA) or use self-signed certificates that clients blindly accept. An attacker positioned between the client and server can capture credentials in transit. In environments where certificate validation warnings are routinely clicked through by users, this is a practical attack, not a theoretical one.<\/p>\n<p>The pattern across all these techniques: they work because the authentication step is a single gate, and that gate is a password. Passwords leak, get reused, get phished, get cracked, and get stolen from memory. The gate holds until it doesn&#8217;t.<\/p>\n<h2>Why IP Allowlisting and VPNs Are Not Enough<\/h2>\n<p>The standard IT response to exposed RDP is to restrict it: put it behind a VPN, add IP allowlisting, or both. These are worthwhile controls. They are not sufficient on their own.<\/p>\n<p>VPN-gated RDP reduces the exposure surface, but it moves the problem rather than eliminating it. The VPN itself becomes the target. VPN credentials face the same brute force, phishing, and credential stuffing attacks as RDP did before. Once inside the VPN, attackers often find internal RDP services with no additional authentication required \u2014 a single compromised VPN credential opens the entire internal network.<\/p>\n<p>IP allowlisting assumes a stable set of source addresses. For a fully managed corporate fleet, this is plausible. For any organization with remote workers, contractors, or traveling employees, it creates operational friction that drives users to request exceptions \u2014 and exceptions accumulate into gaps.<\/p>\n<p>Jump hosts and RD Gateways add an architectural layer, but they don&#8217;t add a second factor. A compromised set of credentials still authenticates to the gateway.<\/p>\n<p>None of these controls addresses the core problem: the authentication decision is made on the basis of a single shared secret, and shared secrets fail.<\/p>\n<h2>The Case for MFA on RDP: What the Standards Say<\/h2>\n<p>The cybersecurity standards community reached consensus on this years ago.<\/p>\n<p>NIST Special Publication 800-63B defines Authenticator Assurance Level 2 (AAL2) \u2014 the baseline for access to any sensitive system \u2014 as requiring two distinct authentication factors. Password-only authentication satisfies no assurance level in the current NIST framework; it doesn&#8217;t even reach AAL1 for high-value targets.<\/p>\n<p>CISA&#8217;s guidance on remote access security explicitly lists MFA as a required control for any remote desktop or remote access service exposed to employees or contractors. Their Known Exploited Vulnerabilities catalog contains dozens of RDP-related entries, and their advisory on ransomware prevention consistently names &#8220;enable MFA on all remote access&#8221; as the highest-priority mitigation.<\/p>\n<p>PCI DSS v4.0 (Requirement 8.4.2) mandates MFA for all remote access to the cardholder data environment, whether by employees or vendors. HIPAA&#8217;s technical safeguards require access controls and authentication mechanisms that would be satisfied by MFA. The EU NIS2 Directive (Article 21) explicitly requires multi-factor or continuous authentication for access to network and information systems for essential and important entities.<\/p>\n<p>The standards aren&#8217;t suggesting MFA for RDP as a best practice. They&#8217;re treating it as a baseline requirement.<\/p>\n<h2>How to Add Two-Factor Authentication to RDP Without Breaking Workflows<\/h2>\n<p>The main objection IT teams raise about RDP MFA is operational friction. Users already struggle with the RDP connection flow; adding a second step sounds like a support ticket generator.<\/p>\n<p>In practice, when it&#8217;s implemented at the Windows Credential Provider level \u2014 meaning the second factor is requested as part of the normal Windows login screen, not bolted on as a separate web step \u2014 users adapt quickly. The flow becomes: enter username and password, enter a six-digit TOTP code from an authenticator app. Most users find this takes under ten seconds once they&#8217;re enrolled.<\/p>\n<p>The enrollment process is the more sensitive part. Self-service enrollment portals (where users scan a QR code to register their authenticator app) have a much higher completion rate than IT-driven enrollment. Sending a link via email with a deadline attached, combined with a brief internal FAQ, typically gets 90%+ enrollment within a week for organizations under 500 users.<\/p>\n<p>Hardware token options exist for users who can&#8217;t or won&#8217;t use a smartphone: small TOTP devices that generate codes the same way an authenticator app does, but with no internet connection or battery dependency beyond the token itself. These are useful for operations staff, warehouse environments, or any role where phone use is restricted.<\/p>\n<p>Solutions that integrate directly with Active Directory \u2014 reading group membership to determine which users require MFA, without requiring a separate user database \u2014 reduce the administrative overhead significantly. One <a href=\"https:\/\/www.protectimus.com\/mfa-for-rdp\/\" target=\"_blank\" rel=\"noopener\">remote desktop two-factor authentication solution<\/a> that takes this approach also supports an offline mode, which matters for scenarios where the RDP target machine temporarily loses connectivity to the authentication server; users with pre-validated tokens can still authenticate without a network dependency.<\/p>\n<p>The critical configuration decision is how to handle NLA. Network Level Authentication pre-authenticates before the full desktop session is established, which reduces the attack surface for some exploit classes but complicates where in the flow the second factor appears. Solutions worth evaluating should handle both NLA and non-NLA scenarios cleanly, without requiring different enrollment paths for different machine configurations.<\/p>\n<h2>RDP MFA in Practice: What to Expect After Deployment<\/h2>\n<p>After deployment, the immediate observable change is in authentication logs. Failed login attempts \u2014 which most organizations have in the hundreds or thousands per day against exposed RDP endpoints \u2014 continue at the same rate, but they stop producing successful sessions. An attacker with valid credentials hits the second-factor prompt and can go no further.<\/p>\n<p>What surprises most teams is how quickly they start seeing value beyond security. MFA logs capture every authentication attempt with timestamp, user, source IP, and result. This gives security teams visibility into RDP access patterns they often didn&#8217;t have before: which accounts are being targeted, which IPs are probing the environment, which users are authenticating from unexpected locations. Several incident response engagements I&#8217;ve seen were first flagged by an unusual spike in second-factor failures \u2014 an attacker with stolen credentials who didn&#8217;t realize MFA had been enabled.<\/p>\n<p>The failure mode to plan for: account lockout policy interaction. If your AD lockout threshold is set to 5 attempts and an attacker is spraying credentials, the lockout fires before the second factor is ever reached \u2014 which is correct behavior for the lockout policy, but means your RDP MFA logs won&#8217;t show the attempts. Make sure your SIEM is pulling from both the Windows Security Event Log (Event ID 4625 for failed logons) and the MFA solution&#8217;s own audit log to get the full picture.<\/p>\n<h2>Integration With Existing Windows Infrastructure<\/h2>\n<p>One reason RDP MFA deployments sometimes stall is over-engineering the integration. Teams assume they need to deploy RADIUS servers, modify NPS policies, and coordinate changes across multiple systems before anything goes live.<\/p>\n<p>For RDP specifically, the simpler path is a Credential Provider component that installs directly on the Windows server and intercepts the logon sequence. No changes to network infrastructure, no RADIUS configuration, no Group Policy modifications beyond deploying the installer. AD integration happens via LDAP, which means group-based policies (require MFA for members of Domain Admins, exempt local service accounts) work out of the box.<\/p>\n<p>For environments that want centralized management across multiple RDP hosts, Group Policy deployment of the component is straightforward. The step-by-step RDP and Windows Logon MFA setup guide covers both single-server and GPO-based mass deployment scenarios, including the specific registry keys and configuration parameters involved.<\/p>\n<p>For larger environments where RDP MFA is one piece of a broader access control project \u2014 covering VPN, Wi-Fi, and other network services \u2014 the RADIUS-based network authentication approach provides a single enforcement point for all of those services simultaneously, with the same token enrollment covering every access method.<\/p>\n<h2>Conclusion<\/h2>\n<p>RDP is not going away. Remote administration is a legitimate operational need, and Windows environments will depend on it for the foreseeable future. The question isn&#8217;t whether to use RDP \u2014 it&#8217;s whether to leave it secured by a password alone.<\/p>\n<p>The fix isn&#8217;t complicated. A second authentication factor, enforced at the Windows login prompt, closes the credential-based attack path that covers the majority of RDP incidents. It doesn&#8217;t require network redesign, doesn&#8217;t require replacing existing infrastructure, and doesn&#8217;t require users to change their workflow in any meaningful way.<\/p>\n<p>Before the next patch Tuesday or the next CISA advisory, it&#8217;s worth checking three things in your environment: whether port 3389 is directly internet-accessible anywhere in your network, whether your RDP-exposed systems have any form of second-factor authentication enforced, and whether your authentication logs would even surface a successful credential attack if one happened today. Most organizations find at least one uncomfortable answer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remote Desktop Protocol has been around since 1998. In that time, the security industry has produced hundreds of advisories, patches, emergency directives, and post-mortems about it. And yet, in 2024, RDP remains one of the most reliably exploited services on the internet. According to the FBI&#8217;s Internet Crime Complaint Center, ransomware attacks cost U.S. organizations [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":392,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[16],"tags":[],"class_list":["post-391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-privacy-security"],"_links":{"self":[{"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/posts\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/comments?post=391"}],"version-history":[{"count":2,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/posts\/391\/revisions"}],"predecessor-version":[{"id":405,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/posts\/391\/revisions\/405"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/media\/392"}],"wp:attachment":[{"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/media?parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/categories?post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/whoer.io\/wp-json\/wp\/v2\/tags?post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}