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

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

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

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

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

Категории

Все категории
Loading categories
writehat — Инструмент для составления отчетов по пентесту, написанный на Python. Освободитесь от Microsoft Word. | Kitploit
Инструменты/GitHubGitHub/blacklanternsecurity/writehat
Тестирование на ПроникновениеУтилиты и фреймворкиОбучение и Образование
GitHubblacklanternsecurity/writehat

writehat

Инструмент для составления отчетов по пентесту, написанный на Python. Освободитесь от Microsoft Word.

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

Популярное

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

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

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

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

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

WriteHat WriteHat — это инструмент для составления отчётов, который устраняет Microsoft Word (и многие часы страданий) из процесса создания отчётов. Markdown --> HTML --> PDF. Создан тестировщиками на проникновение для тестировщиков на проникновение, но может использоваться для генерации любых видов отчётов. Написан на Django (Python 3).

Возможности:

  • Без усилий создавайте красивые отчёты по пентесту
  • Интерактивный построитель отчётов с перетаскиванием
  • Поддержка Markdown — включая блоки кода, таблицы и т.д.
  • Обрезка, аннотирование, подписи и загрузка изображений
  • Настраиваемый фон/нижний колонтитул отчёта
  • Назначение операторов и отслеживание статусов отдельных разделов отчёта
  • Возможность клонировать и шаблонизировать отчёты
  • База данных находок
  • Поддержка нескольких типов оценки (CVSS 3.1, DREAD)
  • Лёгкое создание нескольких отчётов из одного набора находок
  • Расширяемая конструкция позволяет опытным пользователям создавать узкоспециализированные разделы отчётов
  • Интеграция с LDAP

writehat_report

Предварительные требования к установке:

  • Установите docker и docker-compose
    • Обычно их можно установить с помощью apt, pacman, dnf и т.д.
    $ sudo apt install docker.io docker-compose
    

Развёртывание WriteHat (быстрый и лёгкий способ для тестирования):

WriteHat можно развернуть одной командой:

$ git clone https://github.com/blacklanternsecurity/writehat && cd writehat && docker-compose up

Войдите по адресу https://127.0.0.1 (по умолчанию: admin / PLEASECHANGETHISFORHEAVENSSAKE)

Развёртывание WriteHat (правильный способ):

  1. Установите Docker и Docker Compose

  2. Клонируйте репозиторий WriteHat в /opt

    $ cd /opt
    $ git clone https://github.com/blacklanternsecurity/writehat
    $ cd writehat
    
  3. Создайте безопасные пароли в writehat/config/writehat.conf для:

    • MongoDB (также укажите в docker-compose.yml)
    • MySQL (также укажите в docker-compose.yml)
    • Django (используется для шифрования куки и т.д.)
    • Пользователя admin Примечание: Ничего, кроме паролей, менять не нужно, если вы используете конфигурацию по умолчанию. Примечание: Не забудьте ограничить права доступа к writehat/config/writehat.conf и docker-compose.yml: (chown root:root; chmod 600)
  4. Добавьте желаемое имя хоста в allowed_hosts в writehat/config/writehat.conf

  5. (Опционально) Замените самоподписанные SSL-сертификаты в nginx/:

    • writehat.crt
    • writehat.key
  6. Проверьте, что всё работает:

    $ docker-compose up --build
    

    Примечание: Если вы используете VPN, при первом запуске служб с помощью docker-compose необходимо отключиться от VPN. Это необходимо для того, чтобы Docker мог успешно создать виртуальную сеть.

  7. Установите и активируйте systemd-сервис:

    Это обеспечит автоматический запуск WriteHat при загрузке системы

    $ sudo cp writehat/config/writehat.service /etc/systemd/system/
    $ sudo systemctl enable writehat --now
    
  8. Отслеживайте журналы службы:

    $ sudo journalctl -xefu writehat.service
    
  9. Создайте пользователей

    Перейдите по адресу https://127.0.0.1/admin после входа с учётной записью admin, указанной в writehat/config/writehat.conf. Примечание: Некоторые действия может выполнять только администратор (например, резервное копирование базы данных). Учётная запись администратора создаётся автоматически из имени пользователя и пароля в writehat/config/writehat.conf, но вы также можете повысить пользователя LDAP до администратора:

    # Войдите в контейнер приложения
    $ docker-compose exec writehat bash
    
    # Повысьте пользователя и выйдите
    $ ./manage.py ldap_promote <ldap_username>
    $ exit
    

Терминология

Вот основные пояснения некоторых терминов WriteHat, которые могут быть неочевидны.

Engagement
 ├─ Customer
 ├─ Finding Group 1
 │   ├─ Finding
 │   └─ Finding
 ├─ Finding Group 2
 │   ├─ Finding
 │   └─ Finding
 ├─ Report 1
 └─ Report 2
     └─ Page Template

Вовлечение (Engagement)

Вовлечение — это место, где создаётся контент для заказчика. Здесь происходит основная работа — создание отчётов и ввод находок.

Отчёт (Report)

Отчёт — это модульное иерархическое расположение компонентов, которое можно легко обновлять с помощью интерфейса перетаскивания, а затем преобразовывать в HTML или PDF. В рамках одного вовлечения может быть несколько отчётов. Шаблон страницы можно использовать для настройки фона и нижнего колонтитула. Отчёт также можно преобразовать в шаблон отчёта.

Компонент отчёта (Report Component)

Компонент отчёта — это раздел или модуль отчёта, который можно перетаскивать в нужное место в редакторе отчётов. Примеры: «Титульная страница», «Markdown», «Находки» и т.д. Существует множество встроенных компонентов, но вы можете создавать и свои собственные. (Они представляют собой просто HTML/CSS + Python, так что это довольно просто. Смотрите руководство ниже.)

Шаблон отчёта (Report Template)

Шаблон отчёта можно использовать в качестве отправной точки для отчёта (в рамках вовлечения). Отчёты также можно преобразовывать в шаблоны отчётов.

Группа находок (Finding Group)

Группа находок — это набор находок, которые оцениваются одинаковым способом (например, CVSS или DREAD). Вы можете создать несколько групп находок на одно вовлечение (например, «Технические находки» и «Финансовые находки»). При вставке находок в отчёт (например, через компонент «Находки») необходимо выбрать, какая группа находок будет заполнять этот компонент.

Шаблон страницы (Page Template)

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

Написание пользовательских компонентов отчёта

report_creation Каждый компонент отчёта состоит из следующего:

  1. Файл Python в writehat/components/
  2. HTML-шаблон в writehat/templates/componentTemplates/
  3. CSS-файл в writehat/static/css/component/ (опционально)

Мы рекомендуем обратиться к существующим файлам в этих каталогах; они хорошо подходят в качестве отправных точек/примеров.

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

components/CustomComponent.py:

from .base import *

class CustomComponentForm(ComponentForm):

    summary = forms.CharField(label='Текст компонента', widget=forms.Textarea, max_length=50000, required=False)
    field_order = ['name', 'summary', 'pageBreakBefore', 'showTitle']


class Component(BaseComponent):

    default_name = 'Пользовательский компонент отчёта'
    formClass = CustomComponentForm

    # атрибут "templatable" определяет, будет ли это поле
    # сохранено, если отчёт когда-либо будет преобразован в шаблон
    fieldList = {
        'summary': StringField(markdown=True, templatable=True),
    }

    # обязательно укажите HTML-шаблон
    htmlTemplate = 'componentTemplates/CustomComponent.html'

    # тип и цвет иконки Font Awesome (HTML/CSS)
    # Это просто визуальное оформление в веб-приложении
    iconType = 'fas fa-stream'
    iconColor = 'var(--blue)'

    # функция "preprocess" выполняется при рендеринге отчёта
    # используйте её для выполнения любых финальных операций над данными
    def preprocess(self, context):
Скачать инструмент