Aperçu des outils gratuits pour le penteste des ressources web et plus encore v2

Il y a quelque temps, j'avais déjà écrit sur ce, mais plutôt de manière succincte et désordonnée. Ensuite, j'ai décidé d'élargir la liste des outils dans l'examen, d'ajouter une structure à l'article, de tenir compte des critiques (un grand merci Lefty pour les conseils) et je l'ai soumis à un concours sur SecLab (et l'ai publié le lien, mais pour des raisons évidentes, personne ne l'a vue). Le concours est terminé, les résultats ont été annoncés et je peux publier cet article sur Habr en toute bonne conscience.

Outils gratuits pour les testeurs de pénétration d'applications web

Dans cet article, je vais parler des outils les plus populaires pour le test de pénétration des applications web selon la stratégie du « black box ».
Pour cela, nous examinerons des utilitaires qui aideront dans ce type de test. Nous allons aborder les catégories de produits suivantes :

  1. Analyseurs réseau
  2. Analyseurs de vulnérabilités dans les scripts web
  3. Exploitation
  4. Automatisation des injections
  5. Débogueurs (sniffers, proxies locaux, etc.)


Certains produits ont un caractère universel, donc je vais les classer dans la catégorie où ils ont ledemeilleur résultat (opinion subjective).

Analyseurs réseau.

La tâche principale est de révéler les services réseau disponibles, d'identifier leurs versions, de déterminer le système d'exploitation, etc.

NmapAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Nmap (« Network Mapper ») est un utilitaire gratuit et open source pour l'analyse de réseau et l'audit de sécurité des systèmes. Les fervents détracteurs de la console peuvent utiliser Zenmap, qui est une interface graphique pour Nmap.
Ce n'est pas simplement un « scanner intelligent », c'est un outil puissant et extensible (parmi ses « fonctionnalités inhabituelles » - la présence d'un script pour vérifier si un hôte est infecté par le ver "Stuxnet" (mentionné ici). Un exemple type d'utilisation :

nmap -A -T4 localhost

-A pour déterminer la version du système d'exploitation, scanner en utilisant des scripts et tracer
-T4 paramètre de gestion du temps (plus élevé — plus rapide, de 0 à 5)
localhost — l'hôte cible
Quelque chose de plus robuste ?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

C'est un ensemble d'options du profil « slow comprehensive scan » dans Zenmap. Cela prend un certain temps, mais fournit finalement des informations plus détaillées sur le système cible. Un guide de référence en russe, si vous souhaitez approfondir, et je vous conseille également la traduction de l'article Beginner’s Guide to Nmap.
Nmap a été couronné « Produit de sécurité de l'année » par des revues et communautés telles que Linux Journal, Info World, LinuxQuestions.Org et Codetalker Digest.
Un fait intéressant, Nmap peut être vu dans les films « Matrix : Reloaded », « Die Hard 4 », « The Bourne Ultimatum », « Ghuftabich » et options. Ils ne sont pas vos captifs, même si vous le souhaitez. Ils sont vos invités. Python reste un langage de programmation très populaire, mais, bon sang, Python 3(000) a créé un tel chaos au sein de ses communautés et chez les utilisateurs de ses communautés, que les conséquences ne peuvent pas être résolues depuis quinze ans..

IP-ToolsAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
IP-Tools — un ensemble d'outils réseau variés, livré avec une interface graphique, « dédié » aux utilisateurs de Windows.
Un scanner de ports, de ressources partagées (imprimantes/dossiers), WhoIs/Finger/Lookup, un client telnet et bien plus encore. C'est un outil pratique, rapide et fonctionnel.

Il n'est pas vraiment utile d'examiner les autres produits, car il existe de nombreux outils dans ce domaine et ils ont tous un fonctionnement et des fonctionnalités similaires. Cependant, le plus utilisé reste nmap.

Analyseurs de vulnérabilités dans les scripts web

Ils essaient de trouver des vulnérabilités populaires (SQL inj, XSS, LFI/RFI, etc.) ou des erreurs (fichiers temporaires non supprimés, indexation de répertoires, etc.)

Acunetix Web Vulnerability ScannerAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Acunetix Web Vulnerability Scanner — dans le lien, il semble s'agir d'un scanner XSS, mais ce n'est pas tout à fait vrai. La version gratuite, disponible via le lien, offre une fonctionnalité assez large. Généralement, une personne qui exécute ce scanner pour la première fois et reçoit un rapport sur sa ressource est submergée par un petit choc, et vous comprendrez pourquoi en le faisant. C'est un produit très puissant pour analyser toutes sortes de vulnérabilités sur un site et fonctionne non seulement avec les sites PHP que nous connaissons, mais aussi avec d'autres langages (bien que la différence de langage ne soit pas un critère). Il n'est pas vraiment utile de décrire l'instruction, car le scanner « prend en charge » simplement les actions de l'utilisateur. C'est un peu comme « suivant, suivant, suivant, terminé » dans l'installation typique d'un logiciel.

NiktoAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Nikto est un scanner web Open Source (GPL). Il élimine le travail manuel routinier. Il cherche sur le site cible des scripts non supprimés (comme test.php, index_.php, etc.), des outils d'administration de base de données (comme /phpmyadmin/, /pma et similaires) et vérifie ainsi la ressource pour les erreurs les plus courantes, généralement dues au facteur humain.
De plus, s'il trouve un script populaire, il vérifie les exploits qui lui sont associés (qui figurent dans la base de données).
Il signale les méthodes « indésirables » disponibles, comme PUT et TRACE
Et ainsi de suite. Très pratique si vous travaillez comme auditeur et effectuez une analyse des sites chaque jour.
Parmi les inconvénients, je voudrais souligner le pourcentage élevé de fausses alertes. Par exemple, si votre site remplace à chaque fois une erreur 404 (lorsqu'elle doit se produire) par la page d'accueil, le scanner indiquera que tous les scripts et toutes les vulnérabilités de sa base sont présents sur votre site. En pratique, cela ne se produit pas si fréquemment, mais c'est un fait que beaucoup dépend de la structure de votre site.
Utilisation classique :

. /nikto.pl -host localhost

Si vous devez être authentifié sur le site, vous pouvez définir les cookies dans le fichier nikto.conf, la variable STATIC-COOKIE.

WiktoAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Wikto — Nikto pour Windows, mais avec quelques ajouts, comme une logique « floue » lors de la vérification du code pour les erreurs, l'utilisation de GHDB, l'obtention de liens et de dossiers de la ressource, le suivi en temps réel des requêtes/réponses HTTP. Wikto est écrit en C# et nécessite le framework .NET.

skipfishAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
skipfish — un scanner de vulnérabilités web de Michal Zalewski (connu sous le pseudonyme lcamtuf). Écrit en C, multiplateforme (pour Win, Cygwin est nécessaire). Il explore de manière récursive (et très lente, environ 20 à 40 heures, bien que la dernière fois, il ait fonctionné pendant 96 heures) l'ensemble du site et trouve toutes sortes de failles de sécurité. Il génère également beaucoup de trafic (plusieurs Go entrants/sortants). Mais tous les moyens sont bons, surtout s'il y a du temps et des ressources.
Utilisation typique :

.\/skipfish -o \/home\/reports www.example.com

Dans le dossier « reports », il y aura un rapport en html, exemple.

w3af Aperçu des outils gratuits pour le penteste des ressources web et plus encore v2
w3af — Web Application Attack and Audit Framework, scanner de vulnérabilités web open-source. Il a une interface graphique, mais peut également être utilisé depuis la console. Plus précisément, c'est un framework avec une multitude de plugins..
Parler de ses avantages peut être long, il vaut mieux l'essayer :]
Un travail typique avec lui se résume à choisir un profil, indiquer la cible et, en fait, lancer.

Mantra Security FrameworkAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Mantra est un rêve devenu réalité.Une collection d'outils libres et open-source en sécurité de l'information, intégrés dans un navigateur web.
Ils sont très utiles lors des tests d'applications web à tous les stades.
L'utilisation se résume à l'installation et au lancement du navigateur.

Il existe en fait beaucoup d'outils dans cette catégorie et il est assez difficile de dégager une liste précise. Le plus souvent, chaque pentester définit lui-même l'ensemble des outils dont il a besoin.

Exploitation

Pour un usage automatisé et plus pratique des vulnérabilités des logiciels et scripts, on écrit des exploits, qui ne nécessitent que la transmission de paramètres pour exploiter une brèche de sécurité. Il existe également des produits qui éliminent la recherche manuelle d'exploits et les appliquent « à la volée ». C'est de cette catégorie dont nous allons parler maintenant.

Metasploit Framework Aperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Le Framework Metasploit® est une sorte de monstre dans notre domaine. Il possède tant de fonctionnalités que l'instruction s'étendra sur plusieurs articles. Nous allons examiner l'exploitation automatique (nmap + metasploit). Le principe est le suivant : Nmap analysera le port dont nous avons besoin, installera le service, puis Metasploit essaiera d'appliquer des exploits basés sur le type de service (ftp, ssh, etc.). Au lieu d'instructions textuelles, je vais insérer une vidéo, assez populaire sur le sujet d'autopwn.

Lire la vidéo

On peut simplement automatiser le travail de l'exploit dont nous avons besoin. Par exemple :

msf > utiliser auxiliaire/admin/cisco/vpn_3000_ftp_bypass
msf auxiliaire(vpn_3000_ftp_bypass) > définir RHOST [TARGET IP]
msf auxiliaire(vpn_3000_ftp_bypass) > exécuter

En réalité, les possibilités de ce framework sont très vastes, donc si vous souhaitez approfondir, rendez-vous sur le lien

ArmitageAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Armitage est une OVA du genre cyberpunk pour Metasploit. Il visualise la cible, recommande des exploits et offre des fonctionnalités avancées de ce framework. En gros, pour ceux qui aiment que tout soit beau et impressionnant.
Screencast :

Lire la vidéo

Tenable Nessus®Aperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Le scanner de vulnérabilités Tenable Nessus® possède beaucoup de fonctionnalités, mais nous avons besoin d'une capacité : déterminer pour quels services des exploits existent. La version gratuite du produit est en mode « home only ».

Utilisation :

  • Nous l'avons téléchargé (pour notre système), installé, enregistré (la clé arrive par mail).
  • Nous avons démarré le serveur, ajouté un utilisateur dans le Gestionnaire de serveur Nessus (bouton Gérer les utilisateurs).
  • Nous accédons à l'adresse
    https://localhost:8834/

    et obtenons un client Flash dans le navigateur.

  • Scans -> Ajouter -> remplissons les champs (en choisissant le profil de scan approprié) et cliquons sur Scan.

Après un certain temps, le rapport de scan apparaîtra dans l'onglet Rapports.
Pour tester la vulnérabilité pratique des services aux exploits, on peut utiliser le Metasploit Framework décrit ci-dessus ou essayer de trouver un exploit (par exemple sur Explot-db, packet storm, explot search etc.) et l'utiliser manuellement contre votre système.
À mon avis : trop encombrant. Je le mentionne comme l'un des leaders de cette direction dans l'industrie logicielle.

Automatisation des injections.

De nombreux scanners de sécurité des applications web effectuent des recherches d'injections, mais ce sont avant tout des scanners généraux. Il existe des outils qui se consacrent spécifiquement à la recherche et à l'exploitation des injections. C'est de cela dont nous allons parler maintenant.

sqlmapAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
sqlmap — un outil open-source pour la recherche et l'exploitation des injections SQL. Il prend en charge des serveurs de bases de données tels que : MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
L'utilisation typique se résume à la ligne :

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Il existe de nombreux manuels, y compris en langue russe. Ce logiciel facilite énormément le travail des pentesteurs dans ce domaine.
J'ajouterai une démonstration vidéo officielle :

Lire la vidéo

bsqlbf-v2
bsqlbf-v2 — un script en perl, bruteforcer des injections SQL « aveugles ». Il fonctionne aussi bien avec des valeurs entières dans l'url qu'avec des chaînes (string).
Prend en charge les bases de données :

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Exemple d'utilisation :

.\/bsqlbf-v2-3.pl -url www.somehost.com\/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — lien avec des paramètres
-blind u — paramètre pour l'injection (par défaut le dernier de la chaîne d'adresse est utilisé)
-sql « select table_name from imformation_schema.tables limit 1 offset 0 » — notre requête personnalisée à la base
-database 1 — serveur de base de données : MSSQL
-type 1 — type d'attaque, injection « aveugle » basée sur les réponses True et Error (par exemple des erreurs de syntaxe)

Débogueurs

Ces outils sont principalement utilisés par les développeurs, lorsqu'ils rencontrent des problèmes avec les résultats de l'exécution de leur code. Mais ce domaine est également utile lors des pentests, car il permet de substituer les données qui nous intéressent « à la volée », d'analyser ce que nous recevons en réponse à nos paramètres d'entrée (par exemple lors du fuzzing), etc.

Burp Suite
Burp Suite — un ensemble d'outils qui aide lors des tests de pénétration. Il existe en ligne une bonne revue en langue russe de Raz0r (en effet de l'année 2008).
La version gratuite comprend :

  • Burp Proxy — un proxy local, permet de modifier les requêtes déjà formées venant du navigateur
  • Burp Spider — un araignée, cherche des fichiers et répertoires existants
  • Burp Repeater — envoi manuel de requêtes HTTP
  • Burp Sequencer — analyse des valeurs aléatoires dans les formulaires
  • Burp Decoder — encodeur-décodeur standard (html, base64, hex, etc.), dont il existe des milliers que l'on peut rapidement écrire dans n'importe quel langage
  • Burp Comparer — composant de comparaison de chaînes

En principe, ce paquet résout pratiquement tous les problèmes liés à ce domaine.

FiddlerAperçu des outils gratuits pour le penteste des ressources web et plus encore v2
Fiddler — Fiddler est un proxy de débogage, enregistrant tout le trafic HTTP(S). Il permet d'explorer ce trafic, d'installer des points d'arrêt et de « jouer » avec les données entrantes ou sortantes.

Il y a aussi Firesheep, monstre Wireshark et d'autres, le choix est laissé à l'utilisateur.

Conclusion

Évidemment, chaque pentesteur a son arsenal et son propre ensemble d'outils, car il y en a vraiment beaucoup. J'ai essayé de présenter certains des outils les plus pratiques et populaires. Mais pour que chacun puisse également découvrir d'autres outils dans ce domaine, je fournirai des liens ci-dessous.

Différents classements / listes de scanners et d'outils

Distributions Linux, qui comprennent déjà de nombreux outils pour le pentesting

maj: Documentation sur BurpSuite en russe de l'équipe « Hack4Sec » (ajouté AntonKuzmin)

P.S. Il ne faut pas omettre XSpider. Il n'est pas impliqué dans l'examen, bien qu'il soit conditionnellement gratuit (je l'ai découvert lorsque j'ai soumis l'article à SecLab, c'est en fait à cause de cela (pas de connaissance, et pas de version 7.8 dernier) et je ne l'ai pas inclus dans l'article). En théorie, une critique était prévue (j'ai préparé des tests difficiles pour lui), mais je ne sais pas si le monde le verra.

P.P.S. Certains matériaux de l'article seront utilisés à des fins directes dans le prochain rapport à CodeFest 2012 dans la section QA, où des outils non mentionnés ici seront présentés (gratuits, bien sûr), ainsi qu'un algorithme détaillant dans quel ordre utiliser quoi, quel résultat attendre, quelles configurations utiliser et diverses astuces et conseils lors du travail (je réfléchis à la présentation presque tous les jours, j'essaierai de partager le meilleur sur le sujet)
Au fait, un atelier a eu lieu sur cet article lors des Open InfoSec Days (tag sur Habré, site), il est possible de piller des convois de jeter un œil aux matériaux.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster