Introducción al programa Sherlock

   Sherlock es una herramienta de código abierto diseñada para encontrar perfiles en redes sociales y otras plataformas en línea asociados a un nombre de usuario específico.
  Como se trata de una herramienta ICA {Inteligencia de Código Abierto ["(Open Source Intelligence" ("OSINT"), en inglés]} es, de base, totalmente legal.
  Este programa automatiza la búsqueda de un usuario en múltiples plataformas (Twitter, Instagram, Reddit, TikTok, etc.) para ayudar a los profesionales de ciberseguridad, investigadores o probadores de penetración a recopilar información pública sobre una persona o entidad, es decir, parte de su huella digital.
  Es una herramienta de Kali Linux, pero también es posible instalarlo en otras distribuciones de Linux
 

LA HUELLA DIGITAL

  La huella digital es el rastro de datos que una persona deja al navegar y usar Internet, incluyendo sitios visitados, publicaciones en redes sociales, compras online, y datos técnicos como tu IP, creando un perfil único que puede ser activo (lo que publicas) o pasivo (lo que se recoge sin que te des cuenta) y que puede usдеть para identificarte o perfilarte, con implicaciones para tu privacidad y seguridad en línea.
  Existen dos tipos:
  •   Activa: Se crea cuando el usuario compartió deliberadamente información sobre sí mismo.
  •   Pasiva:  Se crea cuando se recopila información sobre el usuario sin que éste sea consciente de que está sucediendo. Se trata de un proceso oculto, por ende, los usuarios pueden no saber que está ocurriendo.   
Toda huella digital se implica, principalmente, en:
  •   Reputación digital: Puede construir una imagen del usuario en línea, buena o mala, lo que, actualmente, es casi tan importante como su reputación fuera de Internet
  •   Seguridad: Puede ser usada por cibercriminales para phishing, suplantación de identidad o programas maliciosos.
  •   Publicidad: Las empresas la usan para mostrar al usuario anuncios personalizados.
  •   Autenticación: Se usa para verificar la identidad de un usuario en transacciones o servicios.
  Por lo tanto, un usuario responsable debe ser consciente de lo que publica y comparte, ajustar la configuración de privacidad en tus redes y navegadores, y pensar antes de publicar para crear una huella positiva. 

INVESTIGACIÓN ICA

  Una investigación ICA consiste en recopilar, analizar y procesar información disponible públicamente (redes sociales, noticias, registros públicos, foros, etc.) para convertirla en conocimiento útil para la toma de decisiones en áreas como ciberseguridad, investigación, periodismo o seguridad nacional, identificando amenazas, vulnerabilidades o patrones.
  El valor de ICA no radica solo en acceder a la información, sino en saber interpretarla correctamente.
  Aunque ICA se basa en información de libre acceso, no todo lo público está necesariamente libre de restricciones. En España y en la Unión Europea, el Reglamento General de Protección de Datos (RGPD) protege la privacidad de las personas incluso en contextos digitales.
  Esto implica que cualquier investigación debe:
  •   Limitarse a fuentes abiertas legítimas (medios, registros, datos públicos).
  •   No divulgar información personal sin base legal o consentimiento.
  •   Citar las fuentes y mantener la trazabilidad de los datos.
  Una investigación de este tipo no difiere de cualquier otro tipo de investigación, constando de tres partes:
  1.   Recopilación ("Gathering", en inglés): Se busca información de fuentes accesibles para cualquiera: Internet [redes sociales (X, Facebook, LinkedIn...), bitácoras, foros, sitios de red, bases de datos públicas...), medios (periódicos, revistas, televisión, radio), fuentes gubernamentales (registros públicos, comunicados de prensa...), fuentes académicas (publicaciones, artículos, conferencias, etc.),e imágenes y/o geolocalización (fotos, vídeos, imágenes satelitales...).
  2.    Análisis ("Analysis", en inglés): Los datos brutos se procesan, se filtran y se correlacionan para encontrar conexiones y patrones.
  3.   Inteligencia ("Intelligence", en inglés): Se genera un informe, o conocimiento accionable, que ayuda a resolver problemas o tomar decisiones estratégicas.
 

FUNCIONAMIENTO 

   Este programa funciona buscando un nombre de usuario en particular a través de varias redes sociales. Lo hace confiando en la función de diseño del sitio de redes sociales para proporcionar una URL con el nombre de usuario cuando un usuario registra una cuenta en la red social.
  Sherlock consulta esa URL y determina si el usuario tiene una cuenta en esa red social en particular. Lo logra consultando esa URL y luego utilizando esa respuesta para determinar si hay un nombre de usuario, pudiendo buscar usuarios en más de 300 redes sociales.
 

VENTAJAS E INCONVENIENTES 

  Esta herramienta tiene las siguientes ventajas:
  •    Especializado en ICA: Busca perfiles de usuario en múltiples plataformas sociales y sitios de red de forma eficiente sin acceder a información privada, sólo a perfiles públicos.
  •   Simplifica la investigación: Reúne herramientas esenciales de ICA en un solo lugar, ahorrando tiempo.
  •   Fácil de usar: Relativamente intuitivo para encontrar información en redes.
   Sin embargo, también tiene los siguientes inconvenientes:
  •   Depende de la plataforma: Su efectividad puede variar según la disponibilidad y políticas de las redes sociales.
  •   Limitación nominal: Sólo busca nombres de usuario, no correos electrónicos o nombres reales.
 

 INSTALACIÓN DE SHERLOCK

   Actualmente, Sherlock puede instalarse como paquete estándar desde un repositorio usando el comando apt install sherlock (anteponiendo sudo si no se ha iniciado sesión como usuario administrador) tras actualizar los paquetes y el sistema [comando apt update && apt upgrade (anteponiendo sudo si no se ha iniciado sesión como usuario administrador)].
  No obstante, también es posible instalarlo desde Github mediante el comando git clone https://github.com/sherlock-project/sherlock.git (anteponiendo sudo si no se ha iniciado sesión como usuario administrador), que bajará el paquete a un directorio elegido (generalmente "tmp"); a continuación, se accede al directorio "sherlock" con el comando cd sherlock (anteponiendo sudo si no se ha iniciado sesión como usuario administrador). Finalmente, se usa el comando pip3 install -r requirements.txt  (anteponiendo sudo si no se ha iniciado sesión como usuario administrador) para instalar el programa.
  Puede comprobarse si todo ha ido correctamente mediante el comando sherlock --version...
... o usando el comando
sherlock -h.
 

USO DE SHERLOCK

  El uso más simple de esta herramienta es realizando una búsqueda sin más, para lo que sólo hay que escribir el comando sherlock <nombre de usuario a buscar> (funciona mejor si se ha iniciado sesión como usuario administrador, pero no es imprescindible). En este ejemplo, se ha empleado el nombre de usuario "breogan5".
  Al tener que usar nombres de usuario, generalmente deberán tener una sola parte y carecer de espacios. No obstante, es posible buscar nombres de usuario con varias partes sin problemas si se usa "\"  y un espacio entre cada una de las palabras para que Sherlock interpete todo como un único usuario (y no como una lista de varios usuarios, que sería su interpretación predeterminada).
  También es posible buscar la presencia de un nombre de usuario en un solo sitio específico si se usa el comando
sherlock <nombre de usuario a buscar> --site <nombre del sitio de red>. En el siguiente ejemplo, el nombre de usuario será "sven55" y se buscará en Reddit.
  Puesto que es posible que un nombre de usuario pueda ser ligeramente diferente a la persona que se estás buscando, esta herramineta también permite buscar nombres de usuario similares mediante el comando sherlock <nombre de usuario a buscar>{?}. En su resultado, "{?}" se reemplazará con "–" , guión, o período "." ("poirot", en estos ejemplos).
 
Primer ejemplo de nombre similar.

Segundo ejemplo de nombre similar.

Tercer ejemplo con nombre similar.
  Por otra parte, es posible buscar varios nombres de usuario en una misma búsqueda gracias al comando sherlock <nombre de usuario a buscar 1> <nombre de usuario a buscar 2>... (en estos ejemplos se usará "athanasios5" como primer nombre y "dartagnan55" como segundo).

  Otra opción interesante es la de poder emplear un proxy mientras se realiza la búsqueda gracias al comando sherlock <nombre de usuario a buscar> --proxy <dirección IP:número de puerto>.
  Además, Sherlock permite ver la respuesta HTTP del sitio mientras investiga su consulta (comando sherlock <nombre de usuario a buscar> --dump-response). El nombre de usuario de este ejemplo es "jurjumilosis".
Inicio de la consulta.

Final de la consulta.

  Por defecto, mientras se consultan los nombres de usuario, esta herramienta espera 60 segundos para obtener respuesta a la solicitud que realizó. Con esta opción de tiempo de espera, utilizando el comando sherlock <nombre de usuario a buscar> --timeout <número de tiempo en segundos> se puede cambiar (el nombre de usuario es "superman5", mientras que se le da 1 segundo de tiempo a la respuesta de cada consulta, en este ejemplo).
   Predeterminadamente, este programa sólo imprime la red social donde se encontró el nombre de usuario. Usando el comando 
sherlock <nombre de usuario a buscar> --print-all, es posible ver todas las redes sociales que esta herramienta consulta y también la razón por la que no se encontró (en este ejemplo el nombre de usuario es "gwynplaine5")
Inicio de la consulta.
  Existe otra opción que imprime todas las redes sociales en las que se encuentra el nombre de usuario, para lo que se utilizará el comando  
sherlock <nombre de usuario a buscar> --print-found (el nombre de usuario de este ejemplo es "vader5).
  Sherlock es capaz de mostrar la página de resultados de trabajo en el navegador gracias al comando  
sherlock <nombre de usuario a buscar> --site <nombre del sitio de red> --browse (el nombre de usuario de este ejemplo es "T-800" y el del sitio de red "wikipedia").
Resultado de la consulta en el navegador CLI Lynx.
  Si se necesita por algún motivo, es posible permitir a esta herramienta consultar los sitios NAPT {no es seguro/apropiado para el trabajo ["Not safe/suitable for work" ("NSFW"), en inglés]} mientras busca un nombre de usuario. Cuando se establece esta opción, mediante el comando sherlock <nombre de usuario a buscar> --nsfw, incluso consulta los sitios de NAPT para el nombre de usuario en particular ("murdock555", en este ejemplo).

   De modo predeterminado, las consultas de Sherlock se guardan automáticamente en archivos de texto plano, con el nombre del usuario consultado, en la ruta desde donde se ejecute, pero es posible indicarle dónde y en qué archivo hacerlo gracias al comando
sherlock <nombre de usuario a buscar> -o <ruta completa al archivo a guardar> (en este ejemplo, el nombre del usuario es "blackwolf555" y el archivo es "prueba1.txt", alojado en el directorio "root"; además, se ha especificado el sitio de red "reddit").
  Espero que la presente entrada haya sido interesante para el lector. Si es así, aguardo que éste la comente y/o la comparta, por favor.

1 comentario:

  1. No conocia la herramienta, estoy deseando testarla con ciertos objetivos, gracias por el aporte.

    ResponderEliminar

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.