hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md
2023-06-03 13:10:46 +00:00

35 KiB

Le spoofing de SSDP et des dispositifs UPnP avec EvilSSDP

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Ce post a été copié depuis https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/

Introduction

Qu'est-ce que SSDP ?

SSDP ou Simple Service Discovery Protocol est un protocole de réseau conçu pour la publicité et la découverte des services de réseau. Il peut fonctionner sans aucune configuration DHCP ou DNS. Il a été conçu pour être utilisé dans des environnements résidentiels ou de petits bureaux. Il utilise UDP comme protocole de transport sous-jacent sur le port 1900. Il utilise la méthode HTTP NOTIFY pour annoncer l'établissement ou le retrait de services à un groupe multicast. C'est la base du protocole de découverte UPnP.

Quels sont les dispositifs UPnP ?

UPnP ou Universal Plug and Play est un ensemble de protocoles de réseau qui permettent aux dispositifs en réseau, tels que les ordinateurs personnels, les imprimantes, les passerelles Internet, les points d'accès Wi-Fi et les dispositifs mobiles de découvrir la disponibilité de chacun sur le réseau et d'établir des services de réseau pour les communications, le partage de données et de divertissement. L'architecture UPnP prend en charge le réseau de configuration zéro. Un dispositif compatible UPnP de n'importe quel fournisseur peut rejoindre dynamiquement un réseau, obtenir une adresse IP, annoncer son nom, annoncer ou transmettre ses capacités sur demande et apprendre la présence et les capacités d'autres dispositifs.

Flux

La pile UPnP se compose de six couches : adressage, découverte, description, contrôle, événement et présentation.

Dans la couche d'adressage, les systèmes compatibles UPnP essaient d'obtenir une adresse IP via DHCP. Si cela n'est pas possible, ils s'assignent une adresse de la plage 169.254.0.0/16 (RFC 3927), un processus connu sous le nom d'AutoIP.

Ensuite, vient la couche de découverte, dans laquelle le système recherche d'autres dispositifs sur le réseau en utilisant le Simple Service Discovery Protocol (SSDP). Les deux façons de découvrir les dispositifs sont activement et passivement. Lors de l'utilisation de la méthode active, les dispositifs compatibles UPnP envoient un message de découverte (appelé une requête M-SEARCH) à l'adresse multicast 239.255.255.250 sur le port UDP 1900. Nous appelons cette requête HTTPU (HTTP sur UDP) car elle contient un en-tête similaire à l'en-tête HTTP. La requête M-SEARCH ressemble à ceci :

  M-SEARCH * HTTP/1.1
  ST: ssdp:all
  MX: 5
  MAN: ssdp:discover
  HOST: 239.255.255.250:1900

Les systèmes UPnP qui écoutent cette demande doivent répondre avec un message unicast UDP qui annonce l'emplacement HTTP du fichier XML de description, qui répertorie les services pris en charge par le périphérique.

Lors de l'utilisation de la méthode passive pour découvrir des périphériques, les périphériques compatibles UPnP annoncent périodiquement leurs services sur le réseau en envoyant un message NOTIFY à l'adresse multicast 239.255.255.250 sur le port UDP 1900. Ce message, qui suit, ressemble à celui envoyé en réponse à la découverte active:

  NOTIFY * HTTP/1.1\r\n
  HOST: 239.255.255.250:1900\r\n
  CACHE-CONTROL: max-age=60\r\n
  LOCATION: http://192.168.10.254:5000/rootDesc.xml\r\n
  SERVER: OpenWRT/18.06-SNAPSHOT UPnP/1.1 MiniUPnPd/2.1\r\n
  NT: urn:schemas-upnp-org:service:WANIPConnection:2

La description de chaque profil UPnP est référencée soit dans la valeur du champ LOCATION du message de réponse reçu lors de la découverte active, soit dans le message NOTIFY reçu lors de la découverte passive.

La couche de contrôle est probablement la plus importante; elle permet aux clients d'envoyer des commandes au dispositif UPnP en utilisant les URL du fichier de description. Ils peuvent le faire en utilisant le protocole SOAP (Simple Object Access Protocol), un protocole de messagerie qui utilise XML sur HTTP. Les dispositifs envoient des requêtes SOAP à l'endpoint controlURL, décrit dans la balise <service> à l'intérieur du fichier de description. Une balise <service> ressemble à ceci:

 <service>
     <serviceType>urn:schemas-upnp-org:service:WANIPConnection:2</serviceType>
     <serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
     <SCPDURL>/WANIPCn.xml</SCPDURL>
     <controlURL>/ctl/IPConn</controlURL>
     <eventSubURL>/evt/IPConn</eventSubURL>
 </service>

IGD - Internet Gateway Device

IGD cartographie les ports dans les configurations de traduction d'adresse réseau (NAT). IGD permet à une application d'ajouter dynamiquement une cartographie de port temporaire sur le routeur pour une certaine période de temps (sans que l'utilisateur n'ait besoin d'effectuer une étape manuelle).

La plupart des appareils n'acceptent normalement pas les paquets SSDP via l'interface WAN, mais certains d'entre eux peuvent encore accepter des commandes IGD via des points de contrôle SOAP ouverts.

Dans la section Outil Umap, vous pouvez trouver un moyen d'exploiter ce vecteur.

Outils

Miranda

Miranda est un client UPnP python2 qui peut être utile pour découvrir les services UPnP, obtenir les détails et envoyer des commandes à ces services :

upnp> msearch

Entering discovery mode for 'upnp:rootdevice', Ctl+C to stop...


SSDP reply message from 192.168.1.254:49152
XML file is located at http://192.168.1.254:49152/wps_device.xml
Device is running Unspecified, UPnP/1.0, Unspecified



SSDP reply message from 192.168.1.254:53350
XML file is located at http://192.168.1.254:53350/37699b14/rootDesc.xml
Device is running Linux/3.4.11 UPnP/1.0 MiniUPnPd/1.9


upnp> host list
	[0] 192.168.1.254:49152
	[1] 192.168.1.254:53350

upnp> host get 0
upnp> host details 0

Host name:         192.168.1.254:49152
UPNP XML File:     http://192.168.1.254:49152/wps_device.xml


Device information:
	Device Name: WFADevice
		Service Name: WFAWLANConfig
			controlURL: wps_control
			eventSubURL: wps_event
			serviceId: urn:wifialliance-org:serviceId:WFAWLANConfig1
			SCPDURL: wps_scpd.xml
			fullName: urn:schemas-wifialliance-org:service:WFAWLANConfig:1
			ServiceActions:
				PutMessage
					NewInMessage 
						InMessage:
							dataType: bin.base64

[...]

upnp> host send 0 WFADevice WFAWLANConfig PutMessage

Umap

L'outil umap peut aider à découvrir les commandes upnp qui sont disponibles depuis les interfaces WAN même si elles ne sont pas annoncées dans ces interfaces (cela est dû à des implémentations défectueuses). Notez que si, par exemple, vous testez un routeur et que vous y avez accès à la fois depuis le réseau interne et l'interface WAN, vous devriez essayer d'énumérer tous les services depuis le réseau interne (en utilisant miranda par exemple) et ensuite essayer d'appeler ces services depuis le réseau externe.

Autres outils UPnP

Trouvez sur https://github.com/0x90/upnp-arsenal plus d'outils upnp.

Evil SSDP

L'outil Evil SSDP a été développé par initstring. Cet outil est hébergé sur GitHub. Nous allons utiliser la commande git clone pour cloner tout le contenu du git sur notre machine attaquante. La commande git clone créera un répertoire portant le même nom que sur GitHub. Étant donné que l'outil est développé en Python version 3, nous devrons utiliser python3 suivi du nom du fichier .py pour exécuter le programme. Ici, nous pouvons voir un écran d'aide de base de l'outil.

git clone https://github.com/initstring/evil-ssdp.git
cd evil-ssdp/ls
python3 evil-ssdp.py --help

Dans le répertoire cloné, nous trouverons un répertoire nommé templates. Il contient tous les modèles pré-compilés qui peuvent être utilisés pour le phishing de l'utilisateur cible.

Spoofing Scanner SSDP

Maintenant que nous avons exécuté l'outil sans aucun problème, utilisons-le pour obtenir des informations d'identification. Dans cette première pratique, nous allons usurper un scanner en tant que périphérique UPnP fiable. Pour commencer, nous devrons configurer le modèle.

Configuration du modèle

Pour utiliser l'outil, nous devrons fournir l'interface réseau. Ici, sur notre machine attaquante, nous avons "eth0" comme interface, vous pouvez trouver votre interface en utilisant la commande "ifconfig".

Après avoir fourni l'interface, nous utiliserons le paramètre "--template" pour passer un modèle que nous avons trouvé précédemment dans le répertoire des modèles. Pour usurper un scanner, nous exécuterons la commande suivante. Comme nous pouvons le voir, l'outil a fait son travail et a hébergé plusieurs fichiers de modèle sur notre machine attaquante au port 8888. Nous avons également le pointeur SMB hébergé.

ls temlates/
python3 evil-ssdp.py eth0 --template scanner

Manipulation de l'utilisateur

La prochaine étape logique consiste à manipuler l'utilisateur pour qu'il clique sur l'application. Étant sur le même réseau que la cible, notre faux scanner apparaîtra sur son explorateur. C'est là que UPnP entre en jeu. L'outil Evil SSDP crée ce scanner authentique sur le système de la cible sans aucune interaction forcée avec celle-ci.

En cliquant sur l'icône à l'intérieur de l'Explorateur, nous serons redirigés vers le navigateur Web par défaut, ouvrant notre lien hébergé. Les modèles que nous avons utilisés sont en jeu ici. L'utilisateur est maintenant conscient qu'il/elle est effectivement connecté à un scanner authentique ou à un faux dispositif UPnP que nous avons généré. La cible inconsciente n'ayant aucune idée entre les valides et les faux identifiants entre lesquels choisir, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations de connexion valides et les informations de connexion fausses, entre les informations

python3 evil-ssdp.py eth0 --template office365

Comme nous pouvons le voir, l'outil a fait son travail et a hébergé plusieurs fichiers de modèle sur notre machine attaquante au port 8888.

Manipulation de l'utilisateur

Dès que nous exécutons l'outil, nous avons un périphérique UPnP nommé Office365 Backups. Cela a été fait par l'outil sans avoir à envoyer de fichier, de charge utile ou tout autre type d'interaction à l'utilisateur cible. Tout ce qui reste, c'est que l'utilisateur clique sur l'icône.

Lorsque l'utilisateur cible clique sur l'icône, il est redirigé vers notre fausse page de modèle via son navigateur par défaut. Il s'agit d'une page Microsoft très authentique. L'utilisateur sans méfiance entre ses identifiants valides sur cette page.

Récupération des identifiants

Dès que l'utilisateur entre les identifiants et qu'ils sont transmis en tant que demande de publication sur le serveur, qui est notre machine cible, nous voyons que sur notre terminal, nous avons les identifiants.

Déviation de l'utilisateur vers un SSDP de coffre-fort de mot de passe

Jusqu'à présent, nous avons réussi à usurper l'utilisateur cible pour obtenir des identifiants de scanner et des identifiants de sauvegarde Office365. Mais maintenant, nous allons pour la chose la plus importante qui est utilisée comme un UPnP, le coffre-fort de mot de passe.

Configuration du modèle

Comme nous l'avons fait dans nos pratiques précédentes, nous devrons configurer le modèle pour le coffre-fort de mot de passe. En un rien de temps, l'outil héberge le modèle de coffre-fort de mot de passe sur le port 8888.

python3 evil-ssdp.py eth0 --template password-vault

Manipulation de l'utilisateur

En passant à la machine cible, nous voyons que le Password Vault UPnP est visible dans l'Explorateur. Maintenant, il suffit que l'utilisateur clique sur le périphérique et tombe dans notre attaque. En voyant quelque chose comme Password Vault, l'utilisateur sera tenté de cliquer sur l'icône.

Comme l'utilisateur sans méfiance pense qu'il/elle a accompli des choses très importantes avec les fausses clés et les mots de passe. Cela fonctionne comme une distraction pour l'utilisateur, car cela le conduira à essayer cette liste exhaustive de justificatifs sans succès.

Falsification de SSDP Microsoft Azure

Lorsque l'on travaille avec la falsification, l'une des tâches les plus importantes est de ne pas laisser l'utilisateur cible savoir qu'il/elle a été victime de la falsification. Cela peut être réalisé en redirigeant l'utilisateur après que l'attaquant ait récupéré les justificatifs ou les cookies ou tout ce que l'attaquant voulait acquérir. L'outil evil_ssdp dispose d'un paramètre (-u) qui redirige l'utilisateur ciblé vers n'importe quelle URL choisie par l'attaquant. Examinons le fonctionnement de ce paramètre en action.

Pour commencer, nous utiliserons python3 pour charger l'outil. Ensuite, nous mentionnons l'interface réseau qui doit être utilisée. Maintenant, pour cette pratique, nous utiliserons le modèle de stockage Microsoft Azure. Après avoir sélectionné le modèle, nous mettons le paramètre (-u) et mentionnons ensuite n'importe quelle URL où nous voulons rediriger l'utilisateur. Ici, nous utilisons le lien officiel de Microsoft. Mais cela peut être n'importe quel site malveillant.

python3 evil-ssdp.py eth0 --template microsoft-azure -u https://malicous-site.com

Manipulation de l'utilisateur

Maintenant que nous avons lancé l'outil, il créera un périphérique UPnP sur la machine cible comme indiqué dans l'image ci-dessous. Pour que l'attaque réussisse, la cible doit cliquer sur le périphérique.

Après avoir cliqué sur l'icône, nous voyons que l'utilisateur est redirigé vers la page officielle de Microsoft. Cela peut être ce que l'attaquant veut.

Ceci conclut notre pratique de cet outil de spoofing impressionnant.

Atténuation

  • Désactiver les périphériques UPnP.
  • Éduquer les utilisateurs pour prévenir les attaques de phishing.
  • Surveiller le réseau pour le voyage de mot de passe en clair.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥