Garder une porte ouverte
Introduction aux portes dérobées actives et passives
Installer une porte dérobée consiste à laisser sur une machine piratée un moyen de prendre ou reprendre le contrôle en temps utile. Une porte dérobée active laisse une entrée directe, comme un service à l’écoute d’un ordre. Une porte dérobée passive est beaucoup plus subtile. La fonction n’est activée que dans une circonstance particulière et ce mode est beaucoup plus discret. Il nécessite souvent une intervention indirecte de l’utilisateur.
Conserver discrètement un accès à un serveur ou à un PC
Les méthodes que nous allons étudier, dans cette première partie, sont actives. Nous allons nous donner les moyens de nous reconnecter sur une machine.
1. Écouteur Terminal Server
Pour nous laisser une porte d’entrée, nous allons ajouter un port d’écoute sur le bureau à distance.
Pour ajouter un port d’écoute RDP, il suffit d’exporter la clé de registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Terminal Server\WinStations\RDP-Tcp
Éditez le fichier Reg exporter, modifiez le nom de la clé :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Terminal Server\WinStations\RDP-Tcp2
Modifiez la valeur de la clé PortNumber, qui correspond au port d’écoute.
PortNumber=D3E
D3E correspond à 3390 en décimal. Vous pouvez ici mettre n’importe quel port.
En réimportant le fichier Reg ainsi modifié, après le redémarrage du système, il y aura un deuxième port d’écoute 3390 pour le bureau à distance. Cette modification n’a de sens que si vous avez aussi modifié le système pour pouvoir contourner le login avec les droits système et désactiver l’authentification par le réseau comme vu au début de cet ouvrage.
2. Programme...
Conserver discrètement un accès à un serveur web ou de messagerie
Les serveurs web d’une entreprise sont souvent hébergés en externe. Dans certains cas, ils se trouvent dans la DMZ, mais rarement à l’intérieur de l’entreprise. Mais qu’en est-il d’une infrastructure Exchange, SharePoint ou Lync ? Ces applications utilisent et même nécessitent des services web. Elles sont en général protégées par un pare-feu et par un reverse proxy. Il va donc falloir contourner cette éventuelle sécurité.
1. Avoir accès à toutes les boîtes mail d’un serveur Exchange
Ces manipulations ne sont possibles que lors de l’installation ou de l’administration de ces services par une personne interne ou un consultant ayant les droits. Vous devez d’abord obtenir les droits nécessaires si vous souhaitez appliquer ces changements. Profitez-en pour créer un compte de type Service caché dans une unité d’organisation.
a. Groupes de sécurité
Pour avoir accès aux boîtes aux lettres des utilisateurs sur un serveur Exchange, vous devez posséder le droit d’administration sur les comptes de courrier. L’utilisateur doit normalement lui-même vous autoriser à avoir accès à sa boîte de réception. Toutefois, deux groupes de sécurité ont un contrôle total sur tous les dossiers mail de tous les utilisateurs. Ces groupes sont Exchange Servers et Exchange Trusted Subsystem.
En ajoutant votre compte d’utilisateur à un de ces groupes, vous aurez accès aux mails de toute l’entreprise. Nous vous conseillons le groupe Exchange Trusted Subsystem, parce qu’il n’est attribué à aucun rôle référencé dans la page de gestion des groupes de sécurité d’Exchange. Par contre, le groupe Exchange Servers permet en plus de manager les serveurs.
Pour ajouter un utilisateur à ce groupe, ouvrez la console Utilisateurs et ordinateur Active Directory.
Allez dans l’unité d’organisation spécifique à Exchange, Microsoft Exchange Security Groups et ajoutez votre compte d’utilisateur au groupe Exchange Trusted Subsystem.
Il est possible que cela ne fonctionne...
Conserver discrètement un moyen de prendre le contrôle sur un PC ou un serveur
Les méthodes passives sont beaucoup plus discrètes qu’un programme en attente d’une connexion ou qu’un programme se connectant toutes les minutes à Internet à la demande d’un ordre. Il s’agit de modifier le système de manière à ce qu’il réponde à une demande particulière uniquement. Ce type de changement, si un processus est lié, il ne doit être démarré que lors de l’attaque, sinon ce n’est plus passif. Ce type de scénarios est donc très difficile à détecter.
1. Ajouter un protocole et piéger la navigation
L’idéal, c’est de pouvoir donner à un utilisateur une commande qu’il exécutera sans qu’il ne s’en rende compte. Pour cela, nous allons ajouter un protocole qu’Internet Explorer comprendra et exécutera. Le changement devra être fait sans qu’il y ait besoin des droits administrateurs. Nous modifierons donc le système au niveau de l’utilisateur.
a. Modifier le registre
Pour ajouter un protocole compris par le système, nous allons ajouter une entrée dans le registre. Cette entrée particulière sera appelée lorsqu’un utilisateur cliquera sur un lien particulier ou lorsqu’il chargera une page piégée comportant une redirection sur un lien piégé. Nous allons créer OC Protocol, qui correspond à « Operational Command ».
Créez le fichier suivant avec le Bloc-notes et enregistrez-le sous le nom cel.reg.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\oc]
"URL Protocol"=""
@="URL:OC Protocol"
[HKEY_CURRENT_USER\Software\Classes\oc\DefaultIcon]
@="C:\\windows\\explorer.exe,0"
[HKEY_CURRENT_USER\Software\Classes\oc\shell]
[HKEY_CURRENT_USER\Software\Classes\oc\shell\open]
[HKEY_CURRENT_USER\Software\Classes\oc\shell\open\command]
@= "powershell -noexit -Windowstyle hidden -command \"&
{$C='%1';$C=$C.Remove(0,3);iex $C}\""
Lors de l’ouverture d’une URL, le navigateur va contrôler...