whatsapp phishing o cómo robar la sesión de un usuario de WhatsApp Web
Desde 2015 podemos usar WhatsApp Web mediante un navegador previamente �pareado� con nuestro m�vil. Esto aumenta la usabilidad del popular chat pero tambi�n abre una v�a m�s para que un tercero malintencionado intercepte nuestra comunicaci�n (MiTM) y secuestre nuestra sesi�n.
Resumiendo el proceso de login con WhatsApp Web, el Servidor env�a un c�digo QR al navegador del usuario, el cual debe ser escaneado por la aplicaci�n del tel�fono para que verifique el login contra el servidor. Si es v�lido el servidor enviar� el token correspondiente directamente al navegador:

Si os fij�is en el esquema anterior, el vector de ataque podr�a ser perfectamente un escenario t�pico de phising. El atacante s�lo tiene que interceptar el c�digo QR y present�rselo a la v�ctima mediante una p�gina falsa, de tal manera que cuando lo escanee con el m�vil y se valide, tambi�n recibir� el token que le permitir� autenticarse en WhatsApp Web:

Por seguridad, WhatsApp no muestra un c�digo QR est�tico si no que el mismo va cambiando cada pocos segundos, algo que solventa perfectamente la herramienta que veremos a continuaci�n captur�ndolo continuamente mediante scripting y envi�ndolo a la v�ctima mediante websockets.
Se trata de �whatsapp-phishing� del alem�n Martin Wagner (Mawalu) a la que empezaremos a echarle un vistazo, ya sab�is, siempre con prop�sitos educativos:
Funcionamiento
La herramienta utiliza selenium para obtener los c�digos QR y express.js + socket.io para mostrarlos en una p�gina aparte. Su funcionamiento es el siguiente:
- El programa inicia un servidor http y socket.io.
- Si un nuevo cliente se conecta a socket.io, la aplicaci�n realiza una solicitud a una instancia de selenium para iniciar un nuevo navegador y conectarse a web.whatsapp.com.
- Posteriormente se obtienen los datos del c�digo QR y los envia al cliente a trav�s de la conexi�n websocket.
- El javascript del cliente entonces muestra el c�digo QR al usuario.
- Si la v�ctima explora el c�digo con su tel�fono, el document.cookie y localStorage del navegador de selenium se descargan en un archivo en la m�quina del atacante.
- Los datos adquiridos se pueden utilizar para iniciar sesi�n en la cuenta de la v�ctima utilizando cualquier navegador.
Limitaciones
- El usuario ver� el navegador adicional cuando enumere sus dispositivos autenticados en Web Whatsapp.
- La v�ctima recibir� una advertencia si un navegador adicional se registra en el cliente web mientras est� utilizando Whatsapp Web.
- Sigue siendo un ataque de ingenier�a social: la v�ctima tiene que ser enga�ada para permitir el acceso.
Instalaci�n
- Descarga el jar del servidor standalone de selenium e instala Firefox si todav�a no lo tienes
- Ejecuta lo siguiente en el terminal:
Resumiendo el proceso de login con WhatsApp Web, el Servidor env�a un c�digo QR al navegador del usuario, el cual debe ser escaneado por la aplicaci�n del tel�fono para que verifique el login contra el servidor. Si es v�lido el servidor enviar� el token correspondiente directamente al navegador:

Si os fij�is en el esquema anterior, el vector de ataque podr�a ser perfectamente un escenario t�pico de phising. El atacante s�lo tiene que interceptar el c�digo QR y present�rselo a la v�ctima mediante una p�gina falsa, de tal manera que cuando lo escanee con el m�vil y se valide, tambi�n recibir� el token que le permitir� autenticarse en WhatsApp Web:

Por seguridad, WhatsApp no muestra un c�digo QR est�tico si no que el mismo va cambiando cada pocos segundos, algo que solventa perfectamente la herramienta que veremos a continuaci�n captur�ndolo continuamente mediante scripting y envi�ndolo a la v�ctima mediante websockets.
Se trata de �whatsapp-phishing� del alem�n Martin Wagner (Mawalu) a la que empezaremos a echarle un vistazo, ya sab�is, siempre con prop�sitos educativos:
Funcionamiento
La herramienta utiliza selenium para obtener los c�digos QR y express.js + socket.io para mostrarlos en una p�gina aparte. Su funcionamiento es el siguiente:
- El programa inicia un servidor http y socket.io.
- Si un nuevo cliente se conecta a socket.io, la aplicaci�n realiza una solicitud a una instancia de selenium para iniciar un nuevo navegador y conectarse a web.whatsapp.com.
- Posteriormente se obtienen los datos del c�digo QR y los envia al cliente a trav�s de la conexi�n websocket.
- El javascript del cliente entonces muestra el c�digo QR al usuario.
- Si la v�ctima explora el c�digo con su tel�fono, el document.cookie y localStorage del navegador de selenium se descargan en un archivo en la m�quina del atacante.
- Los datos adquiridos se pueden utilizar para iniciar sesi�n en la cuenta de la v�ctima utilizando cualquier navegador.
Limitaciones
- El usuario ver� el navegador adicional cuando enumere sus dispositivos autenticados en Web Whatsapp.
- La v�ctima recibir� una advertencia si un navegador adicional se registra en el cliente web mientras est� utilizando Whatsapp Web.
- Sigue siendo un ataque de ingenier�a social: la v�ctima tiene que ser enga�ada para permitir el acceso.
Instalaci�n
- Descarga el jar del servidor standalone de selenium e instala Firefox si todav�a no lo tienes
- Ejecuta lo siguiente en el terminal:
java -jar selenium-server.jar
# new terminal
git clone https://github.com/Mawalu/whatsapp-phishing.git
cd whatsapp-phishing
npm install
node index.js
Uso
- Abre el navegador y visita a http://localhost:8080
- Inicia Whatsapp en el tel�fono, ve a Men�> Whatsapp Web y escanea el c�digo QR desde el navegador.
- Copia el contenido del archivo de secrets reci�n creado
- Abre web.whatsapp.com. (Mira que ya no est�s loggeado, quiz�s lo mejor es usar el modo de inc�gnito)
- Abre la consola de desarrollo
- Introduce el c�digo siguiente:
> var t = CONTENT_OF_YOUR_SECRETS_FILE
> function login(token) {Object.keys(token.s).forEach(function (key) {localStorage.setItem(key, token.s[key])}); token.c = token.c.split(;); token.c.forEach(function(cookie) {document.cookie = cookie; });}
> login(t)
- Recarga la p�gina
- Debes poder iniciar sesi�n suplantando a la persona que escane� el c�digo QR
Y lo mejor, el c�digo est� disponible en Github: https://github.com/Mawalu/whatsapp-phishing
download file now
alternative link download