- Système d'analyse des vulnérabilités Linbing
- Mode d'emploi
- Modifier la clé de chiffrement
- Modifier la clé aes
- Modifier la clé rsa
- Code source du package vue (entrez dans le répertoire vue_src)
- déploiement Ubuntu
- déploiement centos
- Fichiers Docker auto-compilés pour le déploiement
- Configuration
- Compilez l'image (entrez le répertoire racine du projet)
- Démarrez le conteneur (entrez le répertoire racine du projet)
- Récupérer l'image depuis Dockerhub
- accéder
- utiliser
- interface
- JOURNAL DES CHANGEMENTS
- [v1.0] 2020.2.28
- [v1.1] 2020.7.28
- [v1.2] 2020.8.12
- [v1.3] 2020.9.13
- [v1.4] 18.10.2020
- [v1.5] 30.10.2020
- [v1.6] 2020.11.27
- [v1.7] 2020.12.5
- [v1.8] 2020.12.11
- [v1.9] 18.12.2020
- [v2.0] 2021.3.1
- [v2.1] 2021.3.5
- [v2.2] 2021.3.26
- [v2.3] 20.5.2021
- [v2.4] 2021.6.19
- [v2.5] 2021.7.10
- [v2.6] 2021.9.21
- [v2.7] 2021.10.11
- [v2.8] 2021.10.24
- [v2.9] 26/12/2021
- [v3.0] 2022.5.14
- Remerciements
- Clause de non-responsabilité
- Licence
Système d'analyse des vulnérabilités Linbing
Ce système est un système qui pénètre automatiquement dans les middlewares Web et les frameworks Web. Il collecte automatiquement les actifs en fonction des options d'analyse, puis effectue une analyse POC, les plug-ins POC sont sélectionnés en fonction des empreintes digitales à analyser. est effectué de manière asynchrone. Le front-end utilise la technologie vue et le back-end utilise python fastapi.
Mode d'emploi
L'analyse est divisée en détection d'empreintes digitales, explosion de sous-domaine, analyse de port, analyse de répertoire et analyse POC. Si vous sélectionnez toutes les options d'analyse, l'adresse IP analysée par le nom de sous-domaine sera transmise à l'analyse du port, l'empreinte digitale sera identifiée dans le port. et les actifs analysés seront transmis au répertoire Scan et POC scan, le POC scan chargera l'analyse du plug-in en fonction de l'empreinte digitale de l'actif, le cas échéant. Si l'empreinte digitale ne peut pas être reconnue, tous les plug-ins POC sont divisés en deux types, http et port. Le type http fait référence à l'envoi de requêtes http et le port fait référence à l'envoi de requêtes socket. au format URL, le plug-in de type http est chargé. Sinon, le plug-in de type port est chargé.
Modifier la clé de chiffrement
Les données stockées dans MySQL sont des données cryptées AES. La demande de connexion utilise la requête rsa, qui est actuellement la clé par défaut. Si vous devez modifier la clé, reportez-vous à ce qui suit. La modification des informations sur la clé nécessite une recompilation du code source de vue.
Modifier la clé aes
Pour python, vous pouvez modifier directement la configuration de la partie aes dans /python/conf.ini. Utilisez le mode cbc, qui nécessite key et iv. Pour la partie vue, vous devez modifier les troisième et quatrième lignes du fichier vue_src/src. Fichier /libs/AES.js OK, il doit être cohérent avec conf.ini.
Modifier la clé rsa
Vous devez générer les clés publiques et privées de rsa (clé privée 1024 bits). L'adresse de référence est de modifier les informations de clé publique et de clé privée dans le fichier python/rsa.py. Pour la partie vue, vous devez modifier la ligne. 77 du fichier vue_src/src/libs/crypto.js La clé publique doit être cohérente avec la clé publique du fichier python/rsa.py.
Après avoir modifié la partie vue, vous devez la reconditionner, puis copier le contenu du dossier dist emballé dans le dossier vue et supprimer les fichiers vue d'origine.
Code source du package vue (entrez dans le répertoire vue_src)
npm run build (il est packagé, c'est-à-dire le dossier vue, qui peut être utilisé directement. Pour l'auto-packaging, vous devez installer node et vue. Veuillez vous référer à https://www.runoob.com/nodejs/nodejs -install-setup.html, https://www.runoob.com/vue2/vue-install.html)
déploiement Ubuntu
déploiement centos
Fichiers Docker auto-compilés pour le déploiement
Récupérer l'image depuis Dockerhub
déploiement Ubuntu
Reportez-vous à https://github.com/taomujian/linbing/blob/master/ubuntu déploiement.md)
déploiement centos
Reportez-vous à https://github.com/taomujian/linbing/blob/master/centos déploiement.md)
Fichiers Docker auto-compilés pour le déploiement
Configuration
Téléchargez d'abord le projet localement (https://github.com/taomujian/linbing.git), puis configurez le compte et le code d'autorisation utilisés pour envoyer des e-mails dans python/conf.ini, puis modifiez le mot de passe du compte de base de données mysql dans python/ conf.ini , ce mot de passe de compte doit être cohérent avec le mot de passe de compte défini dans le fichier docker.
Compilez l'image (entrez le répertoire racine du projet)
docker build -f ubuntu.dockerfile -t linbing .
Démarrez le conteneur (entrez le répertoire racine du projet)
docker run -it -d -p 11000:11000 -p 8800:8800 linbing
Récupérer l'image depuis Dockerhub
docker pull taomujian/linbing:dernier
docker run -it -d -p 11000:11000 -p 8800:8800 taomujian/linbing
accéder
Visitez simplement http://yourip:11000/login Le mot de passe du compte par défaut est admin/X!ru0#M&%V.
utiliser
Le processus d'utilisation consiste à ajouter d'abord la cible, puis à analyser la cible. Les options d'analyse incluent l'analyse des ports, l'analyse des répertoires et l'analyse des POC. Actuellement, l'analyse des POC charge tous les POC par défaut et la sélection personnalisée n'est pas prise en charge pour le moment.
interface
JOURNAL DES CHANGEMENTS
[v1.0] 2020.2.28
- Achèvement initial de la fonction du scanner
[v1.1] 2020.7.28
- Ajout du plug-in F5 BIG IP
[v1.2] 2020.8.12
- Ajouter un déploiement Docker
[v1.3] 2020.9.13
- Augmenter le nombre de plugins phpstudy_back_rce
- Lors de l'ajout d'une cible, vous pouvez ajouter plusieurs lignes de cibles
[v1.4] 18.10.2020
- Ajout des détails du port d'affichage (port, protocole, produit, version)
- Ajoutez les détails du sous-domaine (nom du sous-domaine, adresse IP du sous-domaine), le nom du sous-domaine utilise l'outil OneForAll
[v1.5] 30.10.2020
- Correction de quelques erreurs de plug-in
- Le nombre de coroutines simultanées pendant la détection POC peut être défini dans les paramètres d'analyse.
- Ajoutez la fonction multi-coroutine asyncio pour améliorer la vitesse d'analyse POC
[v1.6] 2020.11.27
- Modifiez l'avatar par défaut. Si vous souhaitez le remplacer, utilisez simplement l'image flask/images/default.png.
- Optimiser le front-end et corriger quelques BUGs mineurs
[v1.7] 2020.12.5
- Fonction ajoutée pour définir le proxy et le délai d'expiration de l'analyse
- Optimiser le front-end et corriger quelques BUGs mineurs
- Optimiser la structure des fichiers et synchroniser l'heure du docker
[v1.8] 2020.12.11
- L'avatar est perdu après l'optimisation du rafraîchissement du front-end. BUG
[v1.9] 18.12.2020
- Modifier la façon d'envoyer des e-mails et utiliser postfix pour envoyer des e-mails
[v2.0] 2021.3.1
- Le cadre de l'interface utilisateur frontale est modifié d'iview en élément et le code frontal est reconstruit
- Annulez l'enregistrement du compte et ajoutez-le à la place avec le compte administrateur intégré
- Ajouter une fonction d'analyse de répertoire pour la cible URL
- Ajout de la possibilité d'afficher toutes les vulnérabilités et toutes les informations sur les ports
- Optimiser la structure des données des tables de base de données et les instructions SQL
[v2.1] 2021.3.5
- Optimisation de l'interface frontale
- Lorsque plusieurs cibles sont analysées en même temps, la gestion de la file d'attente des tâches est ajoutée
[v2.2] 2021.3.26
- Ajouter le plug-in CVE-2021-22986
[v2.3] 20.5.2021
- Optimiser la logique d'analyse
- Ajouter un cadre de détection et de détection d'empreintes digitales
- Optimiser la détection des vulnérabilités de la série Struts2
[v2.4] 2021.6.19
- Ajouter une fonction de jugement d'empreintes digitales
- Effectuez une identification par empreinte digitale sur les ports analysés et chargez les plug-ins correspondants après l'identification par empreinte digitale pour réduire le nombre de colis envoyés.
- Classer les plug-ins en catégories http et non-http
- Lorsque vous cliquez sur Analyser, vous pouvez proposer des options d'analyse personnalisées, divisées en détection d'empreintes digitales, analyse de sous-domaines, analyse de ports, analyse de répertoire et analyse POC.
- Fonctions ajoutées pour suspendre l'analyse, reprendre l'analyse et annuler l'analyse dans la liste d'analyse
[v2.5] 2021.7.10
- Le framework backend passe de flask à fastapi
[v2.6] 2021.9.21
- Le plug-in POC peut être sélectionné lors de la numérisation
- Ajouter une liste de POC
- Correction d'un BUG connu
[v2.7] 2021.10.11
- Correction d'un bug lors de l'analyse de toutes les cibles
- Ajouter la fonction XSS LOG (l'URL de réception des données fait référence à l'URL après génération du token)
[v2.8] 2021.10.24
- Les mises à jour des informations d'état dans la gestion des cibles et la gestion des analyses passent de l'interrogation Ajax à Websocket
[v2.9] 26/12/2021
- Intégrer les fonctions de dnslog.cn et fournir la fonction dnslog
[v3.0] 2022.5.14
- L'analyse du plug-in POC est remplacée par une analyse asynchrone pour accélérer l'analyse
Remerciements
Merci au projet vulhub pour avoir fourni l'environnement cible : https://github.com/vulhub/vulhub, https://hub.docker.com/r/2d8ru/struts2
POC fait également référence à de nombreux projets : https://github.com/Xyntax/POC-T,
https://github.com/ysrc/xunfeng、
https://github.com/se55i0n/DBScanner、
https://github.com/vulscanteam/vulscan
Je tiens à remercier Maître Pan de m'avoir appris à démarrer en toute sécurité, et je tiens également à remercier mon camarade de classe Daiju de m'avoir guidé sur Vue.
Clause de non-responsabilité
Les outils ne sont utilisés qu'à des fins de recherche de sécurité et d'auto-examen interne. Il est interdit d'utiliser des outils pour lancer des attaques illégales. L'utilisateur est responsable des conséquences.
Licence
MIT