Je continue de publier des solutions envoyées pour un traitement ultérieur à partir du site HackTheBox . J'espère que cela aidera au moins quelqu'un à se développer dans le domaine de la sécurité de l'information. Dans cet article, nous travaillerons beaucoup avec FTP et DNS, nous utiliserons SQLi dans le service whois, et nous suivrons également les traces d'un autre hack, à savoir, nous trouverons un shell, sélectionnerons un paramètre et analyserons les logs et le vidage du trafic.La connexion au laboratoire se fait via VPN. Il est recommandé de ne pas se connecter à partir d'un ordinateur de travail ou d'un hôte où les données importantes pour vous sont disponibles, car vous vous retrouvez sur un réseau privé avec des personnes qui connaissent quelque chose dans le domaine de la sécurité de l'information :)Information organisationnelle, - , :
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, ,
Telegram . , ,
.
. , - , .
Recon
Cette machine a une adresse IP 10.10.10.155, que j'ajoute à / etc / hosts.10.10.10.155 scavenger.htb
Tout d'abord, nous analysons les ports ouverts. Puisqu'il faut beaucoup de temps pour analyser tous les ports avec nmap, je vais d'abord le faire avec masscan. Nous analysons tous les ports TCP et UDP à partir de l'interface tun0 à une vitesse de 500 paquets par seconde.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.155 --rate=500
Maintenant, pour des informations plus détaillées sur les services qui fonctionnent sur les ports, nous allons exécuter une analyse avec l'option -A.nmap -A scavenger.htb -p 21,22,25,43,53,80
À partir de la sortie de nmap, vous pouvez découvrir que les services FTP, SSH et SMTP s'exécutent sur l'hôte (disponible sous le domaine ib01.supersechosting.htb), également un service whois utilisant MariaDB DBMS (un autre nom de domaine est mis en évidence - www.supersechosting.htb ), service DNS et le serveur Web Apache.Ajoutez les domaines trouvés à / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb
Essayons de trouver plus de noms DNS. Essayons de faire un transfert de zone DNS en utilisant dig.dig axfr supersechosting.htb @10.10.10.155
Ajoutez les données d'entrée à / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb
Rendez-vous ensuite sur le service WHOIS, dont l'application principale est d'obtenir des données d'enregistrement sur les propriétaires de noms de domaine, d'adresses IP et de systèmes autonomes.
Étant donné que les bases de données SQL sont utilisées, nous enverrons une demande avec un devis et nous remarquerons une erreur générée par le service.
Ainsi, l'injection SQL est présente.
Tout d'abord, nous calculons le nombre de colonnes, ainsi que la colonne qui s'affiche pour l'utilisateur.
Nous obtenons donc le nombre de colonnes - 2, et ce qui est affiché en premier. Ensuite, nous découvrons les noms des tables et des colonnes.
Et maintenant, nous lisons tous les domaines que le service connaît.
Trouvez les nouveaux noms que nous ajoutons à / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb
Nous allons maintenant effectuer un transfert de zone à partir du nom trouvé.

Ainsi, en trouvant de nouveaux noms, nous complétons le fichier / etc / hosts10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb www.justanotherblog.htb www.pwnhats.htb www.rentahacker.htb sec03.rentahacker.htb
En contournant tous les sites, nous n'avons rien de significatif sauf un message de www.rentahacker.htb , dont nous concluons que le service a déjà été piraté.
Et en allant à sec03.rentahacker.htb, nous voyons une confirmation de cela.
Analyser les répertoires et les fichiers à l'aide de gobuster. Nous indiquerons le dictionnaire à partir de dirb, le nombre de threads est de 120, les codes de réponse du serveur d'intérêt sont également intéressants et le délai de réponse autorisé est de 20 secondes.gobuster dir -w /usr/share/wordlists/dirb/big.txt -t 120 -e -x php -u http://sec03.rentahacker.htb/ -s "200,204,301,302,307,401" --timeout 20s
Nous trouvons une page intéressante - shell.php, quand on y accède, rien ne se passe. Cela se produit très probablement, car nous accédons à la page sans paramètres. Trions les paramètres à l'aide de wfuzz, en spécifiant une liste dans les paramètres et le fait que le nombre de mots dans la réponse ne doit pas être 0.wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hw 0 http://sec03.rentahacker.htb/shell.php?FUZZ=id
Trouvez le paramètre, vérifiez-le.
Vérifiez le répertoire / home.
Regardez maintenant dans le répertoire personnel de l'utilisateur.
Nous examinons les configurations WordPress et obtenons le nom d'utilisateur et le mot de passe pour la connexion à la base de données.
Ce mot de passe ne correspondait pas à SSH, mais il est allé à ftp et il ne nous a rien donné. L'hôte dispose d'un service de messagerie, il est donc judicieux de vérifier les messages de l'utilisateur.
Et nous trouvons un autre titre. Téléchargez tout ce qui est sur FTP.wget -m --no-passive ftp://ib01ftp:YhgRt56_Ta@ftp.supersechosting.htb
Nous allons dans le répertoire dans lequel les fichiers sont téléchargés et voyons ce que nous avons. Il y a une note, un journal et un vidage de trafic.
Ouvrez Wireshark et voyez ce qui s'y trouve. A en juger par le journal, nous sommes intéressés par la session HTTP, voyons tous les objets HTTP: Fichier -> Exporter les objets -> HTTP.
À partir de tout ce qui a été présenté, enregistrez le code root.c
Ensuite, accédez à la fenêtre principale de Wireshark et vérifiez certaines informations d'identification. Nous avons donc trois requêtes POST, le mot de passe leur est transmis.
Ce mot de passe convient à l'authentification FTP.
Il y a aussi un étrange répertoire - "...". En elle gisait root.ko.
Analysons le code source.
Dès le début, il devient clair avec quel appareil nous avons affaire. Vérifiez si cet appareil est dans le système.
C'est vrai, il y a un appareil. Dans le code, nous nous intéressons à une fonction qui, après avoir vérifié la ligne d'entrée, fournira un accès au nom de l'utilisateur avec uid égal à 0, c'est-à-dire root.
Ouvrez maintenant le programme dans le décompilateur et recherchez la fonction root_write.
Le code est légèrement modifié et au lieu de la ligne g0tROot, la ligne correcte est g3tPr1v. Revenons au shell d'origine et après avoir obtenu les privilèges root, nous regarderons son répertoire personnel.
Nous prenons le drapeau.
Vous pouvez nous rejoindre sur Telegram . Créons une communauté dans laquelle il y aura des gens qui connaissent bien de nombreux domaines de l'informatique, puis nous pourrons toujours nous entraider pour tout problème informatique et de sécurité de l'information.