web-dev-qa-db-fra.com

Comment pouvez-vous voler des cookies de Chrome?

Je suis nouveau en matière de sécurité et j'ai quelques questions à ce sujet. J'ai recherché et constaté que, par exemple, Google Chrome stocke les cookies dans ~/.config/google-chrome/Default/Cookies. Tout comme une expérience, j'ai "volé" ce fichier (de ma machine virtuelle) et l'ai mis dans mon répertoire. Mais je ne pouvais accéder à rien, pas à Google Chrome ni à quoi que ce soit.

C'est juste à des fins éducatives. Comment les pirates informatiques volent-ils un compte Google ou tout autre cookie en copiant réellement le cookie des victimes?

12
Rasty

Vous ne pouvez pas voler les informations d'identification d'un compte Google en regardant simplement les cookies. Les cookies sont utilisés à des "fins de session". Lorsque vous effectuez une connexion sur Google, vous stockez des cookies qui (pour le dire simplement) rappellent à Google que vous êtes authentifié, mais les informations d'identification ne sont pas enregistrées.

Ce que vous pourriez penser, c'est voler une session (détournement de session) comme tenter une attaque de contrefaçon de demande intersite afin que vous puissiez effectuer certaines actions en tant qu'utilisateur connecté. Ou recherchez des vulnérabilités comme Session Framing (très peu probable).

Si vous voulez jouer avec les cookies sur chrome vous pouvez télécharger cette extension qui vous montre les cookies pour chaque session que vous ouvrez: EditThisCookie .

Si vous êtes intéressé par les vulnérabilités des applications Web, je vous recommande également de jeter un œil à certains jeux CTF (capturer le drapeau). Pour un niveau d'entrée, vous pouvez jeter un œil à picoCTF qui présente de nombreux types de défis, y compris ceux des applications Web.

7
inno15

Voilà comment c'est fait.

Allez sur un site, disons facebook/netflix.

Découvrez les cookies que le site utilise pour vous authentifier, vous pouvez éditer les cookies à partir des outils de développement! il suffit de jouer avec eux, de les modifier jusqu'à ce que vous actualisiez la page et que vous soyez déconnecté, essayez de comprendre quels sont les cookies qui contiennent votre ID de session.

Dans le cas de Facebook, les cookies requis sont appelés "c_user" et "xs"

enter image description here

si vous ouvrez un navigateur différent (par exemple Firefox) ou un ordinateur différent et collez ces cookies pendant que vous êtes sur le domaine de Facebook en utilisant les outils de développement, alors vous pouvoir reprendre votre session précédente, c'est détournement de session

Vous pouvez ajouter des cookies sur Firefox sur les outils de développement, sous stockage, en appuyant sur ce bouton Plus.

enter image description here

Facebook pourrait se plaindre, car il verra que vous avez soudainement changé d'agent utilisateur (ou d'une autre manière de prendre vos empreintes digitales qui vous êtes) et vous enverra probablement une notification vous demandant "une activité suspecte" sur votre compte.

Le fichier "cookies" que vous mentionnez est une base de données SQLite qui contient TOUS ces cookies, vous pouvez l'ouvrir avec navigateur sqlite et les vérifier vous-même. Les valeurs réelles des cookies ont été inscrites dans des versions récentes de Chrome, de sorte qu'elles ne peuvent pas être affichées à partir de la base de données sqli si facilement.

Voici quelques façons d'obtenir le contenu des cookies d'une autre personne :

  • Si le cookie est envoyé via HTTP au lieu de HTTPS et que vous êtes dans un réseau sans fil partagé, vous pouvez renifler le trafic et obtenir le cookie

  • Si le cookie n'est pas marqué comme HttpOnly, il peut être lu par javascript, si vous pouvez ajouter du javascript au site (cela s'appelle Cross site scripting), vous pouvez lire le contenu des cookies et demander à javscript de l'envoyer à un serveur que vous contrôle.

Après avoir le cookie, il vous suffit de l'insérer dans le navigateur comme indiqué ci-dessus et vous avez terminé.

Les cookies généralement importants sont marqués avec les paramètres

  • sécurisé - Il ne peut être envoyé que via HTTP [~ # ~] s [~ # ~]
  • HttpOnly - Il ne peut être utilisé que sur les requêtes, javascript n'y a pas accès

Ils sont donc beaucoup plus difficiles à voler.

Pour plus d'informations sur les cookies, vous pouvez lire Leurs spécifications

Edit: vient de réaliser que cette question est si ancienne. pour une raison quelconque, il est apparu sur la première page du site.

6
Joaquin Brandan

Comment les pirates informatiques volent-ils un compte Google ou tout autre cookie en copiant réellement le cookie des victimes?

Voici comment fonctionnent les cookies en général:

Le cookie de session d'un utilisateur sert de justificatif d'identité après s'être authentifié et jusqu'à ce qu'il soit déconnecté. Un utilisateur fournit un nom d'utilisateur/mot de passe valide et obtient un cookie de session en retour. C'est ce cookie que chaque requête HTTP suivante doit présenter au serveur afin qu'il connaisse le "contexte" de la requête. Cela garantit qu'un utilisateur n'est pas invité à saisir le nom d'utilisateur/mot de passe pour chaque page/demande.

Par conséquent, si vous obtenez le cookie de session d'un utilisateur connecté, vous pouvez essentiellement usurper son identité sans réellement connaître son mot de passe. Une méthode très courante pour voler des cookies est notre bien-aimé attaques XSS . Cependant, une bonne combinaison de paramètres CSP et de protections comme Auditeur XSS combinés avec httpOnly les cookies contrecarrent la plupart des attaques XSS. Si vous en trouvez un sur gmail, vous obtiendrez probablement une grosse somme de $$ via leur programme de bug bounty;)

CSRF est une autre façon dont les attaquants font effectuer aux serveurs des modifications qui n'ont pas été autorisées ou initiées par l'utilisateur. Il y avait une jolie attaque CSRF sur gmail où un attaquant pouvait envoyer POST requêtes pour créer un filtre de messagerie sur le compte de l'utilisateur qui transmettra essentiellement une copie de tous les e-mails à un e-mail du choix des attaquants. En savoir plus à: https://www.wired.com/2007/09/gmail_flaw_lets_anyone_read_your_e-mail/

De toute évidence, il existe de nombreuses autres attaques qui peuvent être utilisées pour compromettre le compte ou les données de l'utilisateur d'une manière ou d'une autre.

6
CodeExpress

Quant à Firefox, je pense que vous devez copier l'ensemble du dossier de profil Chrome '~/.config/google-chrome/Default', pas seulement le dossier qui contient les cookies

Alternativement, vous pouvez "voler" les cookies en utilisant les outils de développement Chrome, vous pouvez afficher les valeurs des cookies sur la machine VM, puis dans l'hôte, utilisez le même pour définir les valeurs des cookies en exécutant le code js sur la console:

document.cookie = name + "=" + value + expires + "; path=/";
0
elsadek

Je suppose que la raison pour laquelle votre méthode de "vol de cookies" n'a pas fonctionné est que les cookies sont cryptés et que l'ordinateur sur lequel ils sont cryptés peut le décrypter, c'est une fonctionnalité de Windows.

En savoir plus sur le détournement de cookies.

0
ChrisK