
ARM buffer overflow challenge, эксплуатирующий ввод NFC-тега на Raspberry Pi. Включает руководство по сборке оборудования, серверный код и получение флага для CTF и обучения безопасности встраиваемых систем.
Этот проект представляет собой open-source (и забавный в реализации) низкоуровневый челлендж.
Не стесняйтесь улучшать его или использовать в своих проектах.
Каждый файл распространяется «как есть» в надежде, что он будет полезен, но без каких-либо явных или подразумеваемых гарантий.
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
⚠ Этот проект разрабатывался в окружении Python2.
pip install -r requirements.txt
На вашем Raspberry Pi 3 вы можете установить libnfc, mfoc и wiringPi с помощью архива в ressources/libs:
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
На Raspberry Pi:
sudo systemctl start
python3 ./nfc_listener.py
Теперь просто запишите свою NFC-метку ;-)

Подключите KKmoon ACR122U через USB к RPi.