CeWL

Password Attacks v6.2.1 · 30.07.2024 не обновлялся >2 лет

Генератор пользовательских словарей: краулит веб-сайт цели и собирает уникальные слова для последующих атак на пароли.

v6.2.1
30.07.2024 current
Добавлен 16.06.2026 · Обновлён 16.06.2026 · Password Attacks
Установка
sudo apt install cewl
# Или из исходников:
git clone https://github.com/digininja/CeWL
cd CeWL
gem install bundler
bundle install
# Использование:
ruby cewl.rb http://target.com -m 6 -w wordlist.txt
переведено ИИ

CeWL - Генератор пользовательских списков слов

Copyright(c) 2026, Robin Wood robin@digi.ninja

На основе обсуждения в PaulDotCom (эпизод 129) о создании пользовательских списков слов путём обхода целевого веб-сайта и сбора уникальных слов, я решил написать CeWL — генератор пользовательских списков слов. CeWL — это приложение на Ruby, которое обходит заданный URL до указанной глубины, при необходимости переходя по внешним ссылкам, и возвращает список слов, которые затем могут использоваться в программах для подбора паролей, таких как John the Ripper.

По умолчанию CeWL ограничивается только указанным вами сайтом и проходит на глубину до 2 ссылок. Это поведение можно изменить, передав соответствующие аргументы. Будьте осторожны при установке большой глубины и разрешении перехода на внешние сайты — вы можете оказаться на множестве других доменов. Все слова длиной три символа и более выводятся в стандартный поток вывода (stdout). Эту минимальную длину можно увеличить, а слова можно записывать в файл вместо вывода на экран, что позволяет автоматизировать работу приложения.

У CeWL также есть сопутствующее приложение командной строки — FAB (Files Already Bagged, «Файлы уже упакованы»), которое использует те же методы извлечения метаданных для создания списков авторов/создателей из уже скачанных файлов.

Для тех, кто запускает CeWL с Ruby 2.7, могут появиться предупреждения в стиле:

.../ruby-2.7.0/gems/mime-types-3.2.2/lib/mime/types/logger.rb:30: warning: `_1' is reserved for numbered parameter; consider another name

Это связано с новой возможностью, введённой в версии 2.7, которая конфликтует с одной строкой кода в скрипте логгера из гема mime-types. Для этого есть обновление в репозитории гема, и, надеюсь, оно скоро будет выпущено. Пока что, насколько я могу судить, это предупреждение никак не влияет на работу CeWL. Если вы по эстетическим соображениям хотите скрыть предупреждение, можно запустить скрипт следующим образом:

ruby -W0 ./cewl.rb

Домашняя страница: https://digi.ninja/projects/cewl.php

GitHub: https://github.com/digininja/CeWL

Произношение

Поскольку меня об этом спросили, CeWL произносится как «кул» (от английского «cool»).

Установка

Для работы CeWL необходимы следующие гемы (пакеты Ruby):

  • mime
  • mime-types
  • mini_exiftool
  • nokogiri
  • public_suffix
  • rubyzip
  • spider
  • getoptlong

Самый простой способ установить эти гемы — использовать Bundler:

gem install bundler
bundle install

Альтернативно, вы можете установить их вручную командой:

gem install xxx

Для гема mini_exiftool также требуется установленное приложение exiftool.

Установка CeWL

  1. Клонируйте репозиторий:
git clone https://github.com/digininja/CeWL.git
cd CeWL
  1. Установите зависимости:
bundle install
  1. Сделайте скрипт исполняемым:
chmod u+x ./cewl.rb
  1. Сделайте CeWL доступным во всей системе (необязательно):

Создайте символьную ссылку (symlink):

sudo ln -s $(pwd)/cewl.rb /usr/local/bin/cewl
  1. Проверьте установку Выполните следующие команды, чтобы убедиться, что CeWL работает correctamente:
# Проверьте, запускается ли скрипт (должны вывести версию и справку)
./cewl.rb --version
# Если вы создали символьную ссылку или добавили в PATH, проверьте команду cewl
cewl --version

Страница проекта на моем сайте содержит советы по решению распространенных проблем, с которыми люди сталкивались при работе с CeWL — https://digi.ninja/projects/cewl.php

Использование

./cewl.rb --help
# ИЛИ
cewl --help

CeWL 6.2.1 (More Fixes) Robin Wood (robin@digi.ninja) (https://digi.ninja/)
Использование: cewl [ОПЦИИ] ... <url>

    ОПЦИИ:
        -h, --help: Показать справку.
        -k, --keep: Сохранить скачанный файл.
        -d <x>,--depth <x>: Глубина обхода, по умолчанию 2.
        -m, --min_word_length: Минимальная длина слова, по умолчанию 3.
        -x, --max_word_length: Максимальная длина слова, по умолчанию не задана.
        -o, --offsite: Разрешить обходчику посещать другие сайты.
        --exclude: Файл со списком путей для исключения.
        --allowed: Регулярное выражение, которому должен соответствовать путь для перехода по нему.
        -w, --write: Записать вывод в файл.
        -u, --ua <agent>: Пользовательский агент (User agent) для отправки.
        -n, --no-words: Не выводить список слов.
        -g <x>, --groups <x>: Также возвращать группы слов.
        --lowercase: Преобразовать все разобранные слова в нижний регистр.
        --with-numbers: Принимать также слова, содержащие цифры, а не только буквы.
        --convert-umlauts: Конвертировать распространенные умлауты ISO-8859-1 (Latin-1) (ä-ae, ö-oe, ü-ue, ß-ss).
        -a, --meta: Включить метаданные.
        --meta_file file: Файл для вывода метаданных.
        -e, --email: Включить адреса электронной почты.
        --email_file <file>: Файл для вывода адресов электронной почты.
        --meta-temp-dir <dir>: Временный каталог, используемый exiftool при разборе файлов, по умолчанию /tmp.
        -c, --count: Показывать количество для каждого найденного слова.
        -v, --verbose: Подробный вывод.
        --debug: Дополнительная отладочная информация.

        Аутентификация
        --auth_type: Digest (дайджестная) или basic (базовая).
        --auth_user: Имя пользователя для аутентификации.
        --auth_pass: Пароль для аутентификации.

        Поддержка прокси
        --proxy_host: Хост прокси-сервера.
        --proxy_port: Порт прокси-сервера, по умолчанию 8080.
        --proxy_username: Имя пользователя для прокси, если требуется.
        --proxy_password: Пароль для прокси, если требуется.

        Заголовки
        --header, -H: В формате имя:значение - можно передавать несколько.

        Захват структуры URL
        --capture-paths: Добавить компоненты пути URL в список слов.
        --capture-subdomains: Добавить компоненты поддоменов в список слов.
        --capture-domain: Добавить основной домен в список слов.
        --capture-url-structure: Захватить домен, пути и поддомены (всю структуру URL).

    <url>: Сайт для обхода.

Запуск CeWL в Docker-контейнере

Для быстрого использования CeWL с Docker можно использовать официальный образ ghcr.io/digininja/cewl:

docker run -it --rm -v "${PWD}:/host" ghcr.io/digininja/cewl [ОПЦИИ] ... <url>

Вы также можете собрать его локально:

docker build -t cewl .
docker run -it --rm -v "${PWD}:/host" cewl [ОПЦИИ] ... <url>

Если вы хотите увидеть это в действии, посмотрите мое видео Запуск CeWL в Docker на Kali.

Лицензия

Этот проект распространяется под лицензией Creative Commons Attribution-Share Alike 2.0 UK: England & Wales

http://creativecommons.org/licenses/by-sa/2.0/uk/

Альтернативно, вместо оригинальной лицензии вы можете использовать GPL-3+.

http://opensource.org/licenses/GPL-3.0

Комментарии
Войдите, чтобы оставить комментарий