HTTPCSLeader européen de la cyber sécurité

| À propos de nous
DDOS amplifié via Memcached exposé, ou quand un problème en cache un autre.

DDOS amplifié via Memcached exposé, ou quand un problème en cache un autre [FR]


La semaine dernière, le web a connu sa plus grande attaque par déni de service. La plus populaire des victimes étant GitHub, dont les logs affichent une montée en charge équivalant à 1.3Tbps (1300 Gbps).


Cette attaque utilise la technique d'usurpation d’IP en forgeant des paquets dont l'IP de provenance a été modifiée afin de correspondre à celle de la victime.


Elle est également combinée à une amplification de requête liée au fonctionnement de Memcached qui, par une simple requête de quelques bytes, est capable d'en renvoyer 50 000 fois plus en tant que réponse lorsque le cache est rempli.


En effet, Memcached est un système de cache qui permet d'améliorer la vitesse de réponse des sites web en stockant en cache le contenu des bases de données. Afin de permettre l'usurpation d’IP, les attaquants ont utilisé le protocole UDP.



HTTPCS a mené une étude afin de déterminer :


  • 1- Une estimation du nombre de serveurs Memcached impactés.
  • 2- Les différents contenus utilisés pour remplir le cache.


Méthodologie :


  • 1- Récupération d’IP de serveurs Memcached via Shodan.
  • 2- Extraction des clés et valeurs contenues dans le cache.
  • 3- Analyse détaillée du contenu des caches.


Les résultats sur plus de 5000 serveurs Memcached sont les suivant :


34% contiennent une note de rançon d'un montant de 50 XMR (~15 000€).

Memcached Ransom

Légende : Note de rançon découverte par HTTPCS contenue dans le cache d'un serveur Memcached.


10% contiennent la description complète de Nginx (disponible ici :https://nginx.org/en/).

Ceci rappelle l'exploit posté sur Exploit-DB le 05/03 utilisant, lui, le contenu de la page Google.

Memcached Nginx

Légende : Description Nginx découverte par HTTPCS, contenue dans le cache d'un serveur Memcached compromis.


2% contiennent des suites de caractères aléatoires (abcdefghij..., aaaaaaaaa...).

Memcached Random
Memcached Random

Légende : Contenu aléatoire découvert par HTTPCS dans le cache d'un serveur Memcached compromis.


On estime qu'il existe près de 100 000 serveurs Memcached exposés sur le web et permettant de réaliser ce type d'attaque.


Après la mise en évidence de l'attaque, des conseils pour s'en prémunir ont été fournis par les hébergeurs, et notamment limiter l'écoute de l'UDP au localhost.


Memcached a également patché le logiciel afin que l'UDP n'écoute plus qu'en localhost par défaut.

(https://github.com/Memcachedd/Memcachedd/wiki/ReleaseNotes156).


Mais la sécurité de Memcached ne se limite pas à cette attaque. En effet, durant l'étude, nous avons mis en évidence que les caches peuvent être non seulement corrompus et utilisés comme vecteur de DDOS amplifié, mais également compromis lorsqu'ils contiennent des informations sensibles (ce qui est loin d’être rare).


Memcached Pwn
Memcached Pwn

Légende : Contenus sensibles découverts par HTTPCS dans le cache d'un serveur Memcached.



Les recommandations d'HTTPCS sont de ne pas exposer votre serveur Memcached au public, ni l'UDP, ni le TCP. Car ce n'est probablement pas nécessaire et, s'il y a besoin de partager le cache avec différents serveurs, ceci doit se faire au sein d'un infrastructure qui elle, n'est pas exposée, et non directement via internet.


Et, sans attendre un correctif de l'éditeur ou des conseils des hébergeurs, deux simples règles IPTABLES permettent de limiter l'exposition et, ainsi, de se prémunir contre ce type d'attaques.


A la suite de cette étude, HTTPCS rappelle que le scanner HTTPCS est capable d'auditer les serveurs Memcached.


Tester gratuitement notre scanner HTTPCS


HTTPCS Scanner screenshot desktop HTTPCS Scanner screenshot tablet HTTPCS Scanner screenshot phone