RDP monster-in-the-middle (mitm) et bibliothèque pour Python avec la possibilité de surveiller les connexions en direct ou a posteriori
PyRDP est un outil et une bibliothèque Python pour l'attaque de type Monstre-du-Milieu (MITM) sur le protocole RDP (Remote Desktop Protocol).
Il propose plusieurs outils :
PyRDP a été présenté en 2018 où nous avons démontré qu'il est possible de capturer un véritable acteur malveillant en action. Cet outil est développé en pensant à la fois aux cas d'utilisation des tests d'intrusion et de la recherche de logiciels malveillants.

PyRDP devrait fonctionner sur Python 3.7 et supérieur sur les plateformes x86-64, ARM et ARM64.
Cet outil a été testé sur Python 3.7 sous Linux (Ubuntu 20.04, 22.04), Raspberry Pi et Windows. Il n'a pas été testé sous macOS.
Deux techniques d'installation sont recommandées : via pipx ou en utilisant des conteneurs Docker.
L'installation à partir des sources ou la construction de vos propres conteneurs Docker est couverte dans la documentation de développement.
Assurez-vous d'abord d'installer les paquets prérequis (ceux-ci sont listés pour Ubuntu 22.04, vous devrez peut-être les adapter pour d'autres distributions). Nous proposons deux types d'installations : une complète et une allégée. Installez les dépendances en fonction de votre cas d'utilisation.```sh
sudo apt install python3 python3-pip python3-venv
build-essential python3-dev openssl
libegl1 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-keysyms1
libnotify-bin
libavcodec58 libavdevice58
sudo apt install python3 python3-pip python3-venv
build-essential python3-dev git openssl
Cela devrait installer les dépendances nécessaires pour exécuter PyRDP. Si vous choisissez d'installer sans les dépendances GUI ou de conversion vidéo, il ne sera pas possible d'utiliser `pyrdp-player` sans le mode sans tête (`--headless`) ou `pyrdp-convert` pour produire une sortie vidéo.
Assurez-vous d'avoir `pipx` installé. Sur Ubuntu 22.04 :```sh
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Assurez-vous que Python est installé. Le Python du Windows Store n'a pas fonctionné pour moi sur Windows 11. Nous recommandons d'installer Python via Scoop.```sh scoop install python # if not installed already scoop install pipx pipx ensurepath
Déconnectez-vous puis reconnectez-vous (pour mettre à jour votre PATH).
##### Autres OS
Pour installer `pipx` sur d'autres systèmes d'exploitation, voir ici : <https://github.com/pypa/pipx#install-pipx>
#### Installation
Pour profiter pleinement de PyRDP avec l'interface graphique QT et la possibilité de convertir les captures en vidéo :```sh
pipx install pyrdp-mitm[full]
Pour la version compacte destinée à être exécutée dans des environnements sans tête (serveurs, RaspberryPi):```sh pipx install pyrdp-mitm
Vous êtes prêt à démarrer ! Consultez les [instructions d'utilisation](#using-pyrdp).
### Utilisation de l'image Docker
C'est la méthode d'installation la plus simple si vous avez docker installé et fonctionnel.```sh
docker pull gosecure/pyrdp:latest
En alternative, nous disposons d'une image plus légère sans les dépendances GUI et ffmpeg. C'est la seule image fournie sur les plateformes ARM.```sh docker pull gosecure/pyrdp:latest-slim
Vous pouvez trouver la liste de toutes nos images Docker [sur la page DockerHub gosecure/pyrdp](https://hub.docker.com/r/gosecure/pyrdp/tags).
Le tag `latest` fait référence à la dernière version publiée tandis que le tag `devel` est l'image Docker construite à partir de notre branche `main`.
## Utilisation de PyRDP
### Utilisation du Monster-in-the-Middle PyRDP
Utilisez `pyrdp-mitm <ServerIP>` ou `pyrdp-mitm <ServerIP>:<ServerPort>` pour exécuter le MITM.