← Retour

RC Reverse Shell - aka Harassement Stick

Projet académique développé en C++ pour comprendre les mécanismes des implants hardware (Bad USB) et des reverse shells. Utilisation de microcontrôleurs simulant un clavier HID pour exécuter des commandes à distance. Ce projet avait pour unique but l'apprentissage de la cybersécurité offensive et défensive.

  • C++
  • Embarqué
  • Cybersécurité

⚠️ Avertissement & éthique

Projet réalisé uniquement à des fins d’apprentissage, en environnement contrôlé. L’objectif était de comprendre des techniques offensives afin de mieux s’en prémunir. Aucune consigne exploitable en situation réelle n’est fournie.

Contexte & objectifs

Projet à deux visant à explorer :

  • les vecteurs d’attaque physiques de type BadUSB (émulation HID),
  • l’établissement d’un accès à distance (reverse shell),
  • la persistance et la détection/élimination côté défense.

Le but était de développer un proof of concept pour renforcer nos compétences en sécurité offensive & défensive.

Architecture & fonctionnement (haut niveau)

  • Deux microcontrôleurs reliés par radio : un émetteur (bouton) et un récepteur (implant USB).
  • Le récepteur, branché discrètement au PC de test, se présente comme un clavier HID.
  • Sur déclenchement via l’émetteur, il automatise une courte séquence clavier pour ouvrir un terminal et établir une connexion vers un serveur d’écoute contrôlé.
  • Accès distant ensuite possible via ce canal.

Évolutions & sécurité

  • V1 : matériel volumineux, commande figée (non extensible).
  • Itérations : miniaturisation progressive du hardware ; logiciel généralisé.
  • Persistance : relance automatique après redémarrage.
  • Multi-cibles : capacité à gérer plusieurs machines de test et à sélectionner la session active.
  • Défense : création d’un outil de nettoyage rétablissant l’état initial de la machine.
  • Pistes étudiées : Miniaturisation encore plus poussée ; idée d’interface graphique pour piloter des scénarios de pentest prédefinis.

Compétences développées

  • C++ embarqué : drivers, timing, gestion radio, état/hôtes USB (HID).
  • Shell & automatisation : enchaînements commandés, robustesse des scripts.
  • Sécurité offensive & défensive : Persistance contrôlée, détection & remédiation**.
  • Conception itérative : co-conception hardware/software, miniaturisation, modularité.