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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/chrismaddalena/cooper
Инструменты фишингаСбор информацииФишингВеб-безопасностьСоциальная инженерия
GitHubchrismaddalena/cooper

Cooper

Инструмент на Python для загрузки HTML и создания HTML-кода, подходящего для фишинговых кампаний.

Репозиторий
60191 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

Cooper, сущ., бондарь (тот, кто делает и чинит бочки и бочонки)

(Это шутка про «рыбу в бочке». Я люблю каламбуры!)

Инструмент на Python для загрузки HTML и создания HTML-исходников, подходящих для фишинговых кампаний.

Cooper упрощает процесс клонирования целевого веб-сайта или электронного письма для использования в фишинговой кампании. Просто найдите URL или загрузите исходное содержимое письма, которое хотите использовать, и передайте его Cooper. Cooper клонирует содержимое, а затем автоматически подготовит его для вашей кампании. Скрипты, изображения и CSS могут быть изменены для использования прямых ссылок вместо относительных, ссылки изменяются, чтобы указывать на ваш фишинговый сервер, а формы обновляются для отправки данных вам — всё за считанные секунды. Cooper кроссплатформенный и должен работать на macOS, Linux и Windows.

Больше не нужно вручную редактировать ссылки и формы после использования wget для загрузки сайта. Вы можете сосредоточиться на детальной работе.

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

Cooper предлагает несколько модулей с разными целями:

  • page - Модуль, который, несомненно, будет использоваться чаще всего. Используется для клонирования целевой веб-страницы. На выходе получается HTML-файл и скриншот исходной веб-страницы для проверки результатов.
  • email - Как page, но принимает файл с исходным содержимым вашего письма. Просто откройте письмо в вашем почтовом клиенте, используйте опцию «просмотреть оригинал» и сохраните содержимое. На выходе — HTML-файл.
  • encode - Удобный инструмент, автоматизирующий кодировку Base64 для любых изображений, которые вы хотите вручную встроить в целевую страницу. Передайте ему файл изображения, и он выдаст полный текст, необходимый для установки атрибута src. На выходе — (вероятно, огромный) блок текста вида ``. Поэтому часто полезно перенаправить вывод в файл для более удобного копирования/вставки.

Использование модуля page

Модуль page — основной модуль Cooper. Единственный обязательный аргумент: -t для указания целевого URL. Затем вы можете добавить --selenium, чтобы опционально использовать Selenium вместо Requests. В основном, если вывод выглядит неправильно или неполным (например, только фон и немного стилей), попробуйте использовать --selenium.

Некоторые веб-сайты требуют JavaScript для генерации HTML-содержимого. Если вывод выглядит неправильно или неполным, попробуйте использовать --selenium.

Кроме того, вы можете добавить -u с URL, который будет использоваться как базовый URL для изображений, скриптов и таблиц стилей. Cooper заменит относительные ссылки (например, /wp-content/images/foo.bar) на полный URL.

Всегда указывайте корректные URL с правильным протоколом для -t и -u (т.е. http://www.example.com).

Полный список настроек ниже:

  • -t, --target TEXT
    • [ОБЯЗАТЕЛЬНО] URL целевой веб-страницы.
  • -o, --output TEXT
    • [Опционально] Указывает имя файла для выходного HTML-файла. По умолчанию index.html. Рекомендуется указывать расширение .html.
  • -u, --url TEXT
    • [Опционально] Указывает корневой URL для изображений в целевом письме или веб-странице.
  • -m, --embed
    • [Опционально] Кодировать изображения в Base64 и встраивать их в вывод.
  • --selenium
    • [Опционально] Использовать Selenium для получения HTML-исходника веб-страницы.
  • -s, --serverport TEXT
    • [Опционально] Указать порт для HTTP-сервера, который будет обслуживать выходные файлы.
  • -c, --config FILE
    • [Опционально] Указать альтернативный файл конфигурации для Cooper. Это полезно, если вы используете разные фишинговые платформы/серверы.

Использование модуля email

Модуль email удобен, когда вы хотите использовать имеющееся письмо в качестве основы для новой фишинговой атаки. Обработка кодировок и многокомпонентных MIME-сообщений может быть утомительной при ручной работе, так что позвольте Cooper сделать это за вас. Этот модуль разберет содержимое сообщения, отбросит ненужные части, такие как вложения, и предоставит полностью декодированную версию основного тела письма — ту часть, которая вам нужна (plain/text или text/html).

Полный список настроек ниже:

  • -f, --file PATH
    • [ОБЯЗАТЕЛЬНО] Путь к файлу, содержащему исходное содержимое письма для разбора.
  • -o, --output TEXT
    • [Опционально] Указывает имя файла для выходного HTML-файла. По умолчанию index.html. Рекомендуется указывать расширение .html.
  • -s, --serverport TEXT
    • [Опционально] Указать порт для HTTP-сервера, который будет обслуживать выходные файлы.
    • -c, --config FILE
      • [Опционально] Указать альтернативный файл конфигурации для Cooper. Это полезно, если вы используете разные фишинговые платформы/серверы.

Использование модуля encode

Как упоминалось выше, этот модуль разовый. Обязательный и единственный аргумент — -i для указания файла изображения для кодирования. Он удобен, если вы создаете свою собственную целевую страницу или редактируете страницу и вам нужно добавить изображение. Если вы решите встроить его, попробуйте этот модуль. Он закодирует предоставленный файл в Base64 и выдаст текст, необходимый для встраивания изображения.

  • -i, --image TEXT
    • [ОБЯЗАТЕЛЬНО] Целевой файл для кодирования в Base64.

Настройка

Требования к Python

Cooper требует несколько библиотек для парсинга веб-сайтов и разбора HTML. Используйте pip или pipenv для установки всего необходимого. Имеется файл requirements.txt для pip и Pipfile для виртуальных окружений pipenv. Если вы используете pip, убедитесь, что используете подходящую версию для Python 3.9 (например, pip3 или pip3.9).

Вы можете быть уверены, что используется правильная версия, вызвав pip с указанием версии Python:

python3 -m pip install -r requirements.txt

Виртуальное окружение использовать ещё проще:

  1. Выполните эту команду: pipenv install
  2. Войдите в окружение с помощью: pipenv shell

Требования к Selenium

Использование Selenium для headless-браузера требует установки Google Chrome и загрузки соответствующего файла Chromewebdriver с сайта: https://chromedriver.chromium.org/downloads

Скачайте и распакуйте webdriver в корень этого проекта. Вы можете разместить его в другом месте, но убедитесь, что обновили конфиг (см. следующий раздел).

Настройка конфигурационного файла

Затем вам нужно настроить свой конфигурационный файл. Файл cooper.config, поставляемый с этим репозиторием, предварительно настроен для использования с GoPhish (URL-адреса изменяются на {{.URL}}). В конфигурации по умолчанию также предполагается, что вы разместите Chrome webdriver в корне каталога.

Конфигурационный файл выглядит так:

root@kitploit:~
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}

[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36

Вносите изменения по мере необходимости. Вы можете создать несколько конфигурационных файлов для разных используемых фишинговых платформ, дополнительных атакующих серверов или альтернативных user-agent. Разные конфиги можно использовать, указав аргументы -c или --config вместе с альтернативным файлом. В противном случае по умолчанию будет использоваться файл cooper.config.

Раздел [Replacement URLs] содержит все URL-адреса, которые Cooper будет использовать при замене ссылок и действий форм.

landing_page_url_replacement — это URL, используемый для целевой страницы. Возможно, вы захотите установить его равным IP-адресу фишингового сервера, чтобы посетители перенаправлялись обратно на целевую страницу, или отправлять их в другое место.

landing_page_form_action — это URL, на который вы хотите отправлять данные формы при её отправке.

email_replacement_url — это URL, используемый для писем; его следует установить равным домену или IP-адресу вашего фишингового сервера.

Если любой из этих URL оставить пустым, Cooper не будет заменять соответствующие URL. Это наиболее практично для landing_page_url_replacement, когда вы можете захотеть, чтобы целевая страница продолжала указывать на реальные ссылки. Однако предупреждаем: целевая веб-страница может использовать относительные ссылки, такие как /home.php, вместо прямых, что приведет к большому количеству битых ссылок на вашей целевой странице.

Раздел [Browser] предназначен только для настроек, связанных с веб-серфингом. Используйте этот раздел, чтобы указать Selenium и Cooper путь к драйверу вашего браузера, если вы решите использовать другой файл драйвера или расположение. Здесь также определяется user-agent, используемый для веб-серфинга. В Cooper есть user-agent по умолчанию, который вы можете переопределить с помощью конфигурационного файла.

Разное

  • Изображения могут быть закодированы в Base64 перед встраиванием в шаблон. Это делается для того, чтобы шаблоны не зависели от доступности сайта или сохранения изображений на исходных местах. Дополнительный размер для веб-сайта (скорее всего) незначителен, но использование этой опции для письма может стать проблемой. Некоторые почтовые клиенты не поддерживают изображения в Base64, например Outlook(!). Учитывайте почтовый клиент цели.

  • Опция HTTP-сервера существует, чтобы вы могли легко просмотреть вывод Cooper, перейдя по адресу 127.0.0.1:PORT. Вы могли бы просто открыть HTML-файл, но это не так удобно.

Известные проблемы

  • Если сайт размещён на таком сервисе, как SquareSpace, Cooper не сможет восстановить изображения. Теги img выглядят так: <img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>

Заключение

Особая благодарность Ninjasl0th и Hagbard за помощь в этом проекте!

Скачать инструмент