web-dev-qa-db-fra.com

Questions sur le téléchargement de fichier reflété (RFD) attaque

J'ai lu cet article , et le livre blanc par chercheur de sécurité Oren hafif qui mentionne les points saillants suivants:

RFD, comme beaucoup d'autres attaques Web, commence par l'envoi d'un lien malveillant vers une victime. Mais contrairement aux autres attaques, la RFD se termine en dehors du contexte du navigateur:

  1. L'utilisateur suit un lien malveillant vers un site Web de confiance.
  2. Un fichier exécutable est téléchargé et enregistré sur la machine de l'utilisateur. Tous les indicateurs de sécurité montrent que le fichier a été "hébergé" sur le site Web de confiance.
  3. L'utilisateur exécute le fichier contenant des commandes shell qui obtiennent un contrôle complet sur l'ordinateur.

Un exemple d'URL malveillante ressemble à ceci:

https://www.google.com/s;/ChromeSetup.bat;/ChromeSetup.bat?gs_ri=psy-ab&q=%22%7c%7c%74....

Cela ressemble à la récente bogue Shellshock, sauf que l'attaque est dirigée contre le client au lieu du serveur. Mes questions sont:

  • Google hébergea-t-il un ChromeSetup.bat Fichier sous un répertoire /s; sur son serveur?
  • Quels systèmes OSES sont vulnérables? Cette attaque est-elle spécifique à une version particulière de Windows OS?
  • Comment les clients peuvent-ils se protéger si un site Web permet à son utilisateur de placer des URL malveillantes dans l'attribut SRC d'un <img> étiqueter?
9
Question Overflow
  1. Google n'héberge pas Chromesetup.Bat. Une exigence pour cette attaque est qu'un site Web doit avoir un point de terminaison avec un type de contenu moins courant et de préférence un en-tête de disposition de contenu mal configuré (nommément: aucun attribut "nom de fichier"). Ces deux en-têtes feront le téléchargement du navigateur de la réponse en tant que fichier, au lieu de le rendre.

Dans l'URL, vous fournissez ce point final est '/ S' qui fournit des suggestions autocompresses comme JSON, avec un type de contenu d'application/JSON. Les anciennes versions de IE Donneront un téléchargement simplement basé sur le type de contenu, les versions plus récentes et Chrome Exiger que l'en-tête incomplet de disposition de contenu pour cette attaque fonctionne.

Une autre exigence est que ce noeud final doit refléter que certaines saisies de l'utilisateur à partir du QueryString (post ou cookies fonctionneront évidemment de manière équitable mais ne seraient pas aussi efficaces pour l'attaquant). Cela fournira le contenu malveillant du fichier téléchargé.

Dans l'URL que vous avez fourni, ce sera la valeur du paramètre QueryString.

Comme aucun nom de fichier n'est fourni pour le téléchargement, les navigateurs essaient de en choisir un. Étant donné que le site Web Google a permis des URL desserrées via des paramètres URL (le; /chromesettup.bat; partie), le navigateur a choisi une version nettoyée de celle-ci (nommément chromésettup.bat) comme le nom de fichier à présenter à l'utilisateur. La webapplication ignore cette entrée, mais le navigateur l'utilise.

  1. Tout navigateur sur tout système d'exploitation pourrait réagir de cette manière. Chrome téléchargera la réponse avec le nom de fichier forgé, qui fonctionnera également sur OSX.

Une faiblesse supplémentaire existe sous Windows qui ne prénome pas correctement l'utilisateur lorsque "Configuration" se produit dans le nom de fichier. Windows exécutera également directement un fichier .bat si vous cliquez dessus. OSX et Linux n'exécuteront pas ce fichier car l'attaquant serait probablement incapable de fournir une vellation complète avec la notation Hashbang. Même alors, il n'a pas le bit exécutable, il ne serait donc pas exécuté directement.

  1. L'utilisateur doit toujours activer/accepter le téléchargement, alors il suffit de conduire avec un "infection" immédiate. Un client (navigateur) devrait fournir des avertissements appropriés pour les fichiers exécutables au lieu de les exécuter simplement. L'utilisateur doit savoir mieux que d'exécuter des fichiers aléatoires .bat, mais c'est la force de cette attaque: le "fichier" est servi de google.com, il devrait donc être sûr de la sécurité? La partie la plus importante ici est le site Web vulnérable: le site Web ne doit pas permettre à un utilisateur de fournir un chemin personnalisé, doit fournir des en-têtes appropriés pour éviter cela et reconsidérer le refuge de la saisie de l'utilisateur.
9
NSSec