Spirit Of Hack

#SoH on irc.geeknode.org

Vous n'êtes pas identifié.

Annonce

Ouverture du wiki SoH, Contactez-nous pour toute remarque :)

#1 16/06/2009 17:31:17

Gutek
Humaniste & Compréhensif
Lieu: Rent-a-modo. Tax free.
Date d'inscription: 11/01/2008
Messages: 332
Site web

[Scanning] TCP/UDP, what else ?...SCTP !

SCTP (Stream Control Transmission Protocol) est un protocole de niveau 4 (transport), comme TCP ou UDP. Il travaille par paquets, séquences, ou encore "chunks".
Bien que ses caractéristiques en fassent un protocole adapté à pas mal d'applications (déploiement de données, transferts à hautes vitesses), il est en particulier impliqué dans le domaine de la téléphonie.

La séquence d'association et le flux suivent un schémas qui s'apparente de loin au handshake TCP mieux connu :
INIT - INIT_ACK -COOKIE_ECHO - COOKIE_ACK - DATA
(pour le détail, suivez le lien tout au début. Il y a en plus des notions de clés secrètes et de hashes qui vont plaire à certains wink )

Comme pour tous les autres, de nombreuses vulnérabilités existent autour de ce protocole. Pour être plus précis, c'est bien sûr ses différentes implémentations sur les systèmes d'exploitation qui sont faillibles plutot que le protocole en soi.
Pour la plupart il s'agit de dénis de service mais comme le montre un article interressant de Tenable Network Sec, tout 'x'-overflow dont on dit (trop) rapidement qu'il ne mène qu'au DoS peut potentiellement cacher un danger plus grand. Ceci, par exemple : [Linux Kernel 2.6.x SCTP FWD Memory COrruption Remote Exploit]

Ce qui est interressant en outre avec SCTP (comme le montre aussi l'article), c'est que la plupart des systèmes modernes en sont capables sans pour autant être de grosses boites VoIP. La votre, peut être, geek s'empressant de toujours disposer du dernier kernel sortis après demain qui sent encore le plastique chaud.

Ainsi donc SCTP se scanne, comme ses camarades TCP et UDP. C'est juste un peu plus compliqué ou plutot, différent.
Il y a eu des scanners SCTP comme le SCTPScan de Philippe Langlois qu'il présentait à la BlackHat 07 (eu). Je vous le cite parceque c'est une pointure.
A part ca il faut bien reconnaitre que le domaine est un peu laissé à l'abandon. Aujourd'hui le dev' Nmap le reprend avec les premières fonctionnalités de base d'un vrai scanner SCTP :

- scan furtif par demi-association (idée similaire au SYN scan en TCP)
  envois d'INIT chunks, un port ouvert répond par un INIT_ACK chunk, un port fermé par un ABORT
 
- scan 'déceptif' en faisant croire à une association déjà établie (idée similaire aux ACK, FIN, Xmas scans en TCP)
  envois de COOKIE_ECHO chunks. Un port fermé répond par un ABORT et un port ouvert par un...silence. C'est pourquoi le résultat de ce scan                    particulier est forcément soit fermé, soit "ouvert OU filtré" : comme il ne répond rien, ca peut aussi bien venir d'un dispositif de filtrage.
 
- découverte d'hotes en remplacant le 'ping' classique (contournement du filtrage ICMP) par envois d'INIT chunks (idée similaire aux TCP SYN pings)
- traceroute adapté basé uniquement sur le protocole SCTP

En outre le protocole 132 (SCTP pour ceux qui suivent) a été rajouté à la détection de protocoles supportés (scan -sO). Utile si vous hesitez entre un système Win XP (ne supporte pas normalement SCTP) ou Vista (lui, si)
Pour la suite comme pas moins de 42 services associés à SCTP ont déjà été prévus dans les fichiers d'empreintes de Nmap, c'est sur cette voie que le travail va se poursuivre : le fingerprinting, qui mène à la fois à la détection de versions de services et aussi à la détermination des systèmes d'exploitation (il y a là aussi des numéros de séquences à surveiller, comme c'était déjà suspecté à la BH07)

Code:

7/sctp  echo            
9/sctp  discard         
20/sctp     ftp-data        
21/sctp     ftp             
22/sctp     ssh             
80/sctp http            
179/sctp    bgp             
443/sctp    https           
1167/sctp   cisco-ipsla     
1812/sctp   radius          
1813/sctp   radacct         
2225/sctp   rcip-itu        
2427/sctp   mgcp-gateway    
2904/sctp   m2ua            
2905/sctp   m3ua            
2944/sctp   megaco-h248     
2945/sctp   h248-binary     
3097/sctp   itu-bicc-stc    
3565/sctp   m2pa            
3863/sctp   asap-sctp       
3864/sctp   asap-sctp-tls   
3868/sctp   diameter        
4739/sctp   ipfix           
4740/sctp   ipfixs          
5060/sctp   sip             
5061/sctp   sip-tls         
5090/sctp   car             
5091/sctp   cxtp            
5672/sctp   amqp            
5675/sctp   v5ua            
7626/sctp   simco           
8471/sctp   pim-port        
9084/sctp   aurora          
9899/sctp   sctp-tunneling  
9900/sctp   iua             
9901/sctp   enrp-sctp       
9902/sctp   enrp-sctp-tls   
11997/sctp  wmereceiving    
11998/sctp  wmedistribution 
11999/sctp  wmereporting    
14001/sctp  sua             
20049/sctp  nfsrdma

Celà dit, entrons un peu dans le vif du sujet. La cible présentée ici est un serveur à scanme.csnc.ch spécialement mis en place pour le developpement chez Nmap qui dispose de toutes les autorisations nécessaires.
Le scan basic habituel TCP SYN ne montre pas grand chose, c'est le moins qu'on puisse dire :
http://ack-rst.com/sctp/sctp-ss.jpg

Un scan de protocoles supportés nous en dit plus :
http://ack-rst.com/sctp/sctp-so.jpg
Notre protocole 132 apparait, SCTP.

Dès lors il est pertinent de lancer l'un ou l'autre des scan SCTP dédiés :
http://ack-rst.com/sctp/sctp-sy.jpg
scan SCTP INIT chunk

http://ack-rst.com/sctp/sctp-sz.jpg
scan SCTP COOKIE-ECHO

Comme décrit plus haut il est aussi possible d'obtenir un traceroute adapté SCTP en utilisant un port dont on prévoit l'inexistance (16) :
http://ack-rst.com/sctp/sctp-traceroute.jpg

Une limitation au scan SCTP est le fait qu'habituellement il ne devrait pas passer un réseau NATé : la plupart des boxes ne savent pas comment traduire les paquets SCTP.

Vous pouvez découvrir les techniques de scan SCTP avec la dernière Béta Nmap : 4.85BETA10
...en attendant la prochaine stable d'ici quelques semaines dans toutes les bonnes distros.

Scanning is not a crime.


-[Key ID : 0xED216BB8
-[Key fingerprint : B39169BDA010EB3B9B497B5EDDA0D34CED216BB8

En ligne

 

#2 16/06/2009 21:48:41

Intox
Membre
Date d'inscription: 04/03/2008
Messages: 79

Re: [Scanning] TCP/UDP, what else ?...SCTP !

Plouf

Excellent amuse-bouche apparemment ce petit SCTP, merci Gutek (mon modo préféré !).
Je connaissais pas trop et je suis pas certain d'avoir tout compris, alors je lâche une ou deux questions qui me trottent comme ça:

1) Le protocole SCTP est-il supporté nativement dans le kernel linux 2.6 ? J'ai lu sur l'exploit qu'il fallait que la cible ait au moins une application SCTP installée. J'en viens a supposer que seule l'installation d'une application SCTP provoquera l'installation du module SCTP, et sans cela, la détection des protocoles supportés de nmap ne sera pas plus efficace face à ce genre de système.

2) Est-ce que les gens de chez nmap ont constitué quelque part une ébauche de liste des applications qui utilisent SCTP ?

3) question plus particulièrement par rapport à l'exemple du serveur mis à disposition pour nmap :
Le scan TCP/UDP ne rend aucun résultat. Les ports ouverts sont 7 (echo), 9( ?? ), 25 (smtp) et 80(http). C'est parce que les serveurs associés passent par SCTP à la couche 4, où les paquets sont filtrés par un firewall ?

Voila, ça peut paraître un peu concon, mais je suis pas encore un scanz0r qui peut scanner les ports avec les yeux.

Hors ligne

 

#3 16/06/2009 23:06:22

Gutek
Humaniste & Compréhensif
Lieu: Rent-a-modo. Tax free.
Date d'inscription: 11/01/2008
Messages: 332
Site web

Re: [Scanning] TCP/UDP, what else ?...SCTP !

Le groupe qui est en charge de la maintenance de SCTP, LKSCTP (Linux Kernel SCTP Project) indique que l'inclusion a été officiellement discutée et prévue pour la série 2.5 dès mars 2001, inclus pour la première fois dans le 2.5.33 released August 31, 2002 et faisant partie de la maintenance officielle dans la série 2.6
Neanmoins ce qui est certain c'est qu'il est possible de trouver du SCTP sur des kernels 2.4 (http://www.boutell.com/lsm/lsmbyid.cgi/000009)

Applications utilisant SCTP (non exhaustif, document de travail tiré directement de la corbeille smile ):
sctpperf: a SCTP benchmarking tool
VTUND : Virtual Tunnel over SCTP Extension of the VTUN device...
LAM/MPI over SCTP RPI: High performance message passing over SCTP for GRID applications Not yet released...
SUA over SCTP: SCCP User adaptation layer over SCTP A SS7-over-IP application of SCTP ...
IPCAD: IP Cisco Accounting Daemon exports accounting info using Netflow, seems to support SCTP..?!...
Rserpool: Reliable Server Pooling utilises SCTP.
oSIP: SIP library seems to check for SCTP..?!...
Iperf over SCTP Adapted version of Iperf(version 1.6.5), runs on lksctp
PySCTP Python Bindings for SCTP: run Rython scripts on SCTP, uses the standard SCTP API
APS-SCTP/TTM : Telephony Transport for SS7 over IP
LanTraffic V2 : software that generates traffic for IP networks by using the following protocols: TCP , UDP, ICMP or SCTP
Network Simulator 2 : simulate case scenarios using SCTP and TCP protocols with FTP and HTTP traffic
Dynamics HUT Mobile-IP : roaming for mobiles

Enfin en ce qui concerne le scanme, je laisse la parole a Daniel Roethlisberger qui le maintient :
"...It's a dedicated embedded FreeBSD system running
a few dummy SCTP services.  TCP and UDP are firewalled."


Pour information, le service "discard" qui tourne sur le port 9 est un service particulier dont le fonctionnement consiste à établir une connexion (ou association), et rejeter systématiquement les données. Ce service sert aux fins de tests de connexion, mesures etc...


-[Key ID : 0xED216BB8
-[Key fingerprint : B39169BDA010EB3B9B497B5EDDA0D34CED216BB8

En ligne

 

#4 17/06/2009 09:15:10

Nickname
Membre
Date d'inscription: 11/01/2008
Messages: 80

Re: [Scanning] TCP/UDP, what else ?...SCTP !

Merci Gutek !!!

Je découvre ce protocole via ton post big_smile (ça me fou mal pour être en première année de Master et pas connaître ça, passons ...!)

Petite question est-ce que ce protocole est répandu de nos jours ?

J'ai vu que tu as fait une liste d'applications utilisant SSC, mais aujourd'hui ou trouvons nous ce protocole ? (FAI, opérateur téléphonique, etc..)

Thx pépitoooooo de belin !


"Le Perl Est Merveilleux" © Nickname

Hors ligne

 

#5 17/06/2009 09:40:46

Gutek
Humaniste & Compréhensif
Lieu: Rent-a-modo. Tax free.
Date d'inscription: 11/01/2008
Messages: 332
Site web

Re: [Scanning] TCP/UDP, what else ?...SCTP !

"répandu" est une notion subjective : tout dépend selon chacun dans quel milieu on évolue. Il est certain que du point de vue du particulier classique sur Internet il va être très rare pour deux raisons :
- a part VoIP, SCTP est utilisé pour les réseaux à très grande vitesse (comprendre : >1Gb/s)
- il risque tout simplement de ne pas le "voir" à cause de sa propre installation : voir le problème du NAT dans l'article

D'un autre coté, le developpement du scanner répond à un besoin qui situe l'utilisateur comme faisant partie d'un autre milieu : il est responsable sécu, mainteneur, admin réseau...
Pour lui, c'est tout de suite plus courant. On trouve SCTP dans les VPN reliant les sites (je parle de batiments physiques, là) des grosses boites, sur certains campus...
Comme on le voit sur l'exemple du scanme, qui semble "invisible" si on reste sur une recherche TCP, ca pose aussi le problème de la sécurité : comme les scanners SCTP sont vraiment très rares et que ca ne vient pas forcement à l'esprit du premier responsable venu on peut imaginer à partir de là des scenari de fuite d'information.

Petite parenthèse d'ailleurs au sujet de la recherche : toujours penser à un scan de protocoles d'abord. Ca coute pas cher en temps et même si dans 99% des cas on trouve toujours les mêmes, le 1% restant est du coup forcement juteux. Le scanz0rus comme tous les dinosaures réagit au mouvement : ce qui sort du lot vaut toujours la peine de se bouger les petites papattes arrières smile


-[Key ID : 0xED216BB8
-[Key fingerprint : B39169BDA010EB3B9B497B5EDDA0D34CED216BB8

En ligne

 

Pied de page des forums

© Copyright 2002–2005 Rickard Andersson