Skip to content

Instantly share code, notes, and snippets.

@williamzujkowski
Created November 3, 2025 22:49
Show Gist options
  • Select an option

  • Save williamzujkowski/680213bdd6d4a52ef369d1f2801cb9b4 to your computer and use it in GitHub Desktop.

Select an option

Save williamzujkowski/680213bdd6d4a52ef369d1f2801cb9b4 to your computer and use it in GitHub Desktop.
IoT Security Lab Setup - Tools installation, IoTGoat Docker deployment, firmware analysis toolkit
#!/bin/bash
# IoT Security Lab Setup Script
# Combines tools installation, IoTGoat deployment, and firmware analysis toolkit
# Core analysis tools installation
echo "[*] Installing core IoT analysis tools..."
sudo apt-get update
sudo apt-get install -y \
wireshark \
nmap \
binwalk \
firmware-mod-kit \
mosquitto-clients \
john \
hashcat
# Python tools for IoT testing
pip install paho-mqtt scapy pycryptodome
# IoTGoat Docker deployment
echo "[*] Deploying OWASP IoTGoat..."
git clone https://github.com/OWASP/IoTGoat.git
cd IoTGoat
# Build the Docker container (isolated environment)
docker build -t iotgoat .
# Run with network isolation
docker network create --driver bridge iot-isolated
docker run -d --name iotgoat \
--network iot-isolated \
-p 8080:80 \
-p 1883:1883 \
-p 8883:8883 \
iotgoat
# Firmware analysis toolkit
echo "[*] Firmware analysis commands:"
echo "binwalk -e iotgoat_firmware.bin"
echo "grep -r 'password|passwd|pwd|api_key|secret' _iotgoat_firmware.bin.extracted/"
echo "unsquashfs -d extracted_fs _iotgoat_firmware.bin.extracted/*.squashfs"
echo "checksec --file=extracted_fs/usr/bin/iot_service"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment