Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
chaos — Утилита для сканирования исходного IP-адреса, разработанная с помощью ChatGPT | Kitploit
Инструменты/GitHubGitHub/r57-labs/chaos
РазведкаКартирование сетиСбор информацииВеб-безопасностьТестирование на Проникновение
GitHubr57-labs/chaos

chaos

Утилита для сканирования исходного IP-адреса, разработанная с помощью ChatGPT

Репозиторий
7083 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

chaos

chaos — это сканер «исходных» IP-адресов, разработанный RST в сотрудничестве с ChatGPT. Это узкоспециализированная утилита, предназначенная в основном для пентестеров и баг-хантеров.

«Origin-IP» (исходный IP) — это термин, описывающий конечный публичный IP-адрес, на котором размещаются веб-сайты, обслуживаемые через сторонние сервисы. Если вы хотите узнать больше о том, почему кто-то может интересоваться Origin-IP, ознакомьтесь с нашим блогом.

chaos был быстро спроектирован — от идеи до работающего прототипа менее чем за 24 часа — с использованием наших принципов DevOps и 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  | |
| +---+ | +---+ | +---+ | +---+ | +---+ |
|/_____|\\_____|\\_____|\\_____|\\_____\\

 Сканер исходных IP-адресов, разработанный с помощью ChatGPT
 cha*os (n): полный хаос и неразбериха
 (ver: 0.9.4)

v94_csv

Возможности

  • Многопоточность для повышения производительности
  • Обновления статуса и индикаторы прогресса в реальном времени — отлично подходит для больших сканирований ;)
  • Гибкие пользовательские опции для различных сценариев и ограничений
  • Сокращение набора данных для ускорения сканирования
  • Простой вывод в CSV

Установка

  1. Скачайте / клонируйте / распакуйте / и так далее
  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

Опции

root@kitploit:~
-h, --help            показать это сообщение и выйти
-f FQDN, --fqdn FQDN  Путь к файлу с FQDN (по одному FQDN на строку)
-i IP, --ip IP        IP-адрес(а) для HTTP-запросов (IP-адреса через запятую, IP-сети и/или файлы с IP/сетью на строку)
-a AGENT, --agent AGENT
                      Значение заголовка User-Agent для запросов
-C, --csv             Добавить вывод в формате CSV в файл OUTPUT_FILE.csv
-D, --dns             Выполнять прямые/обратные DNS-запросы для FQDN/IP перед отправкой запроса; не влияет на очередь тестирования
-j JITTER, --jitter JITTER
                      Добавить случайную задержку от 0 до N секунд к значению sleep
-o OUTPUT, --output OUTPUT
                      Добавить вывод консоли в ФАЙЛ
-p PORTS, --ports PORTS
                      Список TCP-портов через запятую (по умолчанию: "80,443")
-P, --no-prep         Не выполнять предварительное сканирование каждого IP/порта с `GET /` и заголовком `Host: {IP:Port}` для исключения неотвечающих хостов
-r, --randomize       Рандомизировать (примерно) порядок проверки IP/портов
-s SLEEP, --sleep SLEEP
                      Добавить N секунд перед завершением потока
-t TIMEOUT, --timeout TIMEOUT
                      Ждать N секунд ответа от неотвечающего хоста
-T, --test            Режим тестирования; не отправлять запросы
-v, --verbose         Включить подробный вывод
-x, --singlethread    Однопоточное выполнение; для систем с 1-2 ядрами; по умолчанию количество потоков = (число ядер - 1), если ядер > 2

Примеры

Локальное тестирование (localhost)

Запустите HTTP-сервер Python

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

Запустите ncat как HTTP на порту, определяемом как SSL; используйте цикл, так как --keep-open может зависнуть

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

Также запустите ncat как SSL на порту, который по умолчанию будет определяться как 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

Подготовьте файл с FQDN:

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

Подготовьте файл / список 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

Запустите сканирование

  • Обратите внимание: в командной строке добавлена IPv6-сеть в список IP
  • -p указывает порты, которые мы слушаем
  • -x для однопоточного запуска, чтобы дать ncat-серверам время на перезапуск
  • -s0.2 короткая задержка для перезапуска ncat-серверов
  • -t1 тайм-аут в 1 секунду

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 % 

Тестирование localhost с подробным выводом

-T включает режим тестирования (выполнять всё, кроме отправки запросов)

-v — подробный вывод, дающий дополнительную информацию

test_local_verbose

Известные дефекты

  • Обнаружение HTTP/HTTPS неидеальное
  • Нужна опция для настройки разделителя строк в CSV
  • Нужны опции для настройки обрезания длинных строк / большого количества строк
  • Попытаться выяснить, почему мы пометили requests v2.x как обязательную зависимость ;)
  • Опции для очень подробного / тихого режима
  • Разнести запуск потоков при использовании sleep / jitter
  • Искать meta-refresh в ответах 200
  • Заголовок Content-Location для 201?
  • Улучшить генерацию имён потоков, чтобы было нужное количество уникальных имён
  • Проверка корректности IPv6-масок для предотвращения сканирований, которые переживут солнце?
  • TBD?

Связанные ссылки

  • Запись в блоге о chaos

Отказ от ответственности

  • Copyright (C) 2023 RST
  • Данное программное обеспечение распространяется на основе «AS IS» без каких-либо явных или подразумеваемых гарантий
  • Данное программное обеспечение предназначено для исследований и/или авторизованного тестирования; вы несёте ответственность за то, что имеете право использовать это программное обеспечение любым способом
  • Используя данное программное обеспечение, вы признаёте, что несёте ответственность за свои действия и принимаете на себя все обязательства за любые прямые, косвенные или иные убытки
Скачать инструмент