В этой статье покажу, как написать скрипт на Python для брута админки, с использованием метода post и с функцией обхода блокировки IP.
Еще по теме: Перебор пароля на Python
Брут админки сайта с помощью Python
Возможности скрипта для брута админок сайта.
- Брут пароля.
- Обход блокировки по IP.
- Использование прокси.
- Добавление заголовков и данных.
- Фильтрация ошибок.
Поиск пароля
Наиболее важной частью работы этого скрипта является сравнение ответа сервера, при отправке неверных учетных данных.
Скрипт отправляет запрос со случайным именем пользователя и паролем, чтобы увидеть, как сеть реагирует на неверные учетные данные.
Первая веб-петиция:
Userfile и passwordfile — поле пользователя и поле пароля.
Вторая веб-петиция и сравнение:
Эта часть скрипта начинает отправлять веб-запросы в цикле, изменяя пароль и сравнивая длину ответа на первый запрос, в котором мы использовали неверные учетные данные, с новыми запросом.
В дополнение к этому у скрипта есть обход блокировки по IP, с помощью заголовков.
Обход блокировки по IP
Эта часть кода сильно отличает мой скрипт от других скриптов для брута админки сайта. Я добавил к каждому запросу серию заголовков, с помощью которых можно обойти бокировку по IP:
- X-Forwarded-For
- X-Originating-IP
- X-Remote-IP
- X-Remote-Addr
Я не только добавил эти заголовки, но также создал серию очень простых регулярных выражений, с помощью которых каждый раз, когда отправляется веб-запрос, он отправляется с другим IP-адресом в заголовках. Таким образом хост думает, что запрос исходит от разных машин.
Регулярные выражения:
Заголовки:
Результат с Burpsuite:
Использование Proxy
Иногда нужно посмотреть какой запрос отправляется и как именно и что отвечает сервер, для этого я всегда использую прокси Burpsuite, но вы можете использовать простую команду, просто добавьте параметр -proxy и укажите адрес прокси:
1 |
python3 bruteforce.py --url victim_url -user user -wordlist wordlist -proxy url_proxy |
Результат:
Burpsuite:
Добавление заголовка и данных
Одной из наиболее важных новых функций скрипта — возможность добавлять заголовки или данные к вашим запросам. Можно добавить до двух заголовков или двух параметров.
Формат должен быть следующим:
- -data «параметр»: «значение»
- -data «параметр1»: «значение», «параметр2»: «значение»
- -headers «параметр»: «значение»
- -headers «параметр1»: «значение», «параметр2»: «значение»
Команда:
1 |
python3 bruteforce.py --url victim_url -user user -wordlist wordlist -proxy url_proxy |
Результат:
Фильтрация ошибок
Еще одна интересная функция скрипта — возможность добавить сообщение об ошибке.
Код:
Заключение
Полный код скрипта Python для брута админки, доступен в моем репозитории на Github.
На этом все. С вами был S12cybersecurity и QUASAR. Увидимся в следующей статье!
РЕКОМЕНДУЕМ:
- Создание бэкдора на Python
- Брут RDP с помощью Hydra на Kali Linux
- Создание пейлоада на Python для взлома камеры