W ostatnim wpisie na naszym blogu pisaliśmy o atakach na telefonię IP. Skupiliśmy się na protokole SIP. VoIP jednakże to nie tylko wyżej wspomniany protokół. Innym, starszym niż SIP ale pomimo tego dalej popularnym standardem jest H.323. Niedawno skanowania, które miały na celu poszukiwanie urządzeń potrafiących obsługiwać połączenia w tejże technologii, zostały zarejestrowane przez system wczesnego ostrzegania przed zagrożeniami w sieci ARAKIS. Dzisiaj podamy trochę informacji o tych obserwacjach.
Przepływy widziane były na porcie 1720/TCP, który jest standardowym portem do tego typu połączeń. Zmasowane połączenia rozpoczęły się nad ranem 23. listopada i trwały „jedynie” 8 godzin. Były widziane na niewielu sondach, dodatkowo incydent ten nie powtórzył się. Najprawdopodobniej więc skanowany był zakres polskiej przestrzeni Internetu „wyrywkowo”, a nie kompleksowo. Mimo to wytworzyły się dwa klastry opisujące ten incydent.
Poniżej jeden z dwóch nowych klastrów opisujących ten ruch oraz wytworzona automatycznie na jego podstawie sygnatura w formacie Snort.
Wzrost zainteresowania portem 1720 odnotował także serwis Internet Storm Center instytutu SANS. Miał on miejsce 18. listopada, oraz 23-24 listopada (źródło: http://isc.sans.edu/port.html?port=1720)
Atakujący po nawiązaniu sesji TCP komunikował się używając Q.931. Jest to protokół warstwy trzeciej wykorzystywany często do nawiązywania, utrzymywania i kończenia połączeń telefonicznych ISDN (tzw. connection control protocol). W tym wypadku jednakże użyty był w połączeniu z protokołem TCP – w tym celu wykorzystany został TPKT, który kapsułkuje serwisy ISO w modelu TCP (tzw. ISO Transport Service on top of the TCP).
Protokół Q.931 był użyty do nawiązania połączenia (typ komunikatu: SETUP
), które charakteryzowało się następującymi danymi:
- numer telefonu, do którego próbowano się dodzwonić (called party number):
00000442073479999
- wiadomość, która miała się wyświetlić (display):
test 00
- brak było danych numeru dzwoniącego (calling party number)
Zagnieżdżając się dalej w dekodowaniu kolejnych warstw dochodzimy do nagłówka protokołu H.225.0, który należy do znanej rodziny protokołów H.323 wykorzystywanej do przesyłania w czasie rzeczywistym głosu i obrazu. H.225.0 użyty jest do nawiązania połączenia (metoda CS: Call Signaling
). Honeypot systemu ARAKIS ze względu na to, że jest nisko-interaktywny, nie wszedł w dalszą interakcję z atakującym.
TPKT, Version: 3, Length: 155
Version: 3
Reserved: 0
Length: 155
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference flag: Message sent from originating side
Call reference value: 000F
Message type: SETUP (0x05)
Bearer capability
Information element: Bearer capability
Length: 3
1... .... = Extension indicator: last octet
.00. .... = Coding standard: ITU-T standardized coding (0x00)
...0 1000 = Information transfer capability: Unrestricted digital information (0x08)
1... .... = Extension indicator: last octet
.10. .... = Transfer mode: Packet mode (0x02)
...0 0000 = Information transfer rate: Packet mode (0x00)
1... .... = Extension indicator: last octet
.01. .... = Layer identification: Layer 1 identifier (0x01)
...0 0101 = User information layer 1 protocol: Recommendation H.221 and H.242 (0x05)
Display 'test 00'
Information element: Display
Length: 5
Display information: test 00
Called party number: '00000442073479999'
Information element: Called party number
Length: 18
.... 0001 = Numbering plan: E.164 ISDN/telephony numbering (0x01)
.000 .... = Number type: Unknown (0x00)
1... .... = Extension indicator: last octet
Called party number digits: 00000442073479999
E.164 Called party number digits: 00000442073479999
User-user
Information element: User-user
Length: 111
Protocol discriminator: X.208 and X.209 coded user information
H.225.0 CS
H323-UserInformation
h323-uu-pdu
h323-message-body: setup (0)
setup
protocolIdentifier: 0.0.8.2250.0.4 (Version 4)
sourceInfo
vendor
vendor
t35CountryCode: Albania (1)
t35Extension: 0
manufacturerCode: 71
H.221 Manufacturer: Unknown (0x01000047)
productId: ABCDEFGH
versionId: v1.0.0
terminal
..0. .... mc: False
...0 .... undefinedNode: False
destinationAddress: 1 item
Item 0
AliasAddress: dialedDigits (0)
dialedDigits: 12345
destCallSignalAddress: ipAddress (0)
ipAddress
ip: 193.x.x.212 (193.x.x.212)
port: 1720
0... .... activeMC: False
conferenceID: e2e2e2e2-e2e2-e1e1-e1e1-e0e0e0e0f0ef
conferenceGoal: create (0)
create: NULL
callType: pointToPoint (0)
pointToPoint: NULL
sourceCallSignalAddress: ipAddress (0)
ipAddress
ip: 64.x.x.66 (64.x.x.66)
port: 46039
callIdentifier
guid: 6f6f6833-3233-632d-b3ef-7d09d42d002e
fastStart: 0 items
0... .... mediaWaitForConnect: False
0... .... canOverlapSend: False
0... .... multipleCalls: False
0... .... maintainConnection: False
presentationIndicator: presentationAllowed (0)
presentationAllowed: NULL
screeningIndicator: userProvidedNotScreened (0)
1... .... h245Tunneling: True
Tego typu skanowanie miało zapewne na celu pozyskanie adresów IP potrafiących obsłużyć tego typu żądanie. Każdy adres IP został przeskanowany tylko jeden raz (atak nie został powtórzony). Z korelacji obserwacji naszych oraz dokonanych przez ISC SANS wynika, że wzmożone skanowanie portu 1720/TCP miało charakter globalny (odnotowane zostało nie tylko w polskiej przestrzeni Internetu). Jest to kolejny dowód na to, że ataków na VoIP pojawia się coraz więcej i są coraz bardziej zróżnicowane.