Skip to content
Skillpedia
Analysis & spreadsheets35k · #5464

analyzing-malware-behavior-with-cuckoo-sandbox

Lets your agent test dangerous programs in a safe environment. It watches what the program does to understand how it attacks.

What it does

This tool runs a suspicious program in a safe environment (Cuckoo Sandbox) to see what it does. It observes how the program interacts with the computer, how it changes files, accesses the internet, and what commands it uses.

When to use it

  • ✓When you have a suspicious file and want to see what it does without risking your computer.
  • ✓To understand how a malicious program spreads and installs things on the system.
  • ✓To create detection rules based on the program's behavior.

Example of what to ask your AI

“Analyze this suspicious file in Cuckoo Sandbox and tell me if it tries to install something or connect to malicious websites.”

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/analyzing-malware-behavior-with-cuckoo-sandbox/SKILL.md

Ready-to-paste message

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

You submit the file to Cuckoo Sandbox, which runs it in an isolated virtual machine. Afterward, it generates a detailed report about all the actions the program performed.

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 analyzing-malware-behavior-with-cuckoo-sandbox

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-malware-behavior-with-cuckoo-sandbox/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Analyzing Malware Behavior with Cuckoo Sandbox

When to Use

  • A suspicious sample passed static analysis triage and requires behavioral observation in a controlled environment
  • You need to capture network traffic, file drops, registry modifications, and API calls from a malware execution
  • Determining the full infection chain including second-stage payload downloads and persistence mechanisms
  • Generating behavioral signatures and YARA rules based on observed runtime activity
  • Automated analysis of bulk malware samples requiring consistent reporting

Do not use when the sample is a known ransomware variant that may spread via network shares in a misconfigured sandbox; verify network isolation first.

Prerequisites

  • Cuckoo Sandbox 3.x installed on a dedicated analysis server (Ubuntu 22.04 recommended)
  • Guest VMs configured with Windows 10/11 snapshots (Cuckoo agent installed, snapshots taken at clean state)
  • VirtualBox, KVM, or VMware configured as the Cuckoo virtualization backend
  • Isolated network with InetSim or FakeNet-NG for simulating internet services
  • Suricata or Snort integrated for network-level signature matching during analysis
  • Sufficient disk space for PCAP captures and memory dumps (minimum 500 GB recommended)

Workflow

Step 1: Submit Sample to Cuckoo

Submit the malware sample for automated analysis:

# Submit via command line
cuckoo submit /path/to/suspect.exe

# Submit with specific analysis timeout (300 seconds)
cuckoo submit --timeout 300 /path/to/suspect.exe

# Submit with specific VM and analysis package
cuckoo submit --machine win10_x64 --package exe --timeout 300 /path/to/suspect.exe

# Submit via REST API
curl -F "file=@suspect.exe" -F "timeout=300" -F "machine=win10_x64" \
  http://localhost:8090/tasks/create/file

# Submit URL for analysis
curl -F "url=http://malicious-site.com/payload" -F "timeout=300" \
  http://localhost:8090/tasks/create/url

# Check task status
curl http://localhost:8090/tasks/view/1 | jq '.task.status'

Step 2: Monitor Execution in Real-Time

Track the analysis progress and observe live behavior:

# Watch Cuckoo analysis log
tail -f /opt/cuckoo/log/cuckoo.log

# Monitor analysis task status
cuckoo status

# Access Cuckoo web interface for live screenshots and process tree
# Navigate to http://localhost:8080/analysis/<task_id>/

Key behavioral events to watch during execution:

  • Process creation chain (parent-child relationships)
  • Network connection attempts to external IPs
  • File drops in temporary directories or system folders
  • Registry modifications to Run keys or service entries
  • API calls related to encryption (CryptEncrypt), injection (WriteProcessMemory), or evasion

Step 3: Analyze Process Activity

Review the process tree and API call trace from the Cuckoo report:

# Parse Cuckoo JSON report programmatically
import json

with open("/opt/cuckoo/storage/analyses/1/reports/report.json") as f:
    report = json.load(f)

# Process tree analysis
for process in report["behavior"]["processes"]:
    pid = process["pid"]
    ppid = process["ppid"]
    name = process["process_name"]
    print(f"PID: {pid} PPID: {ppid} Name: {name}")

    # Extract suspicious API calls
    for call in process["calls"]:
        api = call["api"]
        if api in ["CreateRemoteThread", "VirtualAllocEx", "WriteProcessMemory",
                    "NtCreateThreadEx", "RegSetValueExA", "URLDownloadToFileA"]:
            args = {arg["name"]: arg["value"] for arg in call["arguments"]}
            print(f"  [!] {api}({args})")

Step 4: Review Network Activity

Examine network connections, DNS queries, and HTTP requests:

# Network analysis from Cuckoo report
network = report["network"]

# DNS resolutions
print("DNS Queries:")
for dns in network.get("dns", []):
    print(f"  {dns['request']} -> {dns.get('answers', [])}")

# HTTP requests
print("\nHTTP Requests:")
for http in network.get("http", []):
    print(f"  {http['method']} {http['uri']} (Host: {http['host']})")
    if http.get("body"):
        print(f"    Body: {http['body'][:200]}")

# TCP connections
print("\nTCP Connections:")
for tcp in network.get("tcp", []):
    print(f"  {tcp['src']}:{tcp['sport']} -> {tcp['dst']}:{tcp['dport']}")

# Extract PCAP for deeper Wireshark analysis
# PCAP location: /opt/cuckoo/storage/analyses/1/dump.pcap

Step 5: Examine File System and Registry Changes

Document persistence mechanisms and dropped files:

…

FAQ

What is Cuckoo Sandbox?

It's a program that creates a safe and isolated environment to run suspicious files and observe their behavior without affecting your real computer.

What are IOCs?

IOCs (Indicators of Compromise) are clues that show a system has been attacked, such as malicious website addresses or specific file names.

Can I use this on any file?

No, it's recommended not to use it on known ransomware that might spread on misconfigured networks. Always verify network isolation first.

Details

Original description by the author

Detonate malware samples in Cuckoo Sandbox to observe runtime behavior — process creation, file system and registry changes, network communications, and API calls — and generate behavioral reports for classification and IOC extraction. Use when a sample has passed static triage and needs dynamic/behavioral analysis, when mapping a full infection chain, or when building YARA/behavioral signatures f

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5464
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