
yakit v1.4.8-0731
Plateforme de test d'intrusion tout-en-un avec proxy MITM, fuzzer web, gestionnaire de connexion inverse et système de plugins pour les tests de sécurité automatisés et l'exploitation.
Yakit – Plateforme de test de sécurité applicative interactive
Consulter le livre blanc • Documentation officielle • Retours / Problèmes • Accéder au site officiel • Rejoindre la communauté • Architecture du projet
:book:Choix de la langue : English • 中文
Introduction à Yakit
La fusion sécurisée est une transformation de la gestion et des opérations de sécurité pour les entreprises dans le contexte de la nouvelle normalité, et elle constitue également une priorité urgente.
Fondée sur le concept de fusion sécurisée, l’équipe de Yaklang.io a développé Yaklang, un langage vertical dans le domaine de la cybersécurité. Pour les produits/outils qui ne peuvent pas être intégrés nativement dans la plateforme Yak, Yaklang permet de réécrire leurs « alternatives de haute qualité ». Pour les produits dont l’écosystème est complet et la reconnaissance élevée, Yaklang peut directement les compiler et les fusionner, en apportant les modifications nécessaires au code source pour mieux les adapter. Pour les professionnels de la sécurité qui ne souhaitent pas écrire de code, Yakit fournit une interface graphique adaptée à toutes les capacités de Yaklang ; celle-ci deviendra plus mature au fil des versions.
Afin de rendre les capacités de sécurité de Yaklang plus proches de l’usage réel, nous avons développé un serveur gRPC pour Yak, et construit un client utilisant ce serveur : Yakit.
Architecture du projet
Technologie de base : CDSL
CDSL signifie CyberSecurity Domain Specific Language, un langage de programmation dédié au domaine de la cybersécurité. Nous avons conçu une machine virtuelle à pile pour exécuter l’état d’exécution de ce langage Turing-complet. Nous souhaitons, via les moyens de « CDSL », réaliser la fusion des capacités de sécurité et l’unification de la plateforme sous-jacente.
Afin que le CDSL développé en propre dans le domaine de la sécurité soit plus proche des scénarios réels, nous avons écrit un serveur gRPC pour Yaklang, et construit le client Yakit sur ce serveur gRPC. En pratique, c’est l’interface graphique de Yakit qui pilote les capacités du moteur. Le serveur gRPC de Yakit permet un déploiement plus pratique et rapide, indépendant de la plateforme, avec possibilité de déploiement à distance ou en local sur la machine hôte.
- Plateforme d’interception MITM qui peut remplacer à 100 % BurpSuite ;
- Interface graphique d’analyse passive MITM difficile à reproduire ;
- Intégration de scripts Yaklang pour déboguer dynamiquement le trafic ; exécution de code en temps réel ;
- Premier outil de fuzzing Web visuel au monde – Web Fuzzer ;
- Magasin de plugins Yakit ;
- Exécution de scripts ou plugins Yaklang personnalisés à n’importe quelle étape d’un test d’intrusion… ……
Aperçu des capacités de sécurité :
Technologies phares
Interception interactive MITM
La console MITM peut remplacer à 100 % BurpSuite pour toutes les opérations (téléchargement et installation de certificats, interception de requêtes, réponses, édition des paquets interceptés, etc.). Elle fournit également un flux de travail complet et fluide : Interception => Historique => Repeater/Intruder. Les données interceptées sont consultables dans l’historique ; vous pouvez sélectionner les paquets à « exploiter » et les envoyer vers Web Fuzzer pour les opérations Repeater/Intruder. En plus de ces scénarios typiques, le module MITM propose des fonctionnalités plus flexibles comme l’analyse passive par plugins, le chargement à chaud, le remplacement de paquets, le marquage, etc.
Le principe du module MITM de Yakit est de lancer un proxy HTTP qui transfère automatiquement le trafic. Lorsque l’utilisateur active l’interception manuelle, le transfert automatique est interrompu, la requête est bloquée, puis extraite de la pile, décompressée (Gzip), les chunks sont traités, le décodage est effectué, rendant la requête lisible et affichée sur l’interface utilisateur. L’utilisateur peut consulter, modifier ou rejouer la requête. Lors du rejeu, le paquet de requête HTTP construit par l’utilisateur est réparé pour garantir sa validité. Le moteur Yak implémente manuellement la bibliothèque HTTP, permettant ainsi à l’utilisateur de personnaliser des paquets de requête/réponse malformés pour l’exploitation de vulnérabilités dans des scénarios particuliers.
Rejeu interactif du trafic et fuzzing d’applications Web
Le module Web Fuzzer permet à l’utilisateur d’envoyer des requêtes HTTP en texte brut personnalisées. Pour simplifier l’utilisation et l’intuition, l’utilisateur n’a besoin de se soucier que des données pertinentes ; le backend de Yakit effectue de nombreuses corrections. Les informations nécessaires à la transmission et à l’analyse des données dans le texte HTTP brut sont corrigées/complétées par le backend de Yakit, par exemple la correction des CRLF, l’ajout de Content-Type, le transfert par chunk, l’ajout de boundary, la correction de Content-Length, etc.
