Skip to content

ShHaWkK/LD_PRELOAD_malware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LD_PRELOAD_malware

UZAN Alexandre
KHALIFA Julien

Attendus du projet

Avoir un malware basé sur la technique LD_PRELOAD qui permet d’extraire les clés SSH envoyées par les clients à un serveur openSSH.
Le scénario se basera en assumed breach, dans un premier temps avec le plus de droit possible (root sans mitigation), puis dans un second temps, un soin sera apporté sur le travail de portabilité, notamment à travers la réduction des privilèges des comptes (pas d’infection root mais en tant qu’utilisateur).
Une fois l’extraction de clé obtenue, au choix peut être réalisé par le groupe (ou l’étudiant) :

L’empêchement d’ouverture d’un fichier par le malware.
Un travail de furtivité en cachant les connexions ouvertes du malware vis à vis de la commande netstat -latepun.
Un travail d’anti forensic en supprimant des logs, d’abord en local, puis si le temps le permet, en spoofant les requêtes internet envoyées à des hôtes distants.
Il est attendu aussi un début de port knocking du côté du client (malware), permettant après avoir résolu la séquence, d’exécuter des commandes arbitraires.

Dans un même temps il est attendu d’avoir un serveur de commande et contrôle permettant :
D’enregistrer un malware auprès du C2, et donc de savoir qu’un hôte est infecté (en stockant quelques informations permettant une identification de l’hôte infecté). Une "API" permettant au malware de remonter les clés SSH de l’hôte et de l’utilisateur s’étant fait voler ses clés.
De plus un rapport sur les fonctionnements d’un linker, de LD_PRELOAD, et de comment marche un thread sous Linux, qui aille plus loin que la courte présentation faite en cours.

Pour la partie bonus, cf slides, les idées sont au choix et totalement libres tant qu’elles font développer du code en C et qu’elles sont relativement liées au sujet.

Dépendances

Installs :

  • sudo apt install libssl-dev : pour SSL
  • sudo apt install openssl
  • sudo apt install build-essential : pour GCC et MAKE

Compilation

  • sudo make

Déplacer port_knock.service : sudo mv port_knock.service /etc/systemd/system/
Renommer "utilisateur" avec le nom du compte de session

Fonctionnement du programme

Enregistrez et quitte

Recharge et Relance le service

  • sudo systemctl daemon-reload
  • sudo systemctl reset-failed port_knock.service
  • sudo systemctl start port_knock.service
  • sudo systemctl status port_knock.service

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published