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 allons nous familiariser avec la conversion de texte en voix et trouver l'injection SQL dans l'API, envoyer un port via SSH et également effectuer RCE à l'aide du protocole Java Debug Wire pour le débogage à distance.
La connexion au laboratoire se fait via VPN. Il est recommandé de ne pas se connecter à partir d'un ordinateur professionnel 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 organisationnelleSurtout pour ceux qui veulent apprendre quelque chose de nouveau et se développer dans l'un des domaines de l'information et de la sécurité informatique, j'écrirai et parlerai des catégories suivantes:
- PWN;
- cryptographie (Crypto);
- technologies de réseau (réseau);
- reverse (Reverse Engineering);
- stéganographie (Stegano);
- recherche et exploitation des vulnérabilités WEB.
En plus de cela, je partagerai mon expérience en criminalistique informatique, analyse de logiciels malveillants et micrologiciels, attaques sur les réseaux sans fil et les réseaux locaux, réalisation de pentests et écriture d'exploits.
Afin que vous puissiez vous renseigner sur les nouveaux articles, logiciels et autres informations, j'ai créé une
chaîne dans Telegram et un
groupe pour discuter de tout problème dans le domaine de l'ICD. Aussi, je considérerai personnellement vos demandes, questions, suggestions et recommandations
personnelles et répondrai à tout le monde .
Toutes les informations sont fournies à des fins éducatives uniquement. L'auteur de ce document n'assume aucune responsabilité pour tout dommage causé à quelqu'un du fait de l'utilisation des connaissances et des méthodes obtenues à la suite de l'étude de ce document.
Intelligence
Balayage de port
Cette machine a une adresse IP de 10.10.10.163, que j'ajoute à / etc / hosts.
10.10.10.163 ai.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 1000 paquets par seconde.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.163 --rate=1000

Ensuite, vous devez collecter plus d'informations sur les ports connus. Pour ce faire, utilisez nmap avec l'option -A.
nmap -A ai.htb -p22,80

Comme indiqué dans le rapport nmap, SSH et un serveur Web s'exécutent sur l'hôte. En allant sur le site et en parcourant un peu les pages, nous sélectionnons la plus intéressante - dans le formulaire d'envoi d'un fichier WAV.

Mais juste au cas où, j'ai vérifié les répertoires avec gobuster. Dans les paramètres, spécifiez le nombre de flux 128 (-t), URL (-u), dictionnaire (-w) et extensions qui nous intéressent (-x).
gobuster dir -t 128 -u
ai.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html, php, conf, txt

La page db.php n'a rien donné, mais intelligence.php nous fournit des informations sur le site.

Le site utilise un interprète vocal. Autrement dit, le fichier que nous envoyons sera interprété en texte. Testons l'hypothèse avec l'
interpréteur de texte en ligne suivant
dans WAV .


Les hypothèses sont correctes - le site interprète le texte.
Point d'entrée
Pour une raison quelconque, j'étais sûr de SSTI, mais après l'échec, en nous souvenant de db.h, nous vous enverrons un devis. Mais l'envoi ne fonctionne pas, car le site utilise l'API, qui interprète les caractères différemment. La liste complète se trouve
ici .


Et nous obtenons l'erreur SQL. Maintenant, faites l'injection.
UTILISATEUR




Et de la même manière, nous obtenons le mot de passe.

Et avec les informations d'identification, nous nous connectons via SSH.

RACINE
Comme d'habitude, nous énumérons à l'aide du script LinEnum.

Après avoir vu la sortie du script, nous nous arrêtons à un processus intéressant qui s'exécute en tant que root - un programme Java.

Mais plus intéressant, le programme prend en charge une connexion au port 8000.

Ceci est également confirmé par la liste des substances actives.

Vous pouvez également voir qu'il utilise le Java Debug Wire Protocol (JWDB), un protocole de communication entre le débogueur distant et la JVM. Après avoir recherché les exploits, nous trouvons un
script qui aide à faire RCE .

Ce script prend comme argument l'adresse d'hôte, le port et la commande à exécuter.

Commençons par le port 8000.
ssh -L 8000:localhost:8000 alexa@10.10.10.163
Une console ssh standard s'ouvrira dans cette fenêtre, mais maintenant tous les appels vers le port 8000 de l'hôte local seront automatiquement transférés vers le port 8000 de la machine distante.
Vérifions: dans un autre terminal, nous essayons de nous connecter à ce port en utilisant jdb.

Depuis que la connexion passe, nous écrirons un shell inversé sur l'hôte, qui sera exécuté en équipe.

Exécutez le script téléchargé avec tous les paramètres nécessaires.

Et après le message concernant la commande exécutée avec succès, nous observons la connexion.

Comme vous pouvez le voir, nous avons obtenu un accès administratif.
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 pouvons toujours nous entraider pour tout problème informatique et de sécurité de l'information.