
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.