logo

Port 4024 – DNP3 (Distributed Network Protocol 3)

Service:

dnp3SCADA/ICS

Protocol:

TCP

Port:

4024

Used for:

DNP3 SCADA/ICS communication in electric and water utilities

Port 4024 shows up in port directories tied to DNP3 (Distributed Network Protocol 3), the SCADA/ICS protocol that carries monitoring and control traffic between utility control centers and field devices. Two things are worth stating up front, because they shape everything below: DNP3’s standard, IANA-registered port is TCP/UDP 20000, not 4024 — and IANA actually registers port 4024 itself as tnp1-port (TNP1 User Port), a different assignment. Where you genuinely see DNP3 on TCP 4024, it’s a non-standard or vendor-chosen deployment, not the canonical DNP3 port. For an asset owner, the priority is the same either way: any reachable DNP3 endpoint is a controllable piece of critical infrastructure.

Overview

Port 4024 is associated with DNP3 (Distributed Network Protocol 3), a SCADA/ICS protocol used in electric power and water utilities, and in oil and gas, to move real-time telemetry and control commands between a master (the control-center SCADA host) and outstations — the remote terminal units (RTUs), intelligent electronic devices (IEDs), and protective relays sitting in substations, pump stations, and along pipelines. DNP3 is valued in operational technology (OT) for its efficient reporting-by-exception, precise time-stamping, and resilience over slow or lossy links.

DNP3 was standardized as IEEE 1815 (current revisions IEEE 1815-2012 and IEEE 1815-2020). When it runs over IP, its registered port is TCP/UDP 20000 (with 19999 registered for DNP3-over-TLS). Port 4024 is not the standard DNP3 port — IANA lists 4024 as tnp1-port — so a DNP3 service answering on 4024 is an alternate/vendor configuration. Because 4024 is officially assigned to something else, part of securing it is simply confirming what actually speaks on that port: a real DNP3 outstation, a TNP1 service, or an unrelated application.

Why It’s Open

DNP3 endpoints listen because a SCADA master needs to poll them and issue controls around the clock. Utilities standardize on DNP3 for substation automation, distribution SCADA, and telemetry backhaul, so RTUs, IEDs, relays, protocol gateways, and data concentrators all expose a DNP3 listener. Most run on the standard TCP 20000, but integrators sometimes bind DNP3 to a different port — such as 4024 — to fit firewall rules, avoid a collision, or match a legacy convention. An open DNP3 port is therefore usually a legitimate, in-service field device; the security question is not “why is it open” but “who can reach it, and can it prove who’s talking to it.”

Common Risks

  • No authentication in classic DNP3. Baseline DNP3 was designed for physically isolated serial links, so it ships with no authentication. Any host that can reach the outstation can issue valid control commands — operate a breaker, change a setpoint, restart the device.
  • No encryption. DNP3 payloads, including device addresses and object data, cross the wire in cleartext. Anyone on the path can read them and craft spoofed or replayed messages.
  • Critical-infrastructure impact. A reachable DNP3 endpoint is a controllable RTU/IED/relay. Manipulating it isn’t an IT nuisance — it can trip protection, misoperate a breaker, or blind an operator to real conditions.
  • Implementation robustness bugs. Vendor DNP3 stacks have historically crashed on malformed frames, letting a single crafted packet knock a master or outstation offline (denial of service).
  • Segmentation failure. DNP3 belongs on an isolated OT network. If 4024 (or 20000) is reachable from the IT LAN or the internet, the isolation the protocol assumes has already broken.
  • Port ambiguity. Because 4024 is officially tnp1-port, an unmanaged endpoint there may not be DNP3 at all — misidentifying the service leads to the wrong controls.

Want to save time on reporting?

Let PentestPad generate, track, and export your reports - automatically.

logo-cta

Enumeration & Testing

The goal here is a safe, read-first inventory of DNP3/ICS devices. Active probing can disrupt fragile OT gear, so in production prefer passive discovery, and run any active scan only against a test bench or inside an approved maintenance window.

Identify the service and version (light touch)

Terminal window
nmap -sV -p 4024 <target> # verify what actually listens on 4024
nmap -sV -p 20000 <target> # DNP3's standard port — inventory it too

DNP3-specific discovery scripts

The DNP3 NSE scripts dnp3-info and dnp3-enumerate are community/DigitalBond-Quickdraw scripts, not part of Nmap’s default set — you install them yourself. They default to port 20000 but accept -p for a non-standard deployment. They are intrusive (they send DNP3 application-layer requests), so treat them as active tests, not passive checks:

Terminal window
# community NSE scripts — DNP3 outstation identification
nmap --script dnp3-info -p 4024 <target>
nmap -sT --script dnp3-enumerate.nse -p 4024 <target>

Prefer passive OT discovery in production

For live utility networks, inventory DNP3 by watching traffic rather than probing it — a SPAN/TAP port feeding an OT-aware IDS or Zeek (with an ICS/DNP3 analyzer) enumerates masters, outstations, and function codes without ever touching a device.

Confirm it’s really DNP3

Because 4024 is IANA tnp1-port, verify the endpoint speaks DNP3 (its frames begin with the 0x0564 start bytes) before assuming — otherwise you may be looking at TNP1 or an unrelated service.

Record every reachable DNP3 endpoint, whether it enforces DNP3 Secure Authentication, and any unpatched stack you find, so the evidence lands in the pentest report instead of a scratch terminal.

What to Look For

Checkpoint What it means
DNP3 answering on 4024 or 20000 A master/RTU/IED is reachable — confirm it’s expected and mapped
No DNP3 Secure Authentication (IEEE 1815) Unauthenticated — any reachable host can issue control commands
Cleartext DNP3 (no TLS/VPN wrapper) Addresses and object data are sniffable, spoofable, and replayable
Endpoint reachable from IT or the internet Segmentation failure — OT DNP3 should never be broadly reachable
Outstation accepts controls from any source No master allowlist — unauthorized operate/setpoint changes possible
Old or unpatched vendor DNP3 stack Exposure to the Project Robus denial-of-service CVEs below
Service on 4024 isn’t actually DNP3 May be TNP1 (tnp1-port) or another app — verify before acting

Known CVEs and Exploits

The most instructive DNP3 vulnerabilities came out of the Crain–Sistrunk “Project Robus” fuzzing campaign (2013–2014), which drove roughly 30 ICS-CERT advisories across vendor DNP3 stacks. These are implementation-robustness bugs — malformed frames that crash a device — not flaws in the DNP3 standard itself, and vendors fixed them in firmware/driver updates. They were reported against the standard DNP3 port (20000), but the same malformed-input class applies to any TCP port a DNP3 endpoint listens on, including a non-standard 4024.

  • CVE-2013-2811 — The Catapult Software DNP3 I/O driver (also shipped in GE Intelligent Platforms Proficy HMI/SCADA — CIMPLICITY and iFIX) lets a remote attacker cause a denial of service (infinite loop) in the DNP3 master via a crafted DNP3 TCP packet. CWE-20 (improper input validation), CVSS v2 7.1.
  • CVE-2013-2823 — The same Catapult/GE Proficy DNP3 driver family, DoS (infinite loop) triggered by crafted input over a serial line — the classic Project Robus demonstration that even serial reach is an attack surface. CVSS v2 4.7.
  • CVE-2014-2342 — Triangle MicroWorks SCADA Data Gateway before 3.00.0635 allows a remote DoS (excessive data processing) via a crafted DNP3 packet. CWE-20 / CWE-400, CVSS v2 5.0.

The broader takeaway from Project Robus: DNP3 Secure Authentication does not protect against malformed input — a device can be crash-tested regardless of whether SA is enabled — so patching the vendor stack matters independently of enabling authentication.

Mitigation

  • Keep OT/ICS segmented and off the internet. This is the single most important control. DNP3 assumes an isolated network; enforce that with strict boundary firewalls so 4024/20000 is never reachable from IT or the internet.
  • Enable DNP3 Secure Authentication (DNP3-SA). IEEE 1815-2012 (SAv5) adds cryptographic message authentication to DNP3; IEEE 1815-2020 (SAv6) adds authenticated encryption (AES-256-GCM) and centralized key management. Turn it on wherever masters and outstations support it.
  • Wrap DNP3 in TLS or a VPN gateway. Where SA isn’t available, tunnel DNP3 through a TLS-terminating gateway or site-to-site VPN so the cleartext protocol never rides an untrusted path.
  • Allowlist masters on outstations. Restrict each outstation to accept sessions and controls only from its authorized master IP(s) and DNP3 addresses.
  • Deploy OT-aware monitoring and data diodes. Use an ICS-aware IDS at the IT/OT boundary and unidirectional gateways (data diodes) where only telemetry needs to leave the OT enclave.
  • Patch vendor firmware. Apply the vendor fixes for the Project Robus CVEs and track ICS-CERT/CISA advisories for your DNP3 stack.
  • Monitor for unexpected function codes. Alert on control-oriented or state-changing DNP3 functions (cold restart, disable unsolicited responses, writes) from unexpected sources.
  • Verify and close what shouldn’t be there. Confirm the endpoint on 4024 is a legitimate, needed DNP3 service; if it isn’t — or it’s actually TNP1/other — close the port.

Real-World Example

In 2013–2014, researchers Adam Crain and Chris Sistrunk ran Project Robus, systematically fuzzing DNP3 implementations from vendors including Catapult Software, GE, Triangle MicroWorks, SEL, Kepware, and others. Their crafted response and serial frames repeatedly crashed master stations — the control-center hosts that monitor and command a substation — meaning an attacker who could inject malformed DNP3 could blind operators to grid conditions and disrupt supervisory control. The work produced roughly 30 ICS-CERT advisories and a wave of vendor patches, and it made a lasting point for asset owners: the exposure wasn’t an exotic zero-day but ordinary, reachable DNP3 endpoints that trusted whatever bytes arrived. It’s the textbook argument for segmentation, authentication, and patched stacks on any DNP3 service — on 20000, on 4024, or on serial.

FAQ

What is port 4024 used for?

In port directories, port 4024 is listed against DNP3, the SCADA/ICS protocol linking utility masters to field RTUs and IEDs. But DNP3’s standard port is TCP/UDP 20000, and IANA actually registers 4024 as tnp1-port (TNP1 User Port). So DNP3 on 4024 is a non-standard/vendor deployment — always confirm what really listens there.

Is port 4024 the standard DNP3 port?

No. The standard, IANA-registered DNP3 port is TCP/UDP 20000 (with 19999 for DNP3-over-TLS). Port 4024 is registered to tnp1-port, so seeing DNP3 on it indicates a non-standard configuration rather than the canonical DNP3 endpoint.

Is DNP3 encrypted or authenticated?

Classic DNP3 is neither — it was built for isolated serial networks. Authentication comes from DNP3 Secure Authentication (DNP3-SA) in IEEE 1815-2012 (message authentication) and IEEE 1815-2020 (authenticated encryption). Confidentiality otherwise depends on wrapping DNP3 in TLS or a VPN.

Is port 4024 dangerous?

If it exposes a real DNP3 outstation, yes — a reachable, unauthenticated DNP3 endpoint is a controllable RTU/IED/relay, so an exposed 4024 (or 20000) on a poorly segmented network is a critical-infrastructure risk. Behind proper OT segmentation with DNP3-SA, the risk drops sharply.

How do I secure DNP3 on port 4024?

Keep the OT network segmented and off the internet, enable DNP3 Secure Authentication (IEEE 1815), tunnel with TLS/VPN where SA isn’t available, allowlist authorized masters, patch the vendor stack for the Project Robus CVEs, and monitor for unexpected DNP3 function codes. If the endpoint on 4024 isn’t a needed DNP3 service, close it.

TL;DR

  • Service: DNP3 (Distributed Network Protocol 3) — SCADA/ICS master-to-outstation communication
  • Port note: DNP3’s standard port is TCP/UDP 20000 (TLS on 19999); IANA registers 4024 as tnp1-port, so DNP3 on 4024 is a non-standard/vendor deployment
  • Biggest risk: classic DNP3 has no authentication or encryption, so a reachable endpoint is a controllable RTU/IED — plus DoS bugs from the Crain–Sistrunk Project Robus fuzzing (e.g. CVE-2013-2811, CVE-2014-2342)
  • Mitigation: segment OT off the internet, enable DNP3 Secure Authentication (IEEE 1815), wrap in TLS/VPN, allowlist masters, and patch vendor firmware

For the canonical DNP3 write-up, see DNP3 on its standard port 20000; for the other flagship no-authentication ICS fieldbus that shares DNP3’s trust assumptions, see Modbus on port 502.