
Скрипт Python на Selenium для автоматизации поиска уязвимых веб-приложений.
Скрипт на Python на базе Selenium для автоматизации поиска уязвимых приложений в сети.
DorkNet может принимать один дрок или список дроков в качестве аргументов. После передачи правильных аргументов командной строки скрипт использует Selenium и Geckodriver для нахождения нужных результатов и сохраняет их в текстовый файл для дальнейшей обработки с помощью SQLmap или аналогичных утилит.
git clone https://github.com/NullArray/DorkNet.git
cd DorkNet
python dorknet.py
Параметры программы следующие.
-h, --help show this help message and exit
-d DORK, --dork DORK specify the dork you wish to use
-l LIST, --list LIST specify path to list with dorks
-v, --verbose toggle verbosity
Несколько примеров для ясности.
DorkNet.py -h
DorkNet.py -d inurl:show.php?id= -v
DorkNet.py -l /path/to/list.txt --verbose
Проксирование
Я добавил возможность проксировать соединение веб-драйвера при желании. Просто укажите IP и PORT прокси в появившемся диалоговом окне, и поисковая система будет доступна через указанные вами настройки прокси.
Для работы вам понадобится Geckodriver от Mozilla. Вы можете установить его вручную. Однако я добавил shell-скрипт для автоматизации этого процесса, если вы предпочитаете.
Чтобы использовать его, перейдите в каталог DorkNet и сделайте shell-скрипт исполняемым следующим образом.
cd DorkNet
chmod +x gecko-setup.sh
# Выполните shell-скрипт с помощью команды ниже.
sudo ./gecko-setup.sh
Shell-скрипт также имеет опцию автоматической установки остальных зависимостей с помощью файла requirements, выполняя следующие команды.
sudo -H pip install -r requirements.txt
Я добавил логику, позволяющую пользователю запускать Geckodriver в Headless Mode, то есть без традиционного интерфейса. Это полезно, если у вас особенно длинный список дроков, с которым нужно работать. В текущей реализации функция, отвечающая за проксирование нашего соединения с Google, мешает операциям, необходимым для установки параметров Geckodriver для включения безголового режима. Поэтому запуск DorkNet с флагом --nogui и включенным прокси не будет работать должным образом.
Однако пользователи, которые все же хотят запустить программу в безголовом режиме, могут это сделать. Я закоммитил весь соответствующий код в репозиторий. Пока что он просто закомментирован. Удалите комментарии, и он должен работать без проблем. Посмотрите историю коммитов здесь, чтобы увидеть затронутые строки.
Теперь, если вы действительно хотите проксировать свое соединение, пока установлен --nogui, вы можете запустить DorkNet с помощью ProxyChains следующим образом;
proxychains python dorknet.py -l /path/to/dorks.list --nogui --verbose
Если у вас нет ProxyChains, просто перейдите по ссылке выше или используйте ваш пакетный менеджер для его установки. Спасибо.
DorkNet представлен в дистрибутиве для пентеста BlackArch Linux в разделе WebApp Tools & Automation. Таким образом, он поставляется предустановленным в дистрибутиве. Обратитесь к соответствующему файлу PKGBUILD в соответствующем репозитории для получения подробной информации.
Благодаря использованию Selenium и Geckodriver, DorkNet эффективно имитирует обычный браузер. Таким образом, программа в большинстве случаев обходит капчи. Однако в редких случаях Google всё равно выдаёт капчу. То же самое иногда происходит при ручном поиске строк, похожих на дрок. Если вы столкнетесь с капчей, просто заполните её в Geckodriver, и DorkNet продолжит нормальную работу.