web-dev-qa-db-fra.com

Comment inspecter en toute sécurité un site Web potentiellement malveillant?

Parfois, je m'intéresse à ce qui se cache derrière un site Web malveillant. Comment rester prudent si je décide d'inspecter? Je recherche des méthodes plus rapides et plus simples que d'exécuter le site Web sur une machine virtuelle.

Dois-je utiliser cURL et afficher la source HTML dans une visionneuse de fichiers? Dois-je simplement afficher la source dans le navigateur en utilisant view-source:http://malicious-website/? Sont-ils sûrs?

45
Mirsad

Pourquoi ne pas simplement envoyer l'URL à Virustotal? Accéder à un site Web malveillant peut être délicat. L'utilisation de curl, wget, links -dump peut être délicate selon la façon dont le contenu malveillant est servi. Par exemple:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTP_USER_AGENT} 
 RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|libwww\-Perl|curl|wget).* [NC]
 RewriteRule ^(.*)$ - [F,L]
</IfModule>

En utilisant mod_rewrite, je peux vous alimenter des pages non malveillantes. Je peux t'envoyer ailleurs, fais ce que je veux. De plus, je peux changer les charges utiles par exemple: au lieu de vous nourrir de malveillants, je peux simplement le changer en un Javascript "Hello World" non malveillant. Cela peut vous faire croire que mon site Web malveillant est inoffensif.

Normalement, lorsque je dois visiter un site Web malveillant, j'ai un sandbox virtualisé qui exécute burpsuite pour l'interception, le serveur proxy Squid et quelques autres outils (noscript, ghostery, etc.). Quel est le but ultime de visiter en dehors de la curiosité?

34
munkeyoto

Visiter un site malveillant est souvent un hasard, car vous parlez à LEUR logiciel qu'ils contrôlent. Vous n'avez aucun contrôle réel sur ce que vous faites. Il pourrait sembler non malveillant pendant longtemps, puis vous frapper. Il pourrait essayer de vous frapper dès que vous le visitez. Ça pourrait...

Parce qu'il existe littéralement des possibilités infinies sur la façon dont un site peut être malveillant, vous ne pouvez jamais vraiment en être sûr. Tout ce que vous pouvez faire est d'utiliser une sorte d'équipement de gravure, d'explorer et de ne jamais faire confiance au site. Déjà. Pour tous les sites. Quel que soit le protocole utilisé, le danger est qu'en fin de compte, vous visiterez leur serveur d'une manière ou d'une autre. Vous vous ouvrez aux charges utiles à tous les niveaux du modèle OSI. Si vous voulez juste voir les en-têtes d'options qui restent une connexion ouverte. C'est vraiment un hic 22.


N'oubliez pas que le Web est un niveau de confiance. Je te fais confiance pour me garder en sécurité. Au cas où cependant, je vais toujours exécuter un logiciel antivirus et laisser les autres personnes le visiter en premier. S'ils restent en sécurité assez longtemps, je suppose que je vous rendrai visite.

Et puis il y a la chance que ceux-ci puissent être piratés. Ensuite, votre confiance est rompue.


Pire encore essaie d'inspecter le code. Bien sûr, vous obtenez une copie, mais une copie de quoi? Il est dans l'intérêt d'un site d'apparaître non malveillant aussi longtemps que possible. Souvent, la source de temps est complètement inoffensive jusqu'à ce qu'elle télécharge la charge utile dans une sorte d'emplacement hors site qui signalerait la plupart des tests. Vous êtes donc coincé à rechercher chaque lien et fichier source et à les lire également ou à les analyser, ce qui est coûteux au fil du temps.

TL; DR:

Vous ne pouvez jamais faire entièrement confiance à un site. Pas même Google. La partie malveillante réelle du site peut être placée dans n'importe quoi, n'importe où sur le site. Bien sûr, vous pouvez en toute sécurité inspecter la source, mais tout ce que vous pourriez obtenir est un faux sentiment de sécurité.

Si vous DEVEZ absolument le faire, utilisez une machine à brûler ou VM que vous pouvez détruire dès qu'il est infecté. La charge utile peut être n'importe où (fichier HTML, JS/CSS/Vector/app hors site)/image/CSV/JSON/file ...). Si vous ne pouvez pas faire confiance au site en fonction de sa réputation, vous ne pouvez pas du tout faire confiance au site.

14
Robert Mennell

Il est difficile d'inspecter les sites Web en analysant leur code source, car certains sites contiennent des codes cachés. Vous voudrez peut-être essayer l'analyse basée sur la réputation.

Vous pouvez ajouter un module complémentaire à votre navigateur pour analyser le site avant de cliquer dessus. Par exemple, wot, un plug-in (web of trust). https://www.mywot.com/

Vous pouvez également envoyer l'URL à un scanner d'URL gratuit. L'exemple est http://zulu.zscaler.com/ Ceci inspecte le site Web lui-même. Il s'agit d'un outil d'analyse des risques.

Vous pouvez également essayer http://urlquery.net/index.php

Le site d'analyse basé sur la réputation le plus courant est http://www.urlvoid.com/ et https://www.virustotal.com/

3
vulnerableuser

D'autres ont mentionné que la simple récupération d'une URL peut fournir des informations cruciales à l'hôte; les informations sont que vous avez lu un e-mail.

Cela dit, je suppose qu'une option pour inspecter une page Web en toute sécurité, qui n'est ni trop inconfortable ni compliquée, consiste à ouvrir l'URL dans un navigateur basé sur du texte comme lynx (sous Windows, peut-être dans un environnement cygwin). Lynx ne traite pas JavaScript et n'affiche pas immédiatement les images ou tout autre contenu non textuel, ce qui le rend invulnérable à la plupart des attaques ciblées sur les plateformes grand public (j'apprécierais cependant les commentaires à ce sujet).

J'aime la réponse de @Robert Mennell, mais j'ajouterai qu'il y a un moyen de voir ce que le site fonctionne, c'est de tirer le disque et de l'inspecter sur une autre machine. De cette façon, vous êtes moins susceptible d'être affecté par un rootkit qui vous fait mentir le système d'exploitation. Bien sûr, le firmware du lecteur pourrait vous mentir, mais c'est un rootkit assez spécialisé.

0
Adam Shostack