Il s'agit de la commande skipfish qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
skipfish - scanner de sécurité des applications Web
SYNOPSIS
sauterelle [Options] -o répertoire de sortie [ URL de démarrage | @url-fichier [ URL de démarrage2 ... ]]
DESCRIPTION
sauterelle est un outil actif de reconnaissance de sécurité des applications Web. Il prépare un
plan du site interactif du site ciblé en effectuant un crawl récursif et
sondes basées sur un dictionnaire. La carte résultante est ensuite annotée avec la sortie d'un
nombre de contrôles de sécurité actifs (mais, espérons-le, non perturbateurs). Le rapport final
généré par l'outil est destiné à servir de base à une application Web professionnelle
évaluations de sécurité.
OPTIONS EN RÉSUMÉ
Options d'authentification et d'accès :
-A user:pass - utilise les informations d'authentification HTTP spécifiées
-F host=IP - prétend que 'host' se résout en 'IP'
-C name=val - ajoute un cookie personnalisé à toutes les requêtes
-H name=val - ajoute un en-tête HTTP personnalisé à toutes les requêtes
-b (i|f|p) - utilise des en-têtes compatibles avec MSIE / Firefox / iPhone
-N - ne pas accepter de nouveaux cookies
Options de portée d'exploration :
-d max_depth - profondeur maximale de l'arbre d'exploration (16)
-c max_child - nombre maximal d'enfants à indexer par nœud (512)
-x max_desc - nombre maximal de descendants à indexer par branche (8192)
-r r_limit - nombre total maximum de requêtes à envoyer (100000000)
-p crawl% - probabilité d'exploration des nœuds et des liens (100 %)
-q hex - répéter l'analyse probabiliste avec une graine donnée
-I string - ne suivez que les URL correspondant à 'string'
-X chaîne - exclut les URL correspondant à « chaîne »
-K string - ne pas fuzz les paramètres nommés 'string'
-D domain - explore les liens intersites vers un autre domaine
-B domaine - faire confiance, mais ne pas explorer, un autre domaine
-Z - ne descend pas dans les emplacements 5xx
-O - ne soumettez aucun formulaire
-P - ne pas analyser HTML, etc, pour trouver de nouveaux liens
Options de rapport :
-o dir - écrit la sortie dans le répertoire spécifié (obligatoire)
-M - enregistre les avertissements concernant le contenu mixte / les mots de passe non SSL
-E - enregistre toutes les incompatibilités d'intention de mise en cache
-U - enregistre toutes les URL externes et les e-mails vus
-Q - supprime complètement les nœuds en double dans les rapports
-u - reste silencieux, désactive les statistiques de progression en temps réel
Options de gestion des dictionnaires :
-W liste de mots - utilise une liste de mots en lecture-écriture spécifiée (obligatoire)
-S wordlist - charge une liste de mots supplémentaire en lecture seule
-L - ne pas apprendre automatiquement de nouveaux mots-clés pour le site
-Y - ne pas fuzz les extensions dans le répertoire brute-force
-R age - les mots de purge ont atteint plus d'un scan d'âge il y a
-T name=val - ajoute une nouvelle règle de remplissage automatique du formulaire
-G max_guess - nombre maximum de mots-clés à conserver (256)
Paramètres de performances :
-l max_req - nombre maximal de requêtes par seconde (0..000000)
-g max_conn - max de connexions TCP simultanées, globales (40)
-m host_conn - max de connexions simultanées, par IP cible (10)
-f max_fail - nombre maximum d'erreurs HTTP consécutives (100)
-t req_tmout - délai total de réponse à la requête (20 s)
-w rw_tmout - délai d'attente d'E/S réseau individuel (10 s)
-i idle_tmout - délai d'attente sur les connexions HTTP inactives (10 s)
-s s_limit - taille limite de réponse (200000 B)
-e - ne garde pas les réponses binaires pour les rapports
Autres réglages:
-k duration - arrête le balayage après la durée donnée h:m:s
--config file - charge le fichier de configuration spécifié
AUTHENTIFICATION ET ACCÈS
Certains sites nécessitent une authentification, et skipfish la prend en charge de différentes manières. D'abord
il existe une authentification HTTP de base, pour laquelle vous pouvez utiliser l'indicateur -A. Deuxièmement, et plus
sont des sites qui nécessitent une authentification au niveau de l'application Web. Pour ces sites,
la meilleure approche consiste à capturer des cookies de session authentifiés et à les fournir à skipfish
en utilisant le drapeau -C (plusieurs si nécessaire). Enfin, vous devrez faire des efforts pour protéger
la session d'être détruite en excluant les liens de déconnexion avec -X et/ou en rejetant les nouveaux
cookies avec -N.
-F/--hôte
En utilisant ce drapeau, vous pouvez définir le ´Hôte :´ valeur d'en-tête pour définir un mappage personnalisé
entre un hôte et une IP (en contournant le résolveur). Cette caractéristique est particulièrement
utile pour les services non encore lancés ou hérités qui n'ont pas le DNS nécessaire
entrées.
-H/--en-tête
Lorsqu'il s'agit de personnaliser vos requêtes HTTP, vous pouvez également utiliser l'option -H pour
insérez des en-têtes supplémentaires non standard. Ce drapeau permet également la valeur par défaut
en-têtes à écraser.
-C/--cookie
Ce drapeau peut être utilisé pour ajouter un cookie aux requêtes HTTP de skipfish ; C'est
particulièrement utile pour effectuer des analyses authentifiées en fournissant des cookies de session.
Ce faisant, gardez à l'esprit que certaines URL (par exemple /logout) peuvent détruire votre
session; vous pouvez lutter contre cela de deux manières : en utilisant l'option -N, qui provoque le
scanner pour rejeter les tentatives de définition ou de suppression des cookies ; ou en utilisant l'option -X pour
exclure les URL de déconnexion.
-b/--agent-utilisateur
Ce drapeau permet à l'agent utilisateur d'être spécifié où ´i´ signifie Internet
Explorateur, 'f´ pour Firefox et ´ppour iphone. L'utilisation de ce drapeau est recommandée dans
cas où le site cible montre un comportement différent en fonction de l'agent utilisateur (par exemple, certains
sites utilisent des modèles différents pour les clients mobiles et de bureau).
-N/--rejeter-les-cookies
Ce drapeau fait que skipfish ignore les cookies définis par le site. Cette
aide à appliquer les tests sans état et empêche également que les cookies définis avec ´-C´ soient
pas écrasé.
-A/--auth
Pour les sites nécessitant une authentification HTTP de base, vous pouvez utiliser cet indicateur pour spécifier
vos informations d'identification.
--auth-form
Le formulaire de connexion à utiliser avec l'authentification par formulaire. Par défaut, skipfish utilisera le
URL d'action du formulaire pour soumettre les informations d'identification. Si cela manque que les données de connexion
est envoyé à l'URL du formulaire. En cas d'erreur, vous pouvez définir l'URL du gestionnaire de formulaire
avec --auth-form-target .
--auth-user
Le nom d'utilisateur à utiliser lors de l'authentification du formulaire. Skipfish essaiera de détecter le
champ de formulaire correct à utiliser mais s'il ne le fait pas (et donne une erreur), alors vous
pouvez spécifier le nom du champ de formulaire avec --auth-user-field.
--auth-pass
Le mot de passe à utiliser lors de l'authentification du formulaire. Semblable à auth-user, le formulaire
le nom du champ peut (éventuellement) être défini avec --auth-pass-field.
--auth-verify-url
Cette URL permet à skipfish de vérifier si l'authentification a réussi. Cette
nécessite une URL où les demandes anonymes et authentifiées reçoivent une réponse avec un
réponse différente.
RAMPANT PORTÉE
Certains sites peuvent être trop volumineux pour être analysés dans un délai raisonnable. Si le site fonctionne bien-
tarpits définis - par exemple, 100,000 XNUMX profils d'utilisateurs presque identiques dans le cadre d'un
réseau social - ces emplacements spécifiques peuvent être exclus avec -X ou -S. Dans d'autres cas,
vous devrez peut-être recourir à d'autres paramètres : -d limite la profondeur d'exploration à un nombre spécifié de
sous-répertoires ; -c limite le nombre d'enfants par répertoire ; -x limite le nombre total
de descendants par branche d'arbre d'analyse ; et -r limite le nombre total de requêtes à envoyer
dans un scan.
-d/--max-rampe-profondeur
Limitez la profondeur des sous-répertoires explorés (voir ci-dessus).
-c/--max-crawl-enfant
Limitez le nombre de sous-répertoires par répertoire dans lequel nous explorons (voir ci-dessus).
-x/--max-crawl-descendants
Limitez le nombre total de descendants par branche d'arbre d'analyse (voir ci-dessus).
-r/--max-demande-total
Le nombre maximum de requêtes peut être limité avec ce drapeau.
-p/--crawl-probability <0-100>
En spécifiant un pourcentage entre 1 et 100 %, il est possible de dire au crawler
suivre moins de 100 % de tous les liens et essayer moins de 100 % de tous les dictionnaires
entrées. Ceci - naturellement - limite l'exhaustivité d'une analyse, mais contrairement à la plupart des
d'autres paramètres, il le fait de manière équilibrée et non déterministe. C'est extrêmement
utile lorsque vous mettez en place des évaluations limitées dans le temps, mais périodiques de votre
Infrastructure.
-q/--graine
Cet indicateur définit la valeur de départ aléatoire initiale du robot d'exploration sur une valeur spécifiée. Cette
peut être utilisé pour reproduire exactement une analyse précédente pour comparer les résultats. Le hasard est
s'est principalement appuyé sur le mode -p, mais influence également quelques autres analyses
décisions de gestion.
-I/--include-string
Avec ce drapeau, vous pouvez dire à skipfish de n'explorer et de tester que les URL qui correspondent à un
certaine chaîne. Cela peut aider à réduire la portée d'une analyse de seulement
liste blanche de certaines sections d'un site Web (par exemple -I /shop).
-X/--chaîne-exclue
L'option -X peut être utilisée pour exclure des fichiers/répertoires de l'analyse. C'est
utile pour éviter la fin de session (c'est-à-dire en excluant /logout) ou juste pour
accélérer vos analyses en excluant les répertoires de contenu statique comme /icons/, /doc/,
/manuals/, et d'autres emplacements standard et banals le long de ces lignes.
-K/--saut-paramètre
Ce drapeau vous permet de spécifier des noms de paramètres à ne pas fuzz. (utile pour
applications qui mettent des identifiants de session dans l'URL, pour minimiser le bruit).
-D/--include-domain
Vous permet de spécifier des hôtes ou des domaines supplémentaires à inclure dans le champ d'application du test. Par
par défaut, tous les hôtes apparaissant dans les URL de ligne de commande sont ajoutés à la liste - mais
vous pouvez utiliser -D pour élargir ces règles. Le résultat de ceci sera que le robot d'exploration
suivra les liens et testera les liens qui pointent vers ces hôtes supplémentaires.
-B/--domaine-de-confiance
Dans certains cas, vous ne souhaitez pas réellement explorer un domaine tiers, mais vous
faites suffisamment confiance au propriétaire de ce domaine pour ne pas vous soucier du contenu inter-domaines
inclusion à partir de cet endroit. Pour supprimer les avertissements, vous pouvez utiliser l'option -B
-Z/--sauter-les-pages-d'erreur
N'explorez pas les pages/répertoires qui génèrent une erreur 5XX.
-O/--no-form-submit
L'utilisation de cet indicateur entraînera l'ignorance des formulaires lors de l'analyse.
-P/--pas d'analyse HTML
Cet indicateur désactivera l'extraction de liens et désactivera efficacement l'exploration. Utilisation de -P
est utile lorsque vous souhaitez tester une URL spécifique ou lorsque vous souhaitez alimenter skipfish
une liste d'URL qui ont été collectées avec un robot d'exploration externe.
TESTS PORTÉE
--contrôles
EXPERIMENTAL : Affiche les tests d'injection sur chenilles. La sortie affiche l'index
numéro (utile pour --checks-toggle), le nom du chèque et si le chèque est
activée.
--checks-toggle
EXPÉRIMENTAL : Chaque test d'injection peut être activé/désactivé à l'aide de ce drapeau. Comme
valeur, vous devez fournir les numéros de chèque qui peuvent être obtenus avec le
--checks flag. Plusieurs contrôles peuvent être basculés via une valeur séparée par des virgules (c'est-à-dire
--checks-toggle 1,2 )
--tests sans injection
EXPÉRIMENTAL : désactive tous les tests d'injection pour cette analyse et limite l'analyse à
crawling et, éventuellement, bruteforcing. Comme pour toutes les analyses, le répertoire de sortie
contiendra un fichier pivots.txt. Ce fichier peut être utilisé pour alimenter les futures analyses.
DE LA LIGNE OPTIONS
-o/--sortie
Le rapport sera rédigé à cet endroit. Le répertoire est l'un des deux
options obligatoires et ne doivent pas exister au démarrage de l'analyse.
-M/--log-contenu-mixte
Activez la journalisation du contenu mixte. Ceci est fortement recommandé lors de la numérisation SSL-
seuls les sites détectent l'inclusion de contenu non sécurisé via des liens non protégés par SSL.
-E/--log-cache-discordances
Cela entraînera le signalement d'une erreur de mise en cache de contenu supplémentaire.
-U/--log-urls-externes
Enregistrez toutes les URL externes et adresses e-mail qui ont été vues lors de l'analyse.
-Q/--log-noeuds-uniques
Activez cette option pour supprimer complètement les nœuds en double dans les rapports.
-u/--calme
Cela entraînera la suppression de toutes les sorties de la console par skipfish pendant l'analyse.
-v/--verbeux
EXPÉRIMENTAL : utilisez cet indicateur pour activer le rapport d'exécution de, par exemple, des problèmes
qui sont détectés. Peut être utilisé plusieurs fois pour augmenter la verbosité et doit être
utilisé en combinaison avec -u sauf si vous exécutez skipfish avec stderr redirigé vers un
fichier.
DICTIONNAIRE et test d'intrusion
Assurez-vous d'avoir lu les instructions fournies dans doc/dictionaries.txt pour sélectionner le
dictionnaire de droite et configurez-le correctement. Cette étape a un impact profond sur la
qualité des résultats d'analyse plus tard.
-S/--liste de mots
Chargez la liste de mots spécifiée (en lecture seule) à utiliser pendant l'analyse. Ce drapeau est
facultatif mais l'utilisation d'un dictionnaire est fortement recommandée lors de l'exécution d'une boîte noire
scan car il mettra en évidence les fichiers et répertoires cachés.
-W/--rw-liste de mots
Spécifiez un fichier initialement vide pour tous les mots clés spécifiques au site nouvellement appris (qui
sera utile dans les évaluations futures). Vous pouvez utiliser -W- ou -W /dev/null si vous
ne voulez pas stocker les mots-clés appris automatiquement n'importe où. Typiquement, vous voudrez utiliser
l'un des dictionnaires empaquetés (c'est-à-dire complete.wl) et éventuellement ajouter un
dictionnaire.
-L/--pas d'apprentissage de mots-clés
Pendant l'analyse, skipfish essaiera d'apprendre et d'utiliser de nouveaux mots-clés. Ce drapeau
désactive ce comportement et doit être utilisé lorsqu'aucune forme de force brute n'est
voulu.
-Y/--pas-d'extension-brute
Ce drapeau désactivera la supposition d'extension pendant le bruteforcing de répertoire.
-R
L'utilisation de ce drapeau permet de purger les anciens mots des listes de mots. Il est destiné à
aide à garder les dictionnaires propres lorsqu'ils sont utilisés dans des analyses récurrentes.
-T/--form-valeur
Skipfish dispose également d'un mécanisme de remplissage automatique des formulaires afin de maximiser l'analyse
couverture. Les valeurs doivent être non malveillantes, car elles ne sont pas destinées à mettre en œuvre
contrôles de sécurité - mais plutôt, pour dépasser la logique de validation des entrées. Vous pouvez définir
des règles supplémentaires, ou écraser celles existantes, avec l'option -T (-T
form_field_name=field_value, par exemple -T login=test123 -T password=test321 - bien que
notez que -C et -A sont une bien meilleure méthode de connexion).
-G
Pendant l'analyse, une mémoire tampon temporaire des mots-clés nouvellement détectés est conservée. Les
la taille de ce tampon peut être modifiée avec ce drapeau et cela influence
force brute.
PERFORMANCE OPTIONS
Le paramètre de performances par défaut devrait convenir à la plupart des serveurs, mais lorsque le rapport
indique qu'il y a eu des problèmes de connexion, vous voudrez peut-être modifier certaines des valeurs ici.
Pour les serveurs instables, la couverture d'analyse est susceptible de s'améliorer lors de l'utilisation de valeurs faibles pour
indicateurs de taux et de connexion.
-l/--max-request-rate
Ce drapeau peut être utilisé pour limiter le nombre de requêtes par seconde. C'est très
utile lorsque le serveur cible ne peut pas faire face au nombre élevé de requêtes qui
sont générés par skipfish. Garder le nombre de demandes par seconde bas peut également aider
empêchant certains mécanismes de protection DoS basés sur le taux de se déclencher et de ruiner
l'analyse.
-g/--max-connexions
Le nombre maximal de connexions TCP simultanées (globales) peut être défini avec ce drapeau.
-m/--max-hôtes-connexions
Le nombre maximal de connexions TCP simultanées, par IP cible, peut être défini avec cet indicateur.
-f/--max-échec-requêtes
Contrôle le nombre maximum d'erreurs HTTP consécutives que vous êtes prêt à voir
avant d'interrompre l'analyse. Pour les analyses volumineuses, vous souhaiterez probablement définir une valeur plus élevée
ici.
-t/--requête-délai d'expiration
Définissez le délai d'expiration total de la demande, pour tenir compte des sites vraiment lents ou vraiment rapides.
-w/--délai-réseau
Définissez le délai d'expiration des E/S du réseau.
-i/--idle-timeout
Spécifiez le délai d'expiration des connexions HTTP inactives.
-s/--response-taille
Définit la longueur maximale d'une réponse à récupérer et à analyser (les réponses plus longues seront
tronqué).
-e/--rejeter-binaire
Cela empêche les documents binaires d'être conservés en mémoire à des fins de rapport,
et libère beaucoup de RAM.
--flush-sur-disque
Cela provoque le vidage des données de demande/réponse sur le disque au lieu d'être conservées dans
Mémoire. En conséquence, l'utilisation de la mémoire pour les analyses volumineuses sera considérablement plus faible.
EXEMPLES
Scanner Type: config
skipfish --config config/exemple.conf http://example.com
Scanner Type: rapide
skipfish -o sortie/rép/ http://example.com
Scanner Type: les bruteforce
skipfish [...autres options..] -S dictionnaires/complet.wl http://example.com
Scanner Type: sans brutalité
skipfish [... autres options..] -LY http://example.com
Scanner Type: authentifié (de base)
skipfish [...autres options..] -A Identifiant Mot de passe http://example.com
Scanner Type: authentifié (biscuit)
skipfish [... autres options..] -C jsession=myauthcookiehere -X /logout http://example.com
Scanner Type: floconneux serveur
skipfish [...autres options..] -l 5 -g 2 -t 30 -i 15 http://example.com
NOTES
Les valeurs par défaut de tous les drapeaux peuvent être visualisées en exécutant ´./skipfish -h´ .
Utilisez skipfish en ligne en utilisant les services onworks.net
