He aclarado mil veces en mi blog que no soy programador. De hecho, mi formación profesional no tiene nada que ver con ello. A decir verdad, yo diría que mi profesión titulada es diametralmente opuesta a la tecnología. Pero la informática es mi hobbie, me gusta la ciberseguridad y también me gusta construir mis propias herramientas. No son programas como los que acostumbramos a ver (Word, Notion, etc), tan solo scripts sencillos pero funcionales que cumplen su propósito.
Una de esas herramientas es mi primer repo en Github. Ya la había mostrado en otro post pero le hice algunas mejoras necesarias para que funcionara en la mayoría de formularios posibles. Veamos cómo quedó el script.
Payback.
Mi script se llama Payback. Está escrito en Python 3.13. Lo hice para combatir sitios web de phishing mediante una estrategia ofensiva: saturar los formularios falsos con credenciales generadas automáticamente, dificultando la recolección de datos reales por parte de los delincuentes. Los delincuentes (no los hackers) crean páginas falsas, idénticas a las originales, para obtener credenciales. Pues bien, lo que hacemos con Payback es darle muchas credenciales, cientos o miles, todo depende de cuánto tiempo queramos dejar corriendo el script.
Payback utiliza Playwright para automatizar la navegación por los sitios fraudulentos; Fake UserAgent para proteger su privacidad simulando ser un navegador diferente al suyo y Tor para enrutamiento anónimo mediante proxy SOCKS5 (esto es opcional).
Características principales.
-
Detección automática de campos de formulario: Identifica campos de usuario, contraseña y botones de envío con lógica avanzada basada en atributos como
name
,placeholder
,aria-label
,class
,id
, etc. -
Recarga y reutilización del formulario: Después de cada envío, el script recarga la página donde se encuentra el formulario para comenzar el siguiente ciclo sin intervención manual.
-
Modo diagnóstico integrado: Si los campos no pueden ser detectados automáticamente, el script imprime todos los
input
y botones visibles para facilitar análisis y ajustes. -
Rotación automática de User-Agent: Simula ser distintos navegadores y dispositivos (Android, iOS, Chrome, Firefox, Safari, etc.).
-
Soporte opcional para Tor: Para maximizar el anonimato y evadir bloqueos básicos, el script puede enrutar todo el tráfico por la red Tor (activado automáticamente según el dominio). También puede activar Tor manualmente con:
systemctl start tor
, confirmar si está en uso con:systemctl status tor
y detenerlo con:systemctl stop tor
. -
Detección de formularios bloqueados: Si la página es reemplazada por una advertencia de phishing (como puede ocurrir en Firefox o Google Safe Browsing), Payback detectará que el formulario ya no está disponible y se detendrá imprimiendo un mensaje en la consola.
Instalación.
Payback ya fue probado en Kali Linux 2025.1, Ubuntu 24.04 y Fedora 42 que son las distribuciones que uso en mi día a día. Para obtener el script e instalarlo simplemente vamos a la página de mi primer repo en Github y descargamos el .zip o, si lo prefiere, desde la terminal de comandos puede seguir los siguientes pasos:
git clone https://github.com/Karniv0r3/Payback.git cd Payback.git pip install -r requirements.txt python -m playwright install python3 payback.py
Si lo hizo tal cual está indicado ya debe tener Payback corriendo en su terminal.
Uso
Usar Payback es muy sencillo. Una vez instalado llamamos la herramienta con: python3 payback.py
. La herramienta nos preguntará la dirección donde se encuentra el formulario falso. Cuando le demos la URL, el script comprobará los elementos de la página y en consecuencia atacará. Hice la prueba con varias páginas y en todas funcionó. En la terminal veremos cómo el script va enviando credenciales:


Podemos dejar el ataque corriendo todo el día, todo el mes o detenerlo según queramos. Mientras el ataque esté en curso los delincuentes estarán recibiendo en su sistema chorros de credenciales falsas. Así, si algún incauto cae en su trampa será difícil encontrar los datos correctos entre tanta basura. El archivo de captura .dat del delincuente se verá así:
Facebook Username: [email protected] Pass: SJNNzDpn Facebook Username: [email protected] Pass: cA8a4HVU Facebook Username: [email protected] Pass: P9vSWjfh Facebook Username: [email protected] Pass: qL0q66tW Facebook Username: [email protected] Pass: WNDuVZtV Facebook Username: [email protected] Pass: mylvdWXO Facebook Username: [email protected] Pass: CFjkeyAM Facebook Username: [email protected] Pass: avtQaF0s Facebook Username: [email protected] Pass: yKFzCjZg Facebook Username: [email protected] Pass: TRTQ4TYe Facebook Username: [email protected] Pass: sqow6Ggi Facebook Username: [email protected] Pass: vM7cFU8D Facebook Username: [email protected] Pass: illjTCoj Facebook Username: [email protected] Pass: 2eDk2oTh Facebook Username: [email protected] Pass: Qhn7caH0
El script es muy sencillo pero funciona de maravilla. Hice la prueba con varios sitios, algunos generados con herramientas como Zphisher (Cloudflared y LocalXpose), otros alojados en local (en WordPress y HTML) y hasta con un sitio real que no debí probarlo pero me ganó la curiosidad. En todos funcionó muy bien 💀
El siguiente paso será añadir un modo stealth con proxies rotativos e integrar la detección de CAPTCHAs para poder atacar los sitios que los contengan. Pero eso será en mis ratos libres. Por ahora es lo que hay. Hasta la próxima.