Vamos a ver si me da tiempo a sacar algo de esto.
Intento hacer hilo analizando los datos en tiempo real (cosa complicada) a medida que salgan datos. Así que paciencia, que hilo puede tardar en aparecer.
(hilo) 🧵
Como se trata de sacar datos, aquí es cosa de "tirar del hilo", como se suele decir. Así que vamos a por los datos. Sabemos que es un SMS, por lo tanto, es un #smishing no un #phishing como he dicho esta mañana, aunque en esencia es lo mismo. Solo cambia el envío.
⬇️
Partimos de un número de teléfono: +34 677 553 154
¿Qué sabemos de este teléfono?
Es de España.
Pertenece a la compañía Vodafone.
No tiene WhatsApp.
⬇️
Dicho SMS tiene una URL con certificado:
https(:)//urlshortner.org/MyjSe
Y no por eso es segura, OJO!!!!
Dicha UR es un acortador que nos redirige a:
http(:)//gdsdhfnbxv.temp.swtest.ru/espana/espana
Un dominio Ruso. Curioso ¿verdad? 😉
⬇️
Del destino final sabemos que el servidor es tiene un nginx/1.9.1, pero que se les ha olvidado poner la barra final de la URL y lo redirige a la carpeta correcta.
⬇️
Curiosamente, el contenido HTML de dicha página es algo contradictorio. Se menciona a Apache/2.2.29 sobre S.O. Gentoo y PHP/7.1.33
Podemos hacer caso, o no, podría ser para despistar. Quien sabe. 🤷♂️
⬇️
Volvemos a consultar la URL correcta, esta vez poniendo la barra final, y si la carga, pero.... ooooh!!! en Location indica otro dominio: www(.)thelocal(.)es 😑
De momento dejo este dominio a un lado y sigo con este sitio.
⬇️
En la cabecera utilizan "features" del navegador usando permissions-policy.
Un poco raro, pero es que resulta que está cargando la página de www(.)thelocal(.)es
⬇️
Si vamos directamente a www(.)thelocal(.)es aparece la página sin nada aparentemente maliciososo.
⬇️
De hecho, en @virustotal el análisis nos dice que está "limpia".
⬇️
Pero cargando directamente desde el navegador (ojo, con entorno controlado), el propio control de Google nos dice que es un sitio peligroso / malicioso.
Así que si "tiramos p'alante" es bajo nuestra responsabilidad. 😒
⬇️
No voy a tirar "p'alante" todavía. Lo dejo para el final.
Me interesa saber por qué carga otro sitio web antes.
¿Cómo puede ser lo anterior? 🤷♂️
Sinceramente, no lo sé. Voy descubriendo cosas sobre la marcha.
Vuelvo a lo obtenido por curl, y sigo escudriñando el código.
⬇️
Insisto, he cargado esto con curl (marcado en rojo).
Pero para engañar carga la url marcada en azul.
Y lo que está en Azul es precisamente lo que carga Maltego al inspeccionar la URL en rojo.
Está hecho aposta para despistar.
⬇️
Me encuentro campos de formulario ocultos con datos codificados en Base64.
⬇️
Pero estos datos, no generan texto o contenido visible fácilmente. Son datos binarios y muy probablemente cifrados y/o comprimidos. Su nivel de entropía es alto, un 7.8.
... y se me "rompió" la VM haciendo algunas pruebas.
Tengo que reiniciar... ☹️
⬇️
Recapitulo:
URL original: https(:)//urlshortner.org/MyjSe
Redirige a: http(:)//gdsdhfnbxv.temp.swtest.ru/espana/espana
Que está movida a: http(:)//gdsdhfnbxv.temp.swtest.ru/espana/espana/
Que a su vez redirige a: https(:)//www.thelocal.es/
⬇️
Hay cierta cosa que me despistaba, y realmente es algo que se me ha pasado por alto y que tienen en cuenta los ciberdelincuentes. Y, es que hay que no hay que subestimarlos, y ellos también toman contramedidas.
⬇️
He pasado por alto, qué curl envía su propio agente, y tras mirar el código que me devolvía al solicitar la URL he visto lo siguiente:
⬇️
Y si, la siguiente cadena:
aHR0cHM6Ly93d3cudGhlbG9jYWwuZXMv
está codificada en Base64 y su resultado es:
https(:)//www.thelocal.es/
¿Qué hacía esta cadena ahí? 😒
⬇️
Pero la que hay debajo, que también está en Base64:
Y3VybC83Ljc0LjA=
Al decodificar me devuelve:
curl/7.74.0
Que es precisamente la versión de curl que yo estoy usando en este momento.
⬇️
Y la de debajo: R0VU
Es: GET
Que es el método usado.
Así que si el sitio web devuelve esto, significa que en el servidor se analiza el agente de usuario, y en función de este pueden cambiar el contenido que devuelven.
⬇️
Así que haré una nueva petición incluyendo otro agente de usuario.
⬇️
Y efectivamente, esta vez el resultado es diferente.
⬇️
¡¡¡Pero OJO!!!
Que aquí esto da un giro y después de pasar por la URL maliciosa, da un salto a la web de @bancosantander
⬇️
Aquí en medio hay algo turbio, que evidentemente tiene que ser digno de analizar. 😒
⬇️
Y si, lo he repetido varias veces para estar seguro. Sí, hace el salto a la web oficial de @bancosantander.
¿Qué hace en medio? De momento para mí es incógnita.
⬇️
Por si acaso, he desactivado el seguir las redirecciones y he ido cargando manualmente cada una de las URLs por si se enviaba algo más.
⬇️
Pero no. Cada carga es una redirección hasta llegar finalmente a la web de @bancosantander
⬇️
¿Habrán los ciberdelincuentes desactivado su operación de #phishing?
O es que, ¿se les ha estropeado la página para capturar los logins de los usuarios?
⬇️
Y, ¿por qué reenviar directamente a la web oficial del banco? ¿No quieren que pierdan visitas?
En el caso de hacer un login previo para captar datos, tiene sentido. Pero ¿sin pedir login?
⬇️
Podría especular, en que, quizás desde la IP o rango de IP que estoy haciendo las peticiones hayan puesto una excepción para evitar ser analizados. Y simplemente me redirigen a la web oficial.
⬇️
Así que, para acabar (porque no dispongo de más tiempo). Corto por lo sano y pruebo la URL en ANY.RUN, a ver que me dice.
Y muestra la web de www(.)thelocal(.)es 🤦♂️ app.any.run/tasks/c2c6e700…
Lo irónico de todo, es que esta mañana, cuando hice la foto y puse la captura en un tuit de este #smishing, yo había puesto la palabra "ELABORADISIMO" en tono irónico precisamente, pero ha resultado ser justamente esto.
⬇️
Finalizo el hilo, quedándome con la incógnita, aunque sigo pensando que @bancosantander debería de tomar cartas en el asunto y no aceptar accesos a su web procedentes de esa redirección.
(fin) 🔚
Bueno, bueno, bueno... va a ser la primera vez que "reabro" un hilo, o hago añadido, tras darme cuenta de que ha pasado en el final de este hilo. Pero solo voy a dejar un par de anotaciones y lo dejo.
Así que continuo el hilo.
⬇️⬇️
La clave está en el "agente de usuario". Yo mismo he dado la explicación antes. Resulta que el #smishing está pensado para que funcione ÚNICA Y EXCLUSIVAMENTE desde un dispositivo móvil. Si se accede desde un navegador de PC, no funciona.
⬇️
Así que si desde curl se usa un agente de usuario de Android, por ejemplo, funcionará y devolverá lo que esperamos que devuelva.
"Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
⬇️
Hago nueva petición con agente de usuario cambiado.
⬇️
Y obtenemos el resultado de la página que realmente recibiría un dispositivo móvil.
⬇️
Y ahora sí. Cierro definitivamente este hilo.
(fin) 🔚
• • •
Missing some Tweet in this thread? You can try to
force a refresh
AVISO: Los ejemplos en Python son para mostrar como se pueden generar los hashes, pero ni de lejos es el mejor lenguaje para llevar a cabo un ataque de diccionario, por ejemplo, o cálculos masivos. Simplemente, aprovechamos la versatilidad de este lenguaje.
⬇️
Tenemos herramientas muy potentes, como hashcat, que además suele venir preinstalada en cualquier distribución de Linux dedicada al hacking o pentesting.
Para mí, esta herramienta es, de lejos, de las mejores, aunque no la única.
⬇️hashcat.net/hashcat/
Como en todos los temas técnicos, todo se puede llegar a abordar con una profundidad casi infinita, así que tomad muchas de estas explicaciones como una iniciación para entender el concepto. Tened en cuenta que en algunos casos puede haber más matices.
⬇️
He intentado simplificar la explicación de manera que su objetivo sea didáctico y no tanto académico. Por favor, si notáis alguna carencia, os agradeceré los comentarios constructivos.
⬇️
No nay nada peor que abrir el correo en Domingo y encontrarte correos de notificación de la AEAT. Y no uno solo, no. Nada menos que 5 !!!!
Que querran?
(hilo) 🧵
Abro el correo, y vaya, si que parece que tiene que ser importante, que incluso han adjuntado un archivo comprimido en un .rar
⬇️
Pero no os habréis creido que este mensaje procede realmente de la AEAT, verdad? o si?
Veamos ...
⬇️
Esta mañana recibí una factura.
Aparentemente, todo normal para Google. No lo marca como SPAM.
Para mí todo mal, por supuesto, ya que en ese dominio no espero factura, ni conozco esta empresa
(hilo) 🧵
No confiéis ciegamente en la seguridad de ningún servicio, ni Google, ni Microsoft, ni ningún otro. Siempre puede haber correos que se le escapen. Como este ...
⬇️
Aunque puede haber muchas personas que puedan estar esperando un correo, y con las prisas se confíen y pasen por alto algunas señales y descarguen la supuesta factura.
⬇️
Parece ser que no me van a llegar a tiempo los regalos de Reyes 👑👑👑 porque #Correos no me lo ha podido entregar. 😭 #hilo_b1h0#smishing#phishing
Vamos a sacarle algunos datos, en realtime.
Poca cosa, que tampoco quiero perder mucho tiempo.
(hilo) 🧵
Ante todo. Siempre que veáis un enlace acortado, desconfiad. Algunas empresas los tienen, y son legítimos, pero no es el caso de #Correos.
⬇️
Antes de cargar en el navegador (nunca se sabe) vamos a comprobar a donde dirige este enlace. Por lo que usaremos curl en la línea de comandos con el flag -i.
Como no!!!! un dominio de Rusia. 🇷🇺😒
⬇️