Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
kali-linux-docker — kali-linux-docker | Kitploit
工具/GitHubGitHub/nu11secur1ty/kali-linux-docker
漏洞扫描器容器安全漏洞利用框架脚本与自动化信息收集安全虚拟化Web安全渗透测试云安全DevSecOps学习与教育
11196年前尚未审核
GitHub
nu11secur1ty/kali-linux-docker

kali-linux-docker

kali-linux-docker

查看仓库网站

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

官方 Kali Linux Docker

此 Kali Linux Docker 镜像提供最新版 Kali Linux Rolling Distribution 的最小化基础安装。 此镜像中未添加任何工具,因此你需要自行安装它们。 有关 Kali Linux 元包的详细信息,请查看 https://www.kali.org/news/kali-linux-metapackages/


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

需要开启 EXPERIMENTAL 功能

由于向 Docker 守护进程传递了 --squash,如果未在守护进程中开启 experimental 功能,build.sh 脚本将失败。

在 Kali 上,可通过 /etc/docker/daemon.json 包含以下内容来开启:

{
    "experimental": true
}

注意:这只是我们在 Offensive Security 为了在向 Docker Hub 推送新镜像时减小镜像体积而需要的要求。 如果你是为个人使用而构建,可以移除 build.sh 中的 --squash 选项。

Tue May 21 13:59:06 EDT 2019

设置 Kali Linux Docker 镜像

显然,要运行它,你需要安装 Docker。在 OSX 上,你可以使用 brew 安装 Docker,而在大多数其他发行版上,可以使用本地包管理器安装。安装并设置完成后,只需从 Docker 仓库拉取我们的镜像即可:

  • 运行 docker 以及 Metasploit + vim + git 的示例
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

其他软件:

  • sqliv2
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2

. 用法 链接:sqliv2


  • nu11secur1ty 包

. 获取:

git clone https://github.com/nu11secur1ty/nu11secur1ty.git

链接:nu11secur1ty

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

构建你自己的 Kali Linux Docker 镜像

如果你想构建自己的 Kali 镜像而不是使用我们预先构建好的镜像,我们已通过托管在 Github 上的 Kali Linux Docker 中的以下脚本让这一过程变得简单。这些镜像最好在 Linux 系统或任何其他支持 debootstrap 的操作系统上构建。

#!/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!"

      • 最新发布:

其他软件文档、安装及移除 Docker 镜像


如何 SSH 连接到正在运行的容器

存在一个 docker exec 命令,可用于连接到已经在运行的容器。

  • 使用 docker ps 获取现有容器的名称
  • 使用命令 docker exec -it <container name> /bin/bash 在容器中获取 bash shell
  • 通常情况下,使用 docker exec -it <container name> <command> 在容器中执行你指定的任何命令。

如何在容器中运行命令?

在容器中运行命令的正确方式是:docker-compose run <container name> <command>。例如,要进入 web 容器的 shell,你可以运行 docker-compose run web /bin/bash

要运行一系列命令,你必须使用 shell 将它们包装在单个命令中。例如:docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'

在某些情况下,你可能想要运行未在 docker-compose.yml 文件中定义的容器,例如测试新的容器配置。使用 docker run 以给定镜像启动新容器:docker run -it <image name> <command>

docker run 命令接受命令行选项来指定卷挂载、环境变量、工作目录等。

为构建/工具操作获取 shell

进入构建容器以执行任何操作是最简单的方法。你只需访问我们在 compose 文件中定义的 cli 容器。命令 docker-compose -f build.yml run cli 将启动一个 phase2/devtools-build 镜像实例,并为你运行一个 bash shell。之后你可以随意使用 drush、grunt 或任何你想要的东西。

运行命令,但不通过专用 shell

Docker 世界中的另一个概念是启动一个容器来运行单个命令,并在命令完成时允许容器停止。如果你不经常运行命令,或者不想让另一个容器持续运行,这非常有用。以这种方式在容器上运行命令也非常适合那些不会在文件系统上生成任何文件,或者即使生成,也会将文件写入挂载到容器中的卷上的命令。

示例 build.yml 文件中定义的 drush 容器是一个专门用于在单个工作目录中运行 drush、仅将命令作为参数传递的容器。这种方法使我们能够提供一种快速简便的机制,在 Drupal 站点中快速轻松地运行任何 drush 命令,例如 sqlc、cache-rebuild 等。

还有其他示例,例如与 drush 类似的 grunt 命令容器,以及更具体的命令容器,用于运行单个命令 drush make,以从 make/依赖文件构建站点。


主机上的 webapp 文件夹将被挂载到容器的 apache 根目录中

贡献

  • 报告问题
  • 提交 Pull Request

Docker 提供一条命令,可清理任何悬空(未与容器关联)的资源——镜像、容器、卷和网络:

docker system prune

要额外删除所有已停止的容器和所有未使用的镜像(不仅仅是悬空镜像),请在该命令中添加 -a 标志:

docker system prune -a

删除一个或多个特定镜像

使用带有 -a 标志的 docker images 命令来查找要删除的镜像的 ID。这会显示所有镜像,包括中间镜像层。找到要删除的镜像后,你可以将其 ID 或标签传递给 docker rmi:

  • 列表:
docker images -a
  • 删除:
docker rmi Image Image

删除悬空镜像

Docker 镜像由多个层组成。悬空镜像是指与任何已标记镜像都没有关系的层。它们不再有任何用途并占用磁盘空间。可以通过向 docker images 命令添加过滤标志 -f(值为 dangling=true)来找到它们。当你确定要删除它们时,可以使用 docker images purge 命令:

注意

If you build an image without tagging it, the image will appear on the list of dangling images because it has no association with a tagged image. You can avoid this situation by providing a tag when you build, and you can retroactively tag an images with the docker tag command.
  • 列表:
docker images -f dangling=true
  • 删除:
docker images purge

根据模式删除镜像

你可以结合使用 docker images 和 grep 查找所有匹配某个模式的镜像。确认无误后,可以使用 awk 将 ID 传递给 docker rmi 来删除它们。请注意,这些工具并非由 Docker 提供,也不一定在所有系统上可用:

  • 列表:
docker images -a |  grep "pattern"
  • 删除:
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

删除所有镜像

通过向 docker images 命令添加 -a 可以列出系统上的所有 Docker 镜像。当你确定要全部删除时,可以添加 -q 标志将镜像 ID 传递给 docker rmi:

  • 列表:
docker images -a
  • 删除:
docker rmi $(docker images -a -q)

在容器退出时删除容器

如果你在创建容器时就知道完成后不想保留它,可以运行 docker run --rm 在它退出时自动删除它。

  • 运行并删除:
 docker run --rm image_name

删除所有已退出的容器

你可以使用 docker ps -a 定位容器,并按状态筛选它们:created、restarting、running、paused 或 exited。要查看已退出容器的列表,请使用 -f 标志按状态筛选。确认要删除这些容器后,使用 -q 将 ID 传递给 docker rm 命令。

  • 列表:
docker ps -a -f status=exited
  • 删除:
docker rm $(docker ps -a -f status=exited -q)

使用多个过滤器删除容器

可以通过重复使用带有附加值的过滤标志来组合 Docker 过滤器。这将生成一个满足任一条件的容器列表。例如,如果你想删除所有标记为 Created(当使用无效命令运行容器时可能出现的状态)或 Exited 的容器,可以使用两个过滤器:

  • 列表:
docker ps -a -f status=exited -f status=created
  • 删除:
docker rm $(docker ps -a -f status=exited -f status=created -q)

根据模式删除容器

你可以结合使用 docker ps 和 grep 查找所有匹配某个模式的容器。当你确定列表无误后,可以使用 awk 和 xargs 将 ID 提供给 docker rmi。请注意,这些工具并非由 Docker 提供,也不一定在所有系统上可用:

  • 列表:
docker ps -a |  grep "pattern”
  • 删除:
docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

停止并删除所有容器

你可以使用 docker ps 查看系统上的容器。添加 -a 标志将显示所有容器。当你确定要删除它们时,可以添加 -q 标志将 ID 提供给 docker stop 和 docker rm 命令:

  • 列表:
docker ps -a
  • 删除:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

删除卷

删除一个或多个特定卷 - Docker 1.9 及更高版本

使用 docker volume ls 命令查找你要删除的卷名称。然后可以使用 docker volume rm 命令删除一个或多个卷:

  • 列表:
docker volume ls
  • 删除:
docker volume rm volume_name volume_name

删除悬空卷 - Docker 1.9 及更高版本

由于卷的意义在于独立于容器存在,因此当容器被删除时,卷不会同时自动删除。当卷存在且不再连接到任何容器时,它被称为悬空卷。要找到它们并确认要删除,可以使用带有过滤器的 docker volume ls 命令将结果限制为悬空卷。当你对列表满意时,可以使用 docker volume prune 删除它们全部:

  • 列表:
docker volume ls -f dangling=true
  • 删除:
docker volume prune

删除容器及其卷

下载工具