IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Qui connait le fuzzing ?


Sujet :

Sécurité

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 265
    Points : 95
    Points
    95
    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 !

  2. #2
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    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.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 265
    Points : 95
    Points
    95
    Par défaut
    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 :
    - 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
    - Fermer les ports qui ne sont pas utile.
    Logique
    - 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.

    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 !!
    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 ?
    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 ^^
    Tout nouveau !!
    Venez visionner ma nouvelle vidéo sur l'assistance informatique à distance !!
    < 40 sec !

  4. #4
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    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

    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 265
    Points : 95
    Points
    95
    Par défaut
    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...
    Tout nouveau !!
    Venez visionner ma nouvelle vidéo sur l'assistance informatique à distance !!
    < 40 sec !

  6. #6
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    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 !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 265
    Points : 95
    Points
    95
    Par défaut
    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 ?
    Tout nouveau !!
    Venez visionner ma nouvelle vidéo sur l'assistance informatique à distance !!
    < 40 sec !

  8. #8
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    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.

  9. #9
    Membre éclairé Avatar de messinese
    Homme Profil pro
    IT Security Consultant
    Inscrit en
    Septembre 2007
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 429
    Points : 876
    Points
    876
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

Discussions similaires

  1. qui connait sqlite ?
    Par Emmanuel Lecoester dans le forum SQLite
    Réponses: 23
    Dernier message: 19/02/2010, 14h44
  2. Interface JMAGICK ? Qui connait ? (compression image)
    Par ionix dans le forum Multimédia
    Réponses: 5
    Dernier message: 04/05/2006, 17h14
  3. Réponses: 6
    Dernier message: 10/04/2006, 15h41
  4. qui connait suipack?
    Par judor31 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 31/03/2006, 12h43
  5. Qui connait Putty ?
    Par viny dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 27/03/2004, 00h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo