WriteHat — это инструмент для создания отчетов, разработанный на базе бесплатного фреймворка веб-приложений Django. WriteHat позволяет создавать красивые отчеты по пентесту. Давайте узнаем, как установить и использовать WriteHat.
Еще по теме: Как создать отчет OWASP ZAP
Установка WriteHat
Самый быстрый способ установить WriteHat — использовать Docker и Docker Compose, которые можно установить следующей командой:
1 |
$ sudo apt install docker.io docker-compose |
Чтобы развернуть WriteHat, выполните следующие команды:
1 2 3 4 |
$ git clone https://github.com/blacklanternsecurity/writehat $ cd writehat $ sudo chmod -R 777 /writehat/static $ docker-compose up |
Предыдущая команда развернет приложение, используя файл docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
version: '3.7' services: nginx: image: nginx volumes: - ./nginx:/opt/writehat/nginx - ./writehat/config/nginx.conf:/etc/nginx/conf.d/writehat.conf - ./writehat/static:/opt/writehat/static ports: - 80:80 - 443:443 restart: unless-stopped depends_on: - writehat writehat: build: context: . dockerfile: ./writehat/config/Dockerfile.app command: bash -c " sleep 2 && ./manage.py makemigrations writehat && ./manage.py migrate writehat && ./manage.py makemigrations && ./manage.py migrate && uwsgi --socket 0.0.0.0:8000 --plugin-dir=/usr/lib/uwsgi/plugins --plugin python3 -w writehat.wsgi:application --processes=4 --master --vacuum" volumes: - .:/opt/writehat expose: - 8000 restart: unless-stopped depends_on: - mongo - mysql mongo: image: mongo:4.4 volumes: - ./mongo/configdb:/data/configdb - ./mongo/db:/data/db environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=FORTHELOVEOFGEEBUSPLEASECHANGETHIS expose: - 27017 mysql: image: mysql:5 volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: CHANGETHISIFYOUAREANINTELLIGENTHUMANBEING MYSQL_DATABASE: writehat MYSQL_USER: writehat MYSQL_PASSWORD: CHANGETHISIFYOUAREANINTELLIGENTHUMANBEING expose: - 3306 restart: unless-stopped chrome: image: selenium/standalone-chrome:latest expose: - 4444 depends_on: - writehat |
Использование WriteHat для создания отчета по пентесту
После установки можно создать Engagement — общий контейнер, который будет содержать отчеты и результаты.
После чего создается шаблон отчета, который содержит компоненты, которые хотим использовать для создания отчета по пентесту.
Продолжаем создавать Findings Database (сборник результатов), которые оцениваются одинаковым образом (по CVSS или DREAD). Можно создать несколько результатов для каждого Engagement.
При создании нового результата у вас будет возможность выбрать уровень критичности:
- Attack Vector (Вектор атаки)
- Attack Complexity (Сложность атаки)
- Privileges Required (Требуемые привилегии)
- User Interaction (Взаимодействие с пользователем)
- Scope (Область)
- Confidentiality (Конфиденциальность)
- Integrity (Целостность)
- Availability (Доступность)
- Exploit Code Maturity (Уровень зрелости эксплойта)
- Remediation Level (Уровень устранения)
- Report Confidence (Уверенность в отчете)
- Confidentiality Requirement and IntegrityRequirement (Требование к конфиденциальности и Требование к целостности).
На следующем скрине детали опции Atack Vector (Вектора атаки):
На этом этапе надо выбрать, для каждой характеристики, уровень критичности уязвимости, которую мы обнаружили. Общая система оценки уязвимости (CVSS) — это система оценки, которая позволяет численно определить уровень критичности уязвимости. Уровень критичности показывает насколько опасна уязвимость.
Для этичного хакера базовый балл указывает на то, насколько тревожны характеристики уязвимости.
Для определения значения CVSS используются наборы базовых метрик, которые помогают оценить уровень уязвимости. Также существуют специальные калькуляторы CVSS, которые используют эти метрики для оценки риска безопасности.
Для вычисления значения CVSS уязвимости можно использовать калькулятор NVD (Национальная база данных уязвимостей).
Подробности в официальном репозитории на GitHub.
ПОЛЕЗНЫЕ ССЫЛКИ: