Unauth DICOM PACS → mass medical-image exfil
PACS server accepts unauthenticated C-FIND / C-MOVE on port 104 / 11112. Query for every study, pull every image — exfil hundreds of thousands of patient scans + DICOM metadata (PII).
§ Context
Assumed environment: target hospital exposes its PACS to the corporate LAN with default AE titles and no authentication. (Shodan still finds public PACS too.)
§ Steps
- 01Bulk download to attacker storageExfiltrationT1041— Exfiltration Over C2 Channel
- 02C-FIND every patient studyDiscoveryT1087— Account Discovery
- 03Find PACS via DICOM port scanDiscoveryN-NMAP-INTERNAL— Internal Nmap Sweep
- 04C-MOVE images to attacker SCPCollectionHC-DICOM-CSTORE— DICOM C-STORE Unauth Access
- 05DICOM C-ECHO handshakeCollectionHC-DICOM-CSTORE— DICOM C-STORE Unauth Access
§ References
§ Frequently asked
- What is the "Unauth DICOM PACS → mass medical-image exfil" attack path?
- PACS server accepts unauthenticated C-FIND / C-MOVE on port 104 / 11112. Query for every study, pull every image — exfil hundreds of thousands of patient scans + DICOM metadata (PII). It chains 5 steps drawn from real-world offensive-security techniques.
- What starting position does this attack require?
- The first step is Bulk download to attacker storage (T1041) — a exfiltration primitive. Assumed environment: target hospital exposes its PACS to the corporate LAN with default AE titles and no authentication.
- What is the final impact of this kill-chain?
- The final step lands on DICOM C-ECHO handshake (HC-DICOM-CSTORE), which falls under Collection. From here, an operator typically pivots into post-exploitation or maintains persistence.
- How can defenders detect or prevent this attack?
- Detection and prevention vary per step. Refer to each linked MITRE ATT&CK entry under "References" — every technique on that page lists defensive controls, detection telemetry, and known threat-actor usage.
§ Related dossiers
- Shared techniques2
Stolen credentials → no-MFA Snowflake → mass tenant exfil (2024)
Infostealer logs from third-party machines yielded credentials for many Snowflake tenants. Tenants without enforced MFA / IP allow-lists were directly queried; dozens of customer data sets exfiltrated.
- Shared techniques2
BACnet HVAC → disrupt building operations
BACnet on UDP/47808 is unauthenticated. From a foothold in corporate IT, write to HVAC controllers — over-cool a data centre, disable smoke evacuation, mess with elevators.
- Shared techniques2
z/OS TN3270 → RACF userID brute → mainframe shell
Internet-/intranet-exposed TN3270 mainframe terminal. Userids follow predictable HR scheme. Brute-force passwords; many environments allow short / dictionary passwords for legacy reasons.
- Shared techniques2
Open MongoDB → dump every collection
Shodan-indexed MongoDB on 27017 with no auth. Connect, list databases, dump every collection. Often the second stage is a ransom note in a new 'README' collection.
- Shared techniques2
Reachable Modbus PLC → direct register override
Modbus has no authentication. From a foothold on a reachable OT network, write to coils / holding registers directly with pymodbus.
- Shared techniques2
Open ADB on the network → device shell
An IoT / dev device left adbd listening on TCP/5555 — anyone on the LAN runs `adb connect` and gets a shell as the shell user, including pulling user data.