CAT5 Security's Engagement Preparation

Dans cette section, nous nous plaçons dans la peau d'un testeur d'intrusion travaillant pour CAT5 Security. Avant de participer à une mission réelle pour le client Inlanefreight, notre équipe souhaite évaluer notre maîtrise des shells et des payloads. Cette évaluation se présente sous la forme d'une série de défis conçus pour tester concrètement nos compétences.


🐚 Shell Basics

L'objectif ici est de prouver que nous savons obtenir un shell interactif sur une machine distante, que ce soit via une connexion bind ou reverse :

  • 📌 Bind Shell sur un hôte Linux : nous configurons la cible pour qu'elle écoute sur un port donné et que nous puissions nous y connecter depuis notre machine d'attaque.

  • 📌 Reverse Shell sur un hôte Windows : ici, nous déclenchons un shell depuis la cible vers notre machine d'attaque qui écoute.

Ces deux types de shell sont fondamentaux pour l'exploitation d'une cible.


💣 Payload Basics

Nous devons démontrer notre capacité à identifier, construire et utiliser des payloads efficaces :

  • 🎯 Lancer un payload depuis Metasploit (MSF) : utiliser les modules d’exploitation et de payloads de Metasploit pour obtenir un shell.

  • 🔍 Recherche et construction depuis un PoC sur ExploitDB : retrouver une preuve de concept publique et l’adapter pour exploiter la cible.

  • 🛠️ Création de payload personnalisé : être capable d'utiliser des outils comme msfvenom ou des scripts maison pour générer un payload adapté à la cible.


🪟 Obtenir un Shell sur Windows

En partant des résultats de reconnaissance fournis, nous devons :

  • Choisir ou concevoir un payload efficace.

  • L'exécuter de manière à obtenir un shell distant interactif.

  • Confirmer que l'accès est bien actif et stable.


🐧 Obtenir un Shell sur Linux

Sur le même principe que pour Windows :

  • Analyser les informations de reconnaissance.

  • Déterminer une vulnérabilité exploitable.

  • Utiliser un payload pour prendre la main sur la machine Linux.


🌐 Déployer un Web Shell

Cet exercice cible une application web :

  • Identifier une application et le langage associé (PHP, ASPX, JSP, etc.).

  • Utiliser un vecteur (upload de fichier, injection, etc.) pour y déployer un web shell.

  • Accéder à un shell via un navigateur.


🕵️ Détection de Shell ou de Payload

Il ne suffit pas de savoir attaquer. Il est également crucial de pouvoir :

  • Identifier la présence d'un payload ou d'un shell actif sur une cible.

  • Analyser les traces, processus, connexions réseau, ou fichiers suspects.


🎓 Défi Final

Pour clore ce module, un scénario complet met en pratique tous les acquis :

  • Sélection et création d’un payload.

  • Exploitation des hôtes fournis.

  • Obtention de shells interactifs.

  • Récupération des informations demandées pour valider le challenge.


Ce chapitre est à la fois une préparation aux épreuves techniques réelles et une véritable mise à l'épreuve de notre compréhension des concepts fondamentaux abordés dans le module Shells & Payloads.


Mis à jour