Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
chaos — Utilitaire de scan d'IP d'origine développé avec ChatGPT | Kitploit
Outils/GitHubGitHub/r57-labs/chaos
ReconnaissanceCartographie RéseauCollecte d'InformationsSécurité WebTests d'Intrusion
GitHubr57-labs/chaos

chaos

Utilitaire de scan d'IP d'origine développé avec ChatGPT

Voir le dépôt
708il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

chaos

chaos est un scanner d'IP « d'origine » développé par RST en collaboration avec ChatGPT. C'est un utilitaire de niche destiné principalement aux testeurs d'intrusion et aux chasseurs de bugs.

Une adresse IP d'origine est une expression technique décrivant la dernière adresse IP publique de destination pour les sites Web servis publiquement via des tiers. Si vous souhaitez en savoir plus sur l'intérêt des IP d'origine, veuillez consulter notre article de blog.

chaos a été rapidement prototypé, de l'idée à la preuve de concept fonctionnelle, en moins de 24 heures en utilisant nos principes DevOps avec ChatGPT.

root@kitploit:~
usage: chaos.py [-h] -f FQDN -i IP [-a AGENT] [-C] [-D] [-j JITTER] [-o OUTPUT] [-p PORTS] [-P] [-r] [-s SLEEP] [-t TIMEOUT] [-T] [-v] [-x] 
         _..._
     .-'`     `'-.
   __|___________|__ 
   \               /
    `._  CHAOS _.'
       `-------`
         /   \\
        /     \\
       /       \\
      /         \\
     /           \\
    /             \\
   /               \\
  /                 \\
 /                   \\
/_____________________\\
CHAtgpt Origin-ip Scanner
 _______ _______ _______ _______ _______
|\\     /|\\     /|\\     /|\\     /|\\/|
| +---+ | +---+ | +---+ | +---+ | +---+ |
| |H  | | |U  | | |M  | | |A  | | |N  | |
| |U  | | |S  | | |A  | | |N  | | |C  | |
| |M  | | |E  | | |N  | | |C  | | |O  | |
| |A  | | |R  | | |C  | | |   | | |L  | |
| +---+ | +---+ | +---+ | +---+ | +---+ |
|/_____|\\_____|\\_____|\\_____|\\_____\\

 Origin IP Scanner developed with ChatGPT
 cha*os (n): complete disorder and confusion
 (ver: 0.9.4)

v94_csv

Fonctionnalités

  • Multithreadé pour des gains de performance
  • Mises à jour en temps réel et barres de progression, sympa pour les gros scans ;)
  • Options utilisateur flexibles pour divers scénarios & contraintes
  • Réduction des données pour améliorer les temps de scan
  • Export CSV facile à utiliser

Installation

  1. Téléchargez / clonez / décompressez / peu importe
  2. cd path/to/chaos
  3. pip3 install -U pip setuptools virtualenv
  4. virtualenv env
  5. source env/bin/activate
  6. (env) pip3 install -U -r ./requirements.txt
  7. (env) ./chaos.py -h

Options

root@kitploit:~
-h, --help            affiche ce message d'aide et quitte
-f FQDN, --fqdn FQDN  Chemin vers le fichier FQDN (un FQDN par ligne)
-i IP, --ip IP        Adresse(s) IP pour les requêtes HTTP (IPs séparées par des virgules, réseaux IP, et/ou fichiers avec une IP/réseau par ligne)
-a AGENT, --agent AGENT
                      Valeur de l'en-tête User-Agent pour les requêtes
-C, --csv             Ajoute la sortie CSV au fichier OUTPUT_FILE.csv
-D, --dns             Effectue des recherches DNS directes/inversées sur les valeurs FQDN/IP avant la requête ; n'affecte pas la file de test
-j JITTER, --jitter JITTER
                      Ajoute un délai aléatoire de 0 à N secondes à la valeur de sleep
-o OUTPUT, --output OUTPUT
                      Ajoute la sortie console au FICHIER
-p PORTS, --ports PORTS
                      Liste des ports TCP séparés par des virgules (par défaut : "80,443")
-P, --no-prep         Ne pas pré-scanner chaque IP/port avec `GET /` en utilisant l'en-tête `Host: {IP:Port}` pour éliminer les hôtes qui ne répondent pas
-r, --randomize       Randomise (plus ou moins) l'ordre de test des IP/ports
-s SLEEP, --sleep SLEEP
                      Ajoute N secondes avant la fin du thread
-t TIMEOUT, --timeout TIMEOUT
                      Attend N secondes pour un hôte qui ne répond pas
-T, --test            Mode test ; n'envoie pas de requêtes
-v, --verbose         Active les sorties verbouses
-x, --singlethread    Exécution monotâche ; pour les systèmes à 1-2 cœurs ; threads par défaut=(cœurs-1) si cœurs>2

Exemples

Test en local

Lancez un serveur HTTP Python

root@kitploit:~
% python3 -u -m http.server 8001
Serving HTTP on :: port 8001 (http://[::]:8001/) ...

Lancez ncat en tant que HTTP sur un port détecté comme SSL ; utilisez une boucle car --keep-open peut bloquer

root@kitploit:~
% while true; do ncat -lvp 8443 -c 'printf "HTTP/1.0 204 Plaintext OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Listening on [::]:8443
Ncat: Listening on 0.0.0.0:8443

Lancez également ncat en SSL sur un port qui sera par défaut détecté comme HTTP

root@kitploit:~
% while true; do ncat --ssl -lvp 8444 -c 'printf "HTTP/1.0 202 OK\n\n<html></html>\n"'; done    
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Generating a temporary 2048-bit RSA key. Use --ssl-key and --ssl-cert to use a permanent one.
Ncat: SHA-1 fingerprint: 0208 1991 FA0D 65F0 608A 9DAB A793 78CB A6EC 27B8
Ncat: Listening on [::]:8444
Ncat: Listening on 0.0.0.0:8444

Préparez un fichier FQDN :

root@kitploit:~
% cat ../test_localhost_fqdn.txt 
www.example.com
localhost.example.com
localhost.local
localhost
notreally.arealdomain

Préparez un fichier / liste d'IP :

root@kitploit:~
% cat ../test_localhost_ips.txt 
127.0.0.1
127.0.0.0/29
not_an_ip_addr
-6.a
=4.2
::1

Lancez le scan

  • Notez un réseau IPv6 ajouté aux IP en ligne de commande
  • -p pour spécifier les ports sur lesquels nous écoutons
  • -x pour une exécution monotâche afin de laisser le temps à nos serveurs ncat de redémarrer
  • -s0.2 court délai pour que nos serveurs ncat redémarrent
  • -t1 pour timeout après 1 seconde

test_local

root@kitploit:~
% ./chaos.py -f ../test_localhost_fqdn.txt -i ../test_localhost_ips.txt,::1/126 -p 8001,8443,8444 -x -s0.2 -t1   
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost.local
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: notreally.arealdomain
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block =4.2
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block -6.a
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block not_an_ip_addr
2023-06-21 12:48:33 [INFO] * ---- <META> ---- *
2023-06-21 12:48:33 [INFO] * Version: 0.9.4
2023-06-21 12:48:33 [INFO] * FQDN file: ../test_localhost_fqdn.txt
2023-06-21 12:48:33 [INFO] * FQDNs loaded: ['www.example.com', 'localhost.example.com']
2023-06-21 12:48:33 [INFO] * IP input value(s): ../test_localhost_ips.txt,::1/126
2023-06-21 12:48:33 [INFO] * Addresses parsed from IP inputs: 12
2023-06-21 12:48:33 [INFO] * Port(s): 8001,8443,8444
2023-06-21 12:48:33 [INFO] * Thread(s): 1
2023-06-21 12:48:33 [INFO] * Sleep value: 0.2
2023-06-21 12:48:33 [INFO] * Timeout: 1.0
2023-06-21 12:48:33 [INFO] * User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 ch4*0s/0.9.4
2023-06-21 12:48:33 [INFO] * ---- </META> ---- *
2023-06-21 12:48:33 [INFO] 36 unique address/port addresses for testing
Prep Tests: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 36/36 [00:29<00:00,  1.20it/s]
2023-06-21 12:49:03 [INFO] 9 IP/ports verified, reducing test dataset from 72 entries
2023-06-21 12:49:03 [INFO] 18 pending tests remain after pre-testing
2023-06-21 12:49:03 [INFO] Queuing 18 threads
  ++RCVD++ (200 OK) www.example.com @ :::8001                                                                                                                                                    
  ++RCVD++ (204 Plaintext OK) www.example.com @ :::8443                                                                                                                                          
  ++RCVD++ (202 OK) www.example.com @ :::8444                                                                                                                                                    
  ++RCVD++ (200 OK) www.example.com @ ::1:8001                                                                                                                                                   
  ++RCVD++ (204 Plaintext OK) www.example.com @ ::1:8443                                                                                                                                         
  ++RCVD++ (202 OK) www.example.com @ ::1:8444                                                                                                                                                   
  ++RCVD++ (200 OK) www.example.com @ 127.0.0.1:8001                                                                                                                                             
  ++RCVD++ (204 Plaintext OK) www.example.com @ 127.0.0.1:8443                                                                                                                                   
  ++RCVD++ (202 OK) www.example.com @ 127.0.0.1:8444                                                                                                                                             
  ++RCVD++ (200 OK) localhost.example.com @ :::8001                                                                                                                                              
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ :::8443                                                                                                                                    
  ++RCVD++ (202 OK) localhost.example.com @ :::8444                                                                                                                                              
  ++RCVD++ (200 OK) localhost.example.com @ ::1:8001                                                                                                                                             
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ ::1:8443                                                                                                                                   
  ++RCVD++ (202 OK) localhost.example.com @ ::1:8444                                                                                                                                             
  ++RCVD++ (200 OK) localhost.example.com @ 127.0.0.1:8001                                                                                                                                       
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ 127.0.0.1:8443                                                                                                                             
  ++RCVD++ (202 OK) localhost.example.com @ 127.0.0.1:8444                                                                                                                                       
Origin Scan: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:06<00:00,  2.76it/s]
2023-06-21 12:49:09 [RSLT] Results from 5 FQDNs:
  ::1
    ::1:8444 => (202 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8001 => (200 / OK)

  127.0.0.1
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)

  ::
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)

  www.example.com
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)
    ::1:8001 => (200 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8444 => (202 / OK)
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)

  localhost.example.com
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)
    ::1:8001 => (200 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8444 => (202 / OK)
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)


rst@r57 chaos % 

Test & Verbose localhost

-T exécute en mode test (fait tout sauf envoyer les requêtes)

-v option verbose fournit des sorties supplémentaires

test_local_verbose

Défauts connus

  • La détection HTTP/HTTPS n'est pas idéale
  • Besoin d'une option pour ajuster le délimiteur de nouvelle ligne CSV
  • Besoin d'options pour ajuster l'endroit où les longues chaînes / de nombreuses lignes sont tronquées
  • Essayer de comprendre pourquoi nous avons marqué requests v2.x comme requis ;)
  • Options pour très verbeux / silencieux
  • Échelonner le lancement des threads lorsqu'on utilise sleep / jitter
  • Rechercher meta-refresh dans les réponses 200
  • En-tête Content-Location pour les 201 ?
  • Améliorer la génération des noms de threads pour avoir le bon nombre de noms uniques
  • Vérification de cohérence sur les masques réseau IPv6 pour éviter les scans qui durent plus longtemps que le soleil ?
  • À déterminer ?

Liens connexes

  • Article de blog sur chaos

Avertissements

  • Copyright (C) 2023 RST
  • Ce logiciel est distribué sur une base « EN L'ÉTAT », sans garanties expresses ou implicites d'aucune sorte
  • Ce logiciel est destiné à la recherche et/ou aux tests autorisés ; il est de votre responsabilité de vous assurer que vous êtes autorisé à utiliser ce logiciel de quelque manière que ce soit
  • En utilisant ce logiciel, vous reconnaissez être responsable de vos actions et assumez toute responsabilité pour tout dommage direct, indirect ou autre
Télécharger l’outil