Vault7: CIA Hacking Tools Revealed
Navigation: » Latest version
Owner: User #524297
Pterodactyl
Tentative EDBEmbedded Devices Branch Development Schedule
-
1 Jul 2013- Internal demonstration of 3 devices with pros/cons/observations
-
Candidates
- User #76864- Gumstix
- User #76863- Raspberry Pi
-
User #76865- Cotton Candy
-
Pros
-
Internal Operating System Choices
- Android
- Ubuntu
-
Internal Operating System Choices
-
Observations
-
External host Operating Systems (SC2 connection for uploads and updates needs to be worked/resolved to ensure no security violations occur).
- Mac (Works as advertised for both Android and Ubuntu Cotton Candy Operating Systems)
- Linux (Has not worked using Ubuntu 10, 11, or 12 CDCompact Disk Installs).
-
Windows (Has not worked using internal Development Install Disk).
- Device sometimes quits unexpectedly.
- Item when in use becomes fairly hot relative to human touch.
-
Compilation
- Internal compiler with vi and make files creates and builds a executable "Hello World" C program.
- Cross Compilers (Not tested yet)
-
External host Operating Systems (SC2 connection for uploads and updates needs to be worked/resolved to ensure no security violations occur).
-
Pros
-
USB Drives
-
TODO: Consider how to build our own drivers for new devices (cameras, external LEDs, ...) since most if not all embedded computers have these interfaces.
-
TODO: Consider how to build our own drivers for new devices (cameras, external LEDs, ...) since most if not all embedded computers have these interfaces.
-
Candidates
-
8 Jul 2013- Requirements List used for evaluation
-
Requirements:
-
Copy Floppy Disks to SD card on small miniature computer's SD card
-
dd
- Raspberry Pi (Verified)
- Cotton Candy (Verified)
-
dd
-
Operator Feedback mechanisms
-
Visual Indicators
-
GPIO Pin LEDs
- Raspberry Pi (Verified)
- Cotton Candy (N/A must use USBUniversal Serial Bus drive)
-
Internal LEDs
- Raspberry Pi (Verified)
- Cotton Candy (Not Verified)
- Raspberry Pi (Verified)
-
GPIO Pin LEDs
-
Touch/Feel Indicators
-
Thumper (Pulse width modulation)
- Raspberry Pi (Verified)
-
Cotton Candy (Not Verified)
- Raspberry Pi (Verified)
-
Thumper (Pulse width modulation)
-
Sound/Audio Indicators
- Floppy Disk Drive provides some sound depending on the model/type of floppy disk drive.
-
Visual Indicators
- On Disk Encryption/Decryption
-
Compression
-
zlib (lempel-ziv)
-
Others
-
zlib (lempel-ziv)
-
Daemons via Systemd for all 3 candidates
- Raspberry Pi (Verified)
-
Copy Time estimates:
-
Raspberry Pi (Verified at 1 minute +/- 5 seconds per floppy disk)
-
Cotton Candy (Not Verified)
-
Raspberry Pi (Verified at 1 minute +/- 5 seconds per floppy disk)
-
Copy Floppy Disks to SD card on small miniature computer's SD card
-
Requirements:
-
11 Jul 2013- User #76863- Code Review (Time TBD)
- Systemd scripts- (User #76863)
-
C Source Code- (User #76863)
-
15 Jul 2013- Architecture Selection
- 29 Jul 2013- Final Package Selection
Gumstix Overo EarthSTORM + Pinto-TH Breakout Board
- Using User #76866's unsupported Linux 3.5 image (sakoman-usb-gadget-multi-getty-image.tar.bz2),
- includes USBUniversal Serial Bus multi-gadget kernel module (g_multi.ko), which contains:
- mass storage (g_mass_storage.ko)
- serial console (g_serial.ko)
- ethernet (g_ether.ko)
- includes USBUniversal Serial Bus multi-gadget kernel module (g_multi.ko), which contains:
- uses systemd for process/service management
[Unit]
Description=Benign Service Description
After=syslog.target
[Service]
Type=simple
ExecStart=/path/to/script.sh
Restart=always
[Install]
WantedBy=multi-user.target
$ sudo systemctl enable imaged.service # <--- creates symlinks to start imaged.service at bootup
# equivalent to:
# ln -sf /lib/systemd/system/imaged.service /etc/systemd/system/basic.target.wants/imaged.service
$ sudo systemctl poweroff # <--- causes system to shut down cleanly and power off
Building a Gumstix SD Card
- Requires: factory/mlo-updated, factory/u-boot, sakoman/uImage, sakoman/images/(root_filesystem_tarball)
('attachments' missing)
Controlling GPIO from User Space
# setup
$ echo 146 > /sys/class/gpio/export
$ echo out > /sys/class/gpio/gpio146/direction
# echo to value: 1 for on, 0 for off.
$ echo 1 > /sys/class/gpio/gpio146/value
('jiraissues' missing)