#SoH on irc.geeknode.org
Vous n'êtes pas identifié.
Pages: 1
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
)
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)
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 :
Un scan de protocoles supportés nous en dit plus :
Notre protocole 132 apparait, SCTP.
Dès lors il est pertinent de lancer l'un ou l'autre des scan SCTP dédiés :
scan SCTP INIT chunk
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) :
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.
En ligne
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
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
):
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...
En ligne
Merci Gutek !!!
Je découvre ce protocole via ton post
(ç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 !
Hors ligne
"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 ![]()
En ligne
Pages: 1