Write-up: Spying Challenge 2019
Le Spying Challenge est une épreuve organisée la semaine précédente de l’événement “Le Hack”. Notre équipe des Jeunes de l’IHEDN a fini seconde. Je vous propose de découvrir ensemble les détails de ces épreuves et les techniques que nous avons mis en place pour les résoudre. L’épreuve démarre une semaine avant “Le Hack” par la réception de notre ordre de mission par mail.
La mission
Chers agents, Vous n’êtes pas sans savoir que le mouvement des Bérets Jaunes a pris une ampleur considérable dans notre pays ces derniers mois. Notre service n’est pas habilité à commenter le bien-fondé de ses revendications. Néanmoins, des soupçons pèsent sur certains de ses cadres, et en particulier sur son service d’ordre, chargé d’assurer la sécurité lors des manifestations. Des informateurs nous ont fait part de projets qui se fomenteraient au sein de l’entreprise qui assure ce service d’ordre. Des projets d’une grande gravité, qui porteraient atteinte aux institutions les plus éminentes de notre pays.
Vous êtes donc chargés d’enquêter sur cette entreprise, dont le site est Lictor.fr, et sur ses employés. Nous souhaitons absolument tout connaître de cette organisation (ses activités, la vie de ses employés, leur mobilité géographique, etc.) qui semble préparer des actions d’éclat pour nuire à notre République Démocratique ™. Nous vous chargeons également de surveiller le dénommé Gustave Leproleau, l’un des fondateurs des Bérets Jaunes et personnage public, qui semble entretenir une relation ambiguë avec cette entreprise. En revanche, il est inutile d’enquêter sur cette personne : il s’agit de l’agent Dupont en mission d’infiltration.
Le service vous laisse une semaine pour rassembler un maximum d’informations sur vos cibles et nous rédiger un dossier complet des méthodes utilisées et des informations trouvées. N’hésitez pas également à nous faire parvenir tout annexes qui pourraient être intéressants (enregistrement de conversations audios…) Envoyez-nous votre rapport à contact@spyingchallenge.com avant le jeudi 4 juillet, 18h00. Votre mission commence immédiatement.
Ne nous décevez pas.
Agent Dupont et Agent Martin.
P.S. Le service vous rappelle que :
- Vous n’avez pas le droit de “doxxer” les acteurs qui mettent leur temps à disposition pour vous permettre de participer au challenge.
- Il est interdit d’envoyer des charges malveillantes (malware, etc.).
- Vous devez utiliser uniquement des techniques d’OSINT, de GEOINT et de social engineering par téléphone ou par mail/chat.
- Cette étape se fait entièrement à distance : il n’y a pas de déplacement à effectuer.
- RESPECTEZ LA LOI !
Semaine de renseignements
Nous voici avec nos objectifs :
- L’entreprise Lictor
- Le leader des bérets jaunes et maintenant bérets tout court Gustave Leproleau
Il faut désormais réunir le maximum d’informations en sources ouvertes ou bien en social engeenering. C’est à dire que nous ne pouvons pas utiliser de techniques offensives (intrusions informatiques ou physiques). Notre équipe étant constituée de 4 personnes, nous essayons de séparer nos actions dans un premier temps. La moitié va chercher des informations sur Gustave pendant que l’autre s’affaire sur Lictor.
Lictor
Nous avons accès au site web de l’entreprise, nous allons donc nous rendre dessus mais avant nous allons collecter quelques informations techniques avant notre première connexion. Avec le nom de domaine, nous lançons une requête whois pour obtenir des informations autours du nom de domaine.
whois lictor.fr
%%
%% This is the AFNIC Whois server.
%%
%% complete date format : YYYY-MM-DDThh:mm:ssZ
%% short date format : DD/MM
%% version : FRNIC-2.5
%%
%% Rights restricted by copyright.
%% See https://www.afnic.fr/en/products-and-services/services/whois/whois-special-notice/
%%
%% Use '-h' option to obtain more information about this service.
%%
%% [80.12.63.94 REQUEST] >> -V Md5.2 lictor.fr
%%
%% RL Net [##########] - RL IP [#########.]
%%
domain: lictor.fr
status: ACTIVE
hold: NO
holder-c: ANO00-FRNIC
admin-c: ANO00-FRNIC
tech-c: OVH5-FRNIC
zone-c: NFC1-FRNIC
nsl-id: NSL40801-FRNIC
registrar: OVH
Expiry Date: 2020-04-24T08:44:42Z
created: 2019-04-24T08:44:42Z
last-update: 2019-06-12T17:33:41Z
source: FRNIC
ns-list: NSL40801-FRNIC
nserver: dns17.ovh.net
nserver: ns17.ovh.net
source: FRNIC
registrar: OVH
type: Isp Option 1
address: 2 Rue Kellermann
address: 59100 ROUBAIX
country: FR
phone: +33 8 99 70 17 61
fax-no: +33 3 20 20 09 58
e-mail: support@ovh.net
website: http://www.ovh.com
anonymous: NO
registered: 1999-10-21T12:00:00Z
source: FRNIC
nic-hdl: ANO00-FRNIC
type: PERSON
contact: Ano Nymous
remarks: -------------- WARNING --------------
remarks: While the registrar knows him/her,
remarks: this person chose to restrict access
remarks: to his/her personal data. So PLEASE,
remarks: don't send emails to Ano Nymous. This
remarks: address is bogus and there is no hope
remarks: of a reply.
remarks: -------------- WARNING --------------
registrar: OVH
changed: 2019-04-24T08:45:50Z anonymous@anonymous
anonymous: YES
obsoleted: NO
eligstatus: not identified
reachstatus: not identified
source: FRNIC
nic-hdl: ANO00-FRNIC
type: PERSON
contact: Ano Nymous
remarks: -------------- WARNING --------------
remarks: While the registrar knows him/her,
remarks: this person chose to restrict access
remarks: to his/her personal data. So PLEASE,
remarks: don't send emails to Ano Nymous. This
remarks: address is bogus and there is no hope
remarks: of a reply.
remarks: -------------- WARNING --------------
registrar: OVH
changed: 2019-06-12T17:33:36Z anonymous@anonymous
anonymous: YES
obsoleted: NO
eligstatus: not identified
reachstatus: not identified
source: FRNIC
nic-hdl: OVH5-FRNIC
type: ROLE
contact: OVH NET
address: OVH
address: 140, quai du Sartel
address: 59100 Roubaix
country: FR
phone: +33 8 99 70 17 61
e-mail: tech@ovh.net
trouble: Information: http://www.ovh.fr
trouble: Questions: mailto:tech@ovh.net
trouble: Spam: mailto:abuse@ovh.net
admin-c: OK217-FRNIC
tech-c: OK217-FRNIC
notify: tech@ovh.net
registrar: OVH
changed: 2006-10-11T08:41:58Z tech@ovh.net
anonymous: NO
obsoleted: NO
eligstatus: not identified
reachstatus: not identified
source: FRNIC
De ce registre, nous n’obtenons que le nom de l’hébergeur OVH. Toutes les informations liées aux données personnelles qui pourraient nous être utiles sont anonymisées. Ceci peut être dû à une demande de l’administrateur ou bien à la suppression de ces informations dans le cadre du RGPD. Passons maintenant à l’analyse du contenu du site web. Celui-ci est assez sommaire. Avec des pages textuelles nous présentant les activités de Lictor, et une vidéo de présentation sur la page principale.
La vidéo est une présentation des activités de Lictor, avec des vues sur ces employés, ceci va nous permettre d’en identifier quelques-uns, et de collecter des informations sur Lictor. A partir du site Viméo qui héberge la vidéo, nous sommes en mesure de savoir que la vidéo a été posté via ParallelUploader le 11 juin 2019. En faisant des arrêts sur images, nous sommes en mesure d’identifier des éléments clefs. Par exemple à 00:36-00:37,
Nous voyons l’agent Dupond attaché avec un sac ou la mention “urban climbing” est présente. Suite à une recherche sur Google, nous retrouvons la marque de la salle de sport Arkose Genevois.
Quelques secondes plus tard nous voyons un garde équipé d’un gilet de combat camouflage Centrale-Europe et armé d’un fusil type M16. Le maintien de son arme laisse supposer une formation militaire (doigt sur la culasse et non la détente). Ce garde est par la suite présenté comme un expert en explosif.
C’est à partir d’une minute et onze seconde que nous allons identifier des informations intéressantes. Nous pouvons observer une porte au numéro 50 avec en reflet dans une vitre, un ensemble d’arches en briques.
Ces arches sont typiques d’un quartier aux environs de la gare de Lyon. Grace à Google maps, il est possible de retrouver la rue Dausmesnil. Le numéro 50 clairement visible sur la vidéo nous permet de confirmer l’adresse grâce à Google street.
A 01:21, une salle de gym secrète est présentée. En cherchant les salles de sports aux alentours du 50 avenue Dausmesnil, et en les vérifiant via Google Street Map, nous identifions le gymnase Dausmesnil au 74.
Par la suite dans la vidéo, nous identifions différents éléments comme un contrat avec l’entreprise colt, de l’outillage de laboratoire avancé, une voiture avec une plaque diplomatique macédonienne… Les informations collectées l’ont été uniquement par l’analyse de la vidéo, nos connaissances personnelles et Google Street. Nous avons également validé l’existence de Lictor en allant sur le site societe.com ou encore sur l’INPI pour voir si la marque été déposée. Pour compléter les informations collectées, nous avons appelé le standard téléphonique (le numéro était sur la page Linkedin de l’entreprise) à plusieurs reprises, en nous faisant passer à chaque fois pour une personne différente. Toutes les conversations sont enregistrées afin de les exploiter à posteriori. Nous y confirmerons les activités de Lictor à l’international, que les salaires sont très intéressants, qu’ils emploient d’anciens actifs et nous récupérons un RIB.
Les agents de Lictor
Puisque nous avons collecté des informations sur l’entreprise, nous allons maintenant nous intéresser à ses membres. A noter au préalable que certaines équipes concurrentes ont mis en place des faux profils sur les réseaux sociaux à titre de désinformations. Suites aux différents échanges avec les agents ou l’accueil de Lictor, il a été possible de les identifier.
La première personne que nous avons identifié fu Liliana Deloup. Ingénieure d’affaire elle s’occupe des relations commerciales et de la communication. En passant sur Twitter, nous identifions un compte à son nom. Il nous permettra d’identifier ses différents hobbies.
Nous nous servirons de ces hobbies lors de notre prise de contact pour établir une relation de confiance. Lors de ces échanges, nous apprendrons qu’elle a eu plusieurs relations avec ses collègues. Ceci pourra nous servir de levier pour un futur chantage.
Nous identifions ensuite Talisa Nala. Elle a un compte Linkedin et Instagram. Grâce à ce dernier, nous pouvons identifier qu’elle est en couple depuis peu.
Nous identifions d’autres membres de Lictor en suivant le même processus. Une analyse des réseaux sociaux, puis prise de contact avec les informations que nous avons collectées.
Gustave Leproleau
Gustave Leproleau est présenté comme l’ancien leader des bérets jaunes. Suite à une mésentente avec Lictor, il décide de se séparer pour monter le mouvement les bérets tout courts.
En parcourant les réseaux sociaux, nous tombons sur une chaîne Youtube. Quelques vidéos sont déjà présentes ainsi que les likes de Gustave Leproleau sur d’autres vidéos. On remarque que Gustave n’aime pas les réseaux sociaux et aime les bérets. Les premières vidéos sont des monologues où il présente son mouvement et analyse l’actualité. Pour analyser les images des vidéos, nous utilisons l’outil : Frame by Frame.
En écoutant les vidéos, nous sommes capables de collecter de nombreuses informations sur Gustave qui est un peu trop bavard. Par exemple il donne le nom de sa femme, son ancienne activité de fraiseur ou encore sa ville de naissance où habite sa grand-mère. Dans une autre vidéo, il utilise Google traduction pour transmettre son discours à l’international. La fin est un texte en français, indiquant à Ashley d’aller coucher son frère. On identifie ainsi le nombre d’enfants de Gustave et le nom de sa fille.
Durant la semaine du challenge, Gustave publie de nouvelles vidéos. Dans l’une d’elle il explique qu’il s’en va pour s’entraîner et se protéger de Lictor. Puis dans une autre bien plus intéressante, présente son camp d’entraînement. Il s’agit d’un grand appartement. Lors d’une prise de vue d’une fenêtre, une église apparaît.
N’étant pas expert dans l’architecture ecclésiastique, nous recherchons des informations jusqu’à aller dans une bibliothèque. C’est ainsi que nous identifions le grès rose qui compose la structure principale et que les éléments sur le toit s’appellent des tabatières ou lucarnes.
Lorsqu’on lance une recherche Google avec ces mots clefs, nous avons une liste d’églises situé en Alsace ou Lorraine. En décidant de limiter notre recherche à Strasbourg qui est une grande ville, nous limitons la recherche à une dizaine d’églises. En les parcourant, nous identifions l’église de Saint thomas. La ressemblance est frappante mais pour nous assurer que nous sommes sur la bonne église, nous réalisons un tour sur Google Street et nous envoyons un agent sur place pour prendre contact avec Gustave.
Nous avons eu le droit à un rappel à l’ordre car la prise de contact physique avant Le Hack était interdite dans les règles d’engagements. La supervision de notre agent fut quand même une expérience intéressante car nous avons dû le briefer rapidement sur le contexte et ce que nous attendions de lui.
Dans une autre vidéo, nous identifions une enseigne Paul Katz sur un bâtiment. Le GPS indique qu’il faudra tourner dans 1,3 km sur la plaine des boucher. Grâce à Google Maps, nous identifions l’adresse de l’entreprise. Puis avec la fonction itinéraire, nous pouvons confirmer que Gustave est bien en direction de l’église saint thomas qui est à environ 3 km.
La dernière vidéo intéressante s’intitule « séjour en Camargue ». Nous pouvons identifier le bas de caisse d’une voiture et sa plaque d’immatriculation. En utilisant un site d’historique des voitures, nous identifions que la voiture est de la marque Hyundai ainsi que son modèle L10.
Une autre information que nous cherchons à identifier est la localisation de Gustave. Une plaque avec impasse de l’église ainsi qu’un clocher vont nous servir. Les premières recherches sur Google sont infructueuses. Nous décidons de changer de stratégie et utilisons un référentiel de rue pour limiter nos recherches. Nous utilisons le fichier FANTOIR que fournit le gouvernement pour trouver une liste de villes où une impasse de l’église existe. Celui-ci est assez bien documenté pour une utilisation rapide. Un petit script python et nous limitons notre liste de 854 impasse de l’église en France à 29 dans le Bas-Rhin. Malheureusement le manque de temps nous empêchera de retrouver l’église.
## code to list "impasse de l'église" en camargue
import re, sys, os
with open("Fichier national FANTOIR (situation avril 2019) (1)\FANTOIR0419",'r') as file:
with open("Fichier national FANTOIR (situation avril 2019) (1)\listeIMP_camargue",'w') as output:
print("opening file")
counter=0
counter_impasse=0
for line in file:
counter+=1
#code camargue 13, 67
if re.search(r'^13.*IMP.*GLISE',line):
print(line,file=output)
counter_impasse+=1
print(counter)
print(counter_impasse)
La semaine touchant à sa fin, il est temps de rédiger notre rapport puis de le transmettre aux agents Dupond et Martin. Nous serons dans la soirée, si nous sommes qualifiés pour participer à la seconde étape du challenge.
Le Hack
Notre rapport envoyé aux agents Dupond et Martin, nous recevons quelques heures plus tard une confirmation qu’il est validé. Nous sommes donc qualifiés pour la phase suivante qui se déroulera le Samedi à l’événement Le Hack. Lictor a un stand sur place. Pour nous préparer nous avons pris des kits mains libre, du matériel de crochetage et nos ordinateurs avec des instances de KALI Linux.
Première épreuve: Repérage du stand Lictor
La première mission que nous avons reçu par mail est d’identifier les agents de Lictor qui sont sur place et de voler un des documents sur le stand. Nous décidons de nous séparer en deux équipes. Ceci nous permettra de ne pas être identifier par les agents de Lictor comme un seul et même groupe. Nous pourrons aussi avoir plusieurs tentatives de prises de contact. La première équipe réussit parfaitement sa mission. Elle obtient deux documents sur le stand, des cartes géographiques et identifie deux nouveaux membres: Brian et Jack Barell.
La seconde équipe viendra en complément valider les éléments obtenus et tentera de voir si un autre agent inconnu serait présent. Malheureusement nous n’obtiendrons pas de nouveauté.
Deuxième épreuve: échange avec le PDG de lictor
Nous avons rendez-vous avec les agents Dupond et Martin vers 10h pour rencontrer le PDG de Lictor. Le briefing est court, nous devons photographier le contenu du sac du PDG, échanger un CD à l’intérieur tout en collectant des informations sur lui sans compromettre notre position ou celle des agents Dupond et Martin. On nous fournit un stylo bic qui nous permettra de forcer la fermeture cadenassée. Nous avons un chrono de 8 minutes pour réaliser cette opération.
Pendant que le premier groupe prend contact avec la cible, nous nous déplaçons derrière lui. Toute la conversation du premier groupe sera enregistrée avec les téléphones comme élément de preuve. Pendant que son attention est portée sur ses interlocuteurs, le second groupe se charge de récupérer le sac. La fermeture éclair est rapidement perforée avec le stylo. Tandis que l’un vide le sac, l’autre prend le contenu en photo. Nous échangeons rapidement le CD, puis nous refermons le sac avant de le reposer à sa place. La seconde équipe se disperse et fait signe à la première que la mission est réussie. Lorsque le chrono s’achève, nous indiquons qu’il est l’heure de partir.
Cette étape réussie, il nous reste à rédiger notre rapport que nous enverrons avant d’aller manger.
Troisième épreuve: l’empoisonnement et les micros
Nous retrouvons les agents Martin et Dupond après une pause bien méritée. Nous avons juste le temps de nous ravitailler à un fastfood du coin et de faire rapidement le tour des stands du Hack. Nous allons encore devoir nous séparer. Une personne sera en charge d’empoisonner Jack Barell, il a identifié l’agent Dupond. Pour ne pas le compromettre, nous allons lui verser de la grenadine dans sa bière (empoisonnement fulgurant par dénaturation du goût). Le reste de l’équipe devra entrer dans une salle gardée pour y détecter des micros.
Nous repérons rapidement la cible de l’empoisonnement. La personne avec le tube de grenadine le suit pendant que le reste de l’équipe se dirige vers la salle. Une première personne de l’équipe se dirige vers le garde et commence la discussion. Nous lui proposons rapidement une bière qu’il accepte volontiers. La voie est libre, nous pénétrons dans la salle.
Pendant ce temps, Jack bouge. Il va s’asseoir sur un escalier. Notre agent se place derrière lui. Un moment d’inattention de Jack qui pose sa bière sur une marche, et la grenadine est versée dans le verre.
Dans la salle nous récupérons un petit appareil qui permet de détecter les micros. Nous faisons rapidement le tour de la pièce pour identifier 2 micros. Lorsque nous sommes proche d’un micro l’appareil va émettre un bip sonore. Il faut juste trouver où est le micro ensuite pour le désactiver. Un troisième micro était désactivé, nous avon s pas pu l’identifier avec le bipeur.
Mission accomplie, nous attendons le prochain rendez-vous pour le milieu de l’après-midi.
Quatrième épreuve: la filature
Nous nous retrouvons au point de briefing où les agents Dupond et Martin nous expliquent que la situation est catastrophique. Lictor sait qu’il a été compromis et décide de passer à l’action. Le personnel de Lictor va kidnapper Gustave Leproleau. Nous allons devoir les suivre à travers le Hack.
Nous connectons nos kits mains libres, et organisons une conférence téléphonique avec nos téléphones. Ceci nous permettra de rester en contact pendant la filature. Six membres du personnel de Lictor arrivent, après un rapide échange, ils se dispersent. Ne pouvant pas suivre tout le monde, nous nous focalisons sur les gros bras. Pendant près de 5 min, les déambulations vont bon train. Nous alternons nos cibles en fonction des déplacements mais nous arrivons à perdre de vue certains personnels malgré l’espace restreint.
Nous changeons rapidement notre stratégie en positionnant un élément fixe en hauteur. Il peut ainsi synchroniser l’équipe et apercevoir une majorité de l’espace. Nous avons des membres volants qui continuent de suivre les gros bras ou les angles morts de notre vigie. C’est après une dizaine minutes de déambulations que les membres de Lictor accostent Gustave avant de le kidnapper de force. Une petite photo et le tour est joué.
Mission réussie !!
Cinquième et dernière étape
A cette étape finale, nous ne sommes plus que 3 équipes en course. Notre mission et d’aller sauver Gustave Leproleau avant que les bourreaux effectuent leur sale besogne. On nous fournit une barrette à cheveux par personne.
Nous nous rendons en direction de la zone de kidnapping. Quand soudain surgissent 3 hommes cagoulés, qui prennent un membre au hasard, le pousse dans une pièce et le reste du groupe dans une autre.
Nous sommes attachés avec du scotch, un collier de serrage et des menottes. Nous avons 5 minutes pour nous libérer et ouvrir un coffre-fort qui est présent dans la pièce. L’équipe encadrante nous indique les gestes à effectuer car nous sommes un peu perdus. Si vous êtes intéressé par la technique voici une vidéo Youtube avec le geste.
Maintenant libre, nous devons ouvrir le coffre. L’équipe encadrante nous dis qu’il faut taper sur le coffre et tourner le verrou en même temps. On se relaie chacun notre tour car nous avons un peu de mal. Après plusieurs tentatives et quelques doigts éborgnés, nous arrivons à ouvrir le coffre 10 sec avant la fin du chrono.
N’étant pas présent dans l’autre salle, je ne peux pas vous indiquer ce qui s’y est passé. Le mystère restera complet ;)
Conclusion
Tout d’abord j’aimerai remercier l’équipe organisatrice qui nous a fait un superbe événement. Les profils étaient très réalistes et le montage des vidéos assez impressionnant. Même pendant le Hack, nous n’avons pas vu le temps passer et ce fut un réel plaisir d’y participer.
Le travail de l’équipe a été fabuleux. Pour des personnes qui ne s’étaient jamais rencontrées avant, nous avons eu une belle interaction.
Pour une première participation à ce genre de compétition, je suis assez surpris de notre résultat. Les compétences pour arriver en finale sont rapides à acquérir avec l’aide des organisateurs. Ce que je retiendrais c’est que nous n’avons pas besoin de beaucoup d’outils pour arriver à obtenir énormément d’informations de qualité. Par contre l’investissement en temps est très important pour réussir ce challenge.
Si je devais améliorer une chose dans ce challenge qui est déjà fantastique, ce serait la peur de se faire ‘prendre’ ou ‘identifier’. Même si l’adrénaline monte rapidement pendant les dernières phases, nous n’avions pas l’impression que nous pouvions perdre lors des phases d’ingénierie sociale ou bien de la filature.
En tout cas c’est avec plaisir que j’y participerai l’an prochain.