/selenium

Primary LanguagePython

Сброщик скриншотов по списку доменов

Мини-проект призванный помочь ИБ-специалистам с тысячами доменов немного сократить ручную работу по анализзу главных страничек. Протестировано на 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 нужен)