Linux, Networking & Security sont les domaines qui m’intéressent.
Utilisation normale des applications Web
Disons que les histoires sont stockées sous forme de fichiers .txt sur le serveur et lorsqu’une personne tape le nom de l’histoire « Story1 », le serveur traite le contenu du fichier Story1.txt et le renvoie sur la page Web.
Problème – si le site Web traite le contenu de l’histoire lui-même via son système sans que l’entrée de l’utilisateur ne soit filtrée quant aux personnages et aux commentaires qu’il peut recevoir.
Ex. Disons que cette application lit le contenu du fichier texte à l’aide de la commande « cat », c’est-à-dire que nous tapons le nom de l’histoire et qu’elle obtient l’histoire, lit la sortie et la renvoie à l’application Web.
Forme générale
Concaténation des commandes avec une entrée normale → si le contenu n’est pas filtré → le serveur donne la sortie normale avec la sortie des commandes concaténées.
Commençons maintenant avec notre défi d’aujourd’hui.
TryHackMe (TOP 10 OWASP [Task 5])
Si c’est la première fois que vous travaillez sur TryHackMe et que vous ne savez pas comment le configurer, consultez la section des ressources bonus à la fin.
Aller vers: https://tryhackme.com/room/owasptop10 → Tâche 5
BOOM!!! commande injectée
Mais que se passe-t-il si c’est une injection à l’aveugle ?
Injection aveugle – Si nous ne pouvons pas voir la sortie des commandes sur la page même si elle est vulnérable à l’injection de commandes.
Faites défiler pour continuer
Alors comment identifier ?
Nous pouvons envoyer un ping à notre machine kali à partir de la machine cible et essayer d’intercepter la demande à l’aide de Wireshark, puis nous pourrons peut-être voir les paquets que la machine cible envoie afin de nous envoyer un ping.
Testons-le :
- Ouvrez Wireshark (« $ sudo Wireshark ») et sélectionnez tun0 (pour la machine vulnérable)
2. Envoyez un ping à l’adresse IP de votre machine Kali.
3. Ping notre machine.
4. Wireshark et sortie d’application Web
(J’ai dû me reconnecter au VPN qui a changé l’IP de kali fournie par VPN en 10.10.177.137)
Si ce n’est pas une injection à l’aveugle
Solution Tâche5
1. Quel fichier texte étrange se trouve dans le répertoire racine du site ?
2. Combien y a-t-il d’utilisateurs non root/non service/non démon ?
Il y a 0 utilisateurs non root/non service/non démon sur cette machine
3. Sous quel utilisateur cette application s’exécute-t-elle ?
Tapez simplement whoami → www-data
4. Quelle est la configuration du shell de l’utilisateur ?
Le shell de l’utilisateur est défini comme →/usr/sbin/nologin
5. Quelle version d’Ubuntu est en cours d’exécution ?
18.04.4
6. Imprimez le MOTD. Quelle boisson préférée est affichée ?
Cherchez l’indice (car cette question est délicate)
Hmm, cela ressemble à un fichier pour moi, alors vérifions-le
En effet, c’est un fichier donc imprimons son contenu.
OWASPBWA
(Vulnerable Machine Link et vidéo de configuration dans les ressources bonus)
1. Exécuter PHP Reverse Shell
Utilisation normale :
Si nous faisons nslookupà l’intérieur de votre terminal
C’est presque le même que celui que nous obtenons dans notre application Web. Alors peut-être qu’il est vulnérable à l’injection de commande
BOOM!!! Injecté
Essayons maintenant d’établir un reverse shell avec le système cible
Comme tous les fichiers dans « ls » sont des fichiers .php, il est possible que le serveur Web s’exécute sur PHP et nous pouvons trouver des commandes shell inversées bash/PHP en ligne comme
(Création de l’objet socket, l’adresse IP est celle de notre machine kali et 1234 est le port de Kali Linux auquel nous voulons nous connecter. La 2ème partie de la commande est ce que nous voulons exécuter, dans notre cas elle nous dit d’exécuter le bash shell et exécuter en tant que commandes comme nous le voulons).
Mais d’abord, nous devons écouter toute connexion entrante et exécuter la commande sur la page Web et…
nc →netcat
lvp →pour que kali écoute sur n’importe quelle interface sur le port 1234.
Fait !!!!
2. Contournement du filtre d’entrée et exécution de la commande
Naviguez vers ce lien
Vous devriez voir quelque chose comme ça
Assurez-vous que le niveau de sécurité (dans le coin inférieur gauche) est réglé sur bas.
Utilisation normale :
Voici notre injection de commande
RÉGLEZ MAINTENANT LE NIVEAU DE SÉCURITÉ À MOYEN en allant à l’option Sécurité DVWA dans la colonne de gauche.
Il ne se passe rien 🙁 🙁 🙁
Vérifiez maintenant le code source (en bas à droite) pour savoir comment il est filtré.
Les deux symboles sont remplacés par ‘ ‘ alors que faire
On peut utiliser ‘&’
Qu’est-ce que ‘&’ dans le terminal ?
Hourra !!! nous l’avons fait
Articles Liés
1. Plus de 30 commandes Linux standard pour les utilisateurs débutants ou intermédiaires
2. Bug Bounty Hunting avec Burp Suite (Intercept, Repeater & Intruder)
3. Contrôle d’accès cassé (Tryhackme et Owaspbwa)
Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.
© 2022 Ashutosh Singh Patel