Skip to main content
Exposed ServiceCritical

Exposed RDP (Remote Desktop, port 3389)

An exposed RDP endpoint is a Windows Remote Desktop service reachable directly from the public internet on TCP/3389. It is one of the most common initial-access vectors behind ransomware intrusions.

Most teams discover an internet-facing RDP host the hard way — after a failed-login spike, an alert, or an incident. The more useful question for an external assessment is whether 3389 (or a non-standard RDP port) answers from outside at all, what it leaks before authentication, and whether the host maps to a CISA Known Exploited Vulnerability. This page covers how the exposure is found and exploited, how to detect it on your own perimeter, how to validate a hit instead of reporting scanner noise, and how to remediate it for good.

Reviewed by Aakash Harish

Security Research Contributor, Legba

Reviewed 2026-05-28 · Updated 2026-05-28

What it is

Remote Desktop Protocol lets an operator control a Windows host over the network. When the listener is bound to a public interface without a VPN, bastion, or IP allowlist in front of it, anyone on the internet can reach the authentication handshake — and, on unpatched hosts, the pre-authentication attack surface.

Exposed RDP is repeatedly cited among the top ransomware initial-access vectors. A single reachable 3389 invites credential stuffing, password brute force, and exploitation of pre-auth CVEs such as BlueKeep (CVE-2019-0708). A successful hit means hands-on-keyboard access, lateral movement, and a credible path to full domain compromise.

At a glance

Typeopen-rdp
Ports3389
ProtocolsRDP, TCP
Seen onWindows Server, Terminal Services, Azure VM, on-prem hypervisors, jump boxes
SeverityCritical
Updated2026-05-28

How attackers find and exploit it

  • Internet-wide scanners enumerate TCP/3389 and common alternate RDP ports across the target's registered netblocks and cloud egress ranges.
  • The pre-auth handshake leaks the hostname, NetBIOS/domain name, and OS build, which fingerprints the patch level and CVE exposure.
  • Attackers spray credentials harvested from breach corpora, or brute-force weak passwords, until a valid session sticks — low-noise, durable access.
  • Unpatched hosts are targeted for pre-auth remote code execution (e.g. BlueKeep) to bypass authentication entirely.
  • Once inside, the operator pivots to file shares, dumps credentials, and stages ransomware or data exfiltration.

How to detect it on your surface

  • Enumerate every public IP and cloud egress range you own, then probe for 3389 and non-standard RDP listeners.
  • Correlate any discovered RDP host against your asset inventory — exposed RDP is frequently shadow IT or a forgotten jump box.
  • Cross-reference each host's OS-build fingerprint against the CISA KEV catalog for RDP-related CVEs.
  • Track whether the listener appeared recently, which usually signals an unreviewed firewall or security-group change.

Detection signals

  • TCP/3389 (or an alternate port) open to 0.0.0.0/0 with a completed RDP negotiation response.
  • A pre-auth banner disclosing the NetBIOS/domain name and OS build.
  • A TLS certificate whose common name reveals an internal hostname.
  • Network Level Authentication (NLA) absent on the negotiation, widening the pre-auth surface.

Validate before you report

  • Confirm the listener actually completes an RDP negotiation rather than being a honeypot or an unrelated service squatting on 3389.
  • Capture the pre-auth fingerprint (screenshot plus the raw handshake) as evidence for the report.
  • Determine whether NLA is enforced; its absence materially changes the severity narrative.
  • Resolve the host to an owner and confirm it is in assessment scope before any active testing.

What looks like this but isn't

  • Port 3389 forwarded to a deliberately exposed honeypot — validate by protocol behavior, not the port number alone.
  • An RD Gateway brokering RDP over 443 is a different, often acceptable, control — do not report it as raw exposed RDP.
  • A load balancer health check that opens the port without a real RDP service behind it.

Remediation

  • Remove RDP from the public internet; place it behind a VPN, RD Gateway, or zero-trust access broker.
  • Enforce Network Level Authentication and phishing-resistant MFA for all remote access.
  • Restrict inbound source IPs with an allowlist, and patch to eliminate known pre-auth CVEs.
  • Alert on failed-login spikes and on any newly internet-facing 3389 listener.

Operational checklist

  • Add 3389 and common alternate RDP ports to continuous external-surface monitoring.
  • Default-deny inbound RDP at the cloud security-group and firewall layer.
  • Inventory and decommission forgotten jump boxes on a recurring cadence.
  • Require change-control approval before any host exposes a remote-access service.
  • Re-validate after remediation and capture closing evidence in the report.

What to do next

Treat any internet-facing RDP listener as an incident waiting to happen. The durable fix is to remove it from the public surface entirely, gate remote access behind MFA and a broker, and continuously monitor the perimeter so a new 3389 never reappears unnoticed.

Methodology

Each finding-type guide is built from Legba Recon's real detection and validation logic, reviewed by a named security contributor, and cited against primary sources such as OWASP, CISA, NIST, and MITRE. We update pages when the underlying guidance changes. See our contributors and company.

FAQs.

References.

Weakness references (CWE)

Keep exploring

Your agent needs its Legba.

Read the docs