
Keylogger remoto para Windows con exfiltración de pulsaciones de teclas cifrada con AES-256 mediante intervalos de devolución de llamada configurables y un servidor Python complementario para el análisis de registros.
¡Bienvenido al repositorio del proyecto peeping-tom! Peeping-tom es un programa de dos partes: un peeping-client desplegado en el objetivo y un toms-server que escucha las pulsaciones de teclas en la máquina del atacante. Para ponerlo en funcionamiento se requiere una cantidad considerable de configuración, así que asegúrate de leer y seguir cuidadosamente las instrucciones a continuación.
Por supuesto, si tienes sugerencias, comentarios, problemas, etc., no dudes en contactarnos o crear un issue o pull request.
Paso 1: Abrir el archivo de solución de peeping-tom en Visual Studio
Primero lo primero, descarga e instala la edición Community de Visual Studio en tu máquina desde el enlace anterior. Al avanzar por el instalador, asegúrate de seleccionar las cargas de trabajo "Python development" y "Desktop development with C++", ya que serán necesarias para cargar y compilar correctamente el proyecto.

Una vez que todo haya terminado de instalarse, inicia Visual Studio y selecciona la opción "Clone a repository". Introduce la URL del repositorio y haz clic en clonar.

Si todo se cargó correctamente, deberías ver ambos proyectos en la ventana del Explorador de soluciones a la derecha, como se muestra a continuación.

Paso 2: Configurar las opciones del compilador/enlazador en Visual Studio
Ahora que la herramienta está cargada en Visual Studio, necesitaremos cambiar un par de opciones y compilar una biblioteca antes de compilar. Esto eliminará cualquier dependencia de programa/biblioteca al ejecutarse en el objetivo.
La primera tarea es compilar estáticamente la biblioteca Crypto++, que se utiliza para el cifrado en el keylogger. Inicia este proceso descargando la versión 8.6.0 de la biblioteca aquí.
Una vez que hayas descargado el archivo ZIP, extráelo a una carpeta, navega dentro de ella y abre cryptest.sln con Visual Studio. Ahora deberías tener dos ventanas de Visual Studio: una con la solución de peeping-tom y la otra con la solución de cryptest.

Una vez que el archivo cryptest.sln esté cargado en Visual Studio, haz clic en "Debug" en la barra de herramientas superior y cámbialo a "Release". También cambia la arquitectura a x64, como se muestra a continuación.

Ahora, haz clic derecho en el proyecto cryptlib y selecciona propiedades. Cambia la opción resaltada como se muestra.

Una vez que eso esté completo, compila la solución cryptest.

La compilación tomará uno o dos minutos, pero una vez que termine, debería aparecer un archivo llamado cryptlib.lib en tu versión de la ruta a continuación. Encuentra el archivo y copia su ruta para el siguiente paso.
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
Una vez localizado el archivo y copiada su ruta, regresa a la ventana de Visual Studio que tiene abierta la solución de peeping-tom. Haz clic derecho en el proyecto peeping-client y selecciona propiedades. Navega a la opción que se muestra en la captura de pantalla a continuación y pega la ruta de cryptlib.lib.

Asegúrate de que el proyecto peeping-client también esté configurado en "Release" y que la arquitectura esté en x64. NO compiles la solución peeping-tom todavía, ya que aún hay algunos cambios que deben hacerse en el código fuente.
Paso 3: Abrir un túnel público hacia localhost:80
Pasemos al túnel. Una vez que hayas creado una cuenta de Ngrok, descarga Ngrok para tu SO desde el enlace anterior y extrae el ejecutable del archivo ZIP. Antes de abrir un túnel, necesitarás obtener un token de autenticación personal de tu cuenta, como se muestra a continuación.

Una vez que tengas el token, agrégalo a la configuración local de Ngrok con el siguiente comando:
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
Finalmente, abre el túnel utilizando el siguiente comando:
ngrok http 80 --scheme=http
Si todo salió bien, deberías ver algo similar a la imagen a continuación. ¡Excelente! Ahora estás listo para este paso. Toma la dirección "Forwarding" resaltada y guárdala en un lugar seguro para más adelante.

Paso 4: Generar una nueva clave AES-256
En este punto, puedes descargar Python en tu máquina. Una vez instalado, abre una ventana CMD en el directorio del proyecto toms-server.
Instala las dependencias requeridas con:
pip3 install -r requirements.txt
Cuando todo esté listo, ejecuta:
python3 toms-server.py -m keygen
Esto debería generar una clave AES-256 de 64 caracteres que también necesitarás más adelante, así que asegúrate de guardarla junto con la dirección de reenvío de Ngrok.
Paso 5: Establecer los campos requeridos en el código fuente de peeping-client
Ahora tenemos todo lo que necesitamos para comenzar. Abre el archivo fuente peeping-client project->source files->peeping-client.cpp desde el Explorador de soluciones. Introduce la información relevante en las dos primeras variables de la función main() que se muestran a continuación.

Después de ingresar tu información, dirígete a peeping-client project->header files->APIHook.h y reemplaza el "15" en la imagen a continuación con el intervalo deseado para la devolución de llamada en segundos (por ejemplo, cambia 15 a 7200 para una devolución de llamada cada dos horas... ya entiendes la idea).

Finalmente, compila el proyecto y deberías encontrar un ejecutable en tu versión de la siguiente ubicación:
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
¡Felicidades! Ahora tienes un keylogger completamente personalizado configurado para devolver datos de teclado cifrados a intervalos regulares.
Paso 6: Iniciar el servidor de escucha
El último paso es comenzar a escuchar las pulsaciones de teclas entrantes desde el objetivo. Puedes iniciar el servidor en modo de escucha con el siguiente comando:
python3 toms-server.py -m server
Una vez que el servidor haya iniciado, introduce exactamente la clave AES que generaste anteriormente y que usaste en el archivo fuente peeping-client.cpp. Si la clave es aceptada, deberías recibir un mensaje indicando que el servidor se ha iniciado.
Paso 7: Analizar los registros + notas importantes
Todo lo que queda es ejecutar el peeping-client.exe recién compilado en el objetivo. Dejaré el "cómo" a tu creatividad. Cada vez que pase el intervalo que configuraste, recibirás un mensaje en la terminal.
Advertencia: Asegúrate de no perder la conexión a internet ni cerrar tu túnel de Ngrok durante este período, ya que esto requeriría volver a ejecutar el programa peeping-client.exe en el objetivo.
Todas las pulsaciones de teclas se escribirán en un archivo keylog.txt en el directorio del script toms-server y se podrán ver desde allí. Eso es todo para las instrucciones, ¡espero que hayas podido ponerlo en marcha sin mayores obstáculos!
¡Próximamente!
pip3 install requests
Al contribuir a este repositorio, por favor discute los cambios que deseas realizar a través de un issue, correo electrónico o LinkedIn.
Este proyecto es solo con fines educativos. Cualquier tipo de mal comportamiento realizado con este proyecto es responsabilidad del usuario. Renuncio a toda responsabilidad por cualquier acción ilegal.
Este proyecto fue guiado parcialmente por el curso de Udemy de Ermin Kreponic y fue reformulado para incorporar algunas ideas nuevas que tenía y nuevas habilidades que había aprendido.
Autor - Abdullah Ansari ©
Información de contacto - Correo electrónico