Skip to content

azqzazq1/judozi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Features β€’ Installation β€’ Usage β€’ Exploits β€’ How It Works


FEATURES

CORE FRAMEWORK

+ Modular Plugin System
  Drop-in module support

+ Module Registry
  Auto-discovery and loading

+ Interactive UI
  Clean module selection menu

+ Command-line Interface
  Direct module execution

+ Extensible Architecture
  Easy to add new modules

+ Zero Dependencies
  Pure Go, static binary

KERNEL MODULE

! Dynamic Exploit Library
  Kernel 2.6.22 β†’ 6.7.1 coverage

! Smart Detection
  Auto-detects vulnerabilities

! Hybrid Execution
  Compile OR precompiled

! GCC-Free Mode
  Works without compiler

! Binary Fallback
  Download when needed

! Automatic Mode
  Try all exploits

QUICK START

One-Line Installation

wget https://github.com/past3l/judozi/raw/main/judozi && chmod +x judozi && ./judozi

Alternative: Build from Source

git clone https://github.com/past3l/judozi.git
cd judozi
CGO_ENABLED=0 go build -ldflags="-s -w" -o judozi ./cmd/judozi
./judozi

USAGE

Interactive Mode (Recommended)

Run Judozi and select a module interactively:

./judozi
πŸ“Έ Click to see module selection
     β–„β–„β–„β–ˆβ–ˆβ–€β–€β–€β–ˆ    β–ˆβ–ˆ  β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„  β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’ β–ˆβ–ˆβ–“
       β–’β–ˆβ–ˆ   β–ˆβ–ˆ  β–“β–ˆβ–ˆβ–’ β–’β–ˆβ–ˆβ–€ β–ˆβ–ˆβ–Œβ–’β–ˆβ–ˆβ–’  β–ˆβ–ˆβ–’β–’ β–’ β–’ β–„β–€β–‘β–“β–ˆβ–ˆβ–’
       β–‘β–ˆβ–ˆ  β–“β–ˆβ–ˆ  β–’β–ˆβ–ˆβ–‘ β–‘β–ˆβ–ˆ   β–ˆβ–Œβ–’β–ˆβ–ˆβ–‘  β–ˆβ–ˆβ–’β–‘ β–’ β–„β–€β–’β–‘ β–’β–ˆβ–ˆβ–’
    β–“β–ˆβ–ˆβ–„β–ˆβ–ˆβ–“ β–“β–“β–ˆ  β–‘β–ˆβ–ˆβ–‘ β–‘β–“β–ˆβ–„   β–Œβ–’β–ˆβ–ˆ   β–ˆβ–ˆβ–‘  β–„β–€β–’   β–‘β–‘β–ˆβ–ˆβ–‘
     β–“β–ˆβ–ˆβ–ˆβ–’  β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“  β–‘β–’β–ˆβ–ˆβ–ˆβ–ˆβ–“ β–‘ β–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–‘β–ˆβ–ˆβ–‘

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Modular Offensive Security Framework v2.0    β”‚
  β”‚  Author: past3l@mileniumsec                   β”‚
  β”‚  GitHub: github.com/past3l/judozi             β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

SELECT MODULE:

  [1] kernel
      privesc - Automated Linux Kernel Privilege Escalation

  ╔════════════════════════════════════════╗
  β•‘ Enter number (1-N) or 'q' to quit    β•‘
  β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
  > 

Direct Module Execution

Run a specific module directly:

# Run kernel module interactively
./judozi kernel

# List all kernel exploits
./judozi kernel -list

# Automatic mode (try all matching exploits)
./judozi kernel -auto

# Target specific CVE
./judozi kernel -cve CVE-2022-0847

# Use custom exploit mirror
./judozi kernel -mirror https://example.com/exploits

Command Line Options

# List all available modules
./judozi -l
./judozi --list

# Show help
./judozi -h
./judozi --help

# Run a module with args
./judozi [module] [module-args]

MODULES

πŸ”“ Kernel Module (Privilege Escalation)

Automated Linux kernel privilege escalation framework with 19+ exploits.

Features:

  • Smart kernel version detection
  • Automatic exploit matching
  • Hybrid execution (compile or precompiled)
  • GCC-free mode with binary fallback
  • Range: Kernel 2.6.22 β†’ 6.7.1
./judozi kernel          # Interactive mode
./judozi kernel -list    # List all exploits
./judozi kernel -auto    # Try all matching
./judozi kernel -cve CVE-2022-0847

πŸ”’ Persistence Module

8 proven persistence techniques with stealth rating and reboot survival info.

Techniques:

  • SSH authorized_keys injection
  • Cron reverse shell (every 10 min)
  • Systemd service (system-monitor)
  • Custom SUID binary
  • /etc/ld.so.preload shared lib injection
  • PAM auth bypass (magic password backdoor)
  • .bashrc / .profile injection
  • SUID bash copy
./judozi persistence         # Interactive selection
./judozi persistence -list   # List all techniques
./judozi persistence 3       # Install technique #3
./judozi persistence -remove # Remove installed backdoors

πŸ” Recon Module

12 parallel reconnaissance techniques. All output auto-saved to ./recon/ directory.

Techniques:

  • System info (OS, CPU, memory, kernel, env, installed tools)
  • Network enumeration (interfaces, routes, ports, ARP, DNS, firewall rules)
  • User & group enumeration (sudoers, shadow, login history, dotfiles)
  • SUID/SGID binaries + GTFOBins detection
  • Process enumeration (cmdlines, root procs, env secrets)
  • Credential hunting (SSH keys, .env, config files, AWS/k8s creds)
  • Cron & scheduled tasks (crontab, systemd timers, at jobs)
  • Service enumeration (systemd, init.d, versions)
  • Container & Docker recon (socket, cgroups, namespaces, metadata service)
  • Environment secrets (env vars, /proc env, process cmdlines)
  • SSH & lateral movement (known_hosts, agent sockets, authorized_keys)
  • Filesystem (writable dirs/files, sensitive files, backup files, logs)
./judozi recon               # Run all 12 techniques in parallel β†’ saves to ./recon/
./judozi recon -list         # List techniques
./judozi recon 1 4 7         # Run specific techniques by ID
./judozi recon -dir /tmp     # Save to custom directory
./judozi recon -nosave       # Print to stdout only

πŸš€ Coming Soon

  • container - Container escape techniques (Docker socket, cgroup v1, privileged, overlay)

DYNAMIC EXPLOIT LIBRARY

Constantly updated repository of kernel privilege escalation vulnerabilities

CVE-2024-1086nf_tables UAF3.15.0 β†’ 6.7.1amd64nftables, uaf
CVE-2023-3269StackRot6.1.0 β†’ 6.4.0amd64maple-tree, uaf
CVE-2023-32233Netfilter nf_tables UAF3.13.0 β†’ 6.3.1amd64nftables, uaf
CVE-2023-2640GameOver(lay)5.15.0 β†’ 6.2.0amd64, arm64overlayfs, ubuntu
CVE-2022-34918Netfilter Heap Overflow5.8.0 β†’ 5.18.8amd64nftables, heap
CVE-2022-2588DirtyCred3.6.0 β†’ 5.19.1amd64route4, uaf
CVE-2022-1015nf_tables OOB5.12.0 β†’ 5.17.0amd64nftables, oob
CVE-2022-0847DirtyPipe5.8.0 β†’ 5.16.10amd64, arm64pipe, write-anywhere
CVE-2022-0185fsconfig Heap Overflow5.1.0 β†’ 5.16.1amd64fsconfig, heap
CVE-2021-33909Sequoia3.16.0 β†’ 5.13.3amd64filesystem, seq_file
CVE-2021-22555Netfilter xt_compat2.6.19 β†’ 5.12.0amd64netfilter, oob-write
CVE-2021-3493OverlayFS Ubuntu3.13.0 β†’ 5.10.99amd64, arm64overlayfs, ubuntu
CVE-2020-8835eBPF Verifier Bypass5.5.0 β†’ 5.6.1amd64ebpf, verifier
CVE-2019-13272ptrace_link4.10.0 β†’ 5.1.17amd64, arm64ptrace, creds
CVE-2017-16995eBPF Arbitrary R/W4.4.0 β†’ 4.14.7amd64ebpf, sign-extension
CVE-2017-7308AF_PACKET2.6.27 β†’ 4.10.5amd64af_packet, heap-oob
CVE-2017-1000112UDP UFO4.4.0 β†’ 4.12.6amd64udp, ufo
CVE-2016-5195DirtyCow2.6.22 β†’ 4.8.2amd64, arm64cow, race-condition
CVE-2016-0728Keyring Refcount3.8.0 β†’ 4.4.0amd64keyring, refcount



HOW IT WORKS

╔════════════════════════════════════════════╗
β•‘       JUDOZI FRAMEWORK PIPELINE           β•‘
╠════════════════════════════════════════════╣
β•‘                                            β•‘
β•‘  [1] INIT                                  β•‘
β•‘      β”œβ”€ Load module registry               β•‘
β•‘      β”œβ”€ Auto-discover modules              β•‘
β•‘      └─ Initialize UI                      β•‘
β•‘                                            β•‘
β•‘  [2] MODULE SELECTION                      β•‘
β•‘      β”œβ”€ Interactive menu                   β•‘
β•‘      β”œβ”€ Direct CLI execution               β•‘
β•‘      └─ Validate availability              β•‘
β•‘                                            β•‘
β•‘  [3] EXECUTION                             β•‘
β•‘      β”œβ”€ Load selected module               β•‘
β•‘      β”œβ”€ Pass arguments                     β•‘
β•‘      └─ Execute module.Run()               β•‘
β•‘                                            β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

Architecture

Module Interface:

type Module interface {
    Name() string
    Description() string
    Category() string
    Run(args []string) error
}

PROJECT STRUCTURE

judozi/
β”œβ”€β”€ cmd/judozi/main.go       # Entry point, module registry
β”œβ”€β”€ modules/
β”‚   β”œβ”€β”€ kernel/              # Kernel privesc (19 CVEs)
β”‚   β”œβ”€β”€ persistence/         # 8 persistence techniques
β”‚   └── recon/               # 12 recon techniques
β”‚       └── techniques/
β”œβ”€β”€ pkg/
β”‚   β”œβ”€β”€ module/              # Module interface + registry
β”‚   β”œβ”€β”€ shell/               # Interactive shell
β”‚   └── ui/                  # Terminal UI helpers
β”œβ”€β”€ binaries/                # Precompiled exploit binaries
β”œβ”€β”€ go.mod
└── README.md

REAL-WORLD TESTING

Successfully tested on Azure Container (Production Environment)

nextjs@container:/tmp$ uname -r
5.15.0-1102-azure

nextjs@container:/tmp$ ./judozi
[*] Kernel: 5.15.0
[+] Found 10 potential exploit(s)
  > all

[!] GCC not available, downloading precompiled binary
[*] Downloading CVE-2024-1086...
[+] Binary downloaded successfully
[*] Executing exploit...
[*] creating user namespace (CLONE_NEWUSER)...
[*] creating network namespace (CLONE_NEWNET)...

SECURITY & LEGAL NOTICE

This tool is designed exclusively for:

YOU MUST HAVE EXPLICIT PERMISSION to use this tool on any system.

Legal Responsibilities

ALLOWED

+ Testing your own systems
+ Authorized pentesting
+ Educational research
+ CTF competitions

ILLEGAL

- Unauthorized access
- Systems you don't own
- Malicious intent
- Illegal privilege escalation

BUILDING FROM SOURCE

Prerequisites

  • Go 1.22 or higher
  • No other dependencies required (CGO disabled)

Build Commands

# Standard build (static binary)
CGO_ENABLED=0 go build -ldflags="-s -w" -o judozi .

# Cross-compile for ARM64
GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o judozi-arm64 .

# Cross-compile for 32-bit/cmd/judozi

# Cross-compile for ARM64
GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o judozi-arm64 ./cmd/judozi

# Cross-compile for 32-bit
GOARCH=386 CGO_ENABLED=0 go build -ldflags="-s -w" -o judozi-i386 ./cmd/judozi

# Debug build (with symbols)
CGO_ENABLED=0 go build -o judozi-debug ./cmd/judozi

Build flags explained:

  • CGO_ENABLED=0 β†’ Produce pure static binary
  • -ldflags="-s -w" β†’ Strip debug symbols (smaller size)
  • -o judozi β†’ Output filename
  • ./cmd/judozi β†’ Entry point path

CONTRIBUTING

Contributions are welcome! Here's how you can help: Modules

Create a new module by implementing the Module interface:

package mymodule

import "github.com/judozi/judozi/pkg/module"

type MyModule struct{}

func New() module.Module {
    return &MyModule{}
}

func (m *MyModule) Name() string {
    return "mymodule"
}

func (m *MyModule) Description() string {
    return "My awesome module"
}

func (m *MyModule) Category() string {
    return "exploitation"
}

func (m *MyModule) Run(args []string) error {
    // Your module logic here
    return nil
}

Then register it in cmd/judozi/main.go:

registry.Register(mymodule.New())

Adding Kernel

Adding New Exploits

Adding Kernel Exploits

  1. Add exploit metadata to modules/kernel/pkg/vulndb/exploits.json:
{
  "id": "CVE-XXXX-XXXXX",
  "name": "Exploit Name",
  "description": "Technical description",
  "min_kernel": "X.X.X",
  "max_kernel": "X.X.X",
  "arch": ["amd64"],
  "source": "https://github.com/.../exploit.c",
  "binary": "https://raw.githubusercontent.com/past3l/judozi/main/binaries/CVE-XXXX-XXXXX",
  "compile": "gcc -o {bin} {src} -static",
  "execute": "{bin}",
  "requirements": ["gcc"],
  "tags": ["tag1", "tag2"],
  "references": ["https://nvd.nist.gov/..."]
}
  1. Compile static binary and add to modules/kernel/binaries/
  2. Test on target kernel version
  3. Submit pull request

Reporting Issues

Bug Reports

GitHub Issues

Feature Requests

GitHub Discussions

Security Issues

Contact privately

LICENSE

Educational Use Only

This project is provided for educational and research purposes. Exploit code belongs to the original authors and researchers. See individual exploit references for specific licensing.

Exploit Sources

AUTHOR

past3l @ mileniumsec

πŸ™ Credits & Acknowledgments

Special thanks to:

Research Organizations

  • Google Project Zero β†’ Advanced kernel security research
  • Qualys Security β†’ Sequoia and other critical discoveries
  • Linux Kernel Community β†’ Rapid patching and improvements
  • Exploit-DB β†’ Public exploit database
  • The Go Team β†’ Static binary compilation support

Notable Researchers

  • @Notselwyn - CVE-2024-1086 (nf_tables UAF)
  • @firefart - CVE-2016-5195 (DirtyCow)
  • Max Kellermann - CVE-2022-0847 (DirtyPipe)
  • @lrh2000 - CVE-2023-3269 (StackRot)
  • And many others in the security community

With great power comes great responsibility

Use this tool ethically and legally. Always obtain proper authorization.





Made by past3l | Star this repo if you find it useful

About

Automatic Linux Local PrivEsc Tool

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages