SlideShare a Scribd company logo
1 of 17
Karol Więsek
PwC
Abusing APNs for profit
Historia: audyt sieci jednego z operatorów
Po powrocie: „czyste” karty SIM
Wstęp
Źródło: http://www.juniper.net/
3.3.10. NULL RDATA format (EXPERIMENTAL)
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/ <anything> /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Anything at all may be in the RDATA field so long as it is 65535 octets
or less.
3.3.14. TXT RDATA format
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/ TXT-DATA /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
where:
TXT-DATA One or more <character-string>s.
TXT RRs are used to hold descriptive text. The semantics of the text
depends on the domain where it is found.
$ cat dns-query.bin arbitrary-data.bin | nc –u <ip> 53
[MOBILE] ------------- [GGSN] --- SYN -----------> [INTERNET]
[MOBILE] <------------ [GGSN] --- SYN/ACK -------- [INTERNET]
[MOBILE] <-------- RST [GGSN] --- RST -----------> [INTERNET]
Komunikacja z otwartym portem tcp w Internecie
[MOBILE] ------------- [GGSN] --- SYN -----------> [INTERNET]
[MOBILE] <------------ [GGSN] --- RST ------------ [INTERNET]
Komunikacja z zamkniętym portem tcp w Internecie
Dlaczego, pomimo zdefiniowanych reguł IP/port przepuszczany jest fragment
synchronizacji TCP ?
[MOBILE] -------- [GGSN] --- [SYN + DATA] -------> [INTERNET]
[MOBILE] <------------ [GGSN] --- [RST + DATA] --- [INTERNET]
$ hping3 -S -d 30 -E payload.bin -p 80 <ip>
3.4. Establishing a connection
Several examples of connection initiation follow. Although these
examples do not show connection synchronization using data-carrying
segments, this is perfectly legitimate, so long as the receiving TCP
doesn't deliver the data to the user until it is clear the data is
valid (i.e., the data must be buffered at the receiver until the
connection reaches the ESTABLISHED state.
Nie znalazłem informacji o możliwości przesyłania danych w pakietach RST, ale
doświadczenia pokazują, że jest to możliwe.
Protokół HTTP
Reguły klasyfikujące ruch na podstawie nazwy hosta, lub URL wymagają
konkretnych danych z warstwy siódmej :
• Nagłówek HTTP Host
• Request-URL
Do czasu pojawienia się oczekiwanych danych urządzenie albo musi
buforować dane od użytkownika, albo przesyłać je dalej, do czasu, aż będzie
mogło podjąć decyzję.
„Wait for name” attack
Jeżeli urządzenie doczeka się na dane, na podstawie których dokonuje
klasyfikacji – czy weryfikuje zgodność nazwy z odpowiadającym
adresem/adresami IP ?
„Trusted name to untrusted IP” attack
Protokół HTTP
„Trusted name to untrusted IP” attack
•Urządzenie poszukuje nagłówka „Host”
•Na podstawie nagłówka „Host” realizowana jest akcja (gprs-free)
•Nie jest weryfikowane czy adres IP, do którego następuje połączenie
odpowiada adresowi na który rozwiązuje się nazwa z nagłówka
Protokół HTTP
„Trusted name to untrusted URI” attack
W analogiczny sposób działają ACL’e na poziomie MMS-proxy w APN
mmsowym
• Proxy zamiast decydować na podstawie request-URI, robi to
wykorzystując nagłówek Host
Peer2Peer
Mniej lub bardziej świadomie włączona komunikacja P2P wewnątrz APN
MMSy rozliczane są ilościowo, również w roamingu
W roamingu APN MMS „wygląda” jak lokalnie
•MMS-proxy
•P2P
Dziękuję
[karol.wiesek-at-pl.pwc.com]

More Related Content

Similar to CONFidence 2015: Abusing apns for profit - Karol Wiesek (7)

PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
 
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
Ochrona przed atakami DDoS na platformie x86. Czy można mieć jednocześnie wyd...
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracji
 
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
 
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linux
 
Zajecia4 progbiz
Zajecia4 progbizZajecia4 progbiz
Zajecia4 progbiz
 

CONFidence 2015: Abusing apns for profit - Karol Wiesek

  • 2. Historia: audyt sieci jednego z operatorów Po powrocie: „czyste” karty SIM
  • 4.
  • 5.
  • 6.
  • 7. 3.3.10. NULL RDATA format (EXPERIMENTAL) +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / <anything> / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Anything at all may be in the RDATA field so long as it is 65535 octets or less. 3.3.14. TXT RDATA format +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / TXT-DATA / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ where: TXT-DATA One or more <character-string>s. TXT RRs are used to hold descriptive text. The semantics of the text depends on the domain where it is found.
  • 8. $ cat dns-query.bin arbitrary-data.bin | nc –u <ip> 53
  • 9. [MOBILE] ------------- [GGSN] --- SYN -----------> [INTERNET] [MOBILE] <------------ [GGSN] --- SYN/ACK -------- [INTERNET] [MOBILE] <-------- RST [GGSN] --- RST -----------> [INTERNET] Komunikacja z otwartym portem tcp w Internecie [MOBILE] ------------- [GGSN] --- SYN -----------> [INTERNET] [MOBILE] <------------ [GGSN] --- RST ------------ [INTERNET] Komunikacja z zamkniętym portem tcp w Internecie Dlaczego, pomimo zdefiniowanych reguł IP/port przepuszczany jest fragment synchronizacji TCP ?
  • 10. [MOBILE] -------- [GGSN] --- [SYN + DATA] -------> [INTERNET] [MOBILE] <------------ [GGSN] --- [RST + DATA] --- [INTERNET] $ hping3 -S -d 30 -E payload.bin -p 80 <ip> 3.4. Establishing a connection Several examples of connection initiation follow. Although these examples do not show connection synchronization using data-carrying segments, this is perfectly legitimate, so long as the receiving TCP doesn't deliver the data to the user until it is clear the data is valid (i.e., the data must be buffered at the receiver until the connection reaches the ESTABLISHED state. Nie znalazłem informacji o możliwości przesyłania danych w pakietach RST, ale doświadczenia pokazują, że jest to możliwe.
  • 11. Protokół HTTP Reguły klasyfikujące ruch na podstawie nazwy hosta, lub URL wymagają konkretnych danych z warstwy siódmej : • Nagłówek HTTP Host • Request-URL Do czasu pojawienia się oczekiwanych danych urządzenie albo musi buforować dane od użytkownika, albo przesyłać je dalej, do czasu, aż będzie mogło podjąć decyzję. „Wait for name” attack Jeżeli urządzenie doczeka się na dane, na podstawie których dokonuje klasyfikacji – czy weryfikuje zgodność nazwy z odpowiadającym adresem/adresami IP ? „Trusted name to untrusted IP” attack
  • 12.
  • 13. Protokół HTTP „Trusted name to untrusted IP” attack •Urządzenie poszukuje nagłówka „Host” •Na podstawie nagłówka „Host” realizowana jest akcja (gprs-free) •Nie jest weryfikowane czy adres IP, do którego następuje połączenie odpowiada adresowi na który rozwiązuje się nazwa z nagłówka
  • 14. Protokół HTTP „Trusted name to untrusted URI” attack W analogiczny sposób działają ACL’e na poziomie MMS-proxy w APN mmsowym • Proxy zamiast decydować na podstawie request-URI, robi to wykorzystując nagłówek Host
  • 15. Peer2Peer Mniej lub bardziej świadomie włączona komunikacja P2P wewnątrz APN MMSy rozliczane są ilościowo, również w roamingu W roamingu APN MMS „wygląda” jak lokalnie •MMS-proxy •P2P
  • 16.