Osmocom SIMtrace
Osmocom SIMtrace is a software and hardware system for passively tracing SIM-ME communication between the SIM card and the mobile phone.
It looks a bit like this:

When connected to a phone, it looks like this:
It works by utilizing the T=0 capable USART of the USB-attached AT91SAM7 microcontroller.
The USART passively receives the bytes as they are exchanged on the ISO 7816-3 / TS 11.11 interface between SIM and phone. The received bytes are sent via USB to the PC, where a program called simtrace on the PC gathers data from the USB device, parses the APDUs and forwards them via GSMTAP to the wireshark protocol analyzer.
Features
- Completely passive scanner
- RST and ATR detection
- Auto-bauding with PPS / PTS support
- Segmentation of APDUs
TODO
- Check for parity errors
- Verify TCK / PCK check-bytes
- Implement MITM
Hardware
The first implementations used an Olimex SAM7-P64 development board with some of the I/O lines hooked up to the mechanical SIM card adapters from RebelSIM_Scanner. If the RebelSIM scanner is used, connect the USB even if just the lines are used. It needs to be powered, else the real reader will often fail to initialize the card.
Now we have a dedicated PCB design. The schematics and Gerber files are released as open source hardware and can be produced by everyone.
However, those of you who are not interested in building it from scratch can buy a complete factory-produced, tested and flashed PCB assembly from http://shop.sysmocom.de/products/simtrace
More details are available at SIMtrace/Hardware
Firmware
The firmware for the AT91SAM7S device was written by reusing a lot of the code for the OpenPCD RFID reader. Details are available at SIMtrace/Firmware.
Host PC Software
The simtrace program is part of the git://git.osmocom.org/simtrace.git repository. It will bind to the USB device and send GSMTAP frames using UDP/IPv4 to localhost:4729.
Preconditions
libosmocore and headers (simtrace_usb.h) from the firmware.
additional packages :
sudo apt-get install libusb-1.0-0-dev
Compiling it
git clone git://git.osmocom.org/simtrace.git cd simtrace/host/ make
Using it
Simply start simtrace. It will send the GSMTAP frames to UDP/IPv4 localhost:4729.
It will also print hexdumps of the frames to the console, looking like this:
sudo ./simtrace APDU: (9): a0 a4 00 00 02 6f 07 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 09 6f 07 04 00 15 00 15 01 02 00 00 91 78 APDU: (9): a0 a4 00 00 02 6f 38 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 09 6f 38 04 00 15 00 55 01 02 00 00 91 78 APDU: (16): a0 b0 00 00 09 ff 3f ff ff 00 00 3f 03 00 91 78 APDU: (9): a0 a4 00 00 02 6f ad 9f 0f APDU: (8): a0 b0 00 00 01 00 91 78 APDU: (9): a0 a4 00 00 02 6f 07 9f 0f APDU: (16): a0 b0 00 00 09 08 49 06 20 11 49 00 11 06 91 78 APDU: (9): a0 a4 00 00 02 6f 7e 9f 0f APDU: (18): a0 b0 00 00 0b ff ff ff ff 64 f0 00 ff fe 00 03 91 78 APDU: (9): a0 a4 00 00 02 6f 78 9f 0f APDU: (9): a0 b0 00 00 02 00 01 91 78 APDU: (9): a0 a4 00 00 02 6f 74 9f 0f APDU: (23): a0 b0 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 78 APDU: (9): a0 a4 00 00 02 6f 20 9f 0f APDU: (16): a0 b0 00 00 09 ff ff ff ff ff ff ff ff 07 91 78 APDU: (9): a0 a4 00 00 02 6f 30 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 f0 6f 30 04 00 11 00 55 01 02 00 00 91 78
Wireshark integration
There is an experimental patch, also part of the simtrace.git package. You will have to apply this against the latest wireshark developer version.
Protocol parsing is far from being complete, patches are always welcome!
Contact / Mailing List
For any development or usage related questions, there is a mailinglist simtrace@lists.osmocom.org, you can subscribe/unsubscribe to it at http://lists.osmocom.org/mailman/listinfo/simtrace and read the archives at http://lists.osmocom.org/pipermail/simtrace/
Please kindly observe our Mailing List Rules
Attachments
-
wireshark-sim.png
(68.4 KB) - added by laforge
15 months ago.
screenshot of first wireshark simtrace plugin
-
c123_chinamobile.pcap
(52.5 KB) - added by laforge
15 months ago.
pcap file containing GSMTAP of a C123 phone booting with china mobile sim
-
usermanual.pdf
(1.9 MB) - added by zecke2
5 months ago.
usermanual - please proof read and provide feedback
-
simtrace_and_phone.jpg
(0.6 MB) - added by laforge
4 months ago.
SIMtrace connected to a Phone
-
simtrace_functions.svg
(328.6 KB) - added by tsaitgaist
4 months ago.
-
simtrace_functions.png
(358.9 KB) - added by tsaitgaist
4 months ago.
-
usermanual.2.pdf
(2.0 MB) - added by zecke2
6 weeks ago.




