Le spam comme outil de protection

On pense que 80% des e-mails dans le monde sont des spams. C'est-à-dire des messages électroniques dont le destinataire n'a pas du tout besoin (et c'est triste). Mais, comme si cela ne suffisait pas, au milieu du spam, il y a souvent des lettres envoyées à des fins malveillantes: par exemple, pour voler ou supprimer des données, ou pour extorquer.

KDPV:



Comme nous le savons, pour qu'une lettre nuise vraiment aux systèmes informatiques, il ne suffit pas dans la plupart des cas de livrer une lettre au destinataire. Nécessite un «adversaire enclin à la coopération», c'est-à-dire l'utilisateur doit effectuer indépendamment des actions qui mèneront à l'exécution de l'intention de l'attaquant.

En règle générale, une telle action consiste à «ouvrir» la pièce jointe à la lettre, c'est-à-dire à démarrer manuellement le traitement du fichier avec le programme de gestion correspondant dans le système d'exploitation de l'utilisateur.

Encore plus tristement, l'adversaire adjoint est un oiseau très commun, et notre attaquant spammeur pourrait bien compter sur lui.

Et cela conduit à


Bref, notre comptable ouvre un compte, et il n'y a même pas de compte du tout, mais un virus.

Les lettres malveillantes présentent bien sûr des différences importantes. Mais espérer l'attention et la sensibilisation des utilisateurs est une mauvaise idée. Même des concerts bizarres sur le thème «n'ouvrent pas une telle chose» avec un salut et une performance vocale solo du général (composition «Polymères») finissent par disparaître de la mémoire d'un employé de bureau.

Bien sûr, des systèmes bien réglés nous protégeront de la plupart de ces attaques. Mais le mot clé est «de la majorité». Personne ne donnera une garantie à 100%; et s'il s'agit de l'utilisateur, alors le renforcer, comme l'un des endroits les plus faibles des systèmes, est une bonne chose.

Dans la criminalité informatique, la technologie et l'ingénierie sociale vont de pair. L'attaquant se rend compte qu'il est difficile de prétendre à qui l'utilisateur fait confiance sans condition et est donc contraint d'utiliser d'autres tactiques: intimidation, coercition, imitation d'autorités reconnues et / ou utilisation des faux noms correspondants - par exemple, envoyer des lettres au nom d'organismes gouvernementaux et de grandes entreprises.

Et, comme nous le disent les anciens: si nous ne pouvons pas gagner, nous devons diriger. En effet, que sommes-nous pires que les spammeurs? Oui, nous sommes beaucoup mieux! Oui, et nous avons plus d'opportunités. Et la tâche elle-même nécessitera les compétences de programmation les plus minimales et n'affectera pratiquement pas les systèmes existants.
Avertissement: l'auteur n'est pas un spammeur, le spammeur n'est pas un auteur. L'auteur est uniquement et exclusivement du bon côté.
La tâche est très simple:

nous enverrons à nos utilisateurs des lettres similaires à celles malveillantes. Dans les pièces jointes à ces lettres, nous joindrons les documents où, en majuscules, nous écrivons «NE PAS OUVRIR LES DOCUMENTS DE TELLES LETTRES. Soyez prudent et prudent. "

Ainsi, notre problème a les conditions suivantes :

Condition 1 . Les lettres doivent être différentes . Si nous envoyons la même lettre à tout le monde et à chaque fois, cela ne sera pas différent des rappels ordinaires lors des réunions, auxquels les utilisateurs ont l'immunité. Il faut stimuler l'utilisateur avec le système responsable de la formation. Les conditions suivantes en découlent:

Condition 2 . Les lettres devraient être comme les vraies. Il est possible, mais inefficace, d'envoyer des lettres de Meat-Company LLP ou de Barack Obama. Il est logique d'utiliser les noms réellement existants (et différents!) D'organisations et d'organismes;

Condition 3 . Il est également important que les lettres soient un peu étranges . Ils doivent être quelque peu douteux afin d'éveiller la suspicion et l'utilisateur et d'activer le système d'apprentissage dans le cerveau;

Condition 4 . Et avec tout cela, les lettres devraient attirer l'attention et provoquer . Eh bien, tout est simple, nous n'avons même pas besoin d'inventer quoi que ce soit: les spammeurs ont déjà tout fait pour nous. «Pénalités», «Décisions judiciaires» et même juste «Documents» en pièces jointes, «Forfaits», «Recalculs», «Pénalités» dans le sujet et beaucoup de mots «Urgent», «Immédiatement», «Obligatoire», «Payant» dans le texte - et c'est dans le chapeau.

Pour mettre en œuvre cet ensemble magique, vous aurez besoin de compétences de programmation minimales et d'une soirée ennuyeuse. L'auteur a utilisé Python 3 (car il fallait s'entraîner) et JS (pour collecter des données directement depuis la console du navigateur). Mais la plupart du code est facilement implémenté sur les outils natifs du système d'exploitation (bash, cmd), seulement avec les encodages tourmentés.

En toute justice, il convient de noter que l'idée elle-même n'appartient pas à l'auteur, mais a été espionnée par une grande entreprise internationale. Néanmoins, l'idée est tellement apparente que, à peine entendue, l'auteur, criant «pourquoi je ne l'ai pas fait auparavant», s'est précipitée pour la mettre en œuvre.

Donc, tout d'abord, nous avons besoin des parties à partir desquelles nous allons composer la lettre. Commençons par le champ De - qui menacera nos utilisateurs effrayés. Eh bien, qui: bien sûr, les banques, les inspections fiscales, les tribunaux et toutes sortes de LLC étranges. Dans le même temps, vous pouvez ajouter des modèles pour une future substitution automatique, comme PAO CmpNmF. Voir from.txt

Maintenant, nous avons besoin, en fait, des noms. LLC Chamomile and Vector, ainsi que la répétition à l'infini de certains «tribunaux de Moscou» est peu susceptible de provoquer une réponse dans les âmes.

Heureusement, Internet nous offre de formidables opportunités de recevoir des informations. Par exemple, une liste des tribunaux actuels de la Fédération de Russie peut être obtenue avec une simple commande JavaScript directement dans le code de la console du navigateur comme:

for (let el of document.getElementById("mw-content-text").querySelectorAll("li")) {console.log(el.innerText;)}

Ainsi, vous pouvez rapidement acquérir très rapidement une excellente base pour nos tâches (d'autant plus que l'auteur l'a déjà fait pour vous :)). Nous allons enregistrer en texte brut, la base de données pour une telle tâche est exagérée. Le projet utilise le codage UTF-8 avec BOM, au cas où les caractères les plus spécifiques seraient utilisés. Voir les fichiers txt avec les noms appropriés.

Ensuite, vous devez générer l'adresse e-mail correcte (à partir de la norme standard, mais pas nécessairement existante) de l'expéditeur afin que notre lettre soit correctement affichée et correctement transmise. Pour certains éléments, l'auteur a utilisé des domaines fixes, pour certains, la génération automatique à partir du nom à l'aide d'une bibliothèque de translittération, quelque chose comme LLC Vector -> warning@ooovektor.ru. Le nom de la boîte est tiré de la liste du code et est également destiné à inspirer la crainte: «vzyskanie», «shtraf», «dolg», «alarm»et autres "zapros".

Maintenant - le sujet de la lettre.

Le sujet doit nécessairement attirer l'attention, sinon la lettre passera inaperçue. Donnez libre cours à votre épouvantail interne de comptables, et tout se passera: "Clôture de compte (s) ( CmpNm)", "Chef comptable ( CmpNm)", "Exigence (pour CmpNm)" "Payer immédiatement (!!!)" et autres farces.
Voir subj.txt. Ajouter au goût, mélanger, ne pas secouer.

Le texte de la lettre devrait être quelque peu étrange. Nous avons déjà attiré l'attention de l'utilisateur, maintenant notre tâche est d'éveiller les soupçons. Par conséquent, essayer à ce stade est complètement inutile. Prenons des phrases menaçantes de spammeurs et nous les combinerons arbitrairement, une certitude à 100% ne fera que nous gêner. Il se révélera un non-sens comme:
() ( "")


Voir msg.txt. Les ajouts sont les bienvenus.

Et enfin, l'attachement. Le projet prévoit actuellement 3 types d'investissements: pdf, doc, docx. Les fichiers sont copiés à partir des échantillons sans modifier le contenu, le fichier joint est nommé dans la liste («Résolution», «Jugement», etc., voir flnms.txt). Pour les deux premiers types, la taille est générée de manière aléatoire en ajoutant des zéros à la fin du fichier. Cela ne fonctionne pas avec docx (bien qu'après la procédure de récupération, le fichier Word s'ouvre; LibreOffice, par exemple, ouvre les fichiers docx sans abus, dans lesquels des fichiers tiers sont ajoutés via l'interface de l'archiveur).

Et nous obtenons un tel miracle:



vous pouvez envoyer:

gen_msg.py buh@oootest.ru

Le code, bien sûr, sur le github

En fait, c'est tout. Cas pendant une heure, et les avantages ... Mais les avantages seront. Car la théorie est sèche, mais l'arbre de vie est d'un vert luxuriant - les explications ne parviennent pas, les rappels sont oubliés et les gens n'acquièrent leurs compétences qu'en pratique. Et nous préférons être de meilleurs enseignants que de tout restaurer à partir de sauvegardes, non?

All Articles