Question:
Est-il toujours sûr d'ouvrir un fichier HTML suspect (par exemple, une pièce jointe à un e-mail)?
UPChoo
2019-03-29 16:39:04 UTC
view on stackexchange narkive permalink

Si je reçois un e-mail contenant une pièce jointe appelée quelque chose comme safe-link.html , serait-il possible d'ouvrir ce fichier en toute sécurité?

De toute évidence, les fichiers HTML peuvent contenir scripts malveillants intégrés qui pourraient s'exécuter lorsqu'ils sont ouverts avec un navigateur. Cependant, je me demande si des violations pourraient se produire lors du téléchargement du fichier, puis de son ouverture dans le Bloc-notes / un autre éditeur de texte de base plutôt qu'un navigateur Web?

Arrière-plan

Je demande seulement parce que l'entreprise pour laquelle je travaille aime envoyer des e-mails de "test" de phishing de temps en temps, et le dernier a une pièce jointe HTML. J'ai immédiatement suspecté l'e-mail (donc je n'ai pas cliqué pour ouvrir la pièce jointe dans un navigateur), mais j'étais intrigué de voir s'il s'agissait en fait d'un autre test!

J'ai donc suggéré à mes collègues d'ouvrir le fichier avec Notepad. Nous sommes tous assez avertis pour lire le HTML, donc nous repérerions immédiatement le "Si ce n'était pas juste un test, votre ordinateur serait compromis!", Mais ils étaient extrêmement préoccupés par le fait que j'avais pensé à interagir avec le fichier. .

Je suis raisonnablement convaincu que tout script malveillant dans un fichier html devrait être ouvert dans un navigateur Web pour qu'il ait un effet.

Mes collègues sont-ils trop prudents? , ou étais-je trop zélé?

Je suis partisan de "mieux vaut prévenir que guérir", donc je ne pense pas qu'ils aient eu tort de ne pas l'ouvrir; je ne crois pas non plus que c'était complètement dangereux à ouvrir avec quelque chose comme le Bloc-notes. Je suis très intrigué de le savoir!

"Gotchas" Je suis au courant de:

Je pense que le modifier dans un développement de site Web plus complexe outil (qui rend réellement la page dans un aperçu) pourrait être dangereux.

De plus, je suis conscient que le simple fait de double-cliquer sur le fichier (même si la valeur par défaut "ouvrir avec" est définie comme un éditeur de texte ) pourrait être dangereux. C'est parce que quelque chose ke readme.txt pourrait en fait être readme.txt.exe avec des extensions de fichier cachées dans quelque chose comme l'Explorateur de fichiers Windows.

Toutes ces réponses sont extrêmes.Si vous voulez ouvrir un fichier html dans un éditeur de texte, allez-y, tant qu'il n'y a rien d'exécutable avec.
Un exemple célèbre est `AnnaKournikova.jpg.vbs` (* [Anna Kournikova (virus informatique)] (https://en.wikipedia.org/wiki/Anna_Kournikova_ (computer_virus)) *)
@PeterMortensen: Un fichier VBS n'est pas un fichier HTML…
Oui.Si le fichier est un test, et vous l'ouvrez, et voyez que c'est un test, alors vous pourriez être tenté d'en parler aux autres.Détruisant ainsi l'efficacité du test.De plus, si les gens sont punis pour avoir commis des erreurs, votre entreprise ne peut pas apprendre;les erreurs seront dissimulées.
Ouvert sous forme de texte, rien ne peut courir, donc aucun risque.
@mckenzm: avez-vous regardé les réponses existantes avant de commenter?La question n'est pas * si * triviale de répondre "non".Un bug dans la gestion des séquences UTF-8 invalides pourrait exister, par exemple.
@ Peter Cordes La question cherche une réponse binaire oui / non.Regarder le texte TNEP ou le chat filtré (sed) du contenu est sûr, tout comme l'imprimer sur papier.Il doit être neutre pour le transport (Base64, par exemple), et il y a toujours hexdump.Alors oui, il existe des moyens sûrs.Il n'est pas nécessaire que ce soit nano / pico / vi / emacs / gedit.
Si vous êtes dans le genre d'environnement où l'ouverture d'un fichier html dans un éditeur de texte est considérée comme risquée, vous êtes dans un environnement qui ne devrait pas avoir accès à Internet en premier lieu.
@mckenzm Le point de Peter, et il a raison, est que _si_ nous réduisons cela à une réponse binaire oui / non, la réponse est _NON_ (comme dans _no_ ce n'est pas sûr).Mais, en réalité, peu de choses sont binaires oui / non, et la vraie réponse ici, d'après mon message, est que c'est bien en dessous du seuil de tolérance à mon avis.
J'ai aussi un soupçon furtif que les réactions des collègues n'étaient pas dues à une analyse de risque d'ouverture de source HTML dans un éditeur de texte (ou à un affichage à l'écran), mais à un manque de compréhension.Bien que ce soit difficile à prouver, bien sûr.
_avec des extensions de fichier cachées dans quelque chose comme l'Explorateur de fichiers Windows._ Même si vous le définissez pour afficher les extensions de fichier complètes, il peut toujours s'agir d'un exécutable avec des caractères d'inversion Unicode dans le nom de fichier.J'ai écrit un exemple de cela dans [une réponse sans rapport] (https://security.stackexchange.com/a/187859/165253).
Huit réponses:
Thomas
2019-03-29 17:54:59 UTC
view on stackexchange narkive permalink

Les éditeurs et les bibliothèques courantes utilisées par les éditeurs peuvent avoir des vulnérabilités telles que les dépassements de tampon. Votre attaquant devrait savoir (ou deviner) quel éditeur vous utilisez et créer un exploit spécifiquement pour cet éditeur (il est peu probable que différents éditeurs aient les mêmes vulnérabilités à moins que la vulnérabilité ne réside dans une bibliothèque qu'ils ont en commun). Une attaque peut viser un éditeur populaire et être envoyée au plus grand nombre de personnes possible, la transformant essentiellement en une attaque "spray-n-prier".


Surface d'attaque

Un éditeur très simple comme le Bloc-notes de Microsoft a une surface d'attaque plus petite qu'un éditeur plus avancé (comme Visual Studio Code). Plus de code signifie généralement plus de vulnérabilités potentielles.


Atténuations

Certaines techniques d'atténuation comme Randomisation de la disposition de l'espace d'adresse (ASLR), Exécution des données La prévention et le fait d'avoir un antivirus avec un "bloqueur d'exploit" (ceux-ci sont généralement capables de reconnaître les attaques de débordement de base, entre autres) peuvent aider à rendre certaines attaques inutiles.

Mises à jour logicielles

Toutes ces techniques ne remplacent bien sûr pas la mise à jour de votre logiciel ( TOUS vos logiciels que je pourrais ajouter). Garder votre logiciel à jour est la meilleure stratégie de sécurité que l'on puisse avoir. Ceci est parfois négligé ou banalisé en raison de son manque de rétroaction. Un anti-virus qui vous crie: "Vous êtes protégé!" envoie un signal beaucoup plus fort qu'une mise à jour logicielle qui corrige silencieusement les vulnérabilités en arrière-plan. J'ai tendance à comparer un programme antivirus avec une personne qui met les doigts dans les trous d'une digue pour empêcher l'eau de passer. Il fait de son mieux pour empêcher les inondations d'entrer, mais il est probable qu'il n'aura pas assez de doigts pour remplir tous les trous (ou en manquer quelques-uns tout à fait). Les correctifs logiciels corrigent ces trous.


Conclusion

Vous ne pouvez jamais être sûr de ne pas passer une mauvaise journée en ouvrant n'importe quel type de fichier dans n'importe quel type de programme. Cependant, certains programmes (comme les éditeurs) sont beaucoup plus difficiles à attaquer en raison de leur faible encombrement ou de leur conception sécurisée et sont donc moins susceptibles d'être ciblés pour des attaques de masse (en particulier parce qu'un attaquant est susceptible de supposer que leur fichier .html diabolique va être ouvert dans un navigateur, pas dans un éditeur).

Débordement de tampon dans un éditeur de texte?
@Putvi Pourquoi cette surprise?La fonction principale d'un éditeur de texte est de manipuler les tampons, il est très facile de se faufiler dans les débordements de tampon si vous ne faites pas attention.
Avez-vous des exemples?
Je n'ai ** jamais ** entendu parler d'une attaque contre un éditeur de texte.C'est certainement dans le domaine du possible, mais je serais très surpris d'en voir un exemple pratique.
@Putvi: Voici la liste des vulnérabilités pour vim: https://www.cvedetails.com/vulnerability-list/vendor_id-8218/opec-1/VIM.html.Il en énumère quelques-uns ...
@sleske La plupart d'entre eux ont à voir avec des vimscripts.Combien permettraient réellement à un fichier de vous nuire simplement en étant vu / ouvert et parcouru?
@Numeri: Celui-ci par exemple: https://www.cvedetails.com/cve/CVE-2016-1248/ - "exécution de code arbitraire si un fichier avec une modeline spécialement conçue est ouvert".Il suffit donc d'ouvrir un fichier.
@Numeri Vous pouvez exécuter des commandes shell à partir de VimScript.
Puisque vous pouvez exécuter du code comme une fonction normale, vim n'est pas * juste * un éditeur.La partie attaquée est la partie non-éditeur.Existe-t-il des vulnérabilités pour les éditeurs simples?
Donc, si j'utilise un éditeur de texte vraiment underground (qui est vraiment vraiment impopulaire), je serais en sécurité en l'ouvrant sur cet éditeur?
Il est vrai que vous ne pouvez jamais être sûr à 100%.Mais, non plus, vous pourriez être exploité même * sans * ouvrir de pièce jointe, simplement en cliquant sur un e-mail (ou, selon la gravité de votre client de messagerie, même en recevant simplement un e-mail sans aucune action supplémentaire de votre part)
@ihavenoidea ** Non! ** Ce serait la sécurité par l'obscurité, ce qui est une mauvaise chose.Un éditeur de texte obscur aurait probablement plus de vulnérabilités, potentiellement même celles qui fonctionnent sur plusieurs éditeurs de texte, pas seulement un.
Je pense que les éditeurs de texte sont assez sûrs, car, lors de l'envoi d'un fichier HTML, on s'attend généralement à ce qu'il soit ouvert dans un navigateur.[Cependant, c'est Security by Hope, qui est certainement la pire approche qui soit]
George M Reinstate Monica
2019-03-30 05:11:08 UTC
view on stackexchange narkive permalink

Oh, ces réponses sont bien trop sophistiquées pour votre situation. Il est très peu probable que votre service informatique utilise une solution de contournement sophistiquée en supposant qu'il sache quel éditeur vous utilisez, son objectif n'est pas de gâcher vos systèmes. Le bloc-notes ne fera rien avec une image ou une pièce jointe, quoi qu'il arrive, et le texte que vous avez vu n'a certainement rien fait de répréhensible pour votre système. Cela n'aurait pas été non plus probable, même s'il s'agissait d'une véritable attaque, car les éditeurs sont des outils très personnels et il y en a beaucoup et beaucoup d'entre eux qui devraient être couverts pour que quelque chose de ce genre ait un effet détectable.

Dites à vos collègues de vous lever et de faire plus attention eux-mêmes. Permettez-moi juste de souligner que vous vous êtes plongé dans ce trou et que vous avez réalisé le contraire de ce qui était prévu…. Si vous n'aviez pas annoncé que vous regardiez et ce que vous avez vu, les gens qui ne savent clairement rien de la sécurité informatique ne vous harceleraient pas et ne se sentiraient pas supérieurs à ce sujet. Au lieu de cela, certains d'entre eux auraient ouvert la pièce jointe et vu le message, et se sont un peu châtiés. Vous avez donc raté le test informatique tout au long de la ligne, en mettant l'accent sur l ' effet Dunning-Kruger qui est sans aucun doute la cause de l'envoi de ces tests. Arrêtez ça!

Je ne pense pas que cette réponse soit utile.La question porte sur les implications de sécurité de l'ouverture d'un tel fichier dans un éditeur de texte.Et si ce sur quoi vous travaillez est suffisamment important, il est fort possible que vous obteniez de telles attaques ciblées.Et si vous êtes juste une personne générique, il est toujours possible de recevoir un fichier qui cible notepad ++ (du moins en théorie. Je ne connais pas de vulns)
@lucidbrot: notepad ++ fait de la coloration syntaxique et d'autres choses.Cette réponse concerne le Bloc-notes Microsoft fourni avec Windows.La surface d'attaque est probablement limitée à de très longues lignes, de très gros fichiers ou peut-être des trucs UTF-8.Peut-être un mauvais nom de fichier.Mais comme il est livré avec Windows, il a * espérons-le * été bien audité?
@PeterCordes Je suis convaincu que le programme Notepad est moins vulnérable que l'indexeur, le générateur de vignettes, l'analyseur antivirus et tout ce qui voit le fichier avant Notepad.
Lightness Races in Orbit
2019-03-31 01:05:07 UTC
view on stackexchange narkive permalink

D'accord, donc, techniquement , vous n'êtes jamais sûr à 100%. Oui, il pourrait y avoir des tentatives d'attaques sur votre éditeur de texte / visualiseur ASCII. Oui, quelqu'un pourrait avoir en quelque sorte glissé une DLL dans votre répertoire temporaire afin de gâcher le chargement différé du Bloc-notes MS.

Mais en pratique , lorsque vous recevez un fichier HTML dans un e-mail d'hameçonnage, il contiendra du code JavaScript malveillant ou vous redirigera probablement vers un site Web en ligne qui tente de vous persuader de transmettre les détails / connexions de votre carte de crédit.

Donc, en pratique , examiner un tel fichier dans Notepad ++ est un moyen parfaitement raisonnable de voir ce qui vous a été envoyé. La réaction de vos collègues semble injuste, sauf si vous travaillez dans un silo nucléaire… et si votre travail est vraiment cette mission / sécurité critique, pourquoi y a-t-il des e-mails? Pourquoi y aurait-il accès à Internet? Et, s'il n'y en a pas, pourquoi auriez-vous besoin d'audits / tests / pots de miel de phishing? Quelqu'un quelque part est trop paranoïaque.

Nous pouvons essayer de réduire notre risque à zéro, mais le seul moyen d'y parvenir est de ne pas utiliser d'ordinateur.

Tout cela étant dit, cependant , vous aurez toujours affaire à des gens stupides, alors gardez peut-être cette activité pour vous la prochaine fois. ;)

reed
2019-03-29 22:32:27 UTC
view on stackexchange narkive permalink

En général, ce n'est pas sûr car si vous recevez un e-mail suspect ou inattendu, quelle que soit la pièce jointe, il ne doit pas être ouvert. C'est la chose la plus sûre à faire. Surtout si vous êtes sur Windows, qui est connu pour exécuter des choses quand il ne devrait pas, et qui est le système d'exploitation le plus ciblé par les attaquants, exécutant les applications les plus ciblées.

Mais si vous voulez quand même l'ouvrir, peut-être parce que vous êtes un passionné d'INFOSEC ou que vous pensez être (ou vouloir être) plus intelligent que l'utilisateur moyen, voici quelques conseils:

  • Envisagez de lire le code source de l'e-mail au lieu de l'ouvrir. Vous pourrez peut-être le faire directement depuis l'interface de la messagerie Web, ou en lisant les fichiers texte sur votre serveur, etc.
  • Pensez à télécharger la pièce jointe depuis la source, en copiant et collant sa représentation base64. Ce ne sera qu'un simple texte ASCII. Vous pouvez ensuite le reconvertir en binaire avec certains outils.
  • Envisagez de renommer le fichier, en l'enregistrant en tant que fichier potentiellement malveillant.txt au lieu de .html ou quel que soit le nom et l'extension qu'il possède.
  • Pensez à ouvrir le fichier txt avec des éditeurs de texte très basiques, voire des éditeurs hexadécimaux, ou même avec des outils basiques très simples disponibles sur la ligne de commande qui n'afficheront que les caractères ASCII. Un exemple pourrait être cat file.txt | less sous Linux. (Remarque: pourquoi cat avant less ? Parce que j'ai remarqué que less analyse et convertit parfois certaines choses par défaut, comme la conversion de PDF en TXT. Donc attention, il vaut mieux vérifier de toute façon ce que font les commandes par défaut sur votre système).
  • Pensez à ouvrir le fichier dans la machine virtuelle, qui doit être à jour et également déconnectée du réseau.
  • Pensez à faire la plupart de ces choses à la maison et n'en parlez jamais à votre patron ou à vos collègues. Ils pourraient y voir un comportement dangereux, une violation de la politique de sécurité ou quelque chose qui pourrait vous causer des problèmes de toute façon.
Vous voulez au moins désactiver `LESSOPEN` et` LESSCLOSE` si vous utilisez `less`.De plus, il peut être préférable d'utiliser `cat -v` pour éviter d'exploiter les vulnérabilités de gestion des codes Unicode ou de contrôle dans votre émulateur de terminal.
tasket
2019-03-30 18:58:25 UTC
view on stackexchange narkive permalink

Ses situations comme celle-ci, où le risque pour des objets particuliers est une quantité inconnue, qu'un OS fortement compartimenté comme Qubes excelle. Qubes utilise un hyperviseur sans système d'exploitation renforcé pour isoler les éléments à risque des zones sensibles (comme les fichiers personnels et le système d'exploitation principal). Il isole même les appareils à risque. Cet isolement est exprimé et contrôlé via l'interface graphique de manière assez conviviale:

Disposable VM context menu

Dans l'exemple ci-dessus, un clic droit sur un fichier html dans KDE Dolphin vous permet de choisir des options telles que "Modifier dans DisposableVM" et "Afficher dans DisposableVM" . Cliquer sur l'un ou l'autre de ces éléments instanciera automatiquement une machine virtuelle jetable (dispvm), puis enverra le fichier à dispvm et le chargera dans l'application associée. Cela ne prend que quelques secondes. Lorsque vous avez terminé avec l'application d'édition, la version modifiée sera renvoyée à la VM appelante et le dispvm sera instantanément détruit. Notez, cependant, que ce processus en lui-même ne transforme pas un fichier non approuvé en un fichier de confiance.

Pour certains types de fichiers (actuellement les images et les pdfs), il existe également une option de menu pour conversion d'un fichier à un état de confiance ... c'est-à-dire qu'un dispvm est utilisé pour traiter un pdf non approuvé et construire une version nettoyée qui est rechargée et peut être utilisée sans risque pour vos VM habituelles sur lesquelles vous travaillez normalement. Ceci est possible parce que l'outil de nettoyage d'origine accepte uniquement la représentation la plus prévisible des données demandées en retour du dispvm, comme des images bitmap non compressées d'un nombre exact de pixels et d'octets prévus; une fois la version brute purgée reçue, elle est recompressée dans le format attendu.

Il convient de noter que vous pouvez émuler le type de sécurité décrit ci-dessus en utilisant plus familier des outils comme VirtualBox et VMware, mais le degré et la qualité de l'isolement sont peu susceptibles de correspondre aux niveaux atteints par un système dédié comme Qubes.

Si OP utilise Windows, [Sandboxie] (https://www.sandboxie.com/) fera l'affaire.
AnonSecurityUser95
2019-03-31 07:21:22 UTC
view on stackexchange narkive permalink

Pendant que d'autres signalent des failles, je dirais que vous avez fait la bonne chose.

Pendant que vos autres collègues prenaient la route de supposer que c'était mauvais, vous avez utilisé vos compétences pour analyser la situation et vérifier qu'elle intention malveillante.

Vous aviez compris que vous ne devriez pas autoriser le navigateur à ouvrir le fichier, mais plutôt utiliser quelque chose avec lequel il n’était pas destiné à être ouvert par le destinataire. Vous avez analysé le code et vous avez pu vérifier qu'il avait une intention malveillante (dans ce cas, seulement un avertissement de votre équipe informatique).

Si vous êtes assez habile pour analyser les fichiers et faire le bon jugement, je trouverais cela plus en veillant à ce que vous ayez une bonne compréhension de la protection contre les utilisateurs malveillants et d'utiliser vos compétences pour assurer votre sécurité.

Cependant, si vous n'avez pas les compétences nécessaires pour vérifier le code HTML et le code JavaScript n'est pas malveillant, vous ne devriez tout simplement pas l'ouvrir et supposer qu'il est malveillant car vous ne pouvez pas garantir sa sécurité même si vous l'avez ouvert dans le bloc-notes.

Essayez uniquement d'analyser une situation dans laquelle vous avez les compétences appropriées pour analyser et analyser la situation uniquement si vous attendez l'e-mail ou s'il provient d'une source connue.

Overmind
2019-03-29 17:42:25 UTC
view on stackexchange narkive permalink

Oui, des violations peuvent se produire lors du téléchargement du fichier, puis de son ouverture dans le Bloc-notes / autre éditeur de texte de base largement utilisé , car les charges utiles peuvent être spécifiquement conçues pour interagir avec des éditeurs tels que le Bloc-notes.

Exemple: Notepad.exe, comme beaucoup de programmes Windows, utilise des bibliothèques système. Une de ces bibliothèques système charge shdocvw.dll (composant lié à Internet Explorer). shdocvw.dll a une dépendance de retard de chargement sur une bibliothèque appelée «ieshims.dll».

Ce .dll pourrait être recherché dans le répertoire courant et chargé à partir de là. Donc, si un attaquant le déploie avec le fichier .txt, il pourrait utiliser cette configuration comme un exploit pour charger son .dll et ensuite partir de là.

La solution à ceci: utilisez votre propre éditeur / visualiseur de texte qui ne dépend d'aucun composant Windows / bibliothèques. Le mien s'appelle juste Edit.ExE, 100% indépendant de toute ressource externe et 100% sûr en ce qui concerne le contenu traité (lit tout directement en ASCII / texte sans détection de contenu). Vous n'en avez pas; utilisez une personne très obscure que personne ne prendrait la peine d'exploiter.

"Ce .dll pourrait être recherché dans le répertoire courant et chargé à partir de là."Donc, si la seule chose qui se trouve dans le répertoire du fichier html est ce fichier html, alors vous n'êtes pas exposé à cette attaque?Cela semble être une solution plus facile que d'écrire votre propre visionneuse de texte.
"100% indépendant de toute ressource externe" - vous lisez donc le fichier en accédant directement aux secteurs du disque, au cas où votre système d'exploitation serait compromis?Et vous n'utilisez même pas le système d'exploitation pour charger Edit.ExE, au cas où il serait compromis de reconnaître ce nom de fichier comme étant un nom évident pour un éditeur de fichiers?La sécurité est une chose, mais la paranoïa en est une autre.
Êtes-vous vraiment en faveur de la ** sécurité par l'obscurité **?-1
@alephzero: Je pense que le fait est que * cette * pièce jointe d'e-mail n'aurait pas pu compromettre son éditeur avant de l'ouvrir, et son éditeur ne s'appuie pas sur un autre code qui est * intrinsèquement * compromis.
C'est théoriquement possible.Mais il est également possible que vous soyez piraté sans rien faire, y compris le téléchargement du fichier.Si vous voulez éviter cette possibilité, il est plus pratique d'écrire un programme pour insérer un trait de soulignement après chaque caractère, ce qui détruirait la plupart des codes malveillants, et l'ouvrir avec un éditeur familier.
@user23013 Le programme de soulignement devrait charger le fichier, que faire si quelqu'un exploite ce programme?
@Twometer Je le compare avec edit.exe, sans doute plus susceptible d'avoir des vulnérabilités.
Un .exe personnalisé à lecture ASCII ne peut avoir aucune vulnérabilité car il n'interprète rien dans le contenu et ne charge aucun fichier lié au système d'exploitation (comme .dlls).
Redwolf Programs
2019-04-01 18:15:17 UTC
view on stackexchange narkive permalink

Si vous êtes un scientifique nucléaire paranoïaque travaillant dans une base secrète en Antarctique, peut-être. Sinon, personne ne passera le temps à implémenter des débordements de tampon, etc.

La première chose qui vient à l'esprit de la plupart des gens lorsqu'ils voient un fichier HTML est probablement de l'ouvrir avec un navigateur . S'ils voulaient vous "tromper" pour que vous l'éditions avec Notepad ++ ou similaire, ce serait probablement un fichier texte, un fichier JSON, etc.

Donc non, vous n'êtes probablement pas en danger, mais oui, vous pourriez l'être.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...