Cyber ​​quête de l'équipe de support technique Veeam

Cet hiver, ou plutôt l'un des jours entre Noël catholique et le Nouvel An, les ingénieurs du support technique de Veeam étaient occupés à des tâches inhabituelles: ils ont recherché un groupe de pirates appelé Veeamonymous.



À propos de la façon dont les gars eux-mêmes ont trouvé et réalisé une véritable quête au travail, en réalité, avec des tâches "proches des combats", a déclaré Kirill Stetsko , ingénieur d'escalade .

"Pourquoi fais-tu ça?"

- De la même manière que les gens ont inventé Linux - juste pour le plaisir, pour leur propre plaisir.

Nous voulions bouger, et en même temps nous voulions faire quelque chose d'utile, quelque chose d'intéressant. De plus, il était nécessaire de soulager émotionnellement les ingénieurs de leur travail quotidien.

"Qui a suggéré ça?" Quelle idée était-ce?

- L'idée était notre manager Katya Egorova, puis le concept et toutes les autres idées sont nés ensemble. Pensé à l'origine pour faire un hackathon. Mais au cours du développement du concept, l'idée s'est transformée en quête, après tout, un ingénieur support technique est un type d'activité différent de la programmation.

Nous avons donc appelé des amis, des connaissances, des connaissances, différentes personnes nous ont aidés avec le concept - une personne avec T2 (deuxième ligne d'assistance - ndlr ), une personne avec T3, quelques personnes de l'équipe SWAT (équipe d'intervention rapide pour les cas particulièrement urgents - N.D.E. ). Ils se sont tous réunis, se sont assis et ont essayé de trouver des tâches pour notre quête.

- C'était très inattendu de tout savoir, parce que, pour autant que je sache, généralement les mécaniques de script élaborent les mécaniques de quête, c'est-à-dire que vous avez non seulement fait une chose aussi difficile, mais aussi par rapport à votre travail, à votre domaine d'activité professionnel.

- Oui, nous voulions non seulement faire du divertissement, mais «pomper» les compétences techniques des ingénieurs. L'échange de connaissances et de formation est l'une des tâches de notre département, mais une telle quête est une excellente occasion de laisser les gens «toucher» de nouvelles techniques en direct.

- Comment en êtes-vous arrivé à ces tâches?

- Organisez un brainstorming. Nous avions compris que nous devions faire des tests techniques, de manière à ce qu'ils soient intéressants et qu'ils apportent en même temps de nouvelles connaissances.
Par exemple, nous avons pensé que les gens devraient avoir la possibilité d'essayer de flairer le trafic, d'utiliser des éditeurs hexadécimaux, de faire quelque chose pour Linux et certaines choses légèrement plus profondes liées à nos produits (Veeam Backup & Replication et autres).

Le concept était également un élément important. Nous avons décidé de miser sur le thème des pirates, l'accès anonyme et une atmosphère de secret. Le masque de Guy Fawkes est devenu un symbole, et le nom est venu tout seul - Veeamonymous.

"Au début était le mot"


Pour susciter l'intérêt, nous avons décidé avant le début de l'événement d'organiser une entreprise de relations publiques sur le thème de la quête: ils ont accroché des affiches avec une annonce à notre bureau. Et quelques jours plus tard, secrètement de tout le monde, ils les ont peints avec des bombes aérosols et ont lancé un "canard", disent-ils, certains assaillants ont ruiné les affiches, même joint une photo avec une épreuve ...

- Alors tu l'as fait toi-même, c'est-à-dire l'équipe des organisateurs?!

- Oui, vendredi, à 9 heures, alors que tout le monde était déjà parti, nous sommes allés et avons dessiné une lettre verte "V" des ballons.) Beaucoup de participants à la quête n'ont pas deviné qui l'a fait - les gens sont venus vers nous et ont demandé qui avait ruiné les affiches ? Quelqu'un a pris cette question très au sérieux et a lancé une enquête complète sur ce sujet.

Pour la quête, nous avons écrit et des fichiers audio, des sons "déchirants": par exemple, lorsqu'un ingénieur se connecte à notre système [CRM de production], alors il y a un répondeur robot qui dit toutes sortes de phrases, de nombres ... Nous voici à partir de ces mots qu'il a enregistré, composé des phrases plus ou moins significatives, enfin, peut-être un peu de courbes - par exemple, nous avons obtenu «Aucun ami pour vous aider» dans un fichier audio.

Par exemple, nous avons représenté l'adresse IP en code binaire, tous, encore une fois, à l'aide de ces chiffres [prononcés par le robot], toutes sortes de sons effrayants ont été ajoutés. Ils ont tourné la vidéo eux-mêmes: dans la vidéo, nous avons un homme assis dans une cagoule noire et portant un masque de Guy Fawkes, mais en fait il n'y a pas une personne, mais trois, parce que deux se tiennent derrière lui et tiennent le «fond» de la couverture :).

- Eh bien, tu as été confus, pour être honnête.

- Oui, nous avons pris feu. En général, nous avons d'abord élaboré nos spécifications techniques, puis composé une toile littéraire et de jeu sur le sujet de ce qui se serait passé. Selon le scénario, les participants ont recherché un groupe de pirates appelé «Veeamonymous». L'idée était aussi que nous «brisions le 4ème mur», c'est-à-dire que nous transférons les événements à la réalité - par exemple, nous avons peint à partir d'un aérosol.

Avec le traitement de texte littéraire, nous avons été aidés par l'un des locuteurs natifs de l'anglais de notre département.

"Attendez, pourquoi le locuteur natif?" Tu as aussi tout fait en anglais?!

- Oui, nous l'avons fait pour les bureaux de Saint-Pétersbourg et de Bucarest, donc tout était en anglais.

Pour la première expérience, nous avons essayé de tout faire fonctionner, donc le script était linéaire et assez simple. Ajout de plus d'environnements: textes secrets, chiffres, images.



Nous avons également utilisé des mèmes: il y avait beaucoup de photos sur les sujets des enquêtes, des ovnis, des histoires d'horreur populaires - certaines équipes en ont été distraites, ont essayé d'y trouver des messages cachés, d'appliquer leurs connaissances de la stéganographie et d'autres choses ... mais, bien sûr, il n'y a rien de tel était.

À propos des épines


Cependant, dans le processus de préparation, nous avons été confrontés à des tâches inattendues pour nous-mêmes.

Ils se sont beaucoup battus et ont résolu toutes sortes de questions soudaines, mais quelque part environ une semaine avant la quête, ils pensaient généralement que tout était parti.

Il vaut probablement la peine de parler un peu de la base technique de la quête.

Tout a été fait sur notre laboratoire interne ESXi. Nous avions 6 équipes, ce qui signifie que nous devions allouer 6 pools de ressources. Ainsi, pour chaque équipe, nous avons déployé un pool séparé avec les machines virtuelles nécessaires (la même IP). Mais comme tout cela était sur des serveurs qui sont sur le même réseau, la configuration actuelle de nos VLAN ne permettait pas d'isoler les machines dans différents pools. Et, par exemple, lors d'un test, nous avons reçu des situations où une machine d'un pool se connectait à une machine d'un autre.

- Comment pouvez-vous régler la situation?

- Au début, nous avons pensé pendant longtemps, testé toutes sortes d'options avec des autorisations, des vLAN séparés pour les machines. En conséquence, nous l'avons fait - chaque équipe ne voit que le serveur Veeam Backup à travers lequel tous les travaux supplémentaires ont lieu, mais ne voit pas le sous-pool caché, dans lequel il y a:

  • plusieurs machines windows
  • Serveur principal Windows
  • Machine Linux
  • Paire VTL (Virtual Tape Library)

Tous les pools se voient attribuer un groupe distinct de ports sur le commutateur vDS et leur VLAN privé. Une telle double isolation est juste nécessaire pour éliminer complètement la possibilité d'interaction réseau.

À propos des courageux


- N'importe qui pourrait participer à la quête? Comment les équipes ont-elles été constituées?

- C'était notre première expérience dans l'organisation d'un tel événement, et les capacités de notre laboratoire étaient limitées à 6 équipes.

Tout d'abord, nous avons, comme je l'ai dit, tenu une entreprise de relations publiques: à l'aide d'affiches et de newsletters, nous avons informé que la quête serait menée à bien. Nous avons même eu quelques indices - des phrases en code binaire ont été cryptées sur les affiches elles-mêmes. Ainsi, nous avons intéressé les gens, et les gens étaient déjà d'accord entre eux avec des amis, avec des amis et ont coopéré. En conséquence, plus de bénévoles ont répondu que nous n'avions de pools, nous avons donc dû effectuer une sélection: nous avons proposé une tâche de test simple et l'avons envoyée à tous ceux qui ont répondu. C'était une tâche logique, il fallait la résoudre pour la vitesse.

L'équipe a autorisé jusqu'à 5 personnes. Le capitaine n'était pas nécessaire là-bas, l'idée était en coopération, en communication les uns avec les autres. Quelqu'un est fort, par exemple, sous Linux, quelqu'un est fort en teips (sauvegardes sur bandes), et tout le monde, en voyant la tâche, pourrait mettre ses efforts dans la solution générale. Tout le monde s'est parlé, a trouvé une solution.



- Et à quel moment cet événement a-t-il commencé? Avez-vous eu une "heure X"?

- Oui, nous avions une journée strictement programmée, nous l'avons choisie pour qu'il y ait moins de charge dans le département. Naturellement, les chefs d'équipe ont été informés à l'avance que telles et telles équipes étaient invitées à participer à la quête, et elles devaient être soulagées [concernant la charge] ce jour-là. Il semblait que ce devait être la fin de l'année, le 28 décembre, vendredi. Devrait prendre environ 5 heures, mais toutes les équipes ont fait face plus rapidement.

- Tout le monde était sur un pied d'égalité, est-ce que tout le monde avait les mêmes tâches basées sur des cas réels?

- Eh bien, oui, chacun des compilateurs a tiré des histoires personnelles de son expérience personnelle. Nous savions quelque chose que cela pouvait être en réalité, et il serait intéressant pour une personne de le «sentir», de le regarder, de le comprendre. Ils ont pris des choses plus spécifiques, par exemple, la récupération de données à partir de bandes endommagées. Quelqu'un avec des pourboires, mais la plupart des équipes se sont débrouillées seules.

Ou il fallait appliquer la magie des scripts rapides - par exemple, nous avions une histoire selon laquelle une certaine «bombe logique» «déchirait» une archive multi-volumes dans des dossiers aléatoires sur une arborescence, et il était nécessaire de collecter des données. Vous pouvez le faire manuellement - rechercher et copier [les fichiers] un par un, ou vous pouvez écrire un script par masque.

En général, nous avons essayé d'adhérer au point de vue selon lequel un problème peut être résolu de différentes manières. Par exemple, si vous êtes un peu plus expérimenté ou si vous voulez «vous embrouiller», vous pouvez le résoudre plus rapidement, mais il existe un moyen direct de le résoudre «front» - mais en même temps, vous passerez plus de temps sur la tâche. Autrement dit, presque chaque tâche avait plusieurs solutions, et il était intéressant de savoir quelles voies les équipes choisiraient. La non-linéarité était donc précisément dans le choix de l'option de solution.

Soit dit en passant, le problème Linux s'est avéré être le plus difficile - une seule équipe l'a résolu indépendamment, sans invites.

"Pourriez-vous prendre les indices?" Comment est cette quête ??

- Oui, il a été possible de prendre, car nous avons compris que les gens sont différents, et ceux qui manquaient de connaissances pouvaient faire partie de la même équipe, afin que nous ne perdions pas le passage et l'intérêt concurrentiel, nous avons décidé que nous allions conseils. Pour cela, chaque équipe a été surveillée par une personne des organisateurs. Eh bien, nous nous sommes assurés que personne ne triche.



À propos des étoiles


- Et il y avait des prix pour les gagnants?

- Oui, nous avons essayé de faire les prix les plus agréables à la fois pour tous les participants et pour les gagnants: les gagnants ont reçu des pulls molletonnés de créateur avec le logo Veeam et une phrase chiffrée dans un code hexadécimal, noir). Tous les participants ont reçu un masque Guy Fawkes et un sac d'entreprise avec un logo et le même code.

- Autrement dit, vous aviez tout comme dans une vraie quête!

- Eh bien, nous voulions faire une chose cool et adulte, et il me semble que nous l'avons fait.

- C'est vrai! Et quelle a été la réaction de ceux qui ont participé à cette quête? Avez-vous atteint les objectifs?

- Oui, beaucoup sont venus plus tard, ont dit qu'ils voyaient clairement leurs faiblesses et voulaient les relever. Quelqu'un a cessé d'avoir peur de certaines technologies - par exemple, vider des blocs de tip et essayer de faire quelque chose ... Quelqu'un a réalisé qu'il avait besoin de resserrer Linux, et ainsi de suite. Nous avons essayé de donner un éventail assez large de tâches, mais pas tout à fait trivial.


Équipe des gagnants

"Celui qui veut réussira!"


- Est-ce que ceux qui ont préparé la quête ont demandé beaucoup d'efforts?

- Généralement oui. Mais cela était très probablement dû au fait que nous n'avions aucune expérience dans la préparation de telles quêtes, de telles infrastructures. (Nous ferons une réservation que ce n'est pas notre véritable infrastructure - il fallait simplement effectuer une sorte de fonctions de jeu.)

Ce fut une expérience très intéressante pour nous. Au début, j'étais sceptique, car l'idée me semblait encore trop cool, je pensais que c'était très difficile à mettre en œuvre. Mais ils ont commencé à faire, ils ont commencé à labourer, ils ont tous commencé à prendre feu, et à la fin nous l'avons fait. Et il n'y avait même presque pas de superpositions.

En général, nous avons passé 3 mois. Pour la plupart, nous avons trouvé un concept, discuté de ce que nous pouvons mettre en œuvre. Dans le processus, bien sûr, quelque chose a changé, car nous avons compris que pour une raison quelconque, nous n'avions pas la capacité technique de le faire. En route, j'ai dû refaire quelque chose, mais pour que toute la toile, l'histoire et la logique ne se cassent pas. Nous avons essayé non seulement de donner une liste de tâches techniques, mais de la faire entrer dans l'histoire, d'être cohérente et logique. La plupart des travaux du mois dernier, c'est-à-dire 3-4 semaines avant le jour X.

- Alors, en plus de votre activité principale, avez-vous pris le temps de vous préparer?

- C'est ce que nous avons fait en parallèle avec le travail principal, oui.

"On vous demande de recommencer?"

- Oui, nous avons de nombreuses demandes à répéter.

- Tu es quoi?

- Nous avons de nouvelles idées, de nouveaux concepts, nous voulons attirer plus de gens et les étirer dans le temps - à la fois le processus de sélection et le processus de jeu lui-même. En général, nous sommes inspirés par le projet Cicada, il peut être google - c'est un sujet informatique très cool, là-bas des gens du monde entier se réunissent, démarrent des branches sur les forums reddit, ils utilisent des traductions de chiffrement et résolvent des énigmes, et tout ça.

- L'idée était géniale, juste le respect de l'idée et de la mise en œuvre, car elle vaut vraiment beaucoup. Je vous souhaite sincèrement de ne pas perdre cette inspiration, afin que tous vos nouveaux projets soient également couronnés de succès. Je vous remercie!



- Oui, mais il sera possible de regarder un exemple de tâche que vous ne réutiliserez certainement pas?

- Je soupçonne que nous n'en réutiliserons pas. Par conséquent, je peux vous parler du déroulement de toute la quête.

Piste bonus
Au tout début, les joueurs ont le nom de la machine virtuelle et les informations d'identification de vCenter. Connecté, ils voient cette voiture, mais elle ne démarre pas. Ici, vous devez deviner que quelque chose ne va pas avec le fichier .vmx. Après l'avoir téléchargé, ils voient l'invite nécessaire pour la deuxième étape. En fait, il indique que la base de données utilisée par Veeam Backup & Replication est cryptée.
Après avoir supprimé l'invite, après avoir téléchargé le fichier .vmx et après avoir allumé la machine, ils voient que sur l'un des disques se trouve vraiment une base64 cryptée en base64. En conséquence, la tâche consiste à le décrypter et à obtenir un serveur Veeam entièrement fonctionnel.

Un peu sur la machine virtuelle sur laquelle tout cela se produit. Comme nous nous en souvenons, dans l'histoire, le personnage principal de la quête est une personne plutôt sombre et engagée dans quelque chose qui n'est clairement pas trop légal. Par conséquent, son ordinateur de travail devrait avoir une apparence de pirate informatique, que nous avons dû créer, bien que ce soit Windows. La première chose a été ajoutée à de nombreux accessoires tels que des informations sur les principaux hacks, les attaques DDoS, etc. Ensuite, ils ont installé tous les logiciels typiques et ont disposé partout différents vidages, fichiers avec hachages, etc. Tout est comme dans un film. Entre autres choses, il y avait des dossiers nommés selon le principe du dossier fermé *** et du dossier ouvert ***
Pour aller plus loin, les joueurs doivent restaurer les info-bulles des fichiers dans les sauvegardes.

Ici, je dois dire qu'au début, les joueurs ont reçu beaucoup d'informations, et la plupart des données (comme IP, identifiants et mots de passe) qu'ils reçoivent pendant la quête, trouvant des indices dans les sauvegardes ou les fichiers dispersés sur les machines. Initialement, les fichiers de sauvegarde se trouvent sur le référentiel Linux, mais le dossier sur le serveur lui-même est monté avec l'indicateur noexec , de sorte que l'agent responsable de la restauration des fichiers ne peut pas démarrer.

Après avoir réparé le référentiel, les participants ont accès à tout le contenu et peuvent enfin restaurer toutes les informations. Reste à comprendre lequel. Et pour cela, il leur suffit d'étudier les fichiers stockés sur cette machine, de déterminer lesquels sont «cassés» et ce qui doit être exactement restauré.

À ce stade, le script passe des connaissances informatiques générales aux fonctionnalités Veeam spécifiques.

Dans cet exemple particulier (lorsque vous connaissez le nom du fichier mais ne savez pas où le chercher), vous devez utiliser la fonction de recherche dans Enterprise Manager, etc. En conséquence, après avoir restauré toute la chaîne logique, les joueurs ont une connexion / mot de passe et une sortie nmap supplémentaires. Cela les conduit au serveur Windows Core, et par RDP (pour que la vie ne semble pas être du miel).

La principale caractéristique de ce serveur: à l'aide d'un script simple et de plusieurs dictionnaires, une structure absolument vide de dossiers et de fichiers s'y est formée. Et lorsque vous vous connectez, vous recevez un message de bienvenue sous la forme "Une bombe logique a explosé ici, vous devrez donc rassembler les conseils pour les prochaines étapes en morceaux."

L'indice suivant a été divisé en une archive en plusieurs volumes (pièces 40-50) et disposés au hasard dans ces dossiers. Notre idée était que les joueurs devraient montrer leurs talents dans l'écriture de scripts PowerShell simples afin de collecter une archive multi-volumes et d'obtenir les données requises à l'aide d'un masque bien connu. (Mais il s'est avéré que dans cette blague - certains des sujets étaient inhabituellement développés physiquement.)

Les archives contenaient une photo de la cassette (avec l'inscription «Last Supper - Best Moments»), qui faisait allusion à l'utilisation de la bandothèque connectée, où il y avait une cassette avec un nom similaire. Voici un seul problème - il s'est avéré être tellement inutilisable qu'il n'a même pas été catalogué. Ici, la partie la plus hardcore de la quête a probablement commencé. Nous avons effacé le titre de la cassette, donc afin d'en récupérer les données, il vous suffit de vider les blocs «bruts» et de les visualiser dans l'éditeur hexadécimal pour trouver les marqueurs du début des fichiers.
Nous trouvons le marqueur, regardons l'offset, multiplions le bloc par sa taille, ajoutons l'offset et en utilisant l'outil interne essayons de restaurer le fichier à partir d'un bloc spécifique. Si tout est fait correctement et que les calculs se sont réunis, les joueurs ont un fichier .wav entre les mains.

Dans ce document, à l'aide d'un générateur de voix, entre autres, un code binaire est dicté, qui est révélé dans une autre IP.

Il s'avère que c'est un nouveau serveur Windows, où tout indique la nécessité d'utiliser Wireshark, mais il n'est pas là. L'objectif principal est qu'il y a deux systèmes installés sur cette machine - seul le disque du second est déconnecté hors ligne via le gestionnaire de périphériques, et la chaîne logique conduit à la nécessité d'un redémarrage. Après quoi, il s'avère que par défaut, un système complètement différent doit être chargé là où Wireshark est installé. Et pendant tout ce temps, nous étions sur l'OS secondaire.

Il n'y a rien de spécial à faire ici, activez simplement la capture sur une seule interface. Avec un examen relativement attentif du vidage, un paquet clairement laissé est envoyé à partir de la machine auxiliaire à intervalles réguliers, dans lequel il existe un lien vers la vidéo youtube, où les joueurs sont invités à appeler un numéro spécifique. Le premier appelant écoute les félicitations pour la première place, le reste - une invitation aux RH (blague)).

Soit dit en passant, nous avons des postes vacants pour les ingénieurs du support technique et pour les stagiaires. Bienvenue dans l'équipe!

Source: https://habr.com/ru/post/fr445548/


All Articles