Laissez le concours ATM seul les PHDays 8

Au Positive Hack Days 8, la bonne vieille compétition pour le piratage Laisser les distributeurs automatiques de billets s'est à nouveau tenue. Il y avait deux distributeurs automatiques de billets à la disposition des participants, le matériel a été fourni par notre partenaire de sécurité bancaire Alfa-Bank. Surtout pour la concurrence, nous avons mis en place des distributeurs automatiques de billets et y avons mis des vulnérabilités. En 15 minutes, il a fallu contourner l'équipement de protection et retirer de l'argent de l'appareil. La dotation s'élevait à 40 000 ₽. Une quarantaine de participants sont venus tenter de contourner la défense. Leonid Krolle, organisateur du concours et spécialiste du département de recherche sur la sécurité des systèmes bancaires de Positive Technologies, a expliqué comment c'était et analysé les tâches en détail.



Laisser les concurrents ATM seuls

Les participants disposaient de deux distributeurs automatiques de billets. Sur l'un d'eux, un logiciel de contrôle des applications de nos partenaires est installé, ce qui empêche le lancement d'applications non fiables. Il ne vous permet pas d'exécuter toute application dont vous avez besoin pour retirer de l'argent (bonjour, Cutlet Maker, BubbleMaker et nemagiya!).

Le deuxième GAB est connecté via le réseau pour tester le traitement, ce qui vous permet d'effectuer une opération de retrait d'espèces (disponible au GAB). Cependant, le traitement envoie un signal à émettre depuis la cassette dans laquelle il n'y a pas d'argent. Par conséquent, la tâche des participants est de remplacer la réponse de traitement pour émettre de l'argent à partir de la bonne cassette.

Les câbles de connexion de l'ATM et du traitement de test sont situés à l'extérieur, avec la possibilité de s'y connecter à l'aide d'un câble réseau (LAN).

Les joueurs ont retiré tout l'argent retiré du système.



Distributeurs automatiques de billets à deux jours du forum: ils étaient tristes et seuls

ContrĂ´le d'application


Il existe plusieurs façons de vérifier si une application correspond à une liste blanche donnée - de la vérification du chemin d'accès au fichier exécutable ou de son hachage à l'analyse de la signature numérique et de l'extension. Les outils de contrôle des applications sont le plus souvent utilisés pour fournir une protection supplémentaire aux ordinateurs clients (ils interdisent le lancement de logiciels ne figurant pas sur la liste blanche) et pour sécuriser les systèmes isolés, tels que les distributeurs automatiques de billets, qui n'impliquent pas une intervention opérationnelle constante.

Si la liste noire des extensions à bloquer est plus ou moins universelle et facile à configurer, alors la liste blanche de ce qui est autorisé à s'exécuter est redondante par défaut - elle inclut souvent toutes les applications du système d'exploitation au moment de la configuration.

Au cours des dernières années, de nombreuses méthodes ont été décrites pour contourner le contrôle des applications à l'aide d'outils Microsoft Windows (par exemple, «rundll32», «regsvr32»), dont le simple blocage perturbe le fonctionnement normal du système d'exploitation. Par conséquent, affiner le contrôle de l'application est un travail complexe et minutieux, dont le résultat a été donné aux participants du concours de déchirure. Notez que dans le monde réel, les attaquants n'ont pas autant de temps pour contourner le contrôle des applications.

Premier jour de compétition




La vérité de la vie :)

Le début de la première journée du concours a été marqué par un flux dense de participants au forum venus tenter le contournement du contrôle des applications et remplacer la réponse du traitement - plus de 40 personnes au total.



Premiers participants

Au total, 15 minutes ont été allouées pour contourner la protection d'un GAB avec contrôle des applications: pendant ce temps, vous avez dû réussir à exécuter votre code. Malheureusement, le premier jour, toutes les tentatives des participants pour lancer leur exploit ont échoué. Cependant, un participant a réussi à trouver un étrange appareil installé sur un GAB. C'était un skimmer - un lecteur portable miniature qui peut être connecté à un guichet automatique. De tels appareils aident les fraudeurs à voler les données des cartes bancaires: détails, code PIN - toutes les informations enregistrées sur la bande magnétique.



Skimmer

Après avoir détecté l'écumoire, il a fallu en extraire les données de la carte: lors de la préparation de la compétition, les organisateurs y ont écrit une décharge d'une carte inexistante avec un certain nombre.

Parlons un peu de la préparation d'un skimmer pour une compétition.
L'écumoire se compose d'une tête magnétique pour la lecture et d'un appareil pour enregistrer une piste audio (parfois avec Wi-Fi ou Bluetooth). Cette instance peut être réalisée sur la base d'un lecteur-enregistreur Explay ou d'un enregistreur vocal USB similaire. Exemples ici . En termes de taille, ils s'insèrent simplement dans le revêtement de l'anti-skimmer et il y a encore de la place pour une batterie, car le mini de Frankenstein a dû être préparé et relancé: un test de performance a été effectué sur un appareil similaire d'un autre modèle ATM. Pour économiser de l'espace, le tampon de montage du port USB est coupé, j'ai donc dû faire l'adaptateur moi-même.



Faire un adaptateur

Nous avons testé l'inclusion correcte du joueur de skimmer selon les instructions du joueur sur Internet (il n'y avait aucun signe sur les boutons, car ils restaient sur le boîtier) et avons noté la carte et le numéro que les participants devaient retirer du skimmer.



Voici à quoi ressemble une carte avec de la poudre magnétique appliquée

Les informations sur la bande magnétique de la carte sont enregistrées en utilisant un codage de fréquence F / 2F (avec ce qu'elles sont consommées et comment elles peuvent être décodées - lire ici ) et représentent des caractères alphanumériques en codage 7 bits ou des caractères numériques en codage 5 bits. Pour déterminer les erreurs de lecture, un contrôle de parité et de redondance longitudinale (ou contrôle de veille longitudinal - LRC) est utilisé.

Les données sur n'importe quelle piste doivent commencer par le début du symbole de service et se terminer par la fin du symbole de service. Ces symboles sont choisis de manière à permettre de déterminer le début d'un bloc d'informations utiles, de déterminer le sens de lecture de la carte et même le format d'encodage des informations (5 bits ou 7 bits).

Les caractères de contrôle sont conçus pour contrôler le matériel et ne peuvent pas être utilisés pour transmettre des informations (contenu de données). Les séparateurs sont utilisés pour séparer les champs de données sur la carte.

Dans un codage 7 bits, les caractères [\] sont réservés à des caractères nationaux supplémentaires et ne doivent pas être utilisés dans le cadre de l'échange international d'informations, le caractère # est réservé à des caractères graphiques supplémentaires arbitraires.
Voici un exemple de ce Ă  quoi cela pourrait ressembler:

- voie ISO 2 standard:

; XXXXXXXXXXXXXXXX = YYYYYYYYYYYYYYYYY? Z - 37 caractères

X ... X - numéro de carte, Z - LRC (les données commencent par le caractère de début et se terminent par le caractère de fin, le numéro de carte est à 16 chiffres, LRC est présent)



Le moment des tests et du dumping

En fait, vous pouvez copier des données du lecteur sous la forme d'un fichier MP3, trouver où la piste est enregistrée, l'agrandir dans l'éditeur audio et analyser peu à peu, mais il existe des méthodes plus simples.

Par exemple:

  • SWipe est une application pour lire des cartes Ă  bande magnĂ©tique sur un port audio.
  • DĂ©codeur Ă  bande magnĂ©tique. Un programme pour dĂ©coder une carte Ă  bande magnĂ©tique, recevoir les donnĂ©es brutes de la bande magnĂ©tique via la carte son.

Ils vous permettent de convertir plus ou moins précisément les données de la piste audio en ASCII (données décryptées).

Après environ une heure, les données de la carte enregistrées dans l'écumoire ont été fournies. Le prix d'honneur de la sympathie des spectateurs a trouvé son propriétaire. Félicitations à Maxim Vikhlyantsev!

Le reste des participants a continué à se battre pour les principaux prix téléchargés sur les distributeurs automatiques de billets :) Quelqu'un a essayé de pirater la défense, mais il y avait ceux qui étaient fatigués et ont perdu l'espoir d'un enrichissement rapide. Néanmoins, le premier jour a été houleux, bien que le gros lot principal soit resté aux organisateurs ...



Deuxième jour




Resté le plus persistant

Le deuxième jour de la compétition sur le terrain pour le piratage ATM, on a pu observer tous les mêmes participants. La persévérance et la persévérance à essayer de trouver un vecteur pour contourner la protection ne sont pas restées vaines, et ici - Stanislav Povolotsky a contourné la défense en toute sécurité et, en exécutant un code non signé, a remporté le prix en espèces dans le premier guichet automatique.



Démonstration d'un emploi réussi

L'essence de l'attaque réseau contre le deuxième ATM était la suivante: dans l'ATM, il y avait un ordinateur portable avec un logiciel installé qui émulait le traitement.



Émulateur de traitement

L'émulateur a été configuré pour émettre de l'argent avec n'importe quelle carte insérée, sans code PIN, mais la cassette dont la commande envoyée par l'émulateur en réponse à la demande était vide. Pour résoudre ce problème, il fallait:

  • intercepter le paquet de rĂ©ponse de l'Ă©mulateur de traitement;
  • dĂ©montez l'emballage et formez le vĂ´tre - uniquement avec le bon numĂ©ro de cartouche;
  • insĂ©rer une carte et, lors de l'envoi d'une demande de traitement, rĂ©pondre au GAB avec les donnĂ©es modifiĂ©es;
  • Ă  l'aide des outils tcpdump, Wireshark, Scapy ou Ettercap, effectuez une attaque de relecture ou une attaque d'usurpation de donnĂ©es modifiĂ©es afin de rĂ©pondre Ă  l'ATM.

tcpdump est un utilitaire UNIX qui possède un clone pour Windows et vous permet d'intercepter et d'analyser le trafic réseau passant par l'ordinateur sur lequel ce programme s'exécute.

Wireshark est un utilitaire similaire, mais plus "chargé", avec une interface graphique.

scapy est un shell interactif et une bibliothèque de logiciels pour manipuler les paquets réseau dans le langage de programmation Python.

ettercap est un utilitaire pour analyser le trafic réseau passant par une interface informatique, mais avec des fonctionnalités supplémentaires. Le programme vous permet d'effectuer des attaques comme "l'homme au milieu" pour forcer un autre ordinateur à transmettre des paquets non pas au routeur, mais à l'attaquant.



En fait, rien ne change

Avec une approche aussi difficile, les participants ont eu des difficultés, mais ils les ont surmontées. Le prix pour la falsification de la réponse du traitement au deuxième guichet automatique a été reçu par l'équipe - Information et public, Centre de sécurité et Ouzbékistan. Avec ce que nous les félicitons! La liste complète des gagnants se trouve sur la page du concours .

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


All Articles