Annonce

Réduire
Aucune annonce.

Wapiti - Vulnerability scanner web - fuzzer

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Wapiti - Vulnerability scanner web - fuzzer

    Wapiti est un script python, un fuzzer permettant donc d'effectuer des "tests" en scannant des pages web sans forcément avoir besoin du code source. On parle donc ici d'audit en "boîtes noires" ou en aveugle.

    Après avoir effectué le scan, il va essayer d'injecter (dans vos scripts, formulaires, etc.) des données afin de voir si l'un d'eux est vulnérable

    Wapiti permet de détecter les vulnérabilités suivantes :

    - Gestions d'erreurs sur les fichiers (Local et Remote include, fopen, readfile, etc.) ;
    - Injections diverses dans BDD (PHP/JSP/ASP/SQL et XPath) ;
    - XSS (Cross Site Scripting) ;
    - Injection LDAP ;
    - Détection d'exécution de commandes (eval(), system(), passtru(), etc.) ;
    - Injection CRLF (réponse HTTP splitée, la détermination de session, etc.).

    Wapiti est en mesure de différencier les différentes formes de failles de type XSS (permanent ou non).

    Une alerte est également émise lorsque il trouve une erreur HTTP 500 (utile pour les ASP/IIS).

    Son principal atout face à la concurrence est surtout le fait qu'il ne se base pas sur une BDD mais vise à découvrir des vulnérabilités inconnues dans les applications Web.

    Téléchargement du tool :

    http://sourceforge.net/projects/wapi...0.zip/download


    Exemple d'utilisation basique :

    # wapiti.py www.site-cible.com


    Voici son man :


    Wapiti-2.2.1 - A web application vulnerability scanner

    Usage: python wapiti.py http://server.com/base/url/ [options]

    Supported options are:
    -s <url>
    --start <url>
    To specify an url to start with

    -x <url>
    --exclude <url>
    To exclude an url from the scan (for example logout scripts)
    You can also use a wildcard (*)
    Example : -x http://server/base/?page=*&module=test
    or -x http://server/base/admin/* to exclude a directory

    -p <url_proxy>
    --proxy <url_proxy>
    To specify a proxy
    Example: -p http://proxyort/

    -c <cookie_file>
    --cookie <cookie_file>
    To use a cookie

    -t <timeout>
    --timeout <timeout>
    To fix the timeout (in seconds)

    -a <login%password>
    --auth <login%password>
    Set credentials for HTTP authentication
    Doesn't work with Python 2.4

    -r <parameter_name>
    --remove <parameter_name>
    Remove a parameter from URLs

    -n <limit>
    --nice <limit>
    Define a limit of urls to read with the same pattern
    Use this option to prevent endless loops
    Must be greater than 0

    -m <module_options>
    --module <module_options>
    Set the modules and HTTP methods to use for attacks.
    Example: -m "-all,xss:get,execost"

    -u
    --underline
    Use color to highlight vulnerables parameters in output

    -v <level>
    --verbose <level>
    Set the verbosity level
    0: quiet (default), 1: print each url, 2: print every attack

    -b <scope>
    --scope <scope>
    Set the scope of the scan:
    + "page": to analyse only the page passed in the URL
    + "folder":to analyse all the links to the pages which are in the same folder as the URL passed to Wapiti.
    + "domain":to analyse all the links to the pages which are in the same domain as the URL passed to Wapiti.
    If no scope is set, Wapiti scans all the tree under the given URL.

    -f <type_file>
    --reportType <type_file>
    Set the type of the report
    xml: Report in XML format
    html: Report in HTML format
    txt: Report in plain text

    -o <output>
    --output <output_file>
    Set the name of the report file
    If the selected report type is 'html', this parameter must be a directory

    -i <file>
    --continue <file>
    This parameter indicates Wapiti to continue with the scan from the specified file, this file should contain data from a previous scan.
    The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.

    -k <file>
    --attack <file>
    This parameter indicates Wapiti to perform attacks without scanning again the website and following the data of this file.
    The file is optional, if it is not specified, Wapiti takes the default file from the "scans" folder.

    -h
    --help
    To print this usage message
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Merci pour cette présentation, je vais le tester après mon scan arachni qui dure depuis 4 jours ahah

    Commentaire


    • #3
      Envoyé par Back2back Voir le message
      Merci pour cette présentation, je vais le tester après mon scan arachni qui dure depuis 4 jours ahah
      La recherche de vulnérabilités, ce n'est pas juste lancer un scan. Tu doit recenser les services avant. Cela te permettra soit de tester la faille manuellement, construire un script pour travailler dessus, choisir un vuln qui soit en correspondance avec le service ou alors le régler pour affiner ses tests sur le service récupéré.

      Wapiti est un scan de vuln web basique et sans prétention, tu peux très bien trouver un service windows et sélectionner Microsoft Baseline Security Analyzer, par exemple ou alors récupéré une CTRF et faire avec PHP, perl ou python un script de travail.

      Si tu lance des scans les uns derrière les autres sans fondement, tu peux te retrouver à travailler 1 semaines en vain.

      C'est juste un conseil qui te permettra d'avoir une approche plus heuristique, plus adapté à la cible.

      Commentaire


      • #4
        Bonjour Dreamus,

        Je te remercie pour tes conseils.
        En fait, j'ai déjà lancé quelques scans pour récolter des informations sur de potentiels vulns.
        Pendant que je travaille sur une vuln ou autres, je lance un autre scan.

        Je débute en sécurité et j'utilise ces scans pour m'orienter dans mes recherches.
        Par exemple, pendant arachni tourne, j'ai exploité une faille upload et je l'ai sécurisé (C'est pas grand chose, surtout pour vous, mais pour moi c'est un début)

        J'ai les différents tutos postés sur ce forum afin de faire une phase d'exploration efficace et rassembler un certain nombre de données qui m'ont permis de m'orienter sur certaines failles.

        Je cherche à trouver des failles dans un site web.
        Après je profite aussi de ce stage pour découvrir les différents outils et me familiariser avec, c'est pour cela que je n'hésite pas à lancer utiliser des outils, même si j'ai déjà assez d'informations.

        Dans tous les cas, je vous remercie pour vos conseils, et reste à votre écoute pour tous conseils

        Commentaire


        • #5
          Ok, je te remercie et c'est normal, on a tous commencé et été tenté par le côté obscur du scanner de vulnérabilités et son aisance dans la recherche de failles.


          Voici le processus d'un audit. Tu vas dans un premier temps rechercher les services et systèmes en place. Quels sont les systèmes présents ? Les ports ? Les applications utilisées ? Les vulnérabilités apparentes vis-à-vis de cette première approche ?

          En boîte blanche, tu as accès au code donc tu vas essayer de trouver les éléments les plus susceptibles d'être pris d'une failles ou bug. Tu vas isoler la partie du code, puis remonter progressivement, les données jusqu'à trouver une faille et ainsi de suite.

          Puis, au fur et à mesure tu vas affiner tes recherches, puis affiner tes scans Nmap et autres jusqu'à trouvé l'endroit faillible. Là tu pourras éventuellement coder un script qui va tester cette faille avec toutes les possibilités ou tenter une tactique par levier, cela dépendra des possibilités et objectifs.En boîte noire, cela va dépendre des sécurités d'entrée et des sorties de scans systèmes.Bref, tu vois c'est long et cela demande de nombreuses connaissances.

          Connaissances en systèmes :Failles web, failles applicatives, failles réseaux, ... des connaissances dans les langages de ces systèmes : PHP,HTML,CSS,C,Python,ASM,...


          Des connaissances dans diverses techniques de contournement : SE,Cryptologie,...Bref, cela demande une vie de travail, certains étant plus doués que d'autres et y arrivant plus vite.

          Grosso modo, voici le principe de base.

          Commentaire

          Chargement...
          X