Conférence DEFCON 20. Comment baiser les méchants (et la mafia) en utilisant le botnet JavaScript. Partie 1

Je suis heureux de vous présenter le sujet d'aujourd'hui, "Comment baiser les méchants et la mafia en utilisant le Botnet JavaScript." Tout d'abord, je veux me présenter et présenter mon pays - je suis Chema Alonso, je travaille pour une petite entreprise appelée Informatica64. Je fais également de la sécurité Microsoft et vis en Espagne.



Si vous n'êtes pas allé en Espagne, vous devriez certainement le visiter, il existe de nombreux endroits dignes d'attention. C'est Madrid, une ville qui ne dort jamais, vous le voyez sur la première diapositive, elle est plus petite que New York. C'est Barcelone avec son incroyable temple de la Sainte Famille et, bien sûr, Pampelune, où les gens fuient les taureaux en colère. Il n'y a qu'une seule règle: si vous êtes ivre, ne courez pas! Et donc tout est simple: il suffit de courir plus vite que le taureau.

Si vous aimez les vacances spéciales, voici la bataille des tomates Tomatin. Je ne suis pas sûr de l'histoire de cette coutume, mais il suffit de jeter des tomates, et c'est assez intéressant. Oui, c'est l'Espagne!

Commençons notre sujet. C'est assez simple: créez un botnet, et c'est tout. Combien ont pensé à créer un botnet? Et qui l'a vraiment créé? Alors, bien sûr, seulement moi. L'idée de créer un botnet est assez intéressante, mais je suis une personne paresseuse. Je viens d'Espagne, c'est donc normal. De plus, nous n'avons pas d'argent, nous n'avons pas eu de «jour zéro», nous ne sommes pas le FBI ou la NSA qui peuvent utiliser les réseaux gratuitement, et nous ne sommes pas Google, Apple ou Microsoft, dont les équipements existent partout dans le monde.

Je veux vous montrer une image agrandie sur l'écran - c'est l'invention des Espagnols, ils sont assis dans la piscine et ont connecté l'électronique via une rallonge qui flotte grâce à des pantoufles en caoutchouc habillées dessus.



Ceci est une merveilleuse illustration de la façon dont nous utilisons différentes choses en Espagne. Nous, Espagnols, agissons à notre manière, pas comme les autres. Donc, l'idée de créer un botnet est assez simple - infectons-les tous! Une idée très simple que nous voulions implémenter dans un botnet était que les ordinateurs impliqués voulaient s'infecter.



Si vous y réfléchissez, c'est un sujet assez courant sur Internet. L'industrie des logiciels malveillants s'est largement répandue au cours des 5 à 10 dernières années à l'aide d'antivirus frauduleux et d'astuces d'ingénierie sociale, alors pourquoi un botnet ne fait-il pas une telle astuce?



Le botnet est basé sur l'idée d'une attaque «homme au milieu» utilisant l'interception de messages entre un client et un serveur. Il suffit de capturer le canal et nous obtenons un contrôle total. Vous pouvez utiliser différents scénarios de capture réseau: usurpation ARP, DHCP frauduleux sur les réseaux qui prennent en charge IPv4 ou IPv6, usurpation ICMPv6, attaque SLAAC, usurpation DNS, etc.

Nous avons publié un nouvel outil au milieu de l'attaque de l'homme appelé Evil FOCA, en un seul clic et vous avez terminé. Et bien sûr, si vous pouvez configurer DNS, vous pouvez faire un homme au milieu de l'attaque.

Il y a des difficultés car il faut traiter avec beaucoup de fournisseurs Internet et beaucoup de réseaux. Il y a quelques années, l'une des astuces les plus utilisées était la méthode «l'homme dans le navigateur», qui est une sorte d'extension de la technologie d'attaque «l'homme au milieu».

Pendant longtemps, une école de pirates informatiques russe a utilisé avec succès cette technique avec Internet Explorer 6 avec le plug-in bien connu Browser Helper Objects (BHO), un composant Active X qui permettait d'ouvrir des fichiers initialement destinés uniquement au navigateur. Ils ont créé des logiciels malveillants déguisés en BHO. Cela a permis d'accéder à toutes les données, intercepter les mots de passe et les codes saisis à partir du clavier, principalement pour les connexions entre les institutions bancaires. Par conséquent, ce cheval de Troie bancaire a commencé à s'appeler «les Russes dans mon navigateur IE».



Il s'agit d'une méthode d'attaque très courante en configurant un fichier XML cheval de Troie spécial, simple mais qui fonctionne bien.

Nous devions donc écrire du code qui ne serait pas détecté par les systèmes antivirus, mais nous avons décidé que c'était très difficile pour nous. Par conséquent, nous avons décidé d'utiliser le soi-disant «cache de navigateur empoisonné», ou l'attaque «JavaScript au milieu», et l'avons appelé «l'homme dans l'onglet». L'idée est assez simple.



Si vous n'êtes pas en mesure de contrôler l'intégralité du navigateur, vous pouvez exécuter JavaScript dans un onglet utilisateur et vous pouvez faire beaucoup de choses. Vous pouvez accéder au code, modifier le HTML, accéder aux champs du formulaire, vous pouvez contrôler l'onglet et ainsi de suite.

Les caractéristiques de l'attaque «JavaScript au milieu» sont les suivantes:

  • utilisation non constante - vider le cache signifie supprimer le contenu infecté;
  • le contenu mis en cache existe avant la date d'expiration,
    un pirate peut injecter du JavaScript à distance;
  • accès aux cookies tels que HTTP uniquement, accès au code HTML, adresses URL, exécution de code.

Il existe un projet très célèbre - le framework d'exploitation du navigateur BEEF. Il vous permet de faire beaucoup de choses intéressantes, par exemple, insérer un petit morceau de code JavaScript dans le navigateur de l'utilisateur pour empoisonner le cache.



Le problème est que nous devons le configurer sur Internet, ce qui est assez difficile si vous devez infecter de nombreux robots de réseau. Notre idée était donc plus simple: créer un botnet JavaScript à l'aide de Scratch.

En partant de l'idée d'un environnement qui infecte spécifiquement un fichier JavaScript, nous avons tout d'abord décidé que la meilleure façon de créer un botnet serait que les bots mettent en œuvre le principe du «proprio motu», c'est-à-dire «de leur propre initiative», sans utiliser un «homme au milieu», mais en utilisant les utilisateurs eux-mêmes. Nous avons décidé de nous concentrer sur le réseau TOR et les procurations utilisées sur Internet.



L'idée de ce réseau est simple - si vous êtes le dernier sur la ligne, vous pouvez accéder à tous les contenus en interceptant toutes les connexions.

Pour l'implémenter, nous avons construit une machine qui était «l'homme du milieu», et l'avons enregistré en tant que nœud TOR et en tant que serveur proxy anonyme, et dans les deux cas, nous avons travaillé pendant un certain temps. Cependant, nous devons dire que notre activité malveillante en tant que Un hôte TOR a été découvert, qui ignorait notre adresse IP.



Pour la rééducation, on nous a proposé de passer des tests, de créer une session de test, etc., ce qui nous a paru trop compliqué, car nous sommes Espagnols. Par conséquent, la prochaine chose que nous avons faite a été de créer notre propre serveur proxy. C'est assez simple, car le proxy n'a pas une infrastructure aussi grande que TOR, c'est juste un serveur autonome que les utilisateurs essaient de rejoindre.



Nous avons étudié tous les manuels sur le serveur proxy anonyme sur Internet et nous nous sommes rendu compte qu'il s'agissait d'un schéma «homme au milieu» prêt à l'emploi. En créant un serveur proxy via lequel les gens essaient de se connecter à Internet, nous avons pu collecter toutes les données et infecter tous les navigateurs.
La première chose que nous avons faite a été de louer un serveur proxy sur Internet. Bien sûr, nous avons pensé à ses fonctions, nous n'avions pas besoin d'un serveur "jouet" avec Pirate Bay ou Amazon, nous nous souvenions de Wikileaks, mais nous n'avions pas non plus besoin d'un serveur megapower. Et nous avons également décidé qu'il valait mieux le laisser vivre dans un pays où il n'y a pas de lois. Nous avons décidé de louer un serveur en Afghanistan, en Iran, au Kazakhstan ou en Espagne (applaudissements et rires).

Après avoir loué le serveur, nous avons commencé à le configurer. Il était censé être un simple serveur basé sur des proxys Apache et SQUID. De plus, en utilisant ce serveur, nous allions infecter tous les fichiers JavaScript avec un petit morceau de code, qui ne prend que quelques lignes.



Dès que l'utilisateur s'est connecté à notre serveur, nous sommes allés sur le site et avons reçu une page de réponse contenant un fichier JavaScript. Nous avons rendu à l'utilisateur presque le JavaScript d'origine, en y ajoutant seulement 2 lignes de «charge utile». En même temps, nous ne voulions pas utiliser une chose connue sur Internet sous le nom de BEEF, mais simplement inséré deux lignes de code dans tous les fichiers JavaScript qui passaient par notre serveur proxy.

Tout ce que nous avions à faire est indiqué sur la diapositive suivante.



Nous avons configuré la «charge utile» dans notre proxy SQUID et supprimé la politique d'expiration dans le fichier de configuration du serveur Apache, car après que JavaScript a infecté le navigateur, cette «infection» aurait dû y rester pour toujours.

Ensuite, nous avons créé le script réel montré dans la diapositive suivante, qui infecte les fichiers JavaScript.



Nous avons copié les fichiers, y avons ajouté le script pasarela.js et envoyé ces fichiers mis à jour aux clients à l'adresse IP en utilisant l'impression «http: // .......». Il s'agit d'un très petit morceau de code, plein de vulnérabilités, mais cela fonctionne. Le script lui-même, appelé Pasarela, qui a été copié dans tous les fichiers JavaScript, ressemble à celui illustré dans la diapositive suivante. Il ne fait que télécharger le fichier payload.php empoisonné à partir d'un serveur malveillant et signaler son identification en téléchargeant des images depuis jsonip.php.



Dans le code, vous pouvez voir si l'élément a été créé ou non. Le but est de ne pas exécuter pasarela.js plus d'une fois sur la même page. Puisque nous, en tant que personnes décentes, ne voulions pas nuire aux utilisateurs, nous avons publié sur la page principale du serveur l'appel suivant à tous les clients qui allaient utiliser les services de notre serveur proxy.



«ATTENTION! Ce serveur proxy est utilisé pour la recherche dans le domaine de la sécurité Internet. Tous les fichiers JavaScript seront infectés et toutes vos données seront collectées. Si vous voulez rester en sécurité, n'utilisez pas ce serveur proxy. Si vous faites cela, n'envoyez pas d'informations confidentielles. Si vous décidez toujours de l'utiliser, gardez à l'esprit que vous le faites à vos risques et périls. »

Si vous ne souhaitez pas perdre votre mot de passe ou vos données personnelles, n'utilisez pas notre serveur! Il s'agit d'une très bonne politique de sécurité. L'armée utilise une politique de sécurité plus ou moins similaire - vous voyez un avertissement similaire sur le site Web du US Army Corps of Engineers, nous avons donc agi en toute légalité.



Nous avons donc publié notre serveur proxy sur Internet et écrit qu'il s'agit d'un proxy ouvert et que chacun peut ajouter son propre proxy à notre base de données. Vous voyez que nous avons des onglets avec des listes de différents proxys, en les triant par pays, par port, il y a un onglet de proxys sélectionnés.



L'idée d'amener les «méchants» à utiliser notre serveur proxy malveillant était très simple: nous l'avons enregistré dans une liste de serveurs proxy. Pendant longtemps et dans de nombreux sites et blogs, il est recommandé d'utiliser des serveurs proxy pour obtenir une adresse IP anonyme, ce qui est courant pour beaucoup d'entre nous. Nous avons sélectionné au hasard le site et enregistré une adresse IP avec le port 31337 pour attirer un peu plus l'attention.

Ces sites avec des listes de proxy effectuent des tests de sécurité de nouveaux proxys, mais le test n'est pas aussi complexe que sur le réseau TOR. En fait, il ne s'agit pas d'enregistrer un serveur proxy pour des tests ou non, mais dès qu'il tombe dans une telle liste de serveurs testés, des centaines de sites et d'applications qui téléchargent ces listes sans aucun contrôle de sécurité sont connectés immédiatement.

Il suffit de passer simplement le premier test, par exemple, un test de connexion et de fonctionnalité, et la «magie d'Internet» fera apparaître votre adresse IP comme une adresse IP de confiance sur des milliers de sites, ce qui est arrivé à notre adresse IP. La diapositive suivante montre que notre adresse IP frauduleuse est apparue sur des milliers de sites.



Vous voyez que notre adresse IP est apparue 1110 fois dans la requête de recherche parce que tous les mandataires ont commencé à se copier. Parce que si vous mettez votre adresse IP dans la liste d'un serveur proxy, tous les autres serveurs proxy commencent à copier ces listes. C'est amusant, car un jour cela vous apportera beaucoup de choses.

Ensuite, nous avons créé une «charge utile» pour voler les cookies. Nous ne voulions pas traiter des cookies sécurisés, mais nous n'utilisions que des cookies HTTP. Nous avons copié des cookies réguliers et non sécurisés et les avons envoyés au panneau de contrôle.



Nous avons également utilisé une petite «charge utile» pour obtenir les champs du formulaire, nous avons utilisé les informations remplies par l'utilisateur et les avons également envoyées à notre panneau de contrôle.



En fait, c'était tout - maintenant il était possible de profiter des fruits de notre travail. Une fois, nous avons même pu mobiliser 5 000 bots. Après avoir analysé les connexions, nous avons constaté que la plupart des machines de notre botnet étaient situées en Russie, au Brésil, au Mexique et en Indonésie, où les services de serveur proxy sont très demandés. Nous n'avions pas besoin de payer pour cela, nous n'avions pas besoin de créer de malware polymorphe spécial, il suffisait de publier une seule adresse IP du serveur sur Internet. Eh bien, vous savez, nous venons d'Espagne.

La question était de savoir qui utilise ces types de services? Combien de personnes dans cette salle utilisent les services de serveurs proxy sur Internet? Donc, si vous voulez l'anonymat, utilisez un serveur proxy. Si vous voulez encore plus d'anonymat, utilisez plus d'un serveur proxy, afin de pouvoir infecter plus d'un serveur proxy (rires de l'audience).



L'idée était que ceux qui utilisent de tels serveurs sont sans aucun doute de mauvaises personnes. Par exemple, la mafia des escrocs du «Prince nigérian», connue de tous.



L'inscription sur la plaque: «Royal Bank of Nigeria». Spammeur-escroc: "J'ai envoyé des courriels à tous ceux que j'ai pu trouver, mon prince, mais personne ne veut vous aider à vous débarrasser de votre argent."

Tout d'abord, nous voulions collecter des données auprès de mauvaises personnes qui font de mauvaises choses. Nous avons donc réussi à collecter toutes les informations des fraudeurs nigérians, y compris les noms d'utilisateur et les mots de passe. Mais nous les en avons avertis, donc tout est légal.

Dès que nous avons reçu les mots de passe, nous sommes allés dans les boîtes aux lettres de ces personnes, et là j'ai trouvé l'un de mes arnaqueurs-escrocs préférés qui avait une boîte aux lettres royalhotelengland@hotmail.co.uk.



Ce type a créé toute une entreprise de spam pour tromper les gens, leur offrant un visa spécial pour trouver du travail au Royaume-Uni, pour lequel il a demandé 275 livres. La diapositive suivante montre un e-mail dans lequel il a demandé de l'argent.



Cela ressemble à une lettre officielle. Bien sûr, il y avait beaucoup de gens raisonnables dans le monde qui lui ont répondu: "D'accord, mais montrez-moi d'abord ce travail, puis je vous enverrai de l'argent." Ainsi, si l'un des destinataires du spam le soupçonne de fraude, il n'insiste pas et prend d'autres clients. Au final, ils lui ont envoyé toutes les informations nécessaires à l'obtention d'un visa, toutes les données personnelles - vous pouvez voir des scans de leurs documents sur la diapositive suivante.





Il s'agit d'un curriculum vitae, de pages de passeport et de photographies de haute qualité pour demander un passeport au Royaume-Uni, et même des empreintes digitales requises pour obtenir un visa de travail au Royaume-Uni. Beaucoup de gens lui ont envoyé ces données, et c'est le moyen le plus simple de voler des informations confidentielles que j'ai rencontrées dans ma vie. Si vous disposez de telles données, vous pouvez facilement créer votre propre «mule» pour effectuer des opérations bancaires frauduleuses.

Un autre de mes comptes de réseaux sociaux préférés sur un site de rencontres est ce gars, ou plutôt cette fille. Dites-moi honnêtement, les gars - combien d'entre vous pensent qu'une telle fille cherchera un gars pour avoir des relations sexuelles sur Internet?



Cela nous a causé beaucoup de suspicion dès le début, nous avons donc décidé d'obtenir un nom d'utilisateur et un mot de passe pour ce profil. Comme vous pouvez le voir, cette Axionqueen écrit qu'elle cherche un petit ami pour une datation ou une relation sérieuse, elle a environ 30 ans et vit à Keller, Texas. Mais le fait est que nous avons trouvé un profil complètement différent dans un réseau social différent, où cette «reine» vit déjà à Auckland en Nouvelle-Zélande, et elle a 31 ans, etc. Et puis nous avons trouvé un autre troisième profil de la même fille sur le site Web de PlanetaLove USA, qui indique qu'elle vit à Lynchburg, en Virginie et s'intéresse aux hommes de 39 à 60 ans.



Y a-t-il quelqu'un de Virginie ici pour rencontrer cette fille?

Mais la chose la plus intéressante est qu'un autre profil du même utilisateur avait l'air complètement différent. Cette fois, notre fille venait d'Allemagne.



Et puis nous avons décidé d'entrer dans la boîte aux lettres de cet utilisateur et de se familiariser avec ses lettres. Naturellement, c'était un gars, pas une fille.

20:20 min

Conférence DEFCON 20. Comment baiser les méchants (et la mafia) en utilisant le botnet JavaScript. 2e partie


Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbit / s jusqu'en décembre gratuitement en payant pour une période de six mois, vous pouvez commander ici .

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr425691/


All Articles