
Un scanner Python PrintNightmare (CVE-2021-34527). Analyse des sous-réseaux entiers à la recherche d'hôtes vulnérables à la RCE PrintNightmare.
Un scanner Python pour CVE-2021-34527 (alias PrintNightmare). Vous permet de scanner des sous-réseaux entiers pour le RCE PrintNightmare (pas le LPE) et génère un rapport CSV avec les résultats. Teste l'exploitabilité via MS-PAR et MS-RPRN.
Cet outil contient des versions « défanguées » des exploits Python, il n'exploite pas réellement les hôtes mais utilise les mêmes appels RPC vulnérables utilisés lors de l'exploitation pour déterminer si les hôtes sont vulnérables.
Mise à jour du 7 juillet 2021 : Cela vérifie également si les hôtes sont vulnérables en utilisant le contournement UNC découvert par @gentilkiwi
Point de vue, essayer de déterminer si quelque chose est vulnérable à PrintNightmare :

Au moment de la rédaction, le nombre de variables qui déterminent si une machine est vulnérable est fou et déroutant.
Cet outil a actuellement besoin du fork Impacket de cube0x0 contenant l'implémentation MS-PAR nécessaire pour l'une des vérifications. Cette modification a été soumise à Impacket dans cette pull request.
Vous devez installer Impacket depuis git car il contient l'implémentation MS-PAR nécessaire pour l'une des vérifications. (Les deux méthodes d'installation ci-dessous le font automatiquement pour vous)
Docker :
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && docker build -t itwasalladream .
docker run -it itwasalladream -u user -p password -d domain 192.168.1.0/24
L'installation dev nécessite Poetry :
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && poetry install && poetry shell
itwasalladream -u user -p password -d domain 192.168.1.0/24
usage: itwasalladream [-h] -u USERNAME [-p PASSWORD] -d DOMAIN [--timeout TIMEOUT] [--threads THREADS] [-v] [--csv-column CSV_COLUMN] target
PrintNightmare (CVE-2021-34527) scanner
positional arguments:
target Target subnet in CIDR notation, CSV file or newline-delimited text file
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
username to authenticate as (default: None)
-p PASSWORD, --password PASSWORD
password to authenticate as. If not specified will prompt. (default: None)
-d DOMAIN, --domain DOMAIN
domain to authenticate as (default: None)
--timeout TIMEOUT Connection timeout in secods (default: 30)
--threads THREADS Max concurrent threads (default: 100)
-v, --verbose Enable verbose output (default: False)
--csv-column CSV_COLUMN
If target argument is a CSV file, this argument specifies which column to parse (default: DNSHostName)
Je lisais le magazine Word Up !
Comme l'exploit nécessite d'être authentifié auprès d'Active Directory, vous devez fournir des identifiants. Si le mot de passe n'est pas fourni, il vous sera demandé de le saisir.
Par défaut, il utilise 100 threads, vous pouvez les augmenter/diminuer avec l'argument -t.
Une fois terminé, vous verrez un fichier report_<timestamp>.csv dans votre répertoire actuel avec les résultats.