Ciberinteligencia y cibercrimen: ¿Bots o código?

En el ámbito de la ciberinteligencia y la lucha contra el cibercrimen, es fundamental reconocer la importancia y el riesgo inherente al manejo de la información en el ciberespacio. Esta premisa puede resumirse en una adaptación de dos citas célebres: “La información es poder”, atribuida a Francis Bacon, y “El poder corrompe”, de Lord Acton. De esta manera, podríamos postular que 

La información es poder. El poder corrompe. La ciberinteligencia es la corrupción absoluta.

Este enunciado subraya la dualidad de la ciberinteligencia: por un lado, es una herramienta poderosa para combatir el cibercrimen; por otro lado, si se maneja incorrectamente, puede llevar a abusos de poder. En este contexto, se hace evidente la necesidad de establecer marcos normativos y éticos sólidos para regular el uso y la gestión de la información en el ciberespacio.

Introducción

El ciberespacio se ha convertido en un escenario clave para la seguridad y el desarrollo de las sociedades actuales. En él se desarrollan actividades económicas, sociales, políticas y culturales que generan una gran cantidad de datos e información. Sin embargo, también es un espacio donde se producen amenazas y ataques que pueden afectar a la privacidad, la integridad y la disponibilidad de los datos, los sistemas y las infraestructuras.

Ante este contexto, surge la necesidad de aplicar técnicas y herramientas de ciberinteligencia para anticiparse, prevenir y responder a las amenazas y los ataques del ciberespacio. La ciberinteligencia se puede definir como el proceso de obtención, análisis y difusión de información relevante sobre el ciberespacio para apoyar la toma de decisiones estratégicas, operativas o tácticas. La ciberinteligencia se basa en el uso de fuentes abiertas (OSINT), cerradas (CSINT) o humanas (HUMINT) para recabar información sobre las capacidades, intenciones y actividades de los actores maliciosos o potencialmente hostiles.

Uno de los ámbitos donde la ciberinteligencia tiene una especial relevancia es el del cibercrimen, que se puede definir como el conjunto de actividades ilícitas que se realizan en el ciberespacio mediante el uso de las tecnologías de la información y la comunicación (TIC). El cibercrimen abarca una gran variedad de delitos, como el fraude, el robo de identidad, el espionaje, el sabotaje, el terrorismo o la extorsión, entre otros muchos. El cibercrimen supone un grave riesgo para la seguridad nacional e internacional, así como para los derechos y libertades de los ciudadanos.

En este sentido, recientemente se ha publicado en Twitter un hilo que leí, releí y analicé con toda la objetividad que me es posible. El hilo fue escrito por un usuario que se presenta como instructor y ‘OSINT Lover’, entre otras cosas, y que explica algunos métodos y técnicas para obtener información sobre los usuarios de Telegram usando bots y otras aplicaciones y servicios online de terceros.

Llevo un tiempo planteándome si publicar este artículo, o no No conozco personalmente al usuario que ha publicado el hilo. Por ese mismo motivo, por respeto, finalmente he decidido publicar este artículo de un modo crítico-constructivo. Quiero dejar claro que no soy ningún experto en OSINT ni en el campo de la ciberinteligencia, Quienes me conocen saben que sólo soy alguien curioso.

Sobre Telegram

Telegram fue creada por los hermanos Nikolái y Pável Durov, dos emprendedores rusos que también fundaron la red social VK. Telegram se caracteriza por ser más rápido, tener mayor capacidad y ofrecer más funciones que otras plataformas como WhatsApp. Entre estas funciones se encuentran la posibilidad de crear y gestionar comunidades públicas o privadas (grupos, supergrupos, canales…), enviar mensajes cifrados, usar bots para automatizar tareas o acceder a la API para desarrollar aplicaciones propias.

Telegram es una fuente abierta de información muy valiosa para los investigadores que se dedican al OSINT (Open Source Intelligence) o a la ciberinteligencia. Estos investigadores usan técnicas y herramientas para recopilar, analizar y difundir información obtenida a partir de fuentes accesibles al público. Algunas de estas fuentes son las redes sociales, los buscadores web, los medios de comunicación o las bases de datos públicas.

Sin embargo, investigar en Telegram no es tan fácil como parece. Telegram tiene un alto nivel de privacidad y seguridad, lo que dificulta el acceso a los datos y metadatos de los usuarios. Además, Telegram tiene una gran variedad de usuarios, comunidades y contenidos, lo que requiere un conocimiento profundo y actualizado de la plataforma y sus características.

El objetivo de este artículo es hacer un análisis del hilo de Twitter y comentar sus puntos fuertes y débiles. También quiero mostraros una alternativa más eficaz y segura al uso de bots y servicios online de terceros para obtener información sobre los usuarios de Telegram: usar un script de Python3 que he desarrollado para hacer todo lo que dice el usuario del hilo, pero sin el empleo de bots ni servicios online externos.

Análisis del hilo de Twitter

El hilo de Twitter proporcionado por el usuario se enfoca en estrategias para llevar a cabo investigaciones en la plataforma de mensajería Telegram, con un énfasis en la extracción de información sobre usuarios. A primera vista, el hilo pretende ofrecer consejos útiles para aquellos interesados en la ciberinteligencia y la recopilación de datos en línea. Sin embargo, un análisis más detenido revela varias imprecisiones y omisiones que deben ser abordadas con un enfoque crítico y constructivo.

  1. Origen de Telegram y su Seguridad: El autor destaca el origen ruso de los fundadores de Telegram, pero omite mencionar que la empresa está registrada en Londres y tiene su sede en Dubai, y que sus servidores están ubicados en varios países para garantizar la seguridad y la privacidad de los datos de los usuarios. Además, se ignora el hecho de que WhatsApp también ha implementado cifrado de extremo a extremo por defecto, lo que podría dar lugar a una comparación inexacta entre ambas plataformas.

  2. Velocidad de Telegram vs WhatsApp: El autor del hilo afirma que Telegram es más rápido que WhatsApp. Sin embargo, la velocidad de entrega de los mensajes en ambas plataformas puede variar dependiendo de varios factores, como la calidad de la conexión a Internet, la ubicación del servidor y la carga del servidor en un momento dado.

    Es importante tener en cuenta que tanto Telegram como WhatsApp son plataformas de mensajería instantánea eficientes y ambas se esfuerzan por entregar mensajes lo más rápido posible. La diferencia en la velocidad de entrega entre las dos plataformas puede no ser significativa para la mayoría de los usuarios en situaciones normales.

    Además, aunque Telegram puede permitir una mayor capacidad en términos de tamaño de archivo para compartir, esto no necesariamente se traduce en una mayor velocidad en la entrega de mensajes. En última instancia, la elección entre Telegram y WhatsApp puede depender más de las características individuales y las preferencias personales que de la velocidad de entrega de los mensajes. Por lo tanto, es importante considerar todos estos factores al evaluar la eficacia de estas plataformas para la investigación en línea.

  3. Uso de Sock Puppets: El uso de cuentas sock puppets es una práctica discutible desde el punto de vista ético y legal. Si bien el autor recomienda esta estrategia, no menciona las implicaciones éticas y legales que pueden surgir al crear cuentas falsas para llevar a cabo investigaciones. Es importante destacar que el uso de cuentas falsas puede ser considerado como una violación de los términos de servicio de las plataformas en línea y podría resultar en acciones legales. Además, hay que tener en cuenta que detrás de una cuenta sock puppet siempre existirá una persona física y, las personas, estamos condenadas a cometer todo tipo de errores.

    Como dijo Theodore Roosevelt: “El único hombre que no comete errores es el hombre que nunca hace nada”.

    Este hecho subraya la inevitabilidad del error humano en la ciberinteligencia, incluso cuando se utilizan técnicas sofisticadas como las cuentas sock puppets.

    Por otro lado, el autor da por hecho que toda la información estará siempre en abierto y disponible, pero eso no es la vida real. Eso es aplicable a las pruebas de concepto, pero no a los casos reales. En la vida real, en muchísimas ocasiones, y dependiendo del nivel de configuración de privacidad del usuario, no es posible obtener ningún dato. El autor intenta captar la atención de su audiencia con un tono humorístico y desenfadado. Me parece bien que se expliquen métodos de obtención de información y técnicas en un tono humorístico, pero añadiría que la ciberinteligencia no es ningún juego y está en juego mucho más que los datos, que no es poco.

  4. Dependencia de Bots de Terceros: El autor promueve el uso de bots de terceros para extraer información de usuarios en Telegram. Sin embargo, no se aborda adecuadamente el riesgo de seguridad asociado con el uso de estos bots. Los bots de terceros pueden ser controlados por actores maliciosos y podrían recopilar información confidencial o ser utilizados para actividades fraudulentas. Además, no se proporciona orientación sobre cómo verificar la autenticidad y la seguridad de los bots antes de usarlos. Por otro lado, los bots no siempre funcionan correctamente, ya que dependen de una base de datos que puede no estar actualizada con la frecuencia debida. El autor comete una imprecisión al presentar los bots como una solución infalible para rastrear el alias actual de un usuario, sin advertir sobre las posibles fallas o limitaciones del bot.

  5. Extracción de ID y Alias: Si bien el autor menciona la extracción de IDs y alias de usuarios, no aborda la necesidad de tener el número de teléfono del usuario objetivo en la lista de contactos para realizar estas acciones. Esto es un punto crítico, ya que no siempre se puede acceder a esta información y, por lo tanto, estas técnicas pueden ser limitadas en su aplicabilidad. Además, el autor no explica cómo obtener el alias de un usuario si no se conoce su ID o su alias anterior.

  6. Privacidad y Configuración de Usuarios: El autor asume que es posible acceder a información personal detallada de los usuarios, como nombres, apellidos, última vez conectados y más, sin abordar las configuraciones de privacidad de los usuarios. Muchos usuarios de Telegram eligen configurar su perfil para mantener su información personal privada, lo que limitaría la efectividad de las técnicas mencionadas.

  7. Manipulación de Metadatos: La afirmación sobre la manipulación de metadatos en Telegram es inexacta. Telegram no almacena metadatos en los archivos enviados o recibidos como se describe en el hilo, lo que podría dar lugar a malentendidos sobre la capacidad para rastrear información. En realidad, Telegram elimina los metadatos de los archivos si se envían con compresión (vía rápida), y los mantiene si se envían sin compresión. Además, el nombre del archivo que se cambia a la fecha de subida no corresponde a los metadatos, sino a una conversión interna de Telegram.

  8. Servicios de Terceros para Buscar Usuarios en Otras Redes Sociales: El autor menciona servicios de terceros para buscar usuarios en otras redes sociales a partir de su alias. Sin embargo, vuelve a caer en el mismo error de depender de plataformas externas que pueden comprometer la seguridad y la fiabilidad de la investigación. Existen otros métodos de código abierto para hacer esto, como OSRFramework o Sherlock, por mencionar un par de ejemplos, que permiten controlar y verificar el código fuente y la información que se maneja.

  9. Mensajes Reenviados: El autor sugiere usar un bot para extraer metadatos de los mensajes reenviados en Telegram. Sin embargo, esta técnica es innecesaria y complicada, ya que cada mensaje tiene una URL que contiene toda esa información y que se puede acceder fácilmente desde el navegador o desde la terminal.

  10. Conversión del Timestamp: El autor propone usar CyberChef para convertir el timestamp de Unix en formato legible. Sin embargo, esta acción se puede realizar con un simple comando en la terminal (date -u -d @1694239422), sin necesidad de usar una herramienta externa que podría ralentizar o dificultar el proceso.

  11. Bots de Telegram: Los bots de Telegram no son chats automatizados, sino que son aplicaciones de terceros que se ejecutan en servidores externos y se comunican con los usuarios a través de la API de Telegram. Los bots no pueden iniciar conversaciones con los usuarios, sino que deben ser iniciados primero. El autor comete un error al describir los bots como chats automatizados, lo que podría dar una impresión equivocada sobre el funcionamiento o las capacidades de los bots.

El hilo proporciona algunas recomendaciones útiles para investigar en Telegram, pero presenta inexactitudes y omisiones significativas que deben ser abordadas. Es esencial considerar los aspectos éticos y legales al realizar cualquier investigación en la Red y ser consciente del riesgo asociado con el uso de herramientas externas como los bots. Más adelante, se explorará una alternativa más sólida y segura para la recopilación de datos en Telegram a través de un código Python.

Bots de Telegram: Implicaciones y riesgos

Los bots de Telegram son aplicaciones de terceros que se ejecutan en servidores externos y se comunican con los usuarios a través de la API de Telegram. Los bots pueden realizar una amplia variedad de tareas, desde enviar mensajes automáticos y responder a consultas, hasta recopilar información sobre los usuarios y sus interacciones.

Aunque los bots pueden ser herramientas útiles para la investigación en línea, también presentan riesgos e implicaciones significativas que deben ser considerados antes de usarlos. A continuación, se describen algunos de estos factores:
  • Seguridad y privacidad: Los bots son controlados por terceros, lo que significa que no se puede garantizar su seguridad o privacidad. Los bots pueden ser controlados por actores maliciosos que podrían recopilar información confidencial o pueden ser empleados para actividades fraudulentas. Por ejemplo, un bot podría solicitar el número de teléfono o el código de verificación del usuario para acceder a su cuenta de Telegram. También podría enviar mensajes falsos o maliciosos a otros usuarios o grupos. Para evitar estos riesgos, se recomienda verificar la autenticidad y la fiabilidad de los bots antes de usarlos, así como revisar los permisos que se les otorgan.

  • Ética y legalidad: El uso de bots para recopilar información sobre los usuarios sin su consentimiento podría considerarse una violación de la privacidad. En muchos países, esto podría ser ilegal y podría resultar en acciones legales contra el usuario. Además, el uso de bots podría implicar una falta de transparencia y de rigor en la investigación, ya que no se puede verificar la calidad o la procedencia de la información que se obtiene. Para evitar estas implicaciones, se recomienda respetar los principios éticos y legales al realizar cualquier investigación en línea, así como citar las fuentes y los métodos que se utilizan.

  • Alimentación de bases de datos de terceros: Los bots pueden suelen ser utilizados para alimentar las bases de datos de terceros con la información que los propios usuarios proporcionamos. Esto significa que la información que los usuarios proporcionan a los bots podría ser utilizada para otros fines sin su conocimiento o consentimiento. Por ejemplo, un bot podría recopilar el ID, el alias, el nombre, el apellido, la foto o la biografía del usuario y almacenarlos en una base de datos externa, para servir esos datos posteriormente a otros. También podría rastrear el historial de nombres y aliases del usuario o sus interacciones con otros usuarios o grupos. Para evitar esta situación, se recomienda ser cauteloso con la información que se proporciona a los bots y revisar su política de privacidad, si es que alguno la tiene.

Aunque los bots pueden ser herramientas útiles para la investigación, también presentan riesgos e implicaciones significativas que deben ser considerados antes de usarlos. Es esencial considerar estos factores al decidir si utilizar bots para una investigación y tomar medidas para minimizar los riesgos asociados con su uso. En la siguiente sección, se explorará una alternativa más sólida y segura para la recopilación de datos en Telegram a través de un script en Python.

Script de Python (TgUserDetails.py)

El script de Python, denominado TgUserDetails.py, es una herramienta de ciberinteligencia diseñada para obtener información detallada sobre los usuarios de Telegram, así como de canales y grupos públicos. Esta herramienta es una alternativa más segura y eficaz que los bots y que otras aplicaciones externas mencionados en el hilo de Twitter.


Captura de pantalla que muestra las opciones de la aplicación TgUserDetails

La aplicación puede obtener y procesar información basándose con diferentes argumentos, incluyendo el nombre de usuario, la ID del usuario, el número de teléfono o la URL de un mensaje enviado por el usuario en un canal o grupo público.

Para realizar la demostración de las funcionalidades de esta herramienta he decidido emplear una cuenta que uso para hacer algunas pruebas.


Captura de pantalla del perfil empleado para las pruebas.

A continuación se expone un resumen de lo que hace la aplicación con cada parámetro:

  • Nombre de usuario (-u): La aplicación puede obtener información detallada sobre un usuario, o un canal o grupo públicos, a partir de su nombre de usuario. Esto incluye el ID del usuario, su nombre y apellido, su biografía, su última vez en línea y su foto de perfil. La aplicación también puede descargar todas las fotos de perfil históricas del usuario.

    Por ejemplo, si se ejecuta el comando python3 TgUserDetails.py -u solouncurioso, se obtiene la siguiente salida:


Captura de pantalla que muestra los resultados de búsqueda mediante el nombre de usuario

Como se puede observar, la aplicación muestra el ID, el nombre, el apellido, la biografía, la última vez en línea y el nombre de usuario del usuario con el nombre de usuario @solouncurioso. También descarga la foto de perfil actual del usuario en el archivo 5176153752.jpg y todas las fotos de perfil anteriores en archivos con el formato YYYY_MM_DD_HH:MM:SS.jpg.

  • ID del usuario (-i):Similar al parámetro del nombre de usuario, la aplicación puede obtener información detallada sobre un usuario a partir de su ID. Sin embargo, este parámetro solo funciona con usuarios que están en la lista de contactos del investigador.

    Por ejemplo, si se ejecuta el comando python3 TgUserDetails.py -i 5176153752, se obtiene la siguiente salida:


Captura de pantalla que muestra los resultados de búsqueda mediante el ID del usuario

Si se dispone del contacto del usuario guardado en la lista de contactos (o de una base de datos propia) y se ejecuta el comando python3 TgUserDetails.py -i 5176153752, se obtiene la siguiente salida:


Captura de pantalla que muestra los resultados de búsqueda mediante el ID del usuario

Como se puede observar, la aplicación muestra la misma información que con el parámetro -u, pero a partir del ID del usuario. En este caso, se trata del mismo usuario que antes (@solouncurioso), pero podría ser cualquier otro que esté en la lista de contactos.

  • Número de teléfono (-p): La aplicación puede obtener información detallada sobre un usuario a partir de su número de teléfono. Esto incluye el ID del usuario, su nombre y apellido actuales de la cuenta, su biografía, su última vez en línea y su foto de perfil. La aplicación también puede descargar todas las fotos de perfil del usuario.

    Por ejemplo, si se ejecuta el comando python3 TgUserDetails.py -p +34XXXXXXXXX, se obtiene la siguiente salida:


Captura de pantalla que muestra los resultados de búsqueda mediante el número de teléfono


Captura de pantalla que muestra los resultados de búsqueda mediante el número de teléfono

Como se puede observar, la aplicación muestra el ID, el nombre y apellido actuales, la biografía, la última vez en línea y el nombre de usuario (si tiene) del usuario con el número de teléfono +34XXXXXXXXX. También descarga las fotos de perfil del usuario como antes.

Se expone una explicación de los resultados de la ejecución del script TgUserDetails.py:
  • Sin el número de teléfono añadido en la lista de contactos:

    • La aplicación puede obtener información sobre el usuario con el nombre de usuario @solouncurioso, incluyendo su ID, su nombre, su apellido, su biografía, su última vez en línea y su foto de perfil. También puede descargar todas las fotos de perfil que el usuario ha tenido en el pasado. Esto demuestra que la aplicación es capaz de recopilar información valiosa sobre los usuarios a partir de su nombre de usuario, que es un dato público y fácil de obtener.

    • Sin embargo, cuando se intenta obtener información sobre el mismo usuario utilizando su ID (5176153752), la aplicación no puede encontrar al usuario. Esto se debe a que el parámetro -i solo funciona con usuarios que están en la lista de contactos del investigador. Esto implica que la aplicación tiene una limitación para obtener información sobre los usuarios a partir de su ID, que es un dato más difícil de obtener y más específico que el nombre de usuario.

  • Con el número de teléfono añadido en la lista de contactos:

    • La aplicación puede obtener información sobre el usuario con el nombre de usuario @solouncurioso, incluyendo su ID, su nombre y apellido en el registro de su cuenta, su biografía, su última vez en línea y su foto de perfil. También puede descargar las mismas fotos de perfil que antes. Esto demuestra que la aplicación puede acceder a la misma información que con el parámetro -u, pero utilizando el ID del usuario como argumento.

    • Además, cuando se utiliza el número de teléfono del usuario (+34XXXXXXXXX) para obtener información sobre él, la aplicación puede encontrar al usuario y obtener información detallada sobre él. También puede descargar las mismas fotos de perfil que antes. Esto demuestra que la aplicación puede acceder a la misma información que con los parámetros -u e -i, pero utilizando el número de teléfono del usuario como argumento.

    • Además, la aplicación muestra el nombre y apellido actuales del usuario. En este caso, se puede observar que el usuario está empleando actualmente el nombre ‘MC’.

Los resultados muestran que TgUserDetails.py es capaz de obtener una gran cantidad de información sobre los usuarios de Telegram utilizando diferentes parámetros. Sin embargo, es importante tener en cuenta que algunos parámetros solo funcionan bajo ciertas condiciones, como tener el número de teléfono del usuario en la lista de contactos del investigador. Por lo tanto, se recomienda utilizar el parámetro más adecuado según cada caso y verificar la fiabilidad y actualidad de la información obtenida.


Captura de pantalla que muestra las imágenes del usuario investigado

La aplicación también es capaz de procesar entidades de tipo grupo y canales, que sean públicos:

  • Grupo público:

    • La aplicación puede obtener información sobre el grupo con el nombre de usuario forense. Esto incluye su ID, que es un identificador único para el grupo en Telegram.

    • También obtiene el título del grupo, que es el nombre que los miembros del grupo ven.

    • La aplicación puede determinar el número de administradores en el grupo, lo que puede ser útil para entender el tamaño y la actividad del grupo.

    • La fecha de creación del grupo también se obtiene, lo que puede proporcionar contexto sobre cuándo se formó el grupo.

    • Por último, la aplicación puede descargar la foto de perfil del grupo. Esto podría ser útil para la identificación visual del grupo.


Captura de pantalla que muestra los resultados de un grupo

  • Canal público:

    • La aplicación puede obtener información sobre el canal con el nombre de usuario nclgc. Al igual que con el grupo, esto incluye su ID y título.

    • Además, la aplicación puede obtener el nombre de usuario del canal. A diferencia de los grupos, los canales en Telegram pueden tener nombres de usuario, lo que permite a las personas encontrar y unirse al canal más fácilmente.

    • La descripción del canal también se obtiene. Esto puede proporcionar información valiosa sobre el propósito y el contenido del canal.

    • Al igual que con el grupo, la fecha de creación del canal y la foto de perfil también se obtiene.


Captura de pantalla que muestra los resultados de un canal


Captura de pantalla que muestra las imágenes del canal y del grupo analizados

  • URL del mensaje (-l):La aplicación puede obtener información detallada sobre un mensaje enviado por un usuario en un canal o grupo público a partir de la URL del mensaje. Esto incluye el contenido del mensaje, la fecha y hora en que se envió el mensaje, y la información sobre el remitente del mensaje.

    A modo de ejemplo, vamos a ejecutar el comando python3 TgUserDetails.py -l https://t.me/cybdetective/2084

Para poder entender y visualizar mejor este parámetro se realiza una comparación con uno de los bots que recomienda el autor del hilo.


Captura de pantalla que muestra el resultado del procesamiento de un mensaje

Bot VS Código

  • Bot:

{
  "update_id": 144343788,
  "message": {
    "message_id": 997479,
    "from": {
      "id": 773730237,
      "is_bot": false,
      "first_name": "Marcos",
      "username": "n4rr34n6",
      "language_code": "en"
    },
    "chat": {
      "id": 773730237,
      "first_name": "Marcos",
      "username": "n4rr34n6",
      "type": "private"
    },
    "date": 1694370362,
    "text": "https://t.me/cybdetective/2084",
    "entities": [
      {
        "offset": 0,
        "length": 30,
        "type": "url"
      }
    ]
  }
}

El resultado del bot proporciona información sobre un mensaje enviado por el usuario “Marcos” con el nombre de usuario “n4rr34n6”. El mensaje contiene una URL “https://t.me/cybdetective/2084”, que es un enlace a un mensaje en Telegram. La información proporcionada incluye la ID del mensaje, la ID del usuario que envió el mensaje, el nombre de usuario y el nombre del remitente, y la fecha en que se envió el mensaje. Sin embargo, no proporciona detalles sobre el contenido del mensaje o información adicional sobre el remitente

  • Código:

marcos@n4rr34n6:/mnt/c/Tools/Telegram$ python3 TgUserDetails.py -l https://t.me/cybdetective/2084
{
  "_": "Message",
  "id": 2084,
  "peer_id": {
    "_": "PeerChannel",
    "channel_id": 1597138777
  },
  "date": "2023-09-07 13:11:55 (UTC)",
  "message": "After 4 months of procrastination, I finally wrote an article on Medium about gathering info about usernames:\n- basics tools for nickname enumeration\n- search URLs with nickname \n- using ip search engines (Shodan, Netlas) for nickname info gathering\n\nhttps://medium.com/@cyb_detective/when-you-need-search-by-nickname-in-public-ip-addresses-search-engines-shodan-netlas-fofa-etc-59d92af047cc",
  "out": false,
  "mentioned": false,
  "media_unread": false,
  "silent": false,
  "post": true,
  "from_scheduled": false,
  "legacy": false,
  "edit_hide": false,
  "pinned": true,
  "noforwards": false,
  "from_id": null,
  "fwd_from": null,
  "via_bot_id": null,
  "reply_to": null,
  "media": {
    "_": "MessageMediaPhoto",
    "spoiler": false,
    "photo": {
      "_": "Photo",
      "id": 5463183621985783244,
      "access_hash": -5254244289959019902,
      "file_reference": "025f3267590000082464fe0a79c033c95f3c10321a116acca2f87eb3fd",
      "date": "2023-09-07 13:15:33 (UTC)",
      "sizes": [
        {
          "_": "PhotoStrippedSize",
          "type": "i",
          "bytes": "011828d3132336d0c33e9835211c546b022bee0bcfae6a43d31402b8638e3ad22eecf23f5a70e0520
eb400a3345206068a007546d1ab32365b2a73c13451400ec71c0a36e4107b8a28a00a2ba5a2b86f31
b8edc51451401f"
        },
        {
          "_": "PhotoSize",
          "type": "m",
          "w": 320,
          "h": 193,
          "size": 16081
        },
        {
          "_": "PhotoSize",
          "type": "x",
          "w": 800,
          "h": 482,
          "size": 78000
        },
        {
          "_": "PhotoSizeProgressive",
          "type": "y",
          "w": 1280,
          "h": 771,
          "sizes": [
            9751,
            29504,
            63011,
            95605,
            152405
          ]
        }
      ],
      "dc_id": 2,
      "has_stickers": false,
      "video_sizes": []
    },
    "ttl_seconds": null
  },
  "reply_markup": null,
  "entities": [
    {
      "_": "MessageEntityUrl",
      "offset": 251,
      "length": 140
    }
  ],
  "views": 1827,
  "forwards": 50,
  "replies": {
    "_": "MessageReplies",
    "replies": 1,
    "replies_pts": 3681,
    "comments": true,
    "recent_repliers": [
      {
        "_": "PeerUser",
        "user_id": 2020659139
      }
    ],
    "channel_id": 1639662393,
    "max_id": 1880,
    "read_max_id": 1879
  },
  "edit_date": "2023-09-07 13:15:33 (UTC)",
  "post_author": null,
  "grouped_id": null,
  "reactions": {
    "_": "MessageReactions",
    "results": [
      {
        "_": "ReactionCount",
        "reaction": {
          "_": "ReactionEmoji",
          "emoticon": "\ud83d\udc4d"
        },
        "count": 27,
        "chosen_order": null
      }
    ],
    "min": false,
    "can_see_list": false,
    "recent_reactions": []
  },
  "restriction_reason": [],
  "ttl_period": null
}
marcos@n4rr34n6:/mnt/c/Tools/Telegram$

El parámetro -l permite obtener información sobre un mensaje enviado por un usuario en un canal o grupo público a partir de la URL del mensaje. Para usar este parámetro, se debe pasar la URL como argumento al script TgUserDetails.py. Por ejemplo, python3 TgUserDetails.py -l https://t.me/cybdetective/2084.

El resultado de la aplicación es un JSON, que es un formato de datos que consiste en pares de clave-valor. Cada clave representa un tipo de información y cada valor representa el dato correspondiente. Por ejemplo, la clave “message” representa el contenido del mensaje y el valor “After 4 months of procrastination, I finally wrote an article on Medium about gathering info about usernames:\n- basics tools for nickname enumeration\n- search URLs with nickname \n- using ip search engines (Shodan, Netlas) for nickname info gathering\n\nhttps://medium.com/@cyb_detective/when-you-need-search-by-nickname-in-public-ip-addresses-search-engines-shodan-netlas-fofa-etc-59d92af047cc” representa el texto que el usuario escribió en el mensaje.

De esta forma, el JSON proporciona información detallada y completa sobre el mensaje y su remitente, así como sobre el canal o grupo donde se envió el mensaje. Esto incluye, a modo de ejemplo con algunas claves:

  • ID del mensaje: El ID del mensaje es 2084. Este es un identificador único para el mensaje en Telegram. Con este ID, se puede acceder al mensaje directamente desde la aplicación de Telegram o desde la web.

  • Fecha del mensaje: El mensaje fue enviado el 7 de septiembre de 2023 a las 13:11:55 UTC. Esta es la fecha y hora en que el usuario publicó el mensaje en el canal o grupo. Con esta información, se puede conocer cuándo se produjo el mensaje y si coincide con algún evento o situación relevante.

  • Contenido del mensaje: El contenido del mensaje es un texto que habla sobre un artículo que el autor escribió en Medium acerca de la recopilación de información sobre nombres de usuario. El mensaje incluye un enlace al artículo. Con esta información, se puede analizar el tema y el propósito del mensaje, así como acceder al contenido del artículo para obtener más información.

  • Vistas y reenvíos: El mensaje ha sido visto 1827 veces y reenviado 50 veces. Estos datos indican el nivel de interés y difusión que ha generado el mensaje entre los usuarios de Telegram. Con esta información, se puede estimar la popularidad y la influencia del autor del mensaje.

  • Reacciones: El mensaje ha recibido 27 reacciones con el emoticono “👍”. Estos datos indican el nivel de aprobación y apoyo que ha recibido el mensaje por parte de los usuarios de Telegram. Con esta información, se puede evaluar la opinión y la actitud de los usuarios hacia el autor y el contenido del mensaje.

  • Respuestas: El mensaje ha recibido una respuesta. Esta es una forma de interacción entre los usuarios de Telegram que permite comentar o debatir sobre el contenido del mensaje. Con esta información, se puede acceder a la respuesta y ver qué dice y quién la escribió. Y, no menos importante, el ID del usuario que efectuó la réplica.

  • Media: El mensaje incluye una foto, y la aplicación ha descargado esta foto junto con otras fotos asociadas al mensaje. Estas fotos pueden ser útiles para identificar visualmente al autor o al canal o grupo donde se envió el mensaje, así como para complementar o ilustrar el contenido del mensaje.
El resultado de la aplicación proporciona información más detallada y completa que el resultado del bot, que solo proporciona información básica sobre el mensaje y sobre el propio usuario que utiliza el bot, como el ID del mensaje, el ID del usuario, el nombre de usuario, el nombre y el idioma del remitente, y la fecha en que se envió el mensaje. Sin embargo, no proporciona detalles sobre el contenido del mensaje o información adicional sobre el remitente o el canal o grupo.

Al comparar los resultados obtenidos del bot y de la aplicación TgUserDetails.py, se pueden observar varias diferencias clave:
  • Información del usuario: El bot proporciona información básica sobre el usuario que envió el mensaje, incluyendo su ID, si es un bot o no, su nombre, su nombre de usuario y el código de idioma. Por otro lado, la aplicación TgUserDetails.py no proporciona información directa sobre el usuario que envió el mensaje.

  • Información del mensaje: Ambos, el bot y la aplicación TgUserDetails.py, proporcionan la ID del mensaje y la fecha en que se envió. Sin embargo, la aplicación TgUserDetails.py proporciona información adicional sobre el mensaje, incluyendo el contenido del mensaje y las entidades presentes en él (como las URL).

  • Información adicional: La aplicación TgUserDetails.py proporciona mucha más información adicional en comparación con el bot. Esto incluye el número de vistas y reenvíos del mensaje, las reacciones al mensaje, las respuestas al mensaje y los medios asociados al mensaje (como las fotos). El bot no proporciona ninguna de esta información.

  • Formato de los resultados: Los resultados del bot se presentan en un formato más simple y menos detallado en comparación con los resultados de la aplicación TgUserDetails.py. Los resultados de la aplicación TgUserDetails.py se presentan en un formato JSON detallado que proporciona una visión completa de la información disponible sobre el mensaje.
Aunque ambos, el bot y la aplicación TgUserDetails.py, pueden proporcionar información útil sobre un mensaje específico en Telegram, la aplicación TgUserDetails.py proporciona una cantidad mucho mayor de detalles y es por lo tanto una herramienta más fiable para la ciberinteligencia y la recopilación de datos en Telegram.

El bot y la aplicación TgUserDetails.py son dos herramientas que permiten obtener información sobre un mensaje específico enviado en Telegram utilizando el parámetro -l y la URL del mensaje. Sin embargo, hay varias diferencias clave entre las dos herramientas en cuanto a la cantidad, la calidad y el formato de la información que proporcionan, así como los riesgos y las implicaciones de emplearlas.
  • Cantidad de información: La aplicación TgUserDetails.py proporciona mucha más información que el bot sobre el mensaje y su remitente, así como sobre el canal o grupo donde se envió el mensaje. El bot solo proporciona información básica sobre el mensaje y su remitente, como el ID del mensaje, el ID del usuario, el nombre de usuario, el nombre y el idioma del remitente, y la fecha en que se envió el mensaje. La aplicación TgUserDetails.py proporciona información adicional sobre el mensaje, incluyendo el contenido del mensaje, las entidades presentes en él (como las URL), el número de vistas y reenvíos del mensaje, las reacciones al mensaje, las respuestas al mensaje y los medios asociados al mensaje (como las fotos). Además, la aplicación TgUserDetails.py proporciona información sobre el remitente del mensaje, como su ID, su nombre, su apellido, su biografía, su última vez en línea y su foto de perfil. También proporciona información sobre el canal o grupo donde se envió el mensaje, como su ID, su título, su nombre de usuario y su descripción.

  • Calidad de la información: La aplicación TgUserDetails.py proporciona información más detallada y completa que el bot sobre el mensaje y su remitente, así como sobre el canal o grupo donde se envió el mensaje. El bot proporciona información genérica y superficial que puede ser insuficiente o inexacta para los fines de la ciberinteligencia y la recopilación de datos. La aplicación TgUserDetails.py proporciona información específica y profunda que puede ser útil y relevante para los investigadores que deseen obtener una visión detallada de un mensaje específico.

  • Formato de la información: La aplicación TgUserDetails.py proporciona información en un formato JSON detallado que proporciona una visión completa de la información disponible sobre el mensaje. El JSON es un formato de datos común y fácil de procesar que consiste en pares de clave-valor. Cada clave representa un tipo de información y cada valor representa el dato correspondiente. El bot proporciona información en un formato más simple y menos detallado que puede ser difícil de interpretar o analizar.

  • Riesgos e implicaciones: La aplicación TgUserDetails.py es una herramienta segura y eficaz que no compromete la seguridad o la privacidad del investigador ni del usuario objetivo. La aplicación se ejecuta localmente en el ordenador del investigador y no requiere ningún permiso o autorización especial para acceder a la información pública disponible en Telegram. El bot, por otro lado, es una herramienta potencialmente peligrosa e ineficiente que puede comprometer la seguridad o la privacidad del investigador o del usuario objetivo. Al usar el bot, el investigador debe enviarle al bot la URL del mensaje que desea analizar. Esto implica que el bot recibe y almacena la información del investigador, como su ID, su nombre de usuario, su nombre y su idioma. Además, el bot puede acceder al contenido del mensaje y a cualquier dato asociado al mismo. Esto implica que el bot recibe y almacena la información del usuario objetivo, como su ID, su nombre de usuario, su nombre y su idioma. Estos datos pueden ser usados por el bot para fines maliciosos o ilegales, como rastrear, espiar o extorsionar al investigador o al usuario objetivo. Además, el bot puede ser vulnerable a ataques informáticos que pongan en riesgo la integridad o la confidencialidad de los datos almacenados por el bot.

Aunque ambos, el bot y la aplicación TgUserDetails.py, pueden proporcionar información útil sobre un mensaje específico en Telegram, la aplicación TgUserDetails.py proporciona una cantidad mucho mayor de detalles y es por lo tanto una herramienta más eficaz para la ciberinteligencia y la recopilación de datos en Telegram. Además, la aplicación TgUserDetails.py es una herramienta más segura y fiable que no compromete la seguridad o la privacidad del investigador ni del usuario objetivo, a diferencia del bot, que puede suponer un riesgo o una amenaza para ambos. Por lo tanto, se recomienda utilizar la aplicación TgUserDetails.py en lugar del bot para obtener información sobre los mensajes enviados en Telegram.

Con todo esto, ha quedado demostrado que el código permite a los investigadores obtener información valiosa sobre los usuarios de Telegram sin comprometer la seguridad o la privacidad empleando bots o servicios de terceros. Además, la aplicación es fácil de usar y ofrece una salida clara y completa.

Conclusión

El análisis del hilo de Twitter ha revelado varias inexactitudes y omisiones que podrían llevar a malentendidos o a una interpretación incorrecta de las capacidades de las herramientas y técnicas mencionadas para la recopilación de datos en Telegram. El uso de bots y aplicaciones externas para recopilar información plantea preocupaciones legítimas sobre la seguridad y la privacidad.
Esto subraya la importancia de utilizar herramientas que permitan un control completo sobre el proceso de recopilación de datos y minimicen los riesgos asociados con la dependencia de servicios externos.

La aplicación TgUserDetails.py presentada en este artículo parece ser una alternativa más segura y eficaz para la recopilación de datos en Telegram. Proporciona una cantidad significativamente mayor de información en comparación con los bots, incluyendo detalles adicionales como el contenido del mensaje, las entidades presentes en él (como las URL), el número de vistas y reenvíos del mensaje, las reacciones al mensaje, las respuestas al mensaje y los medios asociados al mensaje (como las fotos). Además, la aplicación TgUserDetails.py proporciona información sobre el remitente del mensaje, como su ID, su nombre, su apellido, su biografía, su última vez en línea y su foto de perfil.

Es importante destacar que todas estas herramientas deben utilizarse de manera ética y respetando la privacidad y los derechos de los usuarios. La ciberinteligencia es un campo de enorme responsabilidad con un gran potencial para ayudar en la lucha contra el cibercrimen, pero también tiene la peculiaridad de ser mal utilizado. Por lo tanto, es crucial que los investigadores sean conscientes de los riesgos asociados con el uso de estas herramientas y tomen medidas para minimizar estos riesgos.

Finalmente, este análisis subraya la importancia de la precisión y la integridad en la comunicación de información técnica. Las inexactitudes y omisiones pueden llevar a malentendidos o a una interpretación incorrecta de las capacidades de las herramientas y técnicas. Por lo tanto, es crucial que los investigadores se esfuercen por proporcionar información precisa y completa en sus comunicaciones.

En el análisis del hilo de Twitter, es notable que el usuario utiliza la plataforma como un medio para autopromocionarse. Si bien la autopromoción no es inherentemente negativa, y de hecho es una práctica común en las redes sociales, la forma en que se maneja puede tener un impacto significativo en la percepción del contenido.

En este caso, el usuario parece estar promocionando sus cursos y su conocimiento sobre OSINT y Telegram. Esto podría interpretarse como un intento de establecer su credibilidad y atraer a más seguidores o clientes potenciales. Sin embargo, también podría verse como una distracción del contenido principal del hilo.

La autopromoción se realiza de manera bastante prominente, lo que podría restar valor al contenido educativo e informativo del hilo. En lugar de integrarse de manera sutil y orgánica, la promoción de los cursos y habilidades del usuario se presenta de manera bastante directa.

La ciberinteligencia y la lucha contra el cibercrimen son campos vastos y en constante evolución. A medida que avanzamos en nuestra comprensión y desarrollo de nuevas estrategias y tecnologías, debemos recordar que no podemos explicar o controlar toda la naturaleza de estos desafíos por nosotros mismos.

Como bien dice la expresión: ‘Para explicar toda la naturaleza, no basta ni un hombre ni una edad completa. En su lugar, lo mejor es que el hombre busque un poco de verdad y certeza, dejando el resto para los demás, para los que vendrán, con conjeturas y sin dar nada por hecho’.

Esta reflexión nos recuerda la importancia de la colaboración, la humildad y la paciencia en nuestra lucha continua contra el cibercrimen. Cada pequeño avance que hacemos contribuye a un cuerpo más grande de conocimiento que será aprovechado por las futuras generaciones de profesionales de la ciberseguridad.

PD: El código de la herramienta que he usado para obtener información sobre los usuarios de Telegram está disponible en mi sitio de Github.


Marcos

Share:
spacer

No hay comentarios:

Publicar un comentario