Récupération de fichiers mail python
Résolu/Fermémamiemando Messages postés 33304 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 octobre 2024 - 25 oct. 2022 à 15:29
- Python imap gmail
- Gmail - Guide
- Gmail connexion - Guide
- Créer un compte gmail - Guide
- Gmail connexion autre compte - Guide
- Finis les spams dans votre boîte mail avec cette super fonction de Gmail - Guide
2 réponses
20 oct. 2022 à 12:01
Bonjour,
Plusieurs choses :
- En cas d'arrivée d'un email malveillant, c'est peut être plus au serveur mail (plus qu'à ton script) de contrôler si c'est un pourriel ou non (typiquement avec un anti spam et antivirus). Le destinataire de l'email (dont le client mail) devrait avoir ses propres antivirus et anti spam en complément.
- Rien n'empêche de faire des contrôles de bases (sur le type mime par exemple) pour être ceinture et bretelle.
- Ça reste facilement contournable en changeant l'extension. L'extension ne change pas le contenu du fichier, mais détermine avec quelle application le système aura envie de lire le fichier.
- Si un logiciel (disons ton lecteur pdf) contient une faille de sécurité, que ce type mime est autorisé, et que le lecteur pdf comporte une faille qui permet de lui faire exécuter du code embarqué dans un fichier pdf, alors un fichier pdf peut effectivement embarquer du code malveillant et commencer à contaminé ta machine (avec les droits de l'utilisateur qui a lancé le lecteur pdf).
- Si tu télécharges en local une pièce jointe malveillante, comme le dit yg_be, tant qu'elle n'est ni exécutée, ni lue par un logiciel dont elle exploite une faille de sécurité, elle ne peut pas contaminer ta machine spontanément. Cela signifie que si l'utilisateur n'exécute pas ou n'ouvre pas une pièce malveillante, il n'y a pas de risque. S'il l'ouvre, il faut que la pièce malveillante soit capable d'exploiter une éventuelle faille du logiciel utilisé pour l'ouvrir, ce qui n'est pas systématique.
- Dans ton message #6, tu dis "mon serveur mail (Thunderbird)", mais Thunderbird est un client mail. Un client permet d'interroger un serveur mail, typiquement un serveur IMAP ou POP3, (par exemple imap.gmail.com). Il s'agit donc bien d'une autre machine.
Bonne chance
17 oct. 2022 à 15:11
bonjour,
Je pense que tu as bien compris.
Tu pourrais peut-être examiner l'extension du fichier, et le refuser si cette extension te semble dangereuse.
18 oct. 2022 à 10:34
N'est-il pas facile de faire passer un .exe en lui associant un descriptif mime inoffensif?
19 oct. 2022 à 11:02
Ok, merci ! :)
Effectivement, dans config['caseFiles'] j'ai une liste blanche contenant par exemple :
application/pdf application/octet-stream image/png
Je vais donc regarder comment ajouter une analyse en plus, pour vérifier ce que dit @yg_be.
19 oct. 2022 à 20:56
Bonsoir, aucune idée, je ne suis pas trop spécialiste des attaques concernant windows ^^
En regardant ce qu'il se fait en php notamment, liste blanche + renommage fichier et extension devrait pallier je pense aux problèmes d'extension masquées par windows... (Je ne sais si c'est toujours le cas sur les versions récentes).
Modifié le 20 oct. 2022 à 10:14
Bonjour,
Finalement, je préfère éviter le risque de transmettre le fichier vers l'outil de réponse à incident.
En fait, ce qui me dérange, c'est que si je fais une analyse sur l'extension, il y aura toujours des façons de faire que je ne pourrais pas détecter. Par exemple, un pdf contenant du code exécutable à l'intérieur (je dis n'importe quoi mais c'est l'idée).
Je me suis dit, peut-être que je peux calculer le SHA256 des fichiers récupérer ce hash et transmettre lui et éventuellement le nom du fichier à l'outil, qui lui pourra ensuite faire une requête vers VirusTotal pour vérifier l'intégrité du fichier.
Cependant, je me pose toujours une question, peut-être bête. Toujours au niveau du même bloc de code, on est d'accord que je dois toujours télécharger le fichier du mail et le mettre dans le fichier temporaire pour permettre le calcul du SHA256 ? Donc cela pose toujours un risque lors de ce téléchargement ? Vu que le fichier temporaire est placé en local ...
Pour être plus claire : mon script est situé sur le serveur hébergeant l'outil de réponse à incident, il va interroger mon serveur mail (Thunderbird) et envoyer directement la réponse (formulée d'une certain manière) à l'outil via son API.
Merci ! :)
20 oct. 2022 à 12:18
Bonjour,
"Dans ton message #6, tu dis "mon serveur mail (Thunderbird)", mais Thunderbird est un client mail. Un client permet d'interroger un serveur mail, typiquement un serveur IMAP ou POP3, (par exemple imap.gmail.com). Il s'agit donc bien d'une autre machine."
Oui désolé je n'ai pas utilisé les bons termes :( ... pour mon serveur mail.
"Si tu télécharges en local une pièce jointe malveillante, comme le dit yg_be, tant qu'elle n'est ni exécutée, ni lue par un logiciel dont elle exploite une faille de sécurité, elle ne peut pas contaminer ta machine spontanément. Cela signifie que si l'utilisateur n'exécute pas ou n'ouvre pas une pièce malveillante, il n'y a pas de risque. S'il l'ouvre, il faut que la pièce malveillante soit capable d'exploiter une éventuelle faille du logiciel utilisé pour l'ouvrir, ce qui n'est pas systématique."
D'accord. Je ne sais pas pourquoi, mais pour moi cela représentait un risque de télécharger un fichier malveillant, il n'y a pas des cas (sûrement rare) ou le téléchargement de fichier malveillant peut être dangereux ? (sans avoir à le toucher ensuite).
Merci :)
Modifié le 20 oct. 2022 à 14:24
Non ce n'est pas possible.
Quel que soit le système d'exploitation, un téléchargement est juste une copie bit à bit d'un contenu vers un espace de stockage, sans chercher à comprendre ce que signifient ces bits. Il ne peut donc pas y avoir exécution de code (malveillant ou non) à ce stade quand bien même le contenu téléchargé serait un exécutable.
C'est après qu'une tâche soit effectuée par le système, il faut qu'un programme l'exécute. Ensuite, de deux choses l'une :
Comme tu le vois, il n'y a pas d'exécution spontanée au moment de télécharger un fichier.
24 oct. 2022 à 09:02
Hello ! Merci pour ces explications :)
Cela me paraît logique maintenant que tu me le dis.
Je vais donc garder mon idée de récupérer uniquement le SHA256, qui suffira pour savoir si le fichier est référencé sur certaines bases de données comme VirusTotal. Je préfère éviter de récupérer le fichier entier, cela évitera que quelqu'un l'ouvre après téléchargement à partir de l'outil de réponse à incident.
Bonne journée !
25 oct. 2022 à 15:29
Comme tu le sens, merci pour ton retour et bonne continuation :-)