Marianne ANSSI

CERT-FR

Centre gouvernemental de veille, d'alerte et de réponse aux attaques informatiques

logo ANSSI
Informations utiles

Que faire en cas d'intrusion ?

Les systèmes obsolètes

Liens utiles

 

L'ANSSI recrute

 

 

Les documents du CERT-FR

Publications récentes

Les alertes en cours

Les bulletins d'actualité

Les notes d'information

Année en cours Archive

 

Les Flux RSS du CERT-FR

Flux RSS complet

RSS

Flux RSS des alertes

RSS

Flux RSS SCADA

RSS

 

CERTA-2000-INF-003

Imprimer ce document

Version PDF

À propos du CERT-FR

Le CERT-FR

Nous contacter

Contact us ( Drapeau anglais )

A propos du site

Communauté CSIRT

Les CSIRT

Le FIRST

L'EGC

 
Archives du CERT-FR

Année 2017 Archive

Année 2016 Archive

Année 2015 Archive

Année 2014 Archive

Année 2013 Archive

Année 2012 Archive

Année 2011 Archive

Année 2010 Archive

Année 2009 Archive

Année 2008 Archive

Année 2007 Archive

Année 2006 Archive

Année 2005 Archive

Année 2004 Archive

Année 2003 Archive

Année 2002 Archive

Année 2001 Archive

Année 2000 Archive

 

S . G . D . S . N
Agence nationale
de la sécurité des
systèmes d'information

République Française Paris, le 29 mai 2000
No CERTA-2000-INF-003

Affaire suivie par :

CERTA

NOTE D'INFORMATION DU CERTA

Objet : Évolution des outils de déni de service distribué


Conditions d'utilisation de ce document : http://www.certa.ssi.gouv.fr/certa/apropos.html
Dernière version de ce document : http://www.certa.ssi.gouv.fr/site/CERTA-2000-INF-003

Gestion du document



Date de la première version 29 mai 2000
Date de le dernière version -



1 Introduction

Après les actions du mois de février 2000 à l'encontre de divers sites américains, les retombées médiatiques des manifestations ``agressives'' des outils de déni de service distribué semblent avoir décru. Cependant, des réseaux d'agents et de serveurs sont régulièrement démantelés par les CERTs coopérant au sein du FIRST. Cela confirme que l'activité d'infection ne s'est jamais tarie et que des stations sont toujours activement compromises.

Par ailleurs, les premières versions ont inspiré d'autres pirates et de nouveaux outils continuent à apparaître.

La présente note a pour objet de décrire sommairement deux nouveaux outils d'attaque récemment apparus, trois programmes de détection et de donner des premiers éléments de conduite à tenir en cas de compromission.

2 Description

L'architecture d'un réseau de déni de service distribué reste identique à celle décrite dans la précédente note du CERTA (réf. 1), avec des agents pilotés par un ou plusieurs serveurs, ce(s) dernier(s) étant également accédé(s) à distance par un client dédié ou via telnet.

A ce jour, seuls les systèmes Unix peuvent être infectés par les deux outils décrits ci-dessous.

2.1 Shaft

Shaft est dérivé de Trinoo, les serveurs et agents communiquent via le protcole udp :

        20432/tcp            18753/udp

Client ------> Serveur ------> Agent

                            <------

                             20433/udp

En l'absence de ``rootkit'', netstat donne :
Serveur
 


Protocole Adresse locale
tcp 0.0.0.0:20432
udp 0.0.0.0:20433



Client
 


Protocole Adresse locale
udp 0.0.0.0:18753



Cependant les agents auraient la capacité de changer le serveur (modification de l'adresse IP) et le port auquel ils s'adressent (mais pas leur port d'écoute) sur ordre du serveur. Cela rend la détection des serveurs beaucoup plus aléatoire.

Lors d'une attaque, les agents envoient des paquets TCP, UDP, ICMP ou un mélange des trois, séquentiellement à chacune des cibles désignées. L'adresse source n'est falsifiée que lorsqu'un agent s'éxécute avec les droits de root.

2.2 Mstream

mstream est outil de déni de service distribué peu sophistiqué basé sur le code du programme de déni de service stream.c apparu il y a quelques mois. Sa principale caractéristique est l'efficacité de l'attaque qui, par conséquent, nécessite moins d'agents que les outils semblables, pour un résultat équivalent.

Par ailleurs, le serveur prévient les clients déjà connectés de toute activité sur ses ports d'écoute (connection, authentification réussie ou non, nouvel agent). Il est donc important d'être en mesure d'isoler très rapidement du réseau (voir paragraphe 4) un hôte infecté par un serveur.

Plusieurs versions ont déjà été découvertes, d'où plusieurs ports caractéristiques possibles :

        6723/tcp ou 15104/tcp           7983/udp ou 10498/udp

Client -----------> Serveur -----------> Agent

            ou 12754/tcp               <-----------

                                        9325/udp ou 6838/udp

En l'absence de ``rootkit'', netstat donne :
Serveur
 


Protocole Adresse locale  
tcp 0.0.0.0:x où x=6723, 15104 ou 12754
udp 0.0.0.0:x où x=9325 ou 6838



Client
 


Protocole Adresse locale  
udp 0.0.0.0:x où x=7983 ou 10498



Le serveur stocke la liste des clients identifiés dans un fichier nommé ``.sr'' par défaut.l

Durant une attaque, les agents envoient des paquets TCP avec le drapeau ACK (accusé de réception) activé et une adresse source aléatoire. Lorsque le port destinataire de la cible est ouvert, le paquet nécessite une analyse plus poussée de la part de la pile IP de la victime qu'avec les leurres usuels avant d'être rejeter, et peut en outre induire un traffic supplémentaire dû à la notification du refus.

3 Outils de détection

Tout système de routage possédant une capacité de journalisation des connections peut être utilisé pour réaliser une détection sommaire de compromission. On peut mettre en place, sur un garde-barrière ou un routeur, les règles de journalisation suivantes (sans pour autant bloquer les paquets correspondants) concernant les ports sources ou destinations internes suivants :

TCP
:
  • 27665/tcp, serveur Trinoo,
  • 27444/tcp, agent Trinoo,
  • 16660/tcp, serveur Stacheldraht,
  • 61111/tcp et 65512/tcp, serveur Stacheldraht V4,
  • 65000/tcp, agent Stacheldraht,
  • 65512/tcp et 65513/tcp, agent Stacheldraht V4,
  • 20432/tcp, serveur Shaft,
  • 6723/tcp, 15104/tcp et 12754/tcp, serveur Mstream.
UDP
:
  • 31335/udp, serveur Trinoo,
  • 27444/udp, agent Trinoo,
  • 34555/udp, agent WinTrinoo (Trinoo sous Windows),
  • 20433/udp, serveur Shaft,
  • 18753/udp, agent Shaft,
  • 9325/udp et 6838/udp, serveur Mstream,
  • 7983/udp et 10498/udp, agent Mstream.
Ces ports n'étant pas privilégiés, ils peuvent être attribués par le système d'exploitation à n'importe quel programme ouvrant une socket. Cependant leur apparition régulière dans les fichiers journaux peut être révélatrice d'une machine compromise. Il convient alors d'investiguer l'hôte correspondant pour déterminer si le port est utilisé par un programme légitime ou non.

Il existe également des outils dédiés permettant une analyse plus systématique, décrits ci-dessous.

3.1 Remote Intrusion Detector (RID)

RID est un programme de génération et capture de paquets IP. Il permet donc de détecter des programmes ayant une réponse réseau caractéristique pour une sollicitation donnée (réf. 5).

Après analyse des sources des versions 1.10 puis 1.11 (la version 1.11 est une modification de la 1.10 après suggestions du CERTA) et utilisation dans l'environnement du CERTA, il apparaît que ce logiciel ne semble faire aucune action nuisible et semble répondre à ce qui est décrit dans sa documentation.

Il est joint sous la forme d'une archive contenant les sources, une version éxécutable pour Linux sur Intel et une version modifiée du fichier rid.conf de la version 1.11 en vue de détecter mstream accompagnée d'un mode d'emploi en français (réf. 2).

(voir les hachages md5 correspondants en annexe A).

3.2 Nessus

Nessus est un scanner de vulnérabilités réseau développé sous l'égide de Renaud Deraison résidant en France. Il fonctionne selon une architecture client/serveur. Le serveur, réalisant les tests, tourne sous Linux, Solaris, OpenBSD et FreeBSD. Il existe des clients permettant de le piloter depuis Windows, Linux, Solaris, FreeBSD ainsi qu'une version Java (réf. 6).

Les vulnérabilités sont testées à travers des scripts dont certains recherchent la présence d'outils distribués en envoyant des stimuli semblables à ceux de RID.

Les sources n'ont pas fait l'objet d'une analyse, mais le produit est utilisé dans l'environnement du CERTA sans effets nuisibles apparents.

3.3 find_ddos

find_ddos est un outil réalisé par le FBI. Il analyse les programmes de la station sur laquelle il s'éxécute à la recherche de signatures caractéristiques des outils de déni de service distribué (réf. 7).

Le FBI ne distribue que des versions compilées (pour Solaris sur Sparc et Intel et Linux sur Intel) mais en revanche aucunes sources. Il n'est donc pas possible de connaître facilement le fonctionnement exact du programme et donc de se prononcer sur son inocuité.

Cependant, il a été utilisé avec succès, à plusieurs reprises, par des clients d'un autre CERT français sur des machines préalablement déclarées compromises (en isolant l'hôte du réseau).


4 Conduite à tenir en cas de détection

Il est essentiel de préserver l'ensemble des traces disponibles sur une machine (disque(s) et mémoire) et dans son environnement réseau. Il convient donc de ne pas intervenir directement sur la machine concernée jusqu'à la collecte. Les actions à entreprendre immédiatement (en consignant tout ce qui est entrepris) :

  • supprimer l'accès réseau : au mieux en interdisant toute connection depuis et vers la machine en configurant le routeur ou le garde-barrière le plus proche (configurer les journaux pour enregistrer le plus d'informations possible sur ces accès nouvellement bloqués, idéalement des ``dumps'' complets), au pire en débranchant le cable réseau,
  • limiter l'accès physique au matériel,
  • contacter le CERTA,
  • en cas d'intervention obligatoire sur la machine : utiliser des programmes externes compilés statiquement (ls, ps, netstat,... sont très probablement compromis), noter toutes les commandes utilisées (utiliser script par exemple), minimiser les fichiers écrits localement.

5 Bibliographie

  1. Note CERTA-2000-INF-001 ``Le déni de service distribué'' du 21 février 2000.
  2. Note d'information CERTA-2000-INF-004 ``Détection des outils d'attaque distribuée'' du 29 mai 2000.
  3. Analyse de Shaft par S. Dietrich, N. Long et D. Dittrich
    http://netsec.gsfc.nasa.gov/~spock/shaft_analysis.txt
    
  4. Analyse de mstream par D. Dittrich, G. Weaver, S. Dietrich et N. Long
    http://staff.washington.edu/dittrich/misc/mstream.analysis.txt
    
  5. RID, détection réseau d'outils distribués par D. Brumley
    http://theorygroup.com/Tools/RID/
    
  6. Nessus, scanner réseau de vulnérabilités par R. Deraison
    http://www.nessus.org
    
  7. find_ddos, détection locale d'outils distribués, réalisé par le FBI
    http://www.nipc.gov/trinoo.htm
    

Gestion détaillée du document

29 mai 2000

version initiale.


A. MD5 des fichiers joints dans l'archive

ed63bb3aa16274aa752a07f0ca1b56bb  ./source-rid-1.11/CVS/Root

09cb555fcabe0ea63cd66ab2339de7c4  ./source-rid-1.11/CVS/Repository

bdedde1b34287bc6c59c751b6a887470  ./source-rid-1.11/CVS/Entries

3152f046cc4f8c30a88bc9651acba29c  ./source-rid-1.11/.h

feac3b0da1b00fc2a0f9cce9debeaa6c  ./source-rid-1.11/BUGS

94bd123fc2f7972b1cf2d679dacd5aee  ./source-rid-1.11/CHANGES

88923787dd054a3b1c6a7196cd207f09  ./source-rid-1.11/COPYRIGHT

07aa4b71b1229170197f8695382e88f4  ./source-rid-1.11/CREDITS

2bd50652025b5b2f9d49b6eb9aa497e9  ./source-rid-1.11/Makefile.in

efcf547a500eb33a640f271c37a1f8f1  ./source-rid-1.11/README

86829804843dc9788c59930d9154fb98  ./source-rid-1.11/config.guess

9ea90fddfa35f0bcd7214df135afa32a  ./source-rid-1.11/config.h.in

9b6423290a5b9e54465d120adc3ccd9b  ./source-rid-1.11/config.sub

f74d1e202bfb83a809f6d7610522f140  ./source-rid-1.11/configure

faa519094d7f16c50f1ed0f6ddcd261a  ./source-rid-1.11/configure.in

2269c0beddfc299507a59377127b0501  ./source-rid-1.11/functions.h

3152f046cc4f8c30a88bc9651acba29c  ./source-rid-1.11/grammer.h

a1dfc11bef5c6f1b33db869fd51182ac  ./source-rid-1.11/grammer.y

ca4c8e08be31723608758c97c4001862  ./source-rid-1.11/install-sh

fbdc6043ec14b7a8d5e3e68d4a65032a  ./source-rid-1.11/listen.c

393d298125f8e03c13364afe447b308d  ./source-rid-1.11/missing

264cf0e0c373684dfed5a27b4ae39890  ./source-rid-1.11/mkinstalldirs

7a079ac8b7ef1643572e6db205e60dc0  ./source-rid-1.11/myconfig.in

39995303524a9707ecebf10bb9129360  ./source-rid-1.11/netconfig.h

29a1ebf1ebf610f8ea7f4d95ebc1fdc9  ./source-rid-1.11/parser.l

bcf94fcc9091197881b726338d7363e8  ./source-rid-1.11/pinger.c

98cdc88fe364a07463efee74036271e9  ./source-rid-1.11/rid.c

c9600224a6493bcabeaf3274e5b1adc0  ./source-rid-1.11/rid.conf

45e65e0d9d03c1f92ba845dcf7c40d1b  ./source-rid-1.11/sender.c

ed63bb3aa16274aa752a07f0ca1b56bb  ./source-rid-1.11/.deps/CVS/Root

b34a842f241e8e1ecc14ceee72e02096  ./source-rid-1.11/.deps/CVS/Repository

22da040614547628c3b2a933f9796021  ./source-rid-1.11/.deps/CVS/Entries

6a5c95e0ed4cbb36ac268bf7fe644b38  ./source-rid-1.11/.deps/grammer.P

471252c2e6a715f95eae0a105861c397  ./source-rid-1.11/.deps/listen.P

a105d37353fea53d000de4cff4f462fb  ./source-rid-1.11/.deps/parser.P

b49fef1bc376b57ee16ca5520362615f  ./source-rid-1.11/.deps/pinger.P

ba30677a015c38eb29ad51c9b700690c  ./source-rid-1.11/.deps/rid.P

fef080fa416ec170450b6640fae3e333  ./source-rid-1.11/.deps/sender.P

a8de6b2a512c5007a018e5109802cf7e  ./source-rid-1.11/.directory

bede090e900d2b5cb928d0d2d92097db  ./binaire/rid

c9600224a6493bcabeaf3274e5b1adc0  ./binaire/rid.conf

d77ca6390f05ad7e805c63b0106a0537  ./rid.tar.gz


CERTA
2014-01-17
Premier Ministre / Secrétariat Général de la Défense et de la Sécurité Nationale / Agence nationale de la sécurité des systèmes d'information webmestre Dernière mise à jour : le 2017-04-24