L’Art d’utiliser un WebShell !

Read Time:3 Minute, 56 Second

A partir du moment où vous réussissez à placer un WebShell sur une machine cible, on peut dire que vous êtes bénis des dieux du Cybermonde. C’est beau, c’est pratique, ça passe sous les radars. Bref, c’est un WebShell !
Vous voulez savoir ce que c’est ? Comment on s’en sert ?

Allez, suivez le guide !


WebShell ça mère !

De quoi parle-t-on ?

Le webshell est un programme qui doit se upload sur la machine cible.
Plusieurs manières, soit grâce à une commande sur le site web qui permet d’upload du contenu.
Soit en utilisant une faille permettant l’upload de contenu.
Comme son nom l’indique, le webshell offre la possibilité d’obtenir un shell avec les droits de l’application l’ayant ouvert. Le plus souvent www-data.
Ils sont + ou – jolis en fonction.

Où en trouver ?

Pour ma part, je peux que vous conseiller de prendre les WebShell trouvables sur SecList
En fin de lignes, vous avez un backdoor_list. Celle-ci list tous les WebShell connus avec leur nom d’origine. Ceci permet de scanner un site et voir si un webshell serait déjà upload.
Si vous utilisez la distribution Kali, c’est par ici : /usr/share/webshells/

Pour le test qui va arriver, j’ai utilisé un webshell un peu spécial qui vient des Anonymous_Fox. Un groupe d’activistes à la retraite. Mais leur webshell est sympa et bien offusqué. Il n’est plus disponible et plus mis à jour. Une petite pépite à moi.

The TEST !

Pour ce test, je vais cibler la machine suivante : Root-Me du site TryHackMe

Cette machine a un page web de upload de contenu mal protégé. Allez, suivez le guide !

OWASP ZAP, la référence !

Le but n’est pas d’apprendre à utiliser ce logiciel. Juste faire de la découverte.

Le site avant brute force de dossier

Après avoir effectué une recherche de nouvelles pages non référencées au début, on découvre un dossier icons. Pas intéressant.

Mais on trouve un dossier /Upload avec une page et un dossier /Panel !! On y go !

Je vous montre les pages panel et uploads :

Panel
Uploads

On voit bien, qu’on a une possibilité d’upload et qu’on a le répertoire d’arrivé. On est d’accord, tout est parfait, on est sur une machine « easy ».

J’insère délicatement mon WebShell dans ton UpLoad

J’accélère en vous disant qu’insérer un .php est impossible. Je renomme mon webshell.php en .phtml
Et là sa passe.
Je passe le « je clique sur upload, je choisis mon plus beau webshell et je l’injecte délicatement« .
Et on découvre ensuite, notre webshell bien au chaud dans le dossier uploads.

The WebShell

Il est bien dur mon WebShell !

Bien évidemment, je clique sur le lien mis à disposition par moi même !

Le WebShell ouvert

On peut voir plein de chose.
Déjà, c’est un environnement à lui tout seul.
En haut à gauche les infos sur la machine, l’utilisateur etc…
Comme dit, c’est un shell avant tout.
Je vais donc me balader dans le serveur avec les droits de www-data
Un petit tour sur Sec. Info pour voir d’un coup d’oeil plein de choses intéressantes :

Vouah !

Me voilà à la racine. je vais aller dans le /tmp car j’y ai tous les droits.

Prend ton /tmp

Vous pouvez voir en bas à droite, on peut très facilement Upload un fichier. Trop facile.

Je te PEASS au cul

PEASS and love

Pour ceux qui ne connaissent pas, PEASS permet de faire un check-up rapide d’un environnement linux ou windows. Une fois uploadé, je l’exécute. Mais avant ça, je vais me mettre sur un vrai shell.
On va se faire un petit reverse shell facilement.
Je vais vous l’avouer, je voulais vous montrer le résultat avec la CVE-2021-4034 mais ça a été patché il y a peu. Mais ce n’est que parti remise !

Je te reverse tout ça

On va dans la catégorie Network.
C’est simple, une image vaut plus qu’une phrase :

Oublie pas de netcat avant !

Oubliez pas de netcat avant : nc -lvnp 31337

Trop facile !

Finish Him !

On va finir rapide maintenant, le but étant la présentation d’un WebShell en situation. Facile certes, mais en situation.
On met PEASS en x : chmod +x PEASS.sh

Et on l’exécute ! Pan !

GG BB

Le but ici n’étant pas de vous montrer la fin du CTF, mais je vous aurais bien fait avancer. Lisez bien le compte rendu de PEASS et vous aurez un début de réponse.

Conclusion

Un WebShell, quand on peut l’utiliser, c’est bien, c’est facile, c’est joli.
Ça fait pas le café mais si on s’en fait un, on peut le boire tranquillement.
Il en existe des milliers, on peut s’en créé un soi-même si on a les compétences requises, dans des langage variés.

Bref, j’ai utilisé un WebShell.

Happy
Happy
0 %
Sad
Sad
17 %
Excited
Excited
0 %
Sleepy
Sleepy
17 %
Angry
Angry
0 %
Surprise
Surprise
67 %