← back to portfolio
Network Forensics

Orbit Breach: Satellite Ground Station Compromise

Category
Network Forensics
Status
Complete
Source
HoneySat-NET-01 (single PCAP)
Method
Packet capture & TCP stream analysis
MITRE ATT&CK
T1133 External Remote Services T1071.001 Web Protocols T1021.004 Remote Services: SSH T1078 Valid Accounts T1562.001 Impair Defenses T1070 Indicator Removal T1041 Exfiltration Over C2 Channel
Executive Summary A single packet capture from Cairo Ground Station's HoneySat-NET-01 was reconstructed end to end. Three concurrent VPN logins were observed, one legitimate and two malicious. One of the malicious sessions belonged to the attacker, who beaconed to external C2 infrastructure over TLS, then pivoted via SSH into the satellite TT&C environment using an anomalous service account. From there, a full satellite command sequence was executed — ending in disabled transmission authentication, exfiltration of a 249,856-byte navigation data bundle, and anti-forensics cleanup. The second malicious session was identified as a fully separate decoy chain targeting a decoy satellite asset, distinguished from the real intrusion by its JA3 TLS fingerprint.
Table of Contents
  1. Scenario
  2. Evidence Collected
  3. Timeline
  4. Key Findings
  5. Attack Chain
  6. Decoy Session Analysis
  7. Analyst Notes

Scenario

Night shift at Cairo Ground Station was supposed to be routine. By dawn, operators reported irregular behavior on orbital support systems, while automated monitoring insisted most traffic was normal.

A single network capture from HoneySat-NET-01 was provided for investigation — containing telemetry chatter, operator access, scheduled sync jobs, and unknown external activity woven into the same timeline. The objective was to reconstruct what actually happened directly from packet evidence.

Evidence Collected

ArtifactValueWhy It Mattered
VPN Logins Observed3 concurrent sessions (udp/1194)Required separating legitimate from malicious activity before further analysis
Legitimate Login198.18.5.44Confirmed benign, ruled out early
Attacker VPN Source185.193.88.31Identified as the malicious source behind the primary intrusion
Attacker VPN SessionSES-VPN771ASession ID used to trace the attacker's activity through the capture
C2 Endpoint45.9.148.77:443 (SNI: api.orbit-sync.com)External infrastructure contacted from the VPN host
TT&C Pivot Host172.21.1.9Internal satellite control host reached via SSH from the VPN host
TT&C SessionSES-5700 (ops-backup / svc-ephem)Session executing the satellite command sequence
Command SequenceTC_OBDH_GET_STATUS … TC_OBDH_LOG_ROTATE_NOWFull sequence of TT&C commands issued during the intrusion
Exfiltration Destination104.244.77.12:9443External destination for the exported navigation bundle
Exfiltrated Volume249,856 bytes (3 chunks)Confirmed successful transfer of the navigation data bundle
Decoy VPN SessionSES-VPN-882B (146.70.19.33)Parallel session later confirmed to be a decoy chain
JA3 Fingerprints72a589d... (real) / 6734f37... (decoy)Distinguished the real C2 channel from the decoy channel

Timeline

SequenceEventSource
StartThree VPN logins observed on udp.port == 1194: 198.18.5.44 (legitimate), 185.193.88.31 (attacker), 146.70.19.33 (later confirmed decoy)udp.port == 1194
NextAttacker session SES-VPN771A identified from 185.193.88.31 as the malicious session requiring further tracingVPN session log
Shortly afterC2 beacon from VPN host 10.77.0.5 to 45.9.148.77:443 (api.orbit-sync.com)tcp.port == 443
NextSSH pivot from 10.77.0.5 to TT&C uplink host 172.21.1.9 (ops-backup); anomalous svc-ephem authentication observedSSH session log
NextTC_OBDH_GET_STATUS acceptedSES-5700 TCP stream
NextTC_PROP_THRUSTER_PULSE_TEST rejected by safety interlockSES-5700 TCP stream
NextTC_ADCS_SET_MODE_SAFE accepted; HSAT-LEO-07 forced into safe modeSES-5700 TCP stream
NextTC_FDIR_SET_AUDIT_SINK_NULL — audit destination set to NULLSES-5700 TCP stream
NextTC_COMMS_DISABLE_TX_AUTH — transmission authentication removedSES-5700 TCP stream
NextTC_FDS_EXPORT_NAV_BUNDLE executed; 3 chunks (86,016 / 122,880 / 40,960 bytes) sent to 104.244.77.12:9443Data-transfer packets
NextTC_FDIR_CLEAR_ALERT_QUEUE and TC_OBDH_LOG_ROTATE_NOW executed (anti-forensics)SES-5700 TCP stream
2026-02-14 02:28:16 UTCSession SES-5700 terminatedSession log
2026-02-14 03:00:14 UTCUnrelated large transfer to internal host 10.88.9.20 (ruled out)PCAP
2026-02-14 03:50:59 UTCFinal SYN to port 8022 from 77.91.124.165, post-session (unrelated)PCAP

Key Findings

Attack Chain

Initial Access
Attacker VPN login from 185.193.88.31 (session SES-VPN771A) identified among three concurrent logins by ruling out the legitimate session first.
Command & Control
Beacon from VPN host 10.77.0.5 to api.orbit-sync.com over TLS (443).
Lateral Movement
SSH pivot to internal TT&C uplink host 172.21.1.9; anomalous svc-ephem authentication.
Execution (ICS)
Satellite command sequence issued: status check, forced safe mode, audit sink nulled, TX auth disabled.
Exfiltration
Navigation bundle exported and transferred (249,856 bytes) to 104.244.77.12:9443.
Anti-Forensics
Alert queue cleared, logs rotated, session terminated.

Decoy Session Analysis

A second malicious VPN session running alongside the attacker's session was investigated to determine whether it was related activity. Its traffic led through a separate internal pivot host (10.77.0.7) to a different TT&C target host (172.21.9.9), reaching a decoy satellite asset entirely — not the real target of the intrusion.

Real Intrusion Chain
VPN Session
SES-VPN771A (185.193.88.31)
Internal Host
10.77.0.5 → 172.21.1.9
TT&C Session
SES-5700 → HSAT-LEO-07
C2 / Exfil
45.9.148.77 · 104.244.77.12:9443 (249,856 bytes)
JA3 Fingerprint
72a589da586844d7f0818ce684948eea
Decoy Chain
VPN Session
SES-VPN-882B (146.70.19.33)
Internal Host
10.77.0.7 → 172.21.9.9
TT&C Session
SES-5711 → HSAT-LEO-07-DECOY
C2 / Exfil
198.51.100.250 · 203.0.113.200 (32,768 bytes)
JA3 Fingerprint
6734f37431670b3ab4292b8f60f29984
Overlapping C2 channels initially appeared related; comparing JA3 TLS fingerprints was the deciding factor in confirming these were two independent chains rather than one.

Analyst Notes

Started by filtering udp.port == 1194 and found three concurrent VPN logins; ruled out the legitimate one first, then had two remaining sessions to trace independently.
Filtered on the VPN host's IP and tcp.port == 443 to identify the outbound C2 beacon and its TLS SNI.
Followed the SSH session into the TT&C environment and cross-referenced the authenticating account against known legitimate svc-ephem usage to flag it as anomalous.
Reconstructed the full command sequence by following the SES-5700 TCP stream end to end, rather than relying on isolated packets.
Verified actual data transfer volume against the export command by tracing the subsequent data-transfer packets, rather than assuming export success.
Investigated two additional artifacts (a large internal transfer and a late external SYN) and ruled both out based on destination and timing rather than dismissing or including them without verification.
Compared JA3 fingerprints between the two parallel C2 channels to confirm the second session was an unrelated decoy chain, not a second stage of the same intrusion.