CTF Trace Labs #5 – Recherches de micro-informations, gestion du temps, et Mr Freeze

CTF Trace Labs #5 – Recherches de micro-informations, gestion du temps, et Mr Freeze

Quand l’un des membres d’OpenFacto a annoncé sur Slack qu’un nouveau CTF (Capture The Flag) Trace Labs allait avoir lieu le 11 juillet, quelques mains se sont levées pour participer. Quand il a annoncé que cette fois-ci il aurait lieu de 17h à 23h, donc pas de minuit à 6h comme lors de la précédente édition, c’est une avalanche de membres qui a manifesté son intérêt ! (ou en tout cas assez pour constituer deux équipes de quatre, l’auteur étant simplement friand de formules grandiloquentes).


Vous n’avez jamais entendu parler de ces évènements organisés en vue de retrouver des personnes disparues ? Envie d’avoir un peu plus de détails ? Nous vous invitons à lire notre premier retour d’expérience écrit suite à notre précédente participation.


Aujourd’hui, pas d’article visant à approfondir un point de connaissance, comme avec le premier article qui s’intéressait à la question de l’analyse des tatouages.

L’idée est plutôt de faire le point sur notre organisation, ce qui a marché, ce qui a moins marché, et des axes d’amélioration possibles pour le futur.
Si vous avez des avis à partager sur ce qui suit, n’hésitez pas à nous répondre ici en commentaire ou via Twitter. Et si nous oublions de mentionner des éléments qui vous semblent importants, faites-nous signe et nous mettrons à jour l’article avec ces derniers.

Organisation

Pour cette édition, huit membres d’OpenFacto étaient motivés pour participer, nous avons donc fait deux équipes :

  • OpenFacto (obviously), comptant à son bord Capteurso, Hervé, Sébastien et ştəf// – fini 26ème sur 190 équipes ;
  • The French Flair by OF, composée notamment de L003, 0skAr et Roman – fini 23ème.
Tableau des scores final


Ensuite, pour répartir les gens entre les deux équipes, nous avons fait passer des tests d’aptitude à l’OSINT, évalué les CVs de chacun(e), et… non pas du tout, nous avons pris le premier (littéralement) site de répartition aléatoire en équipe sur Google, et défini les équipes à partir de là. Il s’est avéré que les teams ainsi formées ont bien fonctionné ; à voir pour la prochaine édition si nous essayons de déployer une réelle stratégie quant à ce sujet – nous y reviendrons plus tard.


Pour la communication écrite, nous avons privilégié Slack, qui permet de faire un thread par profil, afin de ne pas mélanger toutes les informations. Le canal vocal était assuré par Jitsi.

Il était envisagé d’utiliser framamind afin de faciliter la visualisation des profils et informations récoltées. Finalement, le fait de ne pas forcément changer souvent de cas d’analyse a fait que les threads Slack étaient suffisants. 

A noter toutefois que TraceLabs recommande dans son guide de ne pas passer plus d’une heure sur un cas où l’on ne trouverait aucune information, et conseille également l’utilisation de cartes mentales (cf. p.15-16).

Cette édition proposait l’analyse de huit cas, chaque membre d’une équipe était donc en charge de deux profils a minima, avec possibilité de passer sur d’autres en cas d’impasse. 

Quelques points à retenir pour les prochaines éditions

Ci-dessous une liste de points en vrac, sans classement suivant l’importance du contenu, mais qu’il nous semble pertinent d’avoir en tête pour les prochaines fois :

  • Si aucun flag n’est validé ni rejeté au bout d’une heure, ne pas hésiter à pinger l’équipe TraceLabs sur Slack, par exemple AK47Intel. Et même, mieux : vérifier à l’avance que l’équipe s’est bien vue assigner un juge (un fichier csv est fourni dans le channel du CTF afin de connaître le nom du juge qui s’occupe de l’équipe).
  • La recherche de profils snapchat via snapdex.com ne renvoie pas forcément de résultats pertinents.
  • Les copies d’écrans Android ne servent à rien si la preuve ne peut être rattachée à une URL (l’URL snapcode ne suffit pas).
  • Prendre le temps de faire une première passe, pour les profils US, sur des sites de recherches US (ex : spytox.com, thatsthem.com, etc.). MAIS bien prendre avec des pincettes ce que renvoient ces sites. Idéalement effectuer quelques vérifications derrière, avant de soumettre le flag.
  • Prendre le temps aussi de faire une première passe sur les informations basiques (ex : dates de naissance) qui, si elles ne rapportent que peu de points, une fois accumulés en fournissent finalement un nombre conséquent.
  • Prendre le temps – si réalisable – de lire les posts sur les réseaux sociaux de la personne disparue (notamment pour connaître ses hobbies). A minima aux alentours de la date de sa disparition. Se pencher aussi sur les commentaires et tags de personnes proches permettant (potentiellement) de récupérer d’autres profils de la cible, ainsi que leur nouveau compagnon/nouvelle histoire, qui les renvoient à leur profil actuel.
  • A ce sujet, Twint se révèle bien pratique pour ne récupérer que les tweets postés au moment de la disparition de la personne (notamment profils Twitter de ses amis).
  • La question de savoir comment déterminer si un numéro de téléphone US est assigné à un fixe ou un mobile s’est posée pendant l’évènement. A tête reposée, nous pouvons maintenant dire qu’il aurait pu être intéressant de passer par des services tels que TrueCaller ou OpenCnam, FreeCarrierLookup ou encore HLR Lookup déjà mentionné il y a quelques temps sur le discord d’OSINT-FR – mais aucune garantie quant à l’identification mobile/fixe.
  • Faire la liste d’un ensemble de sélecteurs (adresses mails, numéros de téléphones, création d’adresses mails et pseudos à partir du nom+prénom, etc.). Puis les vérifier sur autant de plateformes que possible (via whatsmyname ou instantusername), et lister le tout dans un document collaboratif. Envisager ensuite de désigner une à deux personnes afin d’approfondir ces données et réaliser une investigation latérale (recherche massive de sélecteurs et de sources potentielles) de l’investigation transversale (approfondissement d’un profil, ses commentaires, etc.).
  • Préparer des outils et moteurs pour le darkweb en amont et y passer au crible tous les sélecteurs (identité, email, username, etc.). Envisager de préparer une base de leaks avant l’évènement.
  • Préparer également un ensemble de services de « reconnaissance faciale » : Yandex, Bing, Tineye, etc..
  • Dans l’ensemble, nous avons réalisé beaucoup de recherches manuelles. A voir donc si et comment il serait possible d’en automatiser une partie.
  • Voir pour passer moins de temps sur certains profils. 6h, c’est à la fois très peu et très long, mais il s’agirait de réfléchir si passer 4 à 5h sur le même profil – ce qui a été le cas pour un ou deux membres – est vraiment un choix efficace.
  • Autre point à voir plus tard : envisager peut-être un rôle/spécialité par personne/compétence.
    • un/e « forgeron » qui récupère, par OSINT ou recréation, tous les sélecteurs, qu’il met à disposition ;
    • un/e ou deux enquêteurs qui approfondissent les profils et les subtilités historiques et comportementales ;
    • un/e spécial deepweb/darkweb.
      L’autre possibilité consistant à d’abord se concentrer sur un ou deux profils, puis passer à une revue de tous les profils en ne s’intéressant qu’à un des aspects mentionnés ci-dessus.

Conclusion

Ce qui est pas mal ressorti de nos discussions post-CTF, c’est la frustration de ne pas trouver des informations particulièrement remarquables sur chaque profil. Est-ce que cela vaut vraiment le coup de passer 6h sur le cas de deux à trois personnes disparues, pour ne ressortir finalement que des éléments facilement retrouvables : numéro de téléphone posté sur instagram, liens vers les différents profils sur les réseaux sociaux, etc. ?


A cette question que bon nombre se posent, Trace Labs réponds oui, cela vaut la peine : « We may not always find relevant or useful information to pass along to Law Enforcement (LE). But what we did accomplish was showing Law Enforcement that they truly have exhausted every lead and that they did their jobs well and to the best of their abilities. To them, that’s extremely valuable and it puts their minds at ease. » 


Chaque information, aussi minime qu’elle soit à vos yeux, doit être remontée : marque du téléphone de la personne (information intéressante pour les forces de l’ordre), goût prononcé pour le dessin, l’alcool, les Mr Freeze, etc.. Tout peut avoir son importance, pour peu que les personnes en charge de l’enquête n’y ait pas prêté attention. Et si c’est déjà le cas, cela les rassurera néanmoins quant au fait qu’elles ont cherché autant que possible.


En outre Trace Labs insiste sur le fait qu’il ne faut pas oublier les deux buts principaux de ces évènements :

  • trouver des informations sur des personnes disparues ;
  • améliorer nos compétences en OSINT – car oui, cela compte aussi.

Vous avez, vous aussi, été frustré par les données obtenues après de longues heures de recherches ? Hauts les cœurs, cela fait partie de l’apprentissage ! Et si vous n’avez pas l’impression d’être devenu une rock star de l’OSINT en 6h, vous avez néanmoins mis en pratique des connaissances déjà acquises – vous n’en deviendrez que plus efficace – voire appris de nouvelles techniques – on ne peut espérer mieux – et participé à un effort positif international. Donc rien de tout cela n’est perdu.


Un autre point qui nous a été remonté, c’est qu’il était encore plus sympa de réaliser ce genre d’évènements dans un même lieu avec le reste de l’équipe. Ainsi, à titre informatif, OpenFacto commence à réfléchir à comment réunir, une fois par an, l’ensemble de ses membres participant au CTF dans un espace commun, afin que les coéquipiers puissent interagir ensemble de vive voix, et que les différentes teams puissent ensuite échanger sur les cas abordés une fois le CTF fini.

Intéressé ? Faites-le-nous savoir sur Twitter ou notre Slack !


Un grand bravo à toutes les équipes !

Trace Labs, CTF et tatouages

Trace Labs, CTF et tatouages


Samedi 11 avril 2020, 23h59.  Plus qu’une minute avant le début des recherches...

Si la gamification est un concept qui touche de plus en plus de domaines, c’est peut-être ici une des meilleures applications qui en découle. Dans moins de 60 secondes s’apprêtait à se tenir la quatrième édition du CTF (Capture The Flag) organisé par Trace Labs, une organisation visant à récolter un grand nombre d’informations sur des personnes disparues par le biais d’évènements comme celui-ci. 

Plateforme du CTF (source : vidéo de présentation de Trace Labs)

Une quinzaines de profils sont déposés sur la plateforme dédiée, donnant les informations de bases sur les disparus : nom, prénom, âge, date de naissance, taille, poids, date à laquelle la personne a été vue pour la dernière fois, et parfois des détails concernant sa disparition, comme les personnes avec qui elle est suspectée se trouver. De là, les participants ont 6 heures (de minuit à 6h du matin en France, horaires américains obligent) pour réunir un maximum d’informations sur ces profils, toutes accessibles exclusivement en sources ouvertes. Pas de prise de contact possible avec les membres de la famille et amis ; pas de hack ; pas de récupération d’informations via des sites de médias, légaux, ou en lien direct avec la disparition de la personne (faciles à trouver et pas de valeur ajoutée).

Les données récoltées sont ensuite déposées sur la plateforme du CTF, qui permet d’attribuer des points suivant le contenu : informations sur les amis, 10 points ; informations sur la famille, 20 points ; réseaux sociaux du sujet, 50 points ; détails sur le jour de sa disparition, 500 points ; données trouvées sur le Dark Web, 1000 points, etc. . 

Si la conversion « données sur une vie humaine/points » surprend de prime abord, on comprend vite que le but derrière n’est pas de prendre à la légères ces vies. Il s’agit simplement de donner une dynamique aux recherches, motivées non seulement par la volonté de contribuer à un projet utile et de grande ampleur, mais aussi de trouver un maximum d’informations en un temps limité avec la volonté de se dépasser soi-même – et les autres – où chaque nouveau point gagné s’accompagne d’une montée d’adrénaline propre aux CTFs. Qui dit performance, dit plus de données de récoltées, dit plus de chances de retrouver les sujets disparus.

C’est  dans ce contexte que l’équipe d’OpenFacto a pris part à son premier CTF un dimanche matin en pleine période de confinement. 

Au cours de leurs recherches, un des membres de l’équipe s’est notamment heurté à une problématique à laquelle il n’avait pas l’habitude de se confronter : une des jeunes personnes dont il étudiait le profil présentait un tatouage dans le cou. Que faire du motif inscrit sur sa peau ?  Etait-il possible de faire le lien entre la disparue et une organisation quelconque ?

De l’identification des tatouages

Dans le cas étudié ici, un tatouage est visible dans le cou côté gauche du sujet. On peut observer le nombre « 112 » à l’encre noire, et ce qui pourrait apparaître comme le caractère ‘%’.

Photo floutée et retouchée de la personne portant le tatouage

Un tatouage pour les identifier tous


Si l’identité de la personne est connue dans le cas présent, lorsque l’on ne dispose que d’informations limitées sur un individu (ex : son physique), les tatouages font parti des signes distinctifs permettant d’aiguiller, parfois de manière significative, une enquête. On peut prendre ici l’exemple cité par Katelyn Bowden, fondatrice de la Badass Army qui se donne pour mission de lutter contre le revenge porn, narrant une de ses « premières expériences d’OSINT »  sur le podcast de la conférence d’OSINT et SE Layer 8.

Suite au vol de son sac à main par un homme portant un tatouage de mitrailleuse au visage, et du fait du manque de réactivité des autorités locales, elle décide de chercher par elle-même le malfaiteur. Pour ce faire, elle poste un message sur le groupe Facebook local de la ville. Toute l’astuce dans sa démarche est de ne pas avoir demandé de manière frontale si des gens connaissaient l’homme au visage tatoué. Au contraire, elle a pris le parti de simplement poster un message se lamentant des choix pathétiques de certaines personnes concernant le motif de leurs tatouages. Elle a ensuite demandé aux autres habitants si eux aussi avaient leurs propres exemples. Le commérage étant une activité particulièrement appréciée dans les petites communautés, Katelyn a rapidement reçu la réponse qu’elle attendait : une femme mentionnant le tatouage en forme de mitrailleuse sur le visage de son neveu. L’expérience décrite ici s’inscrit bien dans une démarche de récolte d’informations en source ouverte : le débat a certes été lancé par la victime du vol, mais l’agrégation de données s’est faite de manière passive, les gens postant d’eux-mêmes leurs messages sans qu’il n’y ait besoin de leur soutirer de manière active l’information.

Ce qu’il faut en retenir – outre le fait, comme le fait remarquer Katelyn, qu’un tatouage de mitrailleuse sur le visage n’est pas le meilleur moyen de rester discret – c’est que les tatouages sont clairement des signes distinctifs à prendre en compte dans une investigation. En plus de pouvoir plus facilement repérer la personne sur d’autres photos, ce détail permet, s’il est particulièrement original, d’identifier la personne – à condition de s’adresser à une communauté qui le connaît.


Des tatouages pour… en regrouper certains


C’est d’ailleurs aux communautés auxquelles nous allons nous intéresser dans cette partie. Suite aux interrogations concernant le tatouage cervical, un autre membre de l’équipe a rapidement aiguillé vers une page de l’ADL, Anti-Defamation League. Spécialisée dans les symboles utilisés par les suprémacistes blancs et autres hate groups, cette base de données regroupe ces symboles par catégorie (slogans, nombres, symboles neo-nazis, etc.), accompagnant parfois ces informations de photos illustratives. Constituée sous la forme d’un site disposant de filtres, cette page est particulièrement pratique pour la recherche de symboles très utilisés par ces groupes. A cela peut s’ajouter d’autres ressources, moins pratiques à utiliser car sous format PDF, mais qui ont le mérite de compléter la liste proposée par ADL. Le site de Public Intelligence met ainsi à disposition des documents publiés par diverses autorités américaines (et canadienne), certains portant sur les listes de tatouages surveillés par ces autorités. On trouve notamment :

Il est important toutefois de bien garder à l’esprit que ce genre de tatouage n’indique pas nécessairement l’appartenance d’une personne à un groupe quelconque à l’instant présent (cf. article de l’EFF, Electronic Frontier Foundation, au sujet de l’utilisation des tatouages en vue de l’identification d’un individu et de ses croyances/attachement à une organisation).

On notera au passage que si la culture populaire aurait tendance à associer les tatouages aux bandes criminelles organisées japonaises, les yakuzas, le port de tatouages n’a pas la même symbolique que dans des pays comme les États-Unis, le Mexique, etc.. Traditionnellement, les yakuzas n’ont pas de « tatouages de gangs » à proprement parler, il s’agit plus de la transcription d’expériences de vie à même la peau, comme l’explique un tatoueur interviewé par la BBC. L’article donne l’exemple d’un de ses contacts qui, ayant rencontré un certain nombre de difficultés dans sa jeunesse, a reçu un tatouage de carpe koï remontant le courant, témoignant de sa volonté et sa force à surmonter l’adversité. Ainsi, si les yakuzas avaient pour usage de se rencontrer dans les bains publics, ce n’était pas seulement pour s’assurer qu’aucun ne portait une arme sur lui – difficile de cacher une arme lorsqu’on ne porte pas de vêtements. Cela permettait également aux autres membres de voir les tatouages de chacun afin de se faire une idée de la personne qu’ils avaient face à eux. En bref : si les tatouages sur le sujet étudié vous donnent le sentiment qu’ils sont liés aux yakuzas, il s’agit de chercher la signification qui en découle plus que l’attachement à un gang particulier.

Retour sur le cas étudié


Via le site ADL, on peut voir que la chaîne de caractères « 112% » est affiliée à un motif suprémaciste blanc. Le « 100% » signifierait alors « 100% blanc », et le 12 correspondrait aux lettres « AB » comme « Aryan Brotherhood« . Cet élément a été soumis et accepté par les juges Trace Labs.

Retour d’expérience et conclusion

6h de recherches et quelques cannettes de boisson énergisante plus tard, l’équipe terminait 42ème sur 174 équipes, avec 56 soumissions de données.

Scoreboard final

Des enseignements les plus généraux que nos investigateurs ont pu tirer de cette expérience, il y a tout d’abord l’apprentissage de la gestion du bruit. En effet, si trouver des informations lorsque le sujet semble ne pas avoir de présence sur les réseaux sociaux s’avère ardue, évoluer dans un brouhaha de données l’est tout autant. Dans le cadre du CTF où les analyses portaient sur des personnes disparues, plusieurs profils nécessitaient en premier lieu de faire la part entre les comptes associés à la *disparition de la personne* et les comptes associés à la personne *elle-même*. A défaut de proposer une méthode pour écarter automatiquement ces comptes des recherches, l’équipe recommande de garder à l’esprit que certains comptes seront créés spécifiquement pour chercher la personne disparue. Si les commentaires sur ces comptes peuvent être regardés, une grande majorité ne sera que des expressions de compassion plus que des éléments utiles pour avancer dans l’enquête.

L’autre leçon à retenir s’est dévoilée en fin de parcours, quand la fatigue commençait à se faire sentir…


– J’ai trouvé ! J’ai trouvé son profil Linkedin, s’écria l’un des membres.
– Sérieux ? Bien joué, j’ai pas du tout eu le réflexe de chercher. En même temps, pour une jeune de 16 ans…
– Comment ça 16 ans ? Non, non, vu sa tête, elle a la trentaine bien tassée.
– Ah ? Pourtant sur sa fiche c’est noté 16 ans…


Même nom, même prénom, les deux photos représentant une femme typée hispanique… mais pas la même personne.
Le biais de confirmation, qui consiste à privilégier les informations qui nous confortent dans nos hypothèses, a été expérimenté par l’équipe ce soir-là. Rien de critique, puisque la confrontation des avis a permis de se dégager rapidement de ce biais cognitif. Il s’agit donc ici de se souvenir de l’importance de prendre du recul par rapport à ses recherches, soit en *adoptant* soi-même un autre point de vue, soit en *demandant* à une tierce personne son point de vue.


Enfin, concernant le CTF à proprement parler, les retours d’expériences principaux sont les suivants :

  • il semblerait que la réponse de base en cas de refus d’une donnée par les juges soit « manque de contexte« . L’équipe a interprété ce message comme étant signe que l’information n’était pas intéressante en soit, et pas nécessairement comme un élément à prendre au pied de la lettre – qui impliquerait la « recherche de plus de contexte » pour l’information considérée ;
  • bien penser à préparer son matériel avant le CTF, ce qui inclut notamment :
    • création de comptes dédiés (mails, Linkedin, Twitter, Facebook, TikTok, etc.) ;
    • environnement de travail dédié (VM, navigateur nettoyé des 1500 onglets ouverts en permanence le reste du temps, etc.) ;
    • outils et plugins fonctionnels sur l’environnement de travail ;
    • avoir sous la main des sites spécifiques aux US (@technisette propose sur sa page start-me un certain nombre de bases de données et moteurs de recherches dédiés à chaque pays) ;
  • bien communiquer avec le reste de l’équipe, et ne pas hésiter à être à deux sur un même sujet, afin de permettre un « jeu de ping-pong d’informations » ;
  • suivant ce à quoi l’investigateur carbure : prévoir plus de Guinness au frais, mais moins de boisson énergisante;
  • si le sujet reste moralement lourd (recherche de personnes disparues), l’aspect ludique choisi par Trace Labs permet de mettre cet aspect de côté pour se dédier entièrement aux recherches. L’expérience est enrichissante, et permet même aux novices de s’entraîner sur des cas réels, allant un peu plus loin dans leur formation OSINT. On peut mentionner à ce titre, moins « gamifié » mais également accessible à tous, la plateforme d’Europol « Stop child abuse – Trace an object », qui propose de chercher des informations sur des objets (vêtements, détails de décors) afin d’aider à faire avancer les enquêtes visant à retrouver à la fois les enfants abusés mais aussi les criminels.

Dimanche 12 avril, 6h01. Les membres de l’équipes se déconnectèrent un à un en vue d’aller trouver le repos après ces quelques heures de recherches intensives. Fatigués mais satisfaits de cette expérience, ils étaient unanimes quant à un objectif  : participer au prochain CTF de Trace Labs, en vue de récolter encore plus d’informations et contribuer à l’effort collectif  – et international – investi dans ces campagnes de recherches.

Merci à Mélanie d’avoir pointé à l’auteure le site de Public Intelligence qui s’est avéré bien utile pour la rédaction de cet article.