• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    Python
  • License
    Other
  • Created over 9 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An automated NFC fuzzing framework for Android devices.
              ██╗     ██╗      ███████╗██╗   ██╗███████╗███████╗███████╗██████╗ 
              ██║     ██║      ██╔════╝██║   ██║╚══███╔╝╚══███╔╝██╔════╝██╔══██╗
              ██║     ██║█████╗█████╗  ██║   ██║  ███╔╝   ███╔╝ █████╗  ██████╔╝
              ██║     ██║╚════╝██╔══╝  ██║   ██║ ███╔╝   ███╔╝  ██╔══╝  ██╔══██╗
              ███████╗███████╗ ██║     ╚██████╔╝███████╗███████╗███████╗██║  ██║
              ╚══════╝╚══════╝ ╚═╝      ╚═════╝ ╚══════╝╚══════╝╚══════╝╚═╝  ╚═╝

                   Authors: Chad Spensky ([email protected])
                              Hongyi Hu ([email protected])

================================================================================

LL-Fuzzer is a fuzzing framework built to fuzz NFC applications on android devices.

Dependencies

Hardware Requirements

Installation

To install all of the dependencies type:

$ ./install.sh

or follow the individual instructions below:

  • If you're using a 64bit machine, you must install the 32 bit libraries:

    $ sudo apt-get install ia32-libs

  • Some of the android stuff requires java:

    $ sudo apt-get install openjdk-7-jre

  • NFCPy depends on libusb:

    $ sudo apt-get install python-pip

    $ sudo pip install pyusb

Usage

For general help try:

$ python fuzzer.py --help

An example of a real use case would be:

$ python fuzzer.py -r tty:usb:0 -s 4d001f274acd31cf -D fuzz-configs/ndef/ -o testing

Phone Setup

There are some settings on android that make fuzzing a much more pleasurable experience.

  • Enable USB debugging through "Developer options" If you don't see this option go to "About phone" and tap the "Build number" a bunch of times.

  • Enable "Stay awake" under "Developer options"

  • Set "Screen Lock" to None under "Security"

Examples

Here are some example commands to test NFC functionality (All files in examples-nfc):

  • Emulate an NFC tag:

    $ ./npp-test-client.py -b --mode=initiator --quirks=android < ndef

  • Read data from an NFC tag:

    $ ./tagtool.py

Code Architecture

  • RFID Reader / FrontEnd as named by nfcpy (e.g. Proxmark, Omnikey, PN532 board)
  • LL-Fuzzer provides full control over what this sends over the RFID channel
  • RFID Device (e.g. smartphone, tablet, etc.)
  • Provides an abstraction to interaction with NFC-enabled devices
  • RFID Message (e.g. NDEF, LLCP)
  • LL-Fuzzer supports numerous NFC message types
  • Generator
  • Generates inputs for fuzzing
  • Fuzzer
  • Drives fuzzing operation
  • Uses generator to generate fuzzed messages
  • Tells RFID reader to transmit fuzzed messages
  • Receives logs, etc. from RFID Device
  • Controls RFID stack on RFID device to reset state

Mail

It might be useful to interface the fuzzer with e-mail for very long jobs.

$ sudo apt-get install sendmail

Complications

Unreliable RF Transmission

During our own fuzzing, we had a very difficult time getting reliable NFC communication. To facilitate this, we used a book with the reader placed inside and the phone tapped to the top to prevent it from moving.
A more elegant setup is certainly possible, but any reliable setup will need a way of tweaking the distance and then holding the reader and phone at that fixed distance for the duration of the fuzzing.

Citation

Please use this DOI number reference, published on Zenodo, when citing the software:
DOI

Disclaimer

This work is sponsored by the Defense Information Systems Agency under Air Force Contract #FA8721-05-C-0002. Opinions, interpretations, conclusions and recommendations are those of the author and are not necessarily endorsed by the United States Government.

More Repositories

1

CEP

The Common Evaluation Platform (CEP), based on UCB's Chipyard Framework, is an SoC design that contains only license-unencumbered, freely available components.
C
60
star
2

LL-Smartcard

A Python module for interacting with smart cards.
Python
56
star
3

spacegym-kspdg

Non-cooperative satellite operations challenge problems implemented in the Kerbal Space Program game engine
Python
49
star
4

tornet

Software to work with the TorNet dataset
Jupyter Notebook
47
star
5

SPARTA

Security and Privacy Assurance Research Test and Assessment (SPARTA) tool suite
Python
36
star
6

HAKC

C
34
star
7

LO-PHI

Low-Observable Physical Host Instrumentation: A suite of tools supporting introspection and semantic gap reconstruction for both physical and virtual machines.
Python
28
star
8

Cross-Language-Attacks

Python
27
star
9

Seep.jl

Seep.jl: a tensor flow like library for Julia
Julia
20
star
10

AlphaSeq_Antibody_Dataset

Dataset with quantitative binding scores of scFv-format antibodies against SARS-CoV-2 target peptide
20
star
11

radar-intro

Interactive lectures for MIT LL Introduction to Radar course
Jupyter Notebook
18
star
12

CATAN

A low-cost, scalable system that creates a wide-area, best-effort, ad-hoc wireless network for disaster relief.
Python
17
star
13

linkq

TypeScript
15
star
14

hanabi_AnyPlay

Python
14
star
15

unet-vda

Jupyter Notebook
14
star
16

LL-DLEP

Dynamic Link Exchange Protocol implementation
C++
12
star
17

xml-avro-converter

Java
12
star
18

PSIAP-DL-YouTube-CC

Python script to download all Creative Commons licensed videos from a Youtube channel
Python
12
star
19

traffic-density-database

Tool for computing unmitigated collision risk using traffic density data
MATLAB
11
star
20

degas-core

DAA Evaluation of Guidance, Alerting, and Surveillance
MATLAB
11
star
21

gds2-score

GDS2-Score
Python
9
star
22

PACE-python

Python
8
star
23

air-risk-class

Python 3.x Jupyter Notebook to quantitatively identify the airborne collision risk based on the ASTM Committee F38 on Unmanned Aircraft Systems DAA performance standard.
Jupyter Notebook
7
star
24

TORTIS

Rust
7
star
25

spyglass-webapp

Spyglass: Webapp for requesting a remote access session
Ruby
7
star
26

PACE

Proactively-secure Accumulo with Cryptographic Enforcement (PACE) adds client-side encryption and signatures to Accumulo.
Java
7
star
27

nemo

C++
6
star
28

robust-vision-language-finetuning

This repository contains code for the IEEE 2023 paper Robust Fine-Tuning of Vision-Language Models for Domain Generalization, by Kevin Vogt-Lowell, Noah Lee, Theodoros Tsiligkaridis, and Marc Vaillant.
Python
6
star
29

BluetoothProximity

iOS app for Bluetooth and ultrasonic proximity detection
Swift
6
star
30

galeed

6
star
31

pymasq

PyMASq is an easy-to-use, Python based software tool with enhanced SDC capabilities
Python
6
star
32

Clausewitzian_Chess

FRICTION, FOG OF WAR CHESS VARIANT
CSS
5
star
33

OA4AI

Open Architecture for Artificial Intelligence
5
star
34

Signal-Acquisition-Modules-for-Lab-Streaming-Layer

A collection of research modules for Laboratory Streaming Layer
C++
5
star
35

em-download-opensky

Generate and execute queries on the OpenSky Impala shell to download aircraft track data
MATLAB
5
star
36

spacegym-od2d

Python
5
star
37

NeuroTrALE-data-manager

Python
4
star
38

Insilico_Ab_Variant_Generator

Scripts to generate in silico antibody variants through in-place mutations across CDRs
Python
4
star
39

PSIAP-CAP-Annotation

Web application for semantic annotation of Civil Air Patrol images
JavaScript
4
star
40

LL-SimpleWireless

LL-SimpleWireless model for ns3
C++
4
star
41

degas-surveillance-jwandrews

Simulink model based on the J.W. Andrews mathematical model of air-to-air visual acquisition under daylight conditions
MATLAB
4
star
42

BLADERUNNER

Python
4
star
43

degas-daidalus

Interface between DEGAS and NASA's DAIDALUS
C++
4
star
44

axon-centerline-detection

Python
4
star
45

degas-pilotmodel

Optional UAS Pilot Model for use with DEGAS
MATLAB
3
star
46

SCAPE

Scalable Cyber Analytic Processing Environment
HTML
3
star
47

Diversity-Within-Rijndael

This project generates Rijndael variants.
HTML
3
star
48

LLAMAComm

Lincoln Laboratory Ad-hoc Multi-input, multi-output Communication simulation tool
MATLAB
3
star
49

TuringMachine

A Turing Machine built by MIT Lincoln Laboratory and the Community Charter School of Cambridge
HTML
3
star
50

sNMAC-Initial

A Quantitatively Derived NMAC Analog for Smaller Unmanned Aircraft Systems Based on Unmitigated Collision Risk
MATLAB
2
star
51

spyglass-dockerfile

Spyglass: Dockerfile for container that admins get placed into
Dockerfile
2
star
52

blockchain-simulation-framework

Simulation framework for blockchains
Python
2
star
53

em-pairing-uncor-importancesampling

MATLAB code to generate pairwise, uncorrelated encounters
MATLAB
2
star
54

ComplexCascadeNN

Levenberg-Marquardt optimization code for complex split-activation feedforward neural networks with skip connections
MATLAB
2
star
55

spyglass-containerd

Spyglass: Container Creation Daemon
Go
2
star
56

artiq-hv-amp

Schematic designs for a 1U rack mountable amplifier compatible with the Zotino and Fastino
ANTLR
2
star
57

lorax_cil

LoRAX (LoRA eXpandable Networks for Continual Synthetic Image Attribution)
Python
1
star
58

RL-Benchmarks

Python
1
star
59

Syndeo

Syndeo allow users to run massively parallel jobs using Ray on SLURM using secure containerization with Apptainer.
Shell
1
star
60

TORCH

1
star
61

BlueProx

iOS app for standardized Bluetooth data collection
Swift
1
star
62

2019-bci-aad

Jupyter Notebook
1
star
63

SPICY

Secure Protocols Implemented CorrectlY
Coq
1
star
64

IMC_CSV_Parser_Examples

F#
1
star
65

PSIAP-Video-Classifier-Deployment

A containerized deployment of a Tensorflow-serving server and client container for classifying frames of video
Python
1
star
66

GCN

Group Centric Networking – A new approach to multhop wireless networking
C++
1
star
67

fixm-avro

Java
1
star
68

OmegaFold

1
star
69

AlphaFold

1
star
70

LLRISE_Radar

Host software, firmware and test code for the teensy based LLRISE radar.
Python
1
star
71

em-processing-opensky

Processing aircraft observations by the OpenSky Network, a crowdsourced ADS-B receiver network that provides open access to the aircraft data
MATLAB
1
star
72

CAMALCAM

F#
1
star
73

PSIAP-FirstNet-Streaming-Video-Testing-Platform

A software architecture used for testing streaming video to mobile devices at the FirstNet Test and Innovation Lab
Java
1
star
74

GraphSEIR.jl

A network-based disease simulation model, written in Julia.
Julia
1
star
75

dlep-wireshark-dissector

Wireshark dissector for the Dynamic Link Exchange Protocol
C
1
star
76

Omics_QC_pipelines

Omics data analysis and quality control pipelines
Shell
1
star
77

Weak-Learning-Summarization

This repository contains scripts for a weak learning summarization pipeline in Arabic and English.
Python
1
star
78

qrdm

QRDM provides a python package, network API endpoints, and web interfaces for encoding and decoding documents as a series of QR codes.
Python
1
star
79

dephy-boot-interface

This is a set of tools that are useful for interfacing with the Dephy API for their ankle exoskeleton.
Python
1
star
80

ESMFold

Shell
1
star
81

VISTA

V2V Security, Identity, and Trust Architecture
Python
1
star