Мини-проект призванный помочь ИБ-специалистам с тысячами доменов немного сократить ручную работу по анализзу главных страничек. Протестировано на 1000 доменов с шодана одного из известных IT-гигантов.
Состоит из двух скриптов:
- update-db.py - пополняет локальную базу списком адресов с открытыми 80 или 443 портов
- screenshot.py - считывает адреса из базы, делает скриншоты и записывает их в соответствующие директории по кодам ответов.
- требуется процессор с архитектурой amd64, т.к. разработчики продукта селениум не собрали докер под М1, например.
- требуется установленный docker
- git clone git@github.com:bykvaadm/selenium.git
- cd selenum && docker build -t selenuim .
- перейти в директорию скачанного с github репозитория
- заполнить доменами файл domains.txt (по 1 домену в строке)
- docker run -d -p 4444:4444 --shm-size=2g --name=selenium -v "$(pwd)":/etc/selenium -v /var/lib/screenshot:/var/lib/screenshot --rm selenuim:latest
- docker exec -ti selenium bash # заходим в контейнер
- python3 /etc/selenium/update-db.py # команда выполянется в контейнере
- python3 /etc/selenium/screenshot.py # команда выполянется в контейнере
Скриншоты главных страничек, разложенные по папкам с именами кодов ответа (200, 403, 500, ...), будут лежать по пути /var/lib/screenshot хостовой машины.
Скрипт сыроват и написан под конкретный случай, проще рассказать как его собирать, чтобы вы могли править скрипты под себя (может не только 80, 443 нужен)