Précédent   Forum du club des développeurs et IT Pro > Systèmes > Sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/11/2012, 17h08   #1
marveljojo75
Membre du Club
 
Inscription : juin 2008
Messages : 230
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 230
Points : 59
Points : 59
Par défaut Qui connait le fuzzing ?

Bonsoir à chacun d'entre vous,

Je suis en train d'effectuer différents tests sur ma propre infrastructure informatique.
Et je viens de tomber sur ce superbe tuto (si l'on peut dire):
http://thpierre.developpez.com/artic...zzing/#LII-D-1

J'ai un poste sous ubuntu.
Si j'ai bien compris, il me suffit de récupérer ces scripts et de les exécuter, en dehors de mon réseau local, à destination de mes différentes machines.

Mais qui connaitrait d'autres utiles plus "conviviales" ?
Ou des conseils pour tester les limites et vulnérabilités de son infrastructure et de ses serveurs ?

D'avance, merci
Et bon forum ^^
__________________
Tout nouveau !!
Venez visionner ma nouvelle vidéo sur l'assistance informatique à distance !!
< 40 sec !
marveljojo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 11h10   #2
manticore
Membre éclairé
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 283
Détails du profil
Informations personnelles :
Nom : Marc
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 283
Points : 320
Points : 320
Salut,

le fuzzing est une méthode de test aléatoire, en faite tu envoies des données aléatoire ou pseudo-aléatoire (pas au sens mathématique, mais au niveau de la consistance des données). Et tu regardes ce qu'il en sort.

On utilise beaucoup le fuzzing pour trouver des failles logiciels, en insérant en masses des données dans chaque point d'entré, et si le logiciel plante, on regarde plus en détail pourquoi.


Voila pour la théorie, maintenant si tu veux tester ton architecture, tu peux déjà commencer par :

- Regarder tous les deamons qui sont en écoute sur ta machine.
- Fermer les ports qui ne sont pas utile.
- Pour chaque port en écoute, checker la version du logiciel, puis regarder si il existe de nouvelles mise à jour pour ces logiciels. Dans le cas ou tu ne peux pas changer de version pour des raisons de compatibilité, regarde dans les bases d'exploit si une faille est connu. Puis dans les nouvelles versions du dit logiciel si des mises à jour de sécurité ont-été faites dans les nouvelles versions.

La tu fais le premier pas au niveau de la sécurité réseau.

Tu dois ensuite checker la configuration de chacun de tes services, exemple trivial pour le ssh:
- As-tu besoin d'une authentification plus forte avec un OTP ?
- Ton mot de passes est-il suffisamment robuste ?
- Est-ce que tu permet le root via ssh ?
- Est-ce que c'est vraiment utile ?

Maintenant si tu veux faire des tests automatisé, tu peux utiliser openvas ou nessus (presque le même logiciel, droit d'utilisation différents).

Ou tu peux installer une station avec backtrack qui est une distribution linux avec énormément d'outils pré-installé et depuis la tu peux tenter d'attaquer tes services.

En espérant que cela t'aide un peu, mais je sais pas si c'est plus conviviale Dans tout les cas tu peux le rendre plus conviviale avec une bière et des petits fours.
manticore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 11h50   #3
marveljojo75
Membre du Club
 
Inscription : juin 2008
Messages : 230
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 230
Points : 59
Points : 59
Citation:
Envoyé par manticore Voir le message
Salut,

le fuzzing est une méthode de test aléatoire, en faite tu envoies des données aléatoire ou pseudo-aléatoire (pas au sens mathématique, mais au niveau de la consistance des données). Et tu regardes ce qu'il en sort.

On utilise beaucoup le fuzzing pour trouver des failles logiciels, en insérant en masses des données dans chaque point d'entré, et si le logiciel plante, on regarde plus en détail pourquoi.
Bonjour à toi manticore, et merci pour ce long message

Voila pour la théorie, maintenant si tu veux tester ton architecture, tu peux déjà commencer par :
Citation:
- Regarder tous les deamons qui sont en écoute sur ta machine.
Ok, j'ai trouvé les infoss sur un autre site.
Je vais donc utiliser netstat
Citation:
- Fermer les ports qui ne sont pas utile.
Logique
Citation:
- Pour chaque port en écoute, checker la version du logiciel, puis regarder si il existe de nouvelles mise à jour pour ces logiciels. Dans le cas ou tu ne peux pas changer de version pour des raisons de compatibilité, regarde dans les bases d'exploit si une faille est connu. Puis dans les nouvelles versions du dit logiciel si des mises à jour de sécurité ont-été faites dans les nouvelles versions.
Aurais tu une ou plusieurs url pour les bases d'exploit ?

La tu fais le premier pas au niveau de la sécurité réseau.

Citation:
Tu dois ensuite checker la configuration de chacun de tes services, exemple trivial pour le ssh:
- As-tu besoin d'une authentification plus forte avec un OTP ?
- Ton mot de passes est-il suffisamment robuste ?
- Est-ce que tu permet le root via ssh ?
- Est-ce que c'est vraiment utile ?
C'est marrant, car j'ai commencé par cette étape !!
Citation:
Maintenant si tu veux faire des tests automatisé, tu peux utiliser openvas ou nessus (presque le même logiciel, droit d'utilisation différents).

Ou tu peux installer une station avec backtrack qui est une distribution linux avec énormément d'outils pré-installé et depuis la tu peux tenter d'attaquer tes services.
Oui, je pense que je vais récupérer un vieux pc sur lequel je vais installer un bon vieux linux.
J'ai donc trouvé ça :
http://backtrack-fr.net/
Vaut-il mieux la version fr ou la version anglaise d'origine ?
Citation:
En espérant que cela t'aide un peu, mais je sais pas si c'est plus conviviale Dans tout les cas tu peux le rendre plus conviviale avec une bière et des petits fours.
Heu...lol pour les bières au deamon ^^
marveljojo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 13h04   #4
manticore
Membre éclairé
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 283
Détails du profil
Informations personnelles :
Nom : Marc
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 283
Points : 320
Points : 320
Citation:
Aurais tu une ou plusieurs url pour les bases d'exploit ?
Voila 3 liens, j'utilise principalement les deux premiers :

http://www.exploit-db.com/
http://cve.mitre.org/
http://packetstormsecurity.org/files/tags/exploit

Citation:
Vaut-il mieux la version fr ou la version anglaise d'origine ?
Je savais pas qu'il y avait une version FR A mon avis cela n'a aucune influence.

Maintenant si ton infrastructure est critique il est important de faire auditer ton installation par quelqu'un d'externe à l'installation afin de voir un autre point de vue.
manticore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2012, 15h57   #5
marveljojo75
Membre du Club
 
Inscription : juin 2008
Messages : 230
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 230
Points : 59
Points : 59
Disons que je veux d'abord tester par moi même.
Et connaitre mes failles, sans que cela soit véritablement critique.

Ma seule hantise est de trouver un bug qui fasse de véritable dégâts !!
Genre celui qui fasse de tels dégâts qu'il faille tout réi-installer et perdre 1 bonne journée !!!

De toute façon, je pense qu'une sauvegarde externe de mes différents serveurs soient un pré-requis...
marveljojo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 15h29   #6
messinese
Membre chevronné
 
Homme Jean-marie Bourbon
IT Security Consultant
Inscription : septembre 2007
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Jean-marie Bourbon
Âge : 31
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : IT Security Consultant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2007
Messages : 338
Points : 681
Points : 681
Bonjour,

disons que l'avantage d'un audit externe par un pentester c'est surtout que nombre de vulnérabilitées critique sont dûe à des erreurs qui peuvent sembler pour beaucoup anodine et inoffensive et pourtant....

Une variable mal controlée, une balise manquantes, une règles absente ou mal paramétrée et ça devient dessuite exploitable !

D'autant qu'à la base tu parle de fuzzing or cette technique te permettra de trouver des 0Days donc tu n'auras pas de papers tout prés détaillant le possible impact de cette vulnérabilitée .

A bientot !
messinese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 17h42   #7
marveljojo75
Membre du Club
 
Inscription : juin 2008
Messages : 230
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 230
Points : 59
Points : 59
Merci à tous pour vos aides et informations

Dernière question, mais non des moindres :

Est ce qu'un exploit peut être destructif ?
C'est à dire rendre K.O un serveur par exemple ?
Ou, pire, corrompre des données utilisateurs ?
marveljojo75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 09h19   #8
manticore
Membre éclairé
 
Marc
Ingénieur sécurité
Inscription : novembre 2009
Messages : 283
Détails du profil
Informations personnelles :
Nom : Marc
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur sécurité

Informations forums :
Inscription : novembre 2009
Messages : 283
Points : 320
Points : 320
Bien sûr

Imagine l'objectif lors d'un exploit. Il s'agit généralement d'obtenir un shell, si possible root.

Une fois sur ton serveur, tout dépend de l'objectif de l'attaquant. Mais oui il peut détruire tes données, les altérer et les voler.
manticore est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/11/2012, 09h50   #9
messinese
Membre chevronné
 
Homme Jean-marie Bourbon
IT Security Consultant
Inscription : septembre 2007
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Jean-marie Bourbon
Âge : 31
Localisation : France, Aude (Languedoc Roussillon)

Informations professionnelles :
Activité : IT Security Consultant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2007
Messages : 338
Points : 681
Points : 681
100% d'accord avec "manticore".

Un exploit, comme son nom l'indique, permet d'exploiter une vuln.

Ainsi le but est bien clair: obtenir un shell, crasher un systeme (DoS, meme si c'est mal ) ou autre, c'est le principe meme d'un sploit, mais il est cependant inutile d'exploiter pour mettre en évidence des vulnérabilitées sur ton architecture ou ton systeme: un "proof of concept ou PoC" suffira amplement.

Il s'agit juste de mettre en évidence une faille sans pousser l'exploitation.

Par exemple pour un BoF (Buffer OverFlow) un PoC pourrait juste réécrire l'EIP ( pointeur d'instruction, prochaine opération à traiter lors de l'execution d'un programme ) avec des "A" (\x41) afin de montrer qu'il est alors possible de controler le flux d'exécution de ce dernier.

On obtiendrait alors un "crash" avec en sortie un 'segfault' (causé par une adresse inaccéssible en mémoire, nos "A") et un offset mémoire du genre :

Code :
1
2
Erreur de segmentation (ou un core dumped sur les kernels relativement récent)
0x41414141
Tout ça pour te dire que pour un audit surtout si tu n'es pas sûr il vaut mieux scanner, fuzzer (avec précaution car risque de DoS fréquents) mais pas nécéssairement exploiter.

Tu peux aussi aller sur exploit-db dabs la partie PoC afin d'avoir des exemple ou des sources qui pourrait t'aider.

Cordialement.
messinese est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h47.


 
 
 
 
Partenaires

Hébergement Web