Havoc是一款现代化可扩展的后渗透命令控制框架,可作为Cobalt Strike和Brute Ratel等付费选项的替代方案。
关注【Hack分享吧】公众号,回复关键字【230618】获取下载链接
Havoc包含各种各样的模块,允许渗透测试人员(和黑客)在被利用的设备上执行各种任务,包括执行命令、管理进程、下载额外的有效负载、操作Windows令牌和执行shellcode等。
已在Debian 10/11、Ubuntu 20.04/22.04和Kali Linux上完成测试。建议使用最新版Havoc以避免出现问题;以及使用最新版本的Qt和Python 3.10.x来完成代码构建。
Havoc源代码在github上可用,可以使用以下方法进行克隆,然后将当前目录更改为克隆的存储库。
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc
完成上述步骤后,我们需要为teamserver安装所需的依赖项并将其编译为最终的可执行文件。
在成功运行客户端之前,您必须在APT存储库中启用 Python 3.10。
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10 python3.10-dev
以下仅适用于基于Debian的发行版。
sudo apt install -y git build-essential apt-utils cmake libfontconfig1 libglu1-mesa-dev libgtest-dev libspdlog-dev libboost-all-dev libncurses5-dev libgdbm-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev mesa-common-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5websockets5 libqt5websockets5-dev qtdeclarative5-dev golang-go qtbase5-dev libqt5websockets5-dev python3-dev libboost-all-dev mingw-w64 nasm
Debian 10/11
bookworm您必须为 Python 3.10设置存储库。
echo 'deb http://ftp.de.debian.org/debian bookworm main' >> /etc/apt/sources.list
sudo apt update
sudo apt install python3-dev python3.10-dev libpython3.10 libpython3.10-dev python3.10
sudo pacman -S git gcc base-devel cmake make fontconfig glu gtest spdlog boost boost-libs ncurses gdbm openssl readline libffi sqlite bzip2 mesa qt5-base qt5-websockets python3 nasm mingw-w64-gcc go
你一定已经homebrew安装了。
brew install --cask cmake
brew install [email protected] qt@5 spdlog golang
brew link --overwrite qt@5
安装额外的Go依赖项:
cd teamserver
go mod download golang.org/x/sys
go mod download github.com/ugorji/go
cd ..
请注意,teamserver需要golang 1.18才能编译和运行
构建并运行:
# Install musl Compiler & Build Binary (From Havoc Root Directory)
make ts-build
# Run the teamserver
./havoc server --profile ./profiles/havoc.yaotl -v --debug
在与Teamserver交互期间创建的所有文件都存储在该/Havoc/data/*文件夹中。
现在我们已经成功编译了teamserver,我们现在应该为客户端安装依赖项并编译它。
构建并运行:
# Build the client Binary (From Havoc Root Directory)
make client-build
# Run the client
./havoc client
编译完团队服务器和客户端后,我们可以从Havoc可执行文件启动团队服务器和客户端。
$ ./havoc
_______ _______ _______
│\ /│( ___ )│\ /│( ___ )( ____ \
│ ) ( ││ ( ) ││ ) ( ││ ( ) ││ ( \/
│ (___) ││ (___) ││ │ │ ││ │ │ ││ │
│ ___ ││ ___ │( ( ) )│ │ │ ││ │
│ ( ) ││ ( ) │ \ \_/ / │ │ │ ││ │
│ ) ( ││ ) ( │ \ / │ (___) ││ (____/\
│/ \││/ \│ \_/ (_______)(_______/
pwn and elevate until it's done
Havoc Framework [Version: 0.4.1] [CodeName: The Fool]
Usage:
havoc [flags]
havoc [command]
Available Commands:
client client command
help Help about any command
server server command
Flags:
-h, --help help for havoc
Use "havoc [command] --help" for more information about a command.