eikendev/hackenv

GitHub: eikendev/hackenv

一款基于 libvirt 的命令行工具,用于快速创建、管理和访问 Kali Linux 或 Parrot Security 临时虚拟机,专为安全研究和 CTF 场景设计。

Stars: 20 | Forks: 5

hackenv

轻松访问您的 Kali LinuxParrot Security 实例。

hackenv 让您可以从终端轻松管理您的黑客环境。

Build status  License 

## 🚀 安装 **首选方式**是从[最新发布版本](https://github.com/eikendev/hackenv/releases)下载二进制文件。 或者,安装[必需的依赖项](#dependencies)并自行构建: ``` go install github.com/eikendev/hackenv/cmd/...@latest ``` 确保 libvirt daemon 正在运行,并且已创建 socket。在 Fedora 上,可以通过以下方式完成: ``` sudo systemctl start libvirtd sudo systemctl start virtqemud.socket ``` ## 🤘 功能 - 支持 Kali Linux 和 Parrot Security。 - 在几秒钟内创建临时的虚拟机。 - 方便地下载最新的官方 live image。 - **简单直观**的命令行界面。 - 配置基于**公钥认证**的即时 SSH 访问。 - 在主机和客户机之间设置**共享目录**。 - 在客户机中设置与主机相同的**键盘布局**。 ## 📄 用法 首先,确保您已安装[必需的依赖项](#dependencies)。 此外,您还需要一个网桥接口,[如下所述](#creating-a-bridge-interface)。 这可以通过运行 `hackenv fix create-bridge`(或 `./bin/hackenv_createbridge`)来简单实现。 然后,使用 `hackenv get` 下载镜像。 这将从官方镜像源下载 live image。 下载可能需要一些时间,所以请坐下来喝杯茶吧。 | :warning: **如果您运行的是 SELinux,您必须亲自为新镜像设置标签。查看[文件共享部分](#file-sharing)了解更多信息。** | |-----------------------------------------------------------------| 接下来,运行 `hackenv up` 来启动虚拟机。 一旦此命令执行完毕,虚拟机就会运行并完成全面配置。 虚拟机将是临时的(易失性的),这意味着一旦机器关机,存储在共享目录之外的任何数据和配置都将被删除。 这是设计使然, admittedly opinionated。 您现在可以使用 `hackenv ssh` 启动 SSH 会话,或使用 `hackenv gui` 启动 GUI。 请注意,默认情况下,hackenv 将使用 Kali Linux 进行操作,并分别下载其镜像。 如果您想改用 Parrot Security 进行操作,请指定 `hackenv --type=parrot`,或查看[配置](#configuration)。 ### 文件共享 hackenv 将自动在主机和虚拟机之间设置一个共享目录。 在主机端,目录是 `~/.local/share/hackenv/shared`,而在客户机端,它位于 `/shared`。 如果 SELinux 拒绝访问共享目录,您必须调整该目录的上下文。 如果您使用的是 Fedora 或类似系统,可以运行 `hackenv fix apply-labels`(或 `./bin/hackenv_applylabels`)。 该脚本还将重新标记下载的镜像。 如果您从外部向共享目录添加新文件,请不要忘记也为它们设置标签。 ### 创建网桥接口 hackenv 使用网桥,以便您可以从主机通过 SSH 连接到客户机,同时客户机可以访问 Internet。 您可以通过运行 `hackenv fix create-bridge`(或 `./bin/hackenv_createbridge`)来创建此网桥。 请注意,此脚本**将请求提升权限**,以便它可以创建接口。 当然,请根据您的具体需求调整此脚本。 默认情况下,该接口的名称应为 `virbr0`,但可以使用命令行标志进行更改。 ## ⚙ 配置 该工具目前不支持通过文件进行配置。 但是,可以使用环境变量设置某些选项。 查看命令的帮助 (`--help`) 以了解哪些选项支持此功能。 例如,要默认使用 Parrot Security 进行操作,您可以设置 `$HACKENV_TYPE=parrot`。 如果您同时使用这两种操作系统,那么我建议使用 shell 别名: ``` alias kali='hackenv --type=kali' alias parrot='hackenv --type=parrot' ``` ## 🥙 依赖项 - [libvirt](https://libvirt.org/) (virsh) - [OpenSSH](https://www.openssh.com/) (ssh 和 ssh-keygen) - setxkbmap - [virt-viewer](https://virt-manager.org/) 或 [Remmina](https://remmina.org/) 要自行构建二进制文件,您还需要 libvirt 的开发文件,通常名为 `libvirt-dev` 或 `libvirt-devel`。 ## 💡 替代方案 如果您不喜欢此工具,以下选项值得一试: - [Vagrant](https://www.vagrantup.com/) 结合 [VirtualBox](https://www.virtualbox.org/) - [Docker](https://www.docker.com/) 或 [Podman](https://podman.io/)
标签:EVTX分析, Go语言, libvirt, SSH, 日志审计, 渗透测试环境, 程序破解, 虚拟机管理