Dans ce write-up, nous verrons comment compléter Anonymous de TryHackMe, Un challenge CTF de niveau débutant qui requiert plusieurs techniques : nmap, ftp, lxd
Enumération
Commençons par un scan Nmap pour voir les ports ouverts puis un second sur ceux ouverts pour voir les services qui tournent dessus ainsi que le script par défaut de nmap sur ces ports
Dans ce scan nous trouvons que quatres ports sont ouverts :
21 : un service ftp vsftpd 2.08 ou +
22 : Un service ssh OpenSSH 7.6p1
139 : un service smb Samba
445 : un service smb Samba 4.7.6
Nous voyons que l'accès ftp en tant qu'anonymous est autorisé, et qu'il y a un dossier script
Nous récupérons 3 fichiers, to_do.txt, removed_files.log et clean.sh
Nous voyons que le to_do.txt ne servira pas à grand chose, un simple reminder
nous voyons dans le fichier log qu'un script, très probablement clean.sh à l'air de s'executer fréquemment
nous allons alors modifier clean.sh pour y ajouter un reverse shell le remettre dans le serveur ftp et attendre que le fichier soit executer par son propriétaire
ajoutons le reverse shell
Nous voyons que clean.sh ne perd pas ses droits d'éxécutions, parfait
configurons un listener sur le même port du reverse shell et attendons
Nous recevons bien la connexion, et pouvons récupérer le flag user,
Elevation de privilèges :
En tapant id je vois que l'utilisateur est dans le groupe lxd, je sais que nous pouvons abuser de ces privilèges de ce groupe pour devenir root ( cf gamingserver ctf)