Leaderboard
Cybernight - Leaderboard
Category
Web
Description
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Soumettez un score Roombaverse Simulator avec votre propre compte
Note : vous devez télécharger et jouer à Roombaverse Simulator pour ce challenge.
Files
Roombaverse.exe
Difficulty
HARD
- Author: MrSheepSheep
Write up
Requêtes DNS et HTTPS
Alors en jouant au jeu du roomba simulator, on peut collecter 6 billes jaunes, et ce message apparait :
(PS : récupérer les 6 billes est déjà un challenge en soi avec son propre flag)
C’est exactement la première étape demandée dans la description, et ensuite ? ça ne soumet aucun score sur notre compte puisque nous ne spécifions à aucun moment notre compte à l’application.
On se doute donc que la soumission passe forcément par des requêtes web.
Si on flush notre DNS (ipconfig /flushdns
sur windows), ouvre wireshark, lance le simulator et réussi un score ; on remarque qu’une requête DNS est envoyée :
On ne voit pas la suite, parce que Wireguard chiffre le tout :
Man In The Middle
On peut donc tenter une stratégie qui évite de passer par le VPN du CTF : intercepter la requête en se faisant passer pour le serveur. Pour cette recette, il nous faut :
- Un nom de domaine local correspondant
- Un serveur HTTPS fonctionnel
Commençons par éditer notre fichier /etc/hosts
(Linux) / C:\Windows\System32\drivers\etc\hosts
(Windows) avec les droits administrateurs, et ajouter la ligne :
127.0.0.1 roombaverse.cybernight-c.tf
Ensuite, on crée un certificat avec sa clé pour avoir un serveur https fonctionnel :
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Désormais, on peut lancer un petit serveur https avec python :
from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl
httpd = HTTPServer(('localhost', 443), BaseHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket,
keyfile="cert/key.pem",
certfile='cert/cert.pem', server_side=True)
httpd.serve_forever()
Bien spécifier le port 443 !!!
On lance donc ledit serveur, puis on flush de nouveau le DNS, puis on lance le simulator, et gagnons le jeu Regardons ensuite notre console de serveur !
TIENS TIENS TIENS
On réinitialise notre DNS, on flush blabla, et on copie-colle la requête sur la bonne adresse, en remplaçant par son pseudo :
Et si on regarde notre profil :
CYBN{Roomba_In_Th3_M1ddle}