Skip to content
Skillpedia
Testing35k · #6069

performing-firmware-malware-analysis

Lets your agent analyze firmware for malware. It looks for hidden malicious programs in devices like routers or IoT systems. It's useful for ensuring device security and investigating potential infections.

What it does

This tool helps investigate malicious software hidden in device systems like routers and cameras. It examines the 'firmware' (the internal software of these devices) to find dangerous code or unauthorized changes.

When to use it

  • ✓When an internet-connected device (IoT) seems to have been hacked.
  • ✓To check if device firmware updates contain anything dangerous.
  • ✓When investigating malware that installs at system startup (UEFI/BIOS).

Example of what to ask your AI

“Analyze the firmware of this router to see if there's any hidden malware.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-firmware-malware-analysis/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-firmware-malware-analysis/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool first extracts all files from the firmware. Then, it looks for suspicious files, dangerous code, and checks if anything has been improperly altered.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-firmware-malware-analysis

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-firmware-malware-analysis/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Performing Firmware Malware Analysis

When to Use

  • A compromised IoT device or router needs firmware analysis to identify implanted backdoors
  • Investigating UEFI/BIOS rootkits that persist across OS reinstallations
  • Analyzing firmware updates for supply chain compromise or malicious modifications
  • Extracting and examining embedded Linux filesystems from IoT device firmware images
  • Verifying firmware integrity after a suspected hardware or firmware-level compromise

Do not use for standard operating system malware; use PE/ELF analysis tools for OS-level malware on conventional systems.

Prerequisites

  • binwalk installed for firmware image analysis and extraction (pip install binwalk)
  • Ghidra with ARM/MIPS architecture support for embedded binary reverse engineering
  • UEFI Tool (UEFITool) for UEFI firmware parsing and analysis
  • Firmware Analysis Toolkit (FAT) or EMBA for automated firmware analysis
  • QEMU for emulating extracted firmware filesystems
  • Cross-compilation toolchains for ARM, MIPS, and other embedded architectures

Workflow

Step 1: Extract and Identify Firmware Components

Analyze the firmware image structure and extract filesystems:

# Identify embedded filesystems and compressed data
binwalk firmware.bin

# Extract all identified components
binwalk -e firmware.bin

# Recursive extraction with signature scanning
binwalk -eM firmware.bin

# Output typically includes:
# - Bootloader (U-Boot, GRUB, custom)
# - Kernel image (Linux, RTOS)
# - Root filesystem (SquashFS, JFFS2, CramFS, ext4)
# - Configuration data
# - Digital signatures or checksums

# Entropy analysis to find encrypted or compressed regions
binwalk -E firmware.bin

# Identify specific filesystem types
file _firmware.bin.extracted/*

# For SquashFS filesystems
unsquashfs _firmware.bin.extracted/squashfs-root.img
ls squashfs-root/

Step 2: Analyze the Extracted Filesystem

Search for malicious modifications in the firmware filesystem:

# Directory structure analysis
find squashfs-root/ -type f | head -50

# Search for suspicious files
find squashfs-root/ -name "*.sh" -exec ls -la {} \;
find squashfs-root/ -perm -4000 -type f  # SUID binaries
find squashfs-root/ -name "*.so" -newer squashfs-root/bin/busybox  # Modified libraries

# Check startup scripts for backdoors
cat squashfs-root/etc/init.d/rcS
cat squashfs-root/etc/inittab
ls -la squashfs-root/etc/rc.d/

# Search for hardcoded credentials
grep -rn "password\|passwd\|secret\|key\|token" squashfs-root/etc/ 2>/dev/null
grep -rn "root:" squashfs-root/etc/shadow 2>/dev/null

# Check for unauthorized SSH keys
find squashfs-root/ -name "authorized_keys" -exec cat {} \;

# Network configuration backdoors
cat squashfs-root/etc/hosts
grep -rn "iptables\|nc\|netcat\|ncat" squashfs-root/etc/ squashfs-root/usr/bin/

# Check for reverse shells in cron
find squashfs-root/ -name "crontab" -o -name "cron*" | xargs cat 2>/dev/null

# Identify all ELF binaries for analysis
find squashfs-root/ -type f -exec file {} \; | grep ELF

Step 3: Reverse Engineer Suspicious Binaries

Analyze extracted binaries that may be backdoors:

# Identify architecture and format
file squashfs-root/usr/bin/suspicious_binary

# Extract strings for IOC discovery
strings squashfs-root/usr/bin/suspicious_binary | grep -iE "http|ip|port|shell|connect|exec"

# Cross-reference against known firmware binaries
# Compare SHA-256 hashes with known-good firmware
sha256sum squashfs-root/usr/bin/* > current_hashes.txt
# diff against baseline: diff baseline_hashes.txt current_hashes.txt

# Import into Ghidra for disassembly (select correct architecture)
# ARM:   ARM/AARCH64 (Little Endian for most IoT devices)
# MIPS:  MIPS/MIPS64 (Big or Little Endian depending on device)
# x86:   For UEFI modules

# Analyze with radare2 for quick triage
r2 -A squashfs-root/usr/bin/suspicious_binary
# Commands: afl (function list), pdf @main (disassemble main), iz (strings)

Step 4: UEFI/BIOS Firmware Analysis

Analyze system firmware for bootkits and implants:

# Extract UEFI firmware volumes with UEFITool
# GUI: UEFITool -> File -> Open -> Select firmware.rom
# CLI: UEFIExtract firmware.rom

# Analyze UEFI firmware with chipsec (requires hardware access)
python chipsec_main.py -m common.bios_wp     # BIOS write protection
python chipsec_main.py -m common.spi_lock     # SPI flash lock
python chipsec_main.py -m common.secureboot   # Secure Boot status

…
FAQ

What is 'firmware'?

Firmware is the essential software that makes a device work, like the operating system of a phone or the internal program of a router.

What are 'backdoors'?

Backdoors are secret access points left in a system so someone can enter unnoticed, usually for malicious purposes.

What is 'UEFI/BIOS'?

It's the first program that runs when you turn on a computer, even before the operating system loads. It's a place where malware can hide to be difficult to remove.

Details

Original description by the author

Analyzes firmware images for embedded malware, backdoors, and unauthorized modifications in routers, IoT devices, UEFI/BIOS, and embedded systems, covering firmware extraction, filesystem analysis, binary reverse engineering, and bootkit detection. Use for firmware security analysis, IoT malware investigation, UEFI rootkit detection, or embedded device compromise assessment. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#6069
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills