Skip to content
Zurück zum BlogGuide

RDP Brute Force Attacks — Why RDP-On-Internet Is Dangerous

GoDesk Editorial Team9 min read
RDP Brute Force Attacks — Why RDP-On-Internet Is Dangerous

If you've ever opened port 3389 on your router because 'it was easier' — or because someone asked you to enable Remote Desktop quickly — you've probably felt the worry when that server or desktop starts logging dozens of failed logins out o…

If you've ever opened port 3389 on your router because 'it was easier' — or because someone asked you to enable Remote Desktop quickly — you've probably felt the worry when that server or desktop starts logging dozens of failed logins out of nowhere. The pain is real: compromised credentials, ransomware, and long incident response cycles. This guide explains why public-facing RDP attracts brute force attacks and, more importantly, what practical alternatives and mitigations you should use instead.

Why exposing RDP to the Internet is a high-risk move

Remote Desktop Protocol (RDP) is convenient: Microsoft ships it in Windows, the client is built into other systems, and many admins rely on it for ad-hoc troubleshooting. That same ubiquity makes it a juicy target. The protocol commonly listens on TCP port 3389 by default, which makes it trivial for attackers to find via mass scanning tools such as Masscan or ZMap. Once discovered, automated bots try lists of usernames and passwords until they succeed.

There are two related problems when RDP is directly reachable from the Internet:

  • Credential attacks — brute force and credential stuffing: attackers run through common passwords, leaked password lists, and wordlists against thousands of IPs in parallel.
  • Exploit/zero-day risk: misconfigured or unpatched Windows hosts can contain RDP-related vulnerabilities (for example, CVE-2019-0708 "BlueKeep" affected older Windows RDP implementations). If RDP is exposed, exploit-driven compromises are possible in addition to credential abuse.

Put plainly: an RDP server on the public internet is a beacon. Scripts and botnets treat it as low-hanging fruit, and many compromises start with the same lateral steps — successful login, escalation, and then ransomware or data theft.

How attackers run RDP brute force attacks (high level)

Attackers typically combine three stages:

  1. Discovery — scanning IP ranges for responding RDP services on port 3389 (scan tools are fast and commodity).
  2. Authentication attempts — automated clients try usernames and passwords. They use dictionaries, leaked credential lists, and credential-stuffing strategies. Tools like Hydra, Ncrack, or custom RDP brute force frameworks are often used; attackers distribute load across proxies and VPNs to avoid IP-based throttles.
  3. Post-authentication action — once a session is established, attackers either manually explore the box or run automated scripts to drop ransomware, create persistence, or harvest credentials for pivoting to other systems.

Network Level Authentication (NLA) raises the bar because it requires credentials before a full RDP session is established, but it's not a silver bullet: NLA still relies on account credentials and can be bypassed if an account is weak, reused, or already compromised elsewhere.

Signs you're being targeted — what to look for now

Early detection matters. Here are concrete signals that RDP brute force is happening to you:

  • Lots of failed login events in a short period. On Windows, look for Security Event ID 4625 (failed logon) and repeated 4624 (successful logon) entries coming from unexpected source IPs.
  • Unusual account lockouts or strange timestamps for logins (logins outside business hours from foreign IP ranges).
  • Firewall logs showing many TCP connection attempts to port 3389 from many distinct IPs.
  • New local admin accounts, unexpected services installed, or unknown processes after a successful login.

Quick sanity checks you can run now (PowerShell):

Test-NetConnection -ComputerName YOUR_HOSTNAME_OR_IP -Port 3389

And check recent failed logons with the Event Viewer, or export events using PowerShell/Get-WinEvent if you're automating detection. If you see spikes, assume attackers are hunting and act immediately.

Immediate containment steps if you discover brute-force activity

If you discover active brute-force attempts or suspect a compromise, prioritize containment over convenience:

  1. Block the traffic at the perimeter firewall. Drop inbound connections to TCP/3389 at the edge ASAP.
  2. Disable RDP on the affected host(s) while you triage: System > Remote Settings > uncheck "Allow remote connections" (Windows) — or stop the Remote Desktop Services service for short emergency containment.
  3. Reset credentials for impacted accounts and any accounts that share passwords. Prefer using long passphrases and unique passwords per account.
  4. Enable an account lockout policy: for example, lock the account after 5 failed attempts for 15 minutes. That's a reasonable defense-in-depth measure that slows automated attacks without causing too many helpdesk calls.
  5. Check the host for persistence: scheduled tasks, new autoruns, suspicious services, and known ransomware indicators. If you find signs of compromise, isolate the host and follow your incident response playbook.

These are triage actions — they won't fix root causes. After containment, move into remediation: patching, credential rotation, and post-incident monitoring.

Safer alternatives to exposing RDP directly (real options, pros and cons)

If your goal is secure remote admin or remote work, there are better approaches than opening port 3389. Pick one that matches your scale and threat model.

1) VPN (site-to-site or client-based) — simplest for small/medium teams

Pros: RDP is only reachable over an encrypted tunnel. You can limit access via VPN ACLs and centralize authentication. WireGuard and OpenVPN are common choices; OpenVPN is mature, WireGuard is simpler and faster.

Cons: VPNs add management overhead and require secure client configuration and certificate/key handling. If VPN credentials are weak, you still have an attack surface, so pair VPN with MFA and monitoring.

2) RDP Gateway / RD Web Access

Use Microsoft's RD Gateway to front RDP sessions over TLS (typically port 443) and centralize authentication. RD Gateway supports better policy control and integrates with Azure AD in hybrid environments for MFA.

Pros: Designed for RDP, good integration with Windows authentication and conditional access.

Cons: Adds infrastructure to manage and patch; misconfiguration can still expose you. For many teams, a VPN remains simpler.

3) Jump host or bastion host (managed access)

Deploy a hardened bastion/jump host that admins connect to first, then hop into internal hosts. Apply strict MFA and session logging on the bastion; only the bastion needs a public IP.

Pros: Centralizes access and auditing. Easier to monitor and lock down than many outward-facing endpoints. Cloud providers offer managed bastion/Bastion Host services (Azure Bastion, AWS Systems Manager Session Manager) that remove inbound ports entirely.

4) Remote access software (relay/self-hosted) — TeamViewer/AnyDesk/RustDesk/GoDesk

Commercial remote access tools use NAT traversal and relay servers, so you don't open 3389 on your firewall. They are often the fastest way for non-technical users to get secure remote support. That said, they embody a different trust model: you rely on the vendor or the relay infrastructure.

Honest comparison: TeamViewer and AnyDesk are very polished for end-user support and session management. They are proprietary and cloud-managed, which is fine for many use cases. If you need to avoid third-party relays or want full control, self-hosted options like RustDesk or GoDesk are strong choices — they let you avoid port forwarding while keeping the infrastructure under your control. See GoDesk's download page at /download for a self-hosted option and /pricing if you need hosted relays or commercial support.

If you want to explore approaches that avoid port forwarding in detail, our guide on setting up remote access without port forwarding is useful: /remote-desktop-without-port-forwarding. For broader recommendations about remote desktop security, see /remote-desktop-security.

Practical hardening checklist — what to do next (step-by-step)

Here's a practical, prioritized checklist you can apply to desktops and servers. It mixes immediate changes with medium-term improvements.

  1. Close the exposure: block TCP/3389 at the perimeter firewall or use IP allow-lists so only trusted IP ranges can connect.
  2. If RDP must remain reachable, enable Network Level Authentication (NLA) and SSL/TLS for the gateway where possible.
  3. Enforce strong password policies and use account lockout thresholds (suggestion: lock after 5 failures, 15 minute duration — tune for your environment).
  4. Enable MFA for remote access. For domain-joined machines, integrate Azure AD conditional access, or use third-party MFA (Duo, Okta) in front of your gateway.
  5. Patch systems promptly. Keep Windows up to date — older RDP-related CVEs were critical and widely exploited.
  6. Use centralized logging and alerts. Monitor Security Event IDs 4624/4625 and your firewall logs; create an alert for high failed-login rates or new IPs accessing RDP.
  7. Use a jump host/bastion for administrative work and restrict who can RDP to production systems directly.
  8. Prefer remote-access tools that avoid port-forwarding when you can't run a VPN. If you self-host, keep the relay or server patched and behind strong authentication.
  9. Consider automated lockout and intrusion-prevention tools for Windows like RdpGuard or native solutions in your endpoint protection stack.
  10. Manage local administrator passwords with Microsoft LAPS or a privileged access management (PAM) solution to avoid shared local credentials.

Which option should you choose — quick guidance

Choose based on the environment size, security posture, and administrative capacity:

  • Small teams / single admin: use a reputable remote access app (relay or self-hosted) or a client VPN. Relay-based tools are easiest for non-technical users; if you want control, use a self-hosted option like GoDesk and deploy your own relay.
  • Medium organizations: site-to-site VPN or client VPN + MFA, combined with a bastion for admin tasks.
  • Large enterprise: RD Gateway or cloud-managed bastion solutions combined with conditional access and PAM for privileged accounts.

One honest note: if you need the absolute simplest experience for non-technical family members, commercial tools like TeamViewer or AnyDesk can be less painful than configuring VPNs. They have trade-offs — convenience vs. control — and whether that's acceptable depends on your threat model and compliance needs.

Wrap-up and immediate next steps

RDP brute force attacks are predictable and preventable. The single best rule: do not expose RDP directly to the internet unless you have an excellent reason and compensating controls (MFA, limited source IPs, RD Gateway or VPN, strict monitoring). If an RDP server is already internet-reachable, block it now and follow the hardening checklist above.

If you want a practical way to avoid port-forwarding while keeping control of your infrastructure, consider a self-hosted remote access solution. GoDesk provides a self-hosted connector and relay options — check /download to try it and /pricing for hosted relay plans if you need them. And if you're building a secure remote access plan, our related guides may help: /remote-desktop-without-port-forwarding and /remote-desktop-security.

Don't wait until you see those 4625 spikes. Close the hole, pick an alternative that fits your scale (VPN, RD Gateway, bastion, or a controlled remote-access app), and add MFA and monitoring. If you want help selecting and configuring the right option for your environment, download GoDesk at /download to experiment with a self-hosted approach that avoids exposing RDP directly.