
ARM-Pufferüberlauf-Challenge, die NFC-Tag-Eingabe auf Raspberry Pi ausnutzt. Enthält Hardware-Montageanleitung, Servercode und Flag-Abruf für CTF- und Embedded-Security-Ausbildung.
Dieses Projekt ist eine Open-Source- (und unterhaltsam zu erstellende) Low-Level-Challenge.
Fühlen Sie sich frei, es zu verbessern oder in Ihren eigenen Projekten zu verwenden.
Jede Datei wird "as is" verteilt, in der Hoffnung, dass sie nützlich sein wird, jedoch ohne ausdrückliche oder stillschweigende Garantie.
nfc_listener
├── cli
├── nfc_listener.py
├── packages
│ ├── __init__.py
│ ├── log.py
│ └── time.py
├── README.md
├── requirements.txt
├── ressources
│ ├── config.json
│ ├── dump.sh
│ ├── img
│ │ ├── assembly.jpg
│ │ └── rpi_pinout.jpg
│ ├── libs.zip
│ ├── nfc_backup
│ │ ├── carte.mfd
│ │ └── hope.mfd
│ ├── services
│ │ └── server_nfc.service
│ └── sources
│ ├── cli.c
│ ├── flag.c
│ ├── oops.c
│ ├── server.c
│ └── welcome.c
├── RPi_messages
│ ├── example
│ ├── oops
│ ├── printFlag
│ └── welcome
└── server
7 directories, 25 files
⚠ Dieses Projekt wurde in einer Python2-Umgebung entwickelt.
pip install -r requirements.txt
Auf Ihrem Raspberry Pi 3 können Sie libnfc, mfoc und wiringPi mit dem Archiv in ressources/libs installieren:
git clone https://gitlab.com/AperiKube/pwn-arm-nfc.git /opt/nfc_listener
cd /opt/nfc_listener/ressources
unzip libs.zip
cd libs/libnfc
make && sudo make install
cd ../mfoc
make && sudo make install
cd ../wiringPi
./build
sudo cp /opt/nfc_listener/ressources/services/server_nfc.service /etc/systemd/system/
sync
Auf dem Raspberry Pi:
sudo systemctl start
python3 ./nfc_listener.py
Jetzt einfach Ihren NFC-Tag flashen ;-)

Mit dem KKmoon ACR122U per USB an den RPi anschließen.