Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
kali-linux-docker — kali-linux-docker | Kitploit
Tools/GitHubGitHub/nu11secur1ty/kali-linux-docker
SchwachstellenscannerContainer-SicherheitExploit-FrameworksScripting & AutomatisierungInformationsbeschaffungSicherheitsvirtualisierungWebsicherheitPenetrationstestsCloud-SicherheitDevSecOpsLernen & Bildung
11vor 6 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
nu11secur1ty/kali-linux-docker

kali-linux-docker

kali-linux-docker

Repository anzeigenWebseite

Offizielles Kali Linux Docker

Dieses Kali-Linux-Docker-Image bietet eine minimale Basisinstallation der neuesten Version der Kali Linux Rolling Distribution. Diesem Image sind keine Tools hinzugefügt, du musst sie also selbst installieren. Weitere Details zu Kali-Linux-Metapaketen findest du unter https://www.kali.org/news/kali-linux-metapackages/


Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker

ERFORDERT AKTIVIERTE EXPERIMENTELLE FUNKTIONEN

Da --squash an den Docker-Daemon übergeben wird, schlägt das build.sh-Skript fehl, falls experimentelle Funktionen in deinem Daemon nicht aktiviert sind.

Auf Kali geschieht dies über /etc/docker/daemon.json mit folgendem Inhalt:

root@kitploit:~
{
    "experimental": true
}

Hinweis: Dies ist nur eine Anforderung für uns bei Offensive Security, um die Image-Größe zu reduzieren, wenn wir ein neues Image auf Docker Hub pushen. Wenn du für den persönlichen Gebrauch baust, kannst du die --squash-Option in build.sh entfernen.

Tue May 21 13:59:06 EDT 2019

Einrichten eines Kali Linux Docker-Images

Um das zum Laufen zu bringen, musst du natürlich Docker installieren. Für Docker unter OSX kannst du brew verwenden, während du es für die meisten anderen Distributionen über deinen lokalen Paketmanager installieren kannst. Sobald es installiert und eingerichtet ist, musst du nur noch unser Image aus dem Docker-Repository ziehen:

  • Beispiel für das Ausführen von Docker und Metasploit + vim + git
root@kitploit:~
nu11secur1ty:~ # docker pull nu11secur1ty/kali-linux-docker
nu11secur1ty:~ # docker run -t -i nu11secur1ty/kali-linux-docker /bin/bash
root@7e2a35940eff:/# apt update
root@7e2a35940eff:/# apt dist-update
root@7e2a35940eff:/# apt update && apt install metasploit-framework
root@7e2a35940eff:/# apt update && apt install git
root@7e2a35940eff:/# apt update && apt install vim
root@7e2a35940eff:/# service postgresql start
root@7e2a35940eff:/# ss -ant
root@7e2a35940eff:/# msfdb init
root@7e2a35940eff:/# msfconsole

Andere Software:

  • sqliv2
root@kitploit:~
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2

. Verwendung Link:sqliv2


  • nu11secur1ty-Paket

. Holen:

root@kitploit:~
git clone https://github.com/nu11secur1ty/nu11secur1ty.git

Link:nu11secur1ty

######################################################

Erstellen deines eigenen Kali Linux Docker-Images

Wenn du deine eigenen Kali-Images erstellen möchtest, anstatt unsere vorgefertigten zu verwenden, haben wir es dir mit dem folgenden Skript, das auf Kali Linux Docker auf Github gehostet wird, leicht gemacht. Diese Images lassen sich am besten auf einem Linux-System oder einem anderen Betriebssystem erstellen, das debootstrap verwenden kann.

root@kitploit:~
#!/bin/bash
# Install dependencies (debootstrap)
sudo apt-get install debootstrap
# Fetch the latest Kali debootstrap script from git
curl "https://gitlab.com/kalilinux/packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\
sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\
# Import the Kali image into Docker
sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\
sudo rm -rf ./kali-root &&\
# Test the Kali Docker Image
docker run -t -i kalilinux/kali cat /etc/debian_version &&\
echo "Build OK" || echo "Build failed!"

      • Letzte Veröffentlichung:

DOKUMENTATION ZU ANDERER SOFTWARE, INSTALLATION UND ENTFERNUNG VON DOCKER-IMAGES


Wie stelle ich eine SSH-Verbindung zu einem laufenden Container her?

Es gibt einen docker exec-Befehl, mit dem du dich mit einem bereits laufenden Container verbinden kannst.

  • Verwende docker ps, um den Namen des vorhandenen Containers zu erhalten
  • Verwende den Befehl docker exec -it <container name> /bin/bash, um eine Bash-Shell im Container zu erhalten
  • Verwende allgemein docker exec -it <container name> <command>, um den von dir angegebenen Befehl im Container auszuführen.

Wie führe ich einen Befehl in meinem Container aus?

Der richtige Weg, einen Befehl in einem Container auszuführen, ist: docker-compose run <container name> <command>. Um zum Beispiel eine Shell in deinen Web-Container zu bekommen, könntest du docker-compose run web /bin/bash ausführen.

Um eine Reihe von Befehlen auszuführen, musst du sie mit einer Shell in einen einzigen Befehl verpacken. Zum Beispiel: docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'

In manchen Fällen möchtest du vielleicht einen Container ausführen, der nicht durch eine docker-compose.yml-Datei definiert ist, zum Beispiel um eine neue Container-Konfiguration zu testen. Verwende docker run, um einen neuen Container mit einem bestimmten Image zu starten: docker run -it <image name> <command>

Der Befehl docker run akzeptiert Kommandozeilenoptionen, um Volume-Mounts, Umgebungsvariablen, das Arbeitsverzeichnis und mehr festzulegen.

Eine Shell für Build-/Tooling-Operationen erhalten

Eine Shell in einem Build-Container zu erhalten, um beliebige Operationen auszuführen, ist der einfachste Ansatz. Du möchtest einfach Zugriff auf den cli-Container erhalten, den wir in der Compose-Datei definiert haben. Der Befehl docker-compose -f build.yml run cli startet eine Instanz des phase2/devtools-build-Images und führt für dich eine Bash-Shell aus. Von dort aus kannst du drush, grunt oder was auch immer dein kleines Herz begehrt, verwenden.

Befehle ausführen, aber nicht von einer dedizierten Shell aus

Ein weiteres Konzept in der Docker-Welt ist es, einen Container zu starten, um einen einzelnen Befehl auszuführen, und dem Container zu erlauben, zu stoppen, wenn der Befehl abgeschlossen ist. Das ist großartig, wenn du Befehle nur selten ausführst oder nicht möchtest, dass ein weiterer Container ständig läuft. Das Ausführen deiner Befehle in Containern auf diese Weise eignet sich auch gut für Befehle, die keine Dateien auf dem Dateisystem erzeugen, oder wenn sie es tun, schreiben sie diese Dateien auf Volumes, die in den Container eingehängt sind.

Der drush-Container, der in der Beispiel-Datei build.yml definiert ist, ist ein Container, der speziell dafür entwickelt wurde, drush in einem einzigen Arbeitsverzeichnis auszuführen und nur die Befehle als Argumente entgegenzunehmen. Dieser Ansatz ermöglicht es uns, einen schnellen und einfachen Mechanismus bereitzustellen, um jeden drush-Befehl wie sqlc, cache-rebuild und andere in deiner Drupal-Site schnell und einfach auszuführen.

Es gibt auch andere Beispiele für einen grunt-Befehlscontainer, ähnlich wie drush, und einen noch spezifischeren Befehlscontainer, der einen einzelnen Befehl ausführt, drush make, um die Site aus einer Make-/Dependency-Datei zu erstellen.


Der webapp-Ordner auf dem Host wird in das Apache-Root-Verzeichnis des Containers eingehängt.

Mitwirken

  • Probleme melden
  • Einen Pull Request eröffnen

Docker bietet einen einzigen Befehl, der alle Ressourcen — Images, Container, Volumes und Netzwerke — bereinigt, die verwaist sind (nicht mit einem Container verbunden):

root@kitploit:~
docker system prune

Um zusätzlich alle gestoppten Container und alle unbenutzten Images (nicht nur verwaiste Images) zu entfernen, füge dem Befehl die Option -a hinzu:

root@kitploit:~
docker system prune -a

Ein oder mehrere bestimmte Images entfernen

Verwende den Befehl docker images mit der Option -a, um die ID der Images zu finden, die du entfernen möchtest. Dadurch werden dir alle Images angezeigt, einschließlich der Zwischen-Image-Ebenen. Wenn du die zu löschenden Images gefunden hast, kannst du ihre ID oder ihr Tag an docker rmi übergeben:

  • Auflisten:
root@kitploit:~
docker images -a
  • Entfernen:
root@kitploit:~
docker rmi Image Image

Verwaiste Images entfernen

Docker-Images bestehen aus mehreren Ebenen. Verwaiste Images sind Ebenen, die keine Beziehung zu getaggten Images haben. Sie erfüllen keinen Zweck mehr und verbrauchen Speicherplatz. Sie können gefunden werden, indem du dem Befehl docker images das Filter-Flag -f mit dem Wert dangling=true hinzufügst. Wenn du sicher bist, dass du sie löschen möchtest, kannst du den Befehl docker images purge verwenden:

HINWEIS

root@kitploit:~
Wenn du ein Image ohne Tag erstellst, erscheint das Image in der Liste der verwaisten Images, da es keine Zuordnung zu einem getaggten Image hat. Du kannst diese Situation vermeiden, indem du beim Erstellen ein Tag angibst, und du kannst ein Image nachträglich mit dem Befehl docker tag taggen.
  • Auflisten:
root@kitploit:~
docker images -f dangling=true
  • Entfernen:
root@kitploit:~
docker images purge

Images nach einem Muster entfernen

Du kannst alle Images finden, die einem Muster entsprechen, indem du docker images und grep kombinierst. Wenn du zufrieden bist, kannst du sie löschen, indem du awk verwendest, um die IDs an docker rmi zu übergeben. Beachte, dass diese Hilfsprogramme nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind:

  • Auflisten:
root@kitploit:~
docker images -a |  grep "pattern"
  • Entfernen:
root@kitploit:~
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Alle Images entfernen

Alle Docker-Images auf einem System können aufgelistet werden, indem du dem Befehl docker images die Option -a hinzufügst. Wenn du sicher bist, dass du sie alle löschen möchtest, kannst du die Option -q hinzufügen, um die Image-ID an docker rmi zu übergeben:

  • Auflisten:
root@kitploit:~
docker images -a
  • Entfernen:
root@kitploit:~
docker rmi $(docker images -a -q)

Einen Container beim Beenden entfernen

Wenn du bereits beim Erstellen eines Containers weißt, dass du ihn nicht behalten möchtest, sobald du fertig bist, kannst du docker run --rm ausführen, um ihn automatisch zu löschen, wenn er beendet wird.

  • Ausführen und Entfernen:
root@kitploit:~
 docker run --rm image_name

Alle beendeten Container entfernen

Du kannst Container mit docker ps -a finden und sie nach ihrem Status filtern: created, restarting, running, paused oder exited. Um die Liste der beendeten Container zu überprüfen, verwende das Flag -f, um nach Status zu filtern. Wenn du überprüft hast, dass du diese Container entfernen möchtest, verwende -q, um die IDs an den Befehl docker rm zu übergeben.

  • Auflisten:
root@kitploit:~
docker ps -a -f status=exited
  • Entfernen:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -q)

Container mit mehr als einem Filter entfernen

Docker-Filter können kombiniert werden, indem das Filter-Flag mit einem zusätzlichen Wert wiederholt wird. Dies führt zu einer Liste von Containern, die entweder die eine oder die andere Bedingung erfüllen. Wenn du zum Beispiel alle Container löschen möchtest, die entweder als Created (ein Zustand, der entstehen kann, wenn du einen Container mit einem ungültigen Befehl ausführst) oder Exited markiert sind, kannst du zwei Filter verwenden:

  • Auflisten:
root@kitploit:~
docker ps -a -f status=exited -f status=created
  • Entfernen:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -f status=created -q)

Container nach einem Muster entfernen

Du kannst alle Container finden, die einem Muster entsprechen, indem du docker ps und grep kombinierst. Wenn du sicher bist, dass du die Liste hast, die du löschen möchtest, kannst du awk und xargs verwenden, um die ID an docker rmi zu übergeben. Beachte, dass diese Hilfsprogramme nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind:

  • Auflisten:
root@kitploit:~
docker ps -a |  grep "pattern”
  • Entfernen:
root@kitploit:~
docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Alle Container stoppen und entfernen

Du kannst die Container auf deinem System mit docker ps überprüfen. Das Hinzufügen des Flags -a zeigt alle Container an. Wenn du sicher bist, dass du sie löschen möchtest, kannst du das Flag -q hinzufügen, um die IDs an die Befehle docker stop und docker rm zu übergeben:

  • Auflisten:
root@kitploit:~
docker ps -a
  • Entfernen:
root@kitploit:~
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Volumes entfernen

Ein oder mehrere bestimmte Volumes entfernen - Docker 1.9 und später

Verwende den Befehl docker volume ls, um den oder die Namen der Volumes zu finden, die du löschen möchtest. Dann kannst du ein oder mehrere Volumes mit dem Befehl docker volume rm entfernen:

  • Auflisten:
root@kitploit:~
docker volume ls
  • Entfernen:
root@kitploit:~
docker volume rm volume_name volume_name

Verwaiste Volumes entfernen - Docker 1.9 und später

Da der Sinn von Volumes darin besteht, unabhängig von Containern zu existieren, wird ein Volume beim Entfernen eines Containers nicht automatisch mitentfernt. Wenn ein Volume existiert und nicht mehr mit Containern verbunden ist, nennt man es ein verwaistes Volume. Um sie zu finden und zu bestätigen, dass du sie entfernen möchtest, kannst du den Befehl docker volume ls mit einem Filter verwenden, um die Ergebnisse auf verwaiste Volumes zu beschränken. Wenn du mit der Liste zufrieden bist, kannst du sie alle mit docker volume prune entfernen:

  • Auflisten:
root@kitploit:~
docker volume ls -f dangling=true
  • Entfernen:
root@kitploit:~
docker volume prune

Einen Container und sein Volume entfernen

Wenn du ein unbenanntes Volume erstellt hast, kann es gleichzeitig mit dem Container mit dem Flag -v gelöscht werden. Beachte, dass dies nur mit unbenannten Volumes funktioniert. Wenn der Container erfolgreich entfernt wurde, wird seine ID angezeigt. Beachte, dass kein Hinweis auf die Entfernung des Volumes gemacht wird. Wenn es unbenannt ist, wird es stillschweigend vom System entfernt. Wenn es benannt ist, bleibt es stillschweigend erhalten.

  • Entfernen:
root@kitploit:~
docker rm -v container_name

Fazit

Dieser Leitfaden behandelt einige der gebräuchlichsten Befehle zum Entfernen von Images, Containern und Volumes mit Docker. Es gibt viele andere Kombinationen und Flags, die mit jedem verwendet werden können. Eine umfassende Anleitung zu den verfügbaren Optionen findest du in der Docker-Dokumentation zu docker system prune, docker rmi, docker rm und docker volume rm. Wenn du weitere gängige Bereinigungsaufgaben im Leitfaden sehen möchtest, frag bitte oder mache Vorschläge in den Kommentaren.


Schwachstellen

Bereitgestellte Pakete

Viel Glück an alle! ;)

Viel Spaß mit deinem Kali-Docker-Image! :)

Tool herunterladen