17
Karol Więsek PwC Abusing APNs for profit

CONFidence 2015: Abusing apns for profit - Karol Wiesek

  • Upload
    proidea

  • View
    106

  • Download
    2

Embed Size (px)

Citation preview

Karol WięsekPwC

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]