Un amigo me preguntó cómo podía saber si alguien espiaba sus comunicaciones. Recordé haber visto en la serie Mr. Robot, que una posible forma es colocar un cebo.
Se me ocurrió que podía poner a disposición de todo el mundo la herramienta que hice. Pero antes de pulirla para que la pueda usar cualquiera, pensé que sería buena idea preguntar antes por aquí. No soy ningún experto en seguridad, pero creo que la herramienta funciona. Si no le veis ningún fallo, me gustaría hacerla pública de forma gratuita.
En concreto se me ocurrió lo siguiente:
- La herramienta crea en un servidor web un archivo en php llamado index.php.
- Este archivo es llamado a través de una URL de un solo uso creada para el usuario. Por ejemplo: https://www.servidor-ficticio.com/BAKFLNEGSLN-KD_ODISOOS-KE/index.php
- El usuario inserta este enlace en sus mails y apps de mensajería, y los envía a un amigo al que previamente y en persona le ha dicho que no haga click en este enlace.
- Solo el usuario y el amigo conocen la URL y han acordado no acceder a ella, así que si se contabiliza algún acceso a la página, es que las comunicaciones están siendo espiadas.
- El usuario puede consultar en otra URL de un solo uso, el número de visitas a la URL del archivo cebo. En el momento que no sea 0, sabrá que le espían.
- El contenido que vea el espía no es relevante. Puede ser una página de error, una página en blanco, una página con contenido o redirigir a otro lugar. Lo importante es que en el momento que acceda a la URL, la visita queda registrada.
¿Le veis algún fallo al sistema?
Gracias.
Comentarios
Si el robots.txt del sitio excluye a todos los posibles crawlers, debería de ser bastante fiable la detección.
Me recuerda a algo que he visto hace poco: la princesa nigeriana.
#11 Creía que robots.txt era solo para los buscadores. Lo tendré en cuenta. Gracias.
Sí, es parecido el sistema. Él lo usa para localizar a la chica del chat. La herramienta que quiero hacer solo detectaria accesos indeseados, pero en esencia es parecido.
#14 Por lo que te entiendo, buscas un sistema que avise de quién es el topo, como cuando te das de alta en una web con tu correo como pepe+meneame.net@gmail.com, para así saber qué web vende tus datos.
Si lo quieres desplegar desde emails, puedes coger inspiración en los métodos de Mailchimp como poner una pequeña imagen que se cargue al visualizar el email, o bien contratar sus servicios. También puedes incluir links "golosos" en los correos como honeypots para ver quién entra al trapo. Si la página/fichero trampa no está indexado en buscadores, mapa web, etc..., nadie ni nada tendría por qué acceder a ello si no fuese por fuerza bruta (muy improbable).
#15 #16 #17 #18 #19 . Osti. El servicio que comenta #18 y #20 es lo que hace mi herramienta pero más pensado y mejorado. Además también es gratis. Lo voy a probar a ver que tal funciona. Parece que llego tarde, y efectivamente no debía ser mala idea como dice #18
, cuando canarytokens ya lleva existiendo un tiempo. Gracias a todos por los comentarios y las sugerencias.
#21 Te paso el enlace con el código fuente y la versión dockerizada, por si te animas a autoalojarlo
https://github.com/thinkst/canarytokens
https://github.com/thinkst/canarytokens-docker
#22 Gracias!
#11 imageshare.best parece un dominio privado.
Estaría bien que hubiese un servicio público de compartición de imágenes que mostrase las últimas IPs que han accedido a la imagen
#16 Pero entonces sería más probable que el atacante/scammer lo conociese
¿Falsos positivos por metacrawlers de indexación pasiva?
¿Que tal un segundo factor?
El enlace puede contener lo que podría ser información sensible como segundo cebo, de manera que se confirme que es "espionaje" y poder discriminar "automatismos".
El scope de la herramienta es limitado, ya que puedo ver tus conversaciones sin necesidad de interactuar con el contenido de las mismas.
A nivel usuario está simpática.
¡Buena suerte!
#1 Sí. Las previsualizaciones de Facebook Messenger por ejemplo, cargan la URL pero son facilmente descartables. Creo que te refieres a eso.
Efectivamente, incluir por ejemplo en el mensaje cebo una contraseña para que el espía la introduzca en una falsa pantalla de login, confirmaría que hay un humano mirando y metiendo las narices donde no le llaman. O en la página de destino instar al espía a que pulse un botón o resuelva un captcha.
Sí, podrías ver las conversaciones pero no el contenido del enlace sin acceder a él. Si el espía no sospecha del enlace, y el usuario pone un buen cebo en el texto del mensaje, es casi inevitable que acceda a él.
Gracias por los consejos.
#3 Solo lo he probado una vez y el amigo no hizo click.
Creo que al final la mejor solución es crear un segundo factor como decía #1 y usar algo de lo que yo decía en #2 . De esa manera se filtran todos los robots.
El objetivo de la herramienta es detectar al espía.
Gracias por los comentarios.
#23 Gracias por los comentarios y sugerencias. Tengo que mirar bien lo de canarytokens. Como te digo no soy un experto. Un saludo!
Lo bueno de usar un enlace es que lo puedes mandar por muchas vías: SMS, mail, mensajeria instantanea, mensajería privada en redes sociales...
Introduciendo el segundo factor se eliminan todos los accesos automáticos de robots, previsualizaciones, etc. La url no es maliciosa ya que no ataca ni infecta de ninguna manera. Solo avisa de que alguien a accedido, y ese alguien es el que está violando la privacidad de las comunicaciones del usuario.
Lo primero que va a hacer tu amigo es clicar el enlace ... y lo sabes!
Las previsualizaciones de los programas de correo electronico (como Outloook, por ejemplo) tambien te van a dar problemas. Si mandas a una cuenta de Gmail o de MSN ya tienes a todos los spiders encima, con lo que vas a tener que mantener una lista de IPs de bots oficiales actualizada, pues no sirve descartarlos por User-Agent porque lo primero que te hace un espia espabilado es falsear su User-Agent
En teoria, usando criptografia cuantica se sabria seguro que alguien intercepto la comunicacion ... pero para eso aun falta mucho.
Por otro lado, si los usarios estan dispuestos a acordar cosas entre ellos, que acuerden usar PGP y listo, a no ser, claro, que el objetivo sea solo descubrir un espia mas que proteger la privacidad.
Algo parecido uso yo, en ocasiones, para saber quien ve mis publicaciones de Facebook
Aquí describen el mismo caso de uso en el que has pensado:
https://blog.thinkst.com/p/canarytokensorg-quick-free-detection.html
No es para nada un mal sistema. De hecho, prueba de ello es que es usado, bajo el nombre de 'canary tokens'.
Por ejemplo: https://canarytokens.org/generate
https://www.legalarmy.net/honey-pots-o-canary-token-una-buena-forma-de-proteccion-ante-posibles-ciberataques/
Si es por email, puede que el sistema antispam de tu correo, o más bien, del receptor, revise que la URL no es maliciosa.
A lo mejor solo determinar que el receptor es "espiado", pero no si te espían a ti.
Lo mejor es revisar las conexiones de las apps que usas y si ves algo raro...
#6 Las conexiones las puedes ofuscar y atribuirlas a distintos programas, hacerlas pasar como del sistema... Sigue siendo un buen método, pero este lo complementa muy bien.
Puedes usar un sistema de mensajería que prometa no espiar tus correos -ni siquiera para el filtro antispam- o yendo más allá, puedes comprobar incluso que tu clave de cifrado no esté comprometida y haya alguien más accediendo a cosas que sólo tu podrías.
#10 Ah vale. La herramienta vale para detectar espías. Puede por ejemplo que no tengas contraseña en algún dispositivo como el móvil, el tablet o el PC y alguien de tu casa o tu trabajo tenga acceso físico a él. Podrías usar la herramienta igualmente. También podrías usar la herramienta antes y después de cambiar las contraseñas para comparar. De todas formas es compatible una cosa con otra. O mejor dicho pueden ser medidas complementarias.
#12 Entendí que alguien espiaba a alguien porque tenía sus contraseñas.
Entonces para hacer lo que quieres lo tienes fácil que es como hacen para "espiar" que correos ves o cuales no, metes en un correo una foto que está alojada en un servidor, y miras los logs. Si pones un enlace en whatsapp y sms y todo eso, también puedes ver si lo abren.
Pero yo, si pienso que me usan los dispositivos, les pondría algún tipo de logger para poder ver la actividad exacta.
Y cambiar las contraseñas?
#5 No entiendo que quieres decir.
#8 Que si alguien piensa que le espían, lo primero es cambiar las contraseñas. A no ser que quiera que le sigan espiando.
¿Aparte del contador se puede ver desde dónde han accedido?
#9 Que yo sepa con PHP puedes sacar su IP, y con eso hasta donde yo sé podrías sacar su ciudad. Pero no sé si eso ya se consideran datos personales, y dudo si sería legal proporcionarselos al usuario del servicio. Mi idea es no almacenar ningún dato personal ni de los usuarios de la herramienta, ni de los posibles espías para no tener ningún problema legal.
Todas las comunicaciones se "espían", hay que ser muy ingenuo para no saber eso.
Pero hay tres formas de hacerlo:
1, Con herramientas automáticas.
2. Con herramientas automáticas que han avisado de un posible "interés" para el sistema de control y posterior supervisión humana.
3. Las que llegan al paso anterior y han sido calificadas como investigables por un equipo de seguimiento.
Hay miles de herramientas para el marketing que hacen lo mismo que tu "herramienta de seguridad" multiplicado por 1.000.000. No pierdas el tiempo con eso.