Hack The Box. Walkthrough Scavenger. DNS, FTP et traces d'un autre hack

image

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

image

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

image

À 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

image

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.

image

É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.

image

Ainsi, l'injection SQL est présente.

image

Tout d'abord, nous calculons le nombre de colonnes, ainsi que la colonne qui s'affiche pour l'utilisateur.

image

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.

image

Et maintenant, nous lisons tous les domaines que le service connaît.

image

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é.

image

image

image

Ainsi, en trouvant de nouveaux noms, nous complétons le fichier / 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 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é.

image

Et en allant à sec03.rentahacker.htb, nous voyons une confirmation de cela.

image

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

image

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

image

Trouvez le paramètre, vérifiez-le.

image

Vérifiez le répertoire / home.

image

Regardez maintenant dans le répertoire personnel de l'utilisateur.

image

Nous examinons les configurations WordPress et obtenons le nom d'utilisateur et le mot de passe pour la connexion à la base de données.

image

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.

image

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

image

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.

image

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.

image

À partir de tout ce qui a été présenté, enregistrez le code root.c

image

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.

image

Ce mot de passe convient à l'authentification FTP.

image

Il y a aussi un étrange répertoire - "...". En elle gisait root.ko.

image

image

Analysons le code source.

image

Dès le début, il devient clair avec quel appareil nous avons affaire. Vérifiez si cet appareil est dans le système.

image

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.

image

Ouvrez maintenant le programme dans le décompilateur et recherchez la fonction root_write.

image

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.

image

Nous prenons le drapeau.

image

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.

All Articles