BOOK THIS SPACE FOR AD
ARTICLE ADObsidian PoC
Vulnerability: Insecure Cache Purge via Varnish
Le serveur utilise Varnish pour gérer le cache des ressources. Cependant, il semble qu’une méthode de purge (PURGE) soit accessible sans authentification appropriée. Cela permet à toute personne (y compris un attaquant) d’envoyer des requêtes HTTP PURGE pour vider le cache du site, ce qui peut perturber son fonctionnement et sa disponibilité. Une telle vulnérabilité peut être exploitée par un attaquant pour surcharger le serveur ou affecter la performance du site en purgeant fréquemment son cache.
The server uses Varnish to manage the cache for resources. However, it appears that the PURGE method is accessible without proper authentication. This allows anyone (including an attacker) to send HTTP PURGE requests to clear the site’s cache, which can disrupt its operation and availability. Such a vulnerability can be exploited by an attacker to overload the server or affect the site’s performance by frequently purging its cache.
+------------------+| Client |
| (Utilisateur) |
+--------+---------+
|
|
+--------v---------+
| Pare-feu / |
| Protection DDoS |
+--------+---------+
|
|
+--------v---------+
| Varnish Cache |
<--- Caching, Filtering
| (Filtrage DDoS) |
+--------+---------+
|
|
+--------v---------+
| Load Balancer | <--- Répartition de la charge
+--------+---------+
|
|
+-------------v-------------+
| Serveur Web 1 |
| (Backend - Traitement) |
+---------------------------+
|
|
+-------------v-------------+
| Serveur Web 2 |
| (Backend - Traitement) |
+---------------------------+
|
|
+-------------v-------------+
| Serveur Web 3 |
| (Backend - Traitement) |
+---------------------------+
|
|
+-------------v-------------+
| (Réponses mises en cache) |
+---------------------------+
|
|
+--------v---------+
| Client |
| (Réponse via |
|Cache ou Backend) |
+------------------+Préparation : Ouvrir un terminal sur votre machine ou un outil en ligne de commande qui permet d’envoyer des requêtes HTTP, comme curl.Preparation: Open a terminal on your machine or a command-line tool that allows sending HTTP requests, such as curl.Vérification du cache avec curl — head Target “Url” : Avant d’envoyer la requête PURGE, il est utile de vérifier les informations de cache du serveur pour comprendre son état actuel. Exécutez la commande suivante pour obtenir les en-têtes HTTP du site, ce qui vous donnera des détails sur le cache utilisé.Check the cache with curl — head: Before sending the PURGE request, it is useful to check the server’s cache information to understand its current state. Execute the following command to get the HTTP headers from the site, which will provide details about the cache being used.curl --head <https://dhis2.org/>
Cela renverra une réponse contenant des en-têtes HTTP, dont l’en-tête x-cache-status qui vous permettra de savoir si le cache est actuellement actif (par exemple, HIT pour un cache valide).
This will return a response containing HTTP headers, including the x-cache-status header, which will tell you if the cache is currently active (e.g., HIT for a valid cache).
Envoi de la requête PURGE : Une fois que vous avez vérifié que le cache est actif, exécutez la commande suivante dans le terminal pour envoyer une requête PURGE au serveur :
Send the PURGE request: Once you’ve verified that the cache is active, execute the following command in the terminal to send a PURGE request to the server:
curl -X PURGE <https://dhis2.org/>Vérification de la réponse : Observer la réponse HTTP retournée par le serveur. Une réponse réussie (indiquant que le cache a été purgé) ressemblera à ceci :
Check the response: Observe the HTTP response returned by the server. A successful response (indicating that the cache has been purged) will look like this:
La présence de x-cache-status: HIT indique que la requête a été traitée avec succès, et que le cache a probablement été purgé.
The presence of x-cache-status: HIT indicates that the request has been successfully processed, and the cache has likely been purged.
ou
curl --head <https://dhis2.org>
Si l’en-tête X-Cache: MISS apparaît, cela signifie que l’objet a été purgé du cache et que la requête a été envoyée au backend.
If the X-Cache: MISS header appears, it means that the object has been purged from the cache, and the request has been sent to the backend server.
Contexte de l’attaque :
L’attaque par purge de cache Varnish repose sur l’exploitation d’une fonctionnalité clé de Varnish, à savoir la gestion du cache pour optimiser les performances des sites web. Lorsque le cache est purgé, les requêtes suivantes doivent être traitées par les serveurs d’origine, ce qui peut entraîner une surcharge importante du système.
The Varnish cache purge attack relies on exploiting a key feature of Varnish, namely cache management, which optimizes the performance of websites. When the cache is purged, subsequent requests must be handled by the origin servers, which can lead to significant system overload.
Principe de l’attaque :
Varnish Cache et purge de cache :Varnish est utilisé pour mettre en cache les réponses des serveurs web afin de réduire la charge sur ces derniers. Lorsqu’un cache est vidé (ou “purgé”), les utilisateurs suivants doivent obtenir les données directement depuis le serveur d’origine, ce qui est plus coûteux en termes de ressources.Attaque DDoS par purge massive :
L’attaquant envoie des requêtes à Varnish avec des commandes de purge ciblées. Cela force Varnish à vider une grande quantité de cache, entraînant une sollicitation intense du serveur d’origine.Impact sur les serveurs d’origine :
Le serveur d’origine, ne bénéficiant plus des données en cache, doit traiter toutes les requêtes. Cette surcharge entraîne une dégradation des performances, voire une panne complète si l’attaque est suffisamment puissante.Effondrement du système :
À mesure que les purges massives se poursuivent, le serveur d’origine est incapable de répondre à toutes les requêtes à temps, ce qui engendre une situation de déni de service (DoS). Cela peut paralyser un service en ligne pendant une période prolongée.Varnish Cache and Cache Purge:
Varnish is used to cache web server responses in order to reduce the load on the servers. When a cache is cleared (or “purged”), subsequent users must fetch the data directly from the origin server, which is more resource-intensive.DDoS Attack via Massive Purge:
The attacker sends requests to Varnish with targeted purge commands. This forces Varnish to clear a large amount of cache, leading to heavy requests to the origin server.Impact on Origin Servers:
With the cache no longer available, the origin server must handle all requests. This overload leads to degraded performance or even a complete outage if the attack is powerful enough.System Collapse:
As the massive purges continue, the origin server is unable to respond to all requests in a timely manner, leading to a denial of service (DoS) situation. This can paralyze an online service for an extended period.
Il s’agit du domaine principal du Ministère de la Santé et du Bien-être Familial en Inde. Ce site fournit des informations gouvernementales sur la santé publique, notamment des politiques sanitaires, des alertes, des campagnes de vaccination, etc.Main Domain:https://mohfw.gov.in/
This is the main domain of the Ministry of Health and Family Welfare in India. The site provides government information on public health, including health policies, alerts, vaccination campaigns, and more.
Ce sous-domaine est lié à un service spécifique pour la gestion des vaccins, probablement destiné à la vaccination contre la tuberculose (TB). Il pourrait être utilisé pour gérer les informations sur les vaccins, les patients, et les programmes de vaccination en Inde.
This subdomain is linked to a specific service for vaccine management, likely intended for tuberculosis (TB) vaccination. It may be used to manage information on vaccines, patients, and vaccination programs in India.Sous-domaine 2 (directement lié à DHIS2) :https://dhis2.org/
DHIS2 est une plateforme open-source utilisée pour la gestion des données de santé publique. Il est largement adopté par les gouvernements et les organisations de santé pour collecter, analyser et visualiser les données de santé publique.
DHIS2 is an open-source platform used for managing public health data. It is widely adopted by governments and health organizations to collect, analyze, and visualize public health data.
Lien avec le sous-domaine précédent :
Le sous-domaine http://safevac.tb-win.mohfw.gov.in est spécifiquement lié à DHIS2 pour la gestion des données relatives aux vaccinations contre la tuberculose. Un des exemples d’URL d’accès à DHIS2 à travers http://safevac.tb-win.mohfw.gov.in est :https://safevac.tb-win.mohfw.gov.in/service/dhis-web-commons/security/login.action , qui fournit un point d’accès sécurisé pour les utilisateurs afin de se connecter et interagir avec DHIS2.
Connection to the Previous Subdomain:
The subdomain http://safevac.tb-win.mohfw.gov.in is specifically linked to DHIS2 for managing data related to tuberculosis vaccination. One example of a URL for accessing DHIS2 through http://safevac.tb-win.mohfw.gov.in is:https://safevac.tb-win.mohfw.gov.in/service/dhis-web-commons/security/login.action , which provides a secure access point for users to log in and interact with DHIS2.
| <https://mohfw.gov.in/> (Domaine principal)|
+------------------------------------------+
|
v
+-------------------------------------------+
| safevac.tb-win.mohfw.gov.in (Sous-domaine)|
+-------------------------------------------+
|
v
+-------------------------------------------+
| <https://dhis2.org/> (Plateforme DHIS2) |
+-------------------------------------------+
|
v
+--------------------------------------------------------------+
| <https://safevac.tb-win.mohfw.gov.in/service/dhis-web-> | |commons/security/login.action (Point d'accès sécurisé DHIS2) |
+--------------------------------------------------------------+
C’est le site principal pour obtenir des informations générales sur la santé publique en Inde. Bien qu’il ne semble pas directement interagir avec DHIS2, il est le site central qui peut fournir des informations sur les initiatives sanitaires liées à la vaccination et à la lutte contre des maladies comme la tuberculose.**https://safevac.tb-win.mohfw.gov.in/ (Sous-domaine)Ce sous-domaine spécifique est utilisé pour la gestion des données de vaccination, en particulier pour la tuberculose. Il se connecte à DHIS2 pour la gestion des données et la visualisation des résultats, ainsi que pour les rapports liés à la vaccination.https://dhis2.org/ (Plateforme DHIS2)
DHIS2 est la plateforme utilisée par des systèmes comme http://safevac.tb-win.mohfw.gov.in pour gérer et analyser les données de santé publique. Il permet de collecter, analyser et visualiser des informations cruciales sur la santé publique à l’échelle nationale.https://safevac.tb-win.mohfw.gov.in/service/dhis-web-commons/security/login.action
Cette URL représente un point d’accès sécurisé pour interagir avec DHIS2. Elle permet aux utilisateurs autorisés de se connecter à DHIS2 via l’interface sécurisée de http://safevac.tb-win.mohfw.gov.in , assurant ainsi que les données sensibles sur la vaccination et la tuberculose sont protégées.https://mohfw.gov.in/ (Main Domain)
This is the main website for obtaining general public health information in India. Although it does not seem to directly interact with DHIS2, it serves as the central site for providing information on health initiatives related to vaccination and the fight against diseases like tuberculosis.https://safevac.tb-win.mohfw.gov.in/ (Subdomain)
This specific subdomain is used for managing vaccination data, particularly for tuberculosis. It connects to DHIS2 for data management, result visualization, and reporting related to vaccination efforts.https://dhis2.org/ (DHIS2 Platform)
DHIS2 is the platform used by systems like http://safevac.tb-win.mohfw.gov.in to manage and analyze public health data. It allows for the collection, analysis, and visualization of crucial public health information on a national scale.https://safevac.tb-win.mohfw.gov.in/service/dhis-web-commons/security/login.action
This URL represents a secure access point for interacting with DHIS2. It allows authorized users to log into DHIS2 via the secure interface of http://safevac.tb-win.mohfw.gov.in , ensuring that sensitive data on vaccination and tuberculosis is protected.
Si un attaquant parvient à cibler https://dhis2.org/ ou les sous-domaines associés, cela pourrait avoir plusieurs impacts :
Perturbation de l’accès aux données : Si un attaquant réussit à perturber le service DHIS2 (par exemple, en provoquant un DDoS par purge de cache Varnish), cela pourrait rendre les données critiques sur la vaccination et la tuberculose inaccessibles, ce qui affecterait gravement la gestion des campagnes de vaccination et la réponse à la crise sanitaire.Violation des données de santé : Bien que l’attaque par purge de cache ne permette pas nécessairement l’exfiltration de données, elle peut néanmoins rendre les informations de santé sensibles inaccessibles, affectant la prise de décision basée sur ces données.Effondrement des services de santé publique : Les informations collectées via DHIS2 sont essentielles pour la gestion des programmes de santé publique. Si ces services sont perturbés, cela pourrait nuire à l’efficacité des interventions en matière de santé publique, comme les campagnes de vaccination contre la tuberculose.If an attacker manages to target https://dhis2.org/ or its associated subdomains, it could have several impacts:
Disruption of data access: If an attacker succeeds in disrupting the DHIS2 service (e.g., by launching a DDoS attack through Varnish cache purge), it could render critical data on vaccination and tuberculosis inaccessible, severely affecting the management of vaccination campaigns and the response to the health crisis.Health data breach: Although a cache purge attack may not necessarily lead to data exfiltration, it can still make sensitive health information inaccessible, affecting decision-making based on that data.Collapse of public health services: The information collected through DHIS2 is essential for managing public health programs. If these services are disrupted, it could undermine the effectiveness of public health interventions, such as tuberculosis vaccination campaigns.Cette attaque serait très critique pour les raisons suivantes :
Perturbation des programmes de vaccination : Les programmes de vaccination contre des maladies graves comme la tuberculose reposent sur des données actualisées et fiables. Une attaque ciblant DHIS2 ou les systèmes associés pourrait empêcher l’accès à ces informations vitales.Impact sur la santé publique : L’accès aux données sur la vaccination et les maladies infectieuses est essentiel pour la gestion de la santé publique, notamment pour la lutte contre des épidémies comme la tuberculose. Une panne prolongée due à une attaque DDoS pourrait retarder ou paralyser ces efforts.Atteinte à la gestion des crises sanitaires : En période de pandémie ou d’urgence sanitaire, les données collectées par des systèmes comme DHIS2 sont essentielles pour la prise de décision rapide. Perturber l’accès à ces informations aurait des conséquences catastrophiques.This attack would be highly critical for the following reasons:
Disruption of vaccination programs: Vaccination programs for serious diseases like tuberculosis rely on up-to-date and reliable data. An attack targeting DHIS2 or associated systems could prevent access to this vital information.Impact on public health: Access to data on vaccination and infectious diseases is essential for public health management, particularly in the fight against epidemics like tuberculosis. A prolonged outage due to a DDoS attack could delay or paralyze these efforts.Harm to crisis management: During a pandemic or health emergency, data collected by systems like DHIS2 is crucial for rapid decision-making. Disrupting access to this information would have catastrophic consequences.| Attaquant |
| (Envoie des requêtes de |
| purge vers Varnish) |
+----------------------------+
|
v
+-----------------------------+
| Serveur Varnish Cache |
| (Purge les données en cache |
| et redirige vers l'origine)|
+-----------------------------+
|
v
+----------------------------+
| Serveur d'origine |
| (Reçoit toutes les requêtes|
| sans cache et surcharge) |
+----------------------------+
|
v
+----------------------------+
| Surcharge du serveur |
| (Délai de réponse lent, |
| Échec de service) |
+----------------------------+
|
v
+----------------------------+
| Effondrement du Service |
| (Indisponibilité totale) |
+----------------------------+
Dans un scénario d’attaque, l’attaquant pourrait cibler un site web à fort trafic en envoyant massivement des requêtes de purge vers Varnish. Une fois que le cache est vidé, toutes les requêtes légitimes des utilisateurs doivent être traitées par le serveur d’origine, entraînant ainsi un surmenage du serveur et la possibilité d’un déni de service total. Ce scénario est bien montré dans la vidéo ci-dessous.
Pour illustrer l’impact de cette attaque, vous pouvez visionner la vidéo ci-dessous, qui montre en temps réel l’exécution de l’attaque ainsi que l’effondrement du système.