
Cette room se décompose en 3 parties :
- Website analysis
- Spot the flags
- Final stage
On va commencer par le commencement avec l’analyse du site web
Task 1 – Website analysis (10 minutes)
Le briefing de cette première tâche:
This task involves you, paying attention to details and finding the ‘keys to the castle’.
This room is designed for beginners, however, everyone is welcomed to try it out!
Enjoy the Anthem.
In this room, you don’t need to brute force any login page. Just your preferred browser and Remote Desktop.
Please give the box up to 5 minutes to boot and configure.
On démarre la machine, et on attends de (très) longues minutes qu’elle boot totalement (ils ont prévenus, ça peut prendre jusqu’à 5 minutes, chez moi ça s’est transformé en 8 minutes plutôt).
Alors on se fait couler un café (ou un thé, chocolat, diabolo, … , restons inclusif !).
Q1 – Let’s run nmap and check what ports are open.
La machine a (enfin) démarré, on exécute alors gentiment un scan nmap comme demandé explicitement par la question.

Q2 – What port is for the web server?
Sans grande surprise …
le port 80 !
Et pour confirmer tout ça, direction le navigateur web.

Q3 – What port is for remote desktop service?
Même sensation de surprise pour celui-ci, Jai nommé …
le port 3389 !
En même temps, nmap ne m’a trouvé que 2 ports ouverts, le 80 et le 3389, donc même sans savoir, il ne restait plus que lui.
Q4 – What is a possible password in one of the pages web crawlers check for?
Cette question nous donne l’ordre immédiat de vérifier le fichier robots.txt (puisqu’il s’agit du fichier lu par les robots d’indexation).

Le mot de passe probable est certainement :
UmbracoIsTheBest!
Q5 – What CMS is the website using ?
Au vue de l’arborescence et après une rapide recherche avec le terme umbraco qui revient régulièrement dans les pages à ne pas scanner par les robots, j’en déduis que le CMS en question est …
Umbraco !
Q6 – What is the domain of the website?
Difficile de le rater, le domaine est affiché de partout :
anthem.com
Q7 – What’s the name of the Administrator
Le nom de l’administrateur, je l’ai cherché bêtement de partout, avant de me rendre compte qu’il n’était pas nommé directement mais au travers du poème cité dans l’article « A cheers to our IT department » :
During our hard times our beloved admin managed to save our business by redesigning the entire website.
As we all around here knows how much I love writing poems I decided to write one about him:
Born on a Monday,
Christened on Tuesday,
Married on Wednesday,
Took ill on Thursday,
Grew worse on Friday,
Died on Saturday,
Buried on Sunday.
That was the end…
Une rapide recherche avec le texte de ce poème nous donne le nom de la personne ciblée par ce dernier :
Solomon Grundy
Q8 – Can we find the email address of the administrator?
Nous avons précédemment obtenu le nom/prénom de l’administrateur, ainsi que le nom de domaine du site.
Reste à trouver le format « standard » utilisé pour la création des adresses mail.
Pour cela, en se rendant dans le second article présent sur le blog (« We are hiring« ), on remarque que son autrice (Jane Doe) a laissé son adresse mail afin de pouvoir lui envoyer son CV : JD@anthem.com.
On en déduit que l’adresse mail de notre administrateur ne peut être que :
SG@anthem.com
Pour confirmer cette information, on se dirige vers la page permettant de s’identifier afin de configurer le CMS : /umbraco/
Bingo ! La connexion au panel d’administration se fait bien, ce qui confirme définitivement les identifiants récoltés.
On peut d’ores et déjà partir à la chasse aux flags !
Task 2 – Spot the flags (5 minutes)
Topo de la tâche :
Our beloved admin left some flags behind that we require to gather before we proceed to the next task..
On confirme alors qu’on est en chasse !
On nous a laissé un petit indice en en-tête des questions :
Anthem are hiring!
Cette indice me rappelle un article, pas vous ?
Q1 – What is flag 1?
On va commencer par aller voir l’article concerné par l’indice cité.
Pas de flag visible au premier coup d’œil, on se dirige vers les sources et là … pas 1 mais 2 flags !
Le premier se situe dans les métadonnées de la page :
THM{L0L_WH0_US3S_M3T4}

Q2 – What is flag 2?
Le second flag, trouvé en même temps que le premier, est caché dans le texte qui s’affiche dans la zone de recherche, mais invisible à cause des nombreux espaces présents entre le texte « légitime » Search…, et le flag lui-même :
THM{G!T_G00D}

Q3 – What is flag 3?
En allant ensuite voir la page de l’auteur, on trouve le 3ème flag, en lieu et place ce qui aurait du être un lien vers son site web :
THM{L0L_WH0_D15}

Q4 – What is flag 4?
Enfin, en allant jeter un coup d’oeil au second article, là encore rien de visible donc direction les sources et … le 4ème flag lui aussi caché dans les métadonnées (pas très original) :
THM{AN0TH3R_M3TA}

On a terminé notre récolte, on peut passer « final stage » !
Task 3 – Final stage (10 minutes)
Let’s get into the box using the intel we gathered.
Q1 – Let’s figure out the username and password to log in to the box.(The box is not on a domain)
Bon OK, là on part sur une question sans réponse, on doit « deviner » le nom d’utilisateur et le mot de passe à utiliser pour se connecter à la machine (via RDP sur le port 3389 je suppose).
La room est « simple », la question aussi puisque nous avons déjà obtenu les informations précédemment :
- Nom d’utilisateur : SG@anthem.com
- Mot de passe : UmbracoIsTheBest!
Q2 – Gain initial access to the machine, what is the contents of user.txt?
On nous parle d’accès initial à la machine, on utilise les identifiants obtenus lors de la tâche précédente, mais après avoir tout essayé et perdu un temps fou, pas moyen de se connecter à la machine.
Je relis alors les consignes et j’aperçois un détail que j’avais jusque là négligé dans l’intitulé de la première question : (The box is not on a domain)
On retente mais sans la notion de « domaine » avec les identifiants suivants :
- Nom d’utilisateur : SG
- Mot de passe : UmbracoIsTheBest!

It works !

Une fois connecté, on aperçoit le fichier racoleur demandé sur le bureau : user.txt.
On l’ouvre et on récupère le flag :
THM{N00T_NO0T}

Q3 – Can we spot the admin password?
A la recherche du mot de passe admin perdu (un bon titre si vous voulez mon avis).
Dans un premier temps, j’active l’affichage des fichiers cachés ainsi que des fichiers et dossiers système (ne sait-on jamais ce serait dommage de passer à côté du fichier pour si peu !
On se lance dans une navigation effrénée en commençant par le dossier de l’utilisateur courant, mais rien à se mettre sous la dent.
On poursuit en commençant par la racine du lecteur (C:), et là, on trouve un dossier intéressant :
backup
A l’intérieur, on retrouve un fichier énigmatique :
restore.txt
On essaie de l’ouvrir, mais là … un problème de droit d’accès.

On regarde ça de plus près.

En effet, personne n’a aucun droit d’accès à ce fichier.
On va alors essayer de corriger ce problème de droits.
Pour cela, on commence par ajouter le groupe recensant tous les utilisateurs (groupe Users).

Et on configure les droits de ce groupe en leur offrant le contrôle total (ne soyons pas pingres !).

On ouvre alors le fichier, et on récupère le mot de passe admin (qui n’est plus perdu ouf !) :
ChangeMeBaby1MoreTime

Q4 – Escalate your privileges to root, what is the contents of root.txt?
On nous demande ensuite d’élever nos privilèges afin de récupérer le contenu d’un fichier root.txt.
On lance alors un PowerShell en admin.

On saisi le mot de passe fraichement trouvé.

En me baladant dans les dossier de l’admin, je tombe sur le fichier root.txt sur son bureau
Et voici le dernier flag :
THM{Y0U_4R3_1337}

Retour d’expérience
La machine est assez simple, et on est relativement bien (trop?) guidé tout au long du challenge.
Conclusion
Une room classée comme « Easy » par TryHackMe, je confirme leur évalutation.
Le challenge est bouclé en moins de 30 minutes, malgré 2 points de blocage m’ayant fait perdre du temps « bêtement ».
Techniquement peu intéressant, mais un bon exercice pour débutant permettant de voir « en douceur » des sujets tels que la navigation dans les sources HTML ou de l’OSINT avec une recherche extérieure à la room.