We present a method for the exfiltration of data through the movement of a CD-ROM drive. The movement
of such drive is monitored through the use of a Raspberry Pi and camera. We make use of manchester encoding
to represent data. See https://en.wikipedia.org/wiki/Manchester_code for more information.
Grayscale and processed images
Transmitting the text ‘hello’
emit.py – Transmits data through the medium of a CD-ROM drive
We make use of a 4 second delay for both the closed & open CD-Drive state, potentially a lower value could be used, but I was keen
to avoid damaging the drive
cditter.py – capture and decode the output from the CD-ROM drive
This code is using for processing the video data.
The following libraries are needed for the program to run
sudo apt-get update sudo apt-get install python-opencv sudo apt-get install python-pip sudo pip install picamera sudo pip install numpy
I’m sure the time to transmit data could be substantially reduced by decreasing the delays used for the CD tray eject/close commands and also possibly using an alternative technique to manchester encoding.
Additionally the initial 15 second delays used for the training period could likely be reduced.
It might be nice also to properly packetise the data like so:
|preamble|packet length|packet contents|
At the moment I’ve only tested with a single preamble with data following it
https://github.com/anfractuosity/cditter/ – the latest version of code is hosted here