Hannibal:一款基于C的x64 Windows代理

科技   2025-01-20 19:35   上海  

关于Hannibal


Hannibal是一款基于地址无关代码(PIC)和C语言(外加少量的C++)开发的x64 Windows 代理,广大研究人员可以使用该工具进行安全防御端的C编程训练。



功能介绍


Hannibal 旨在用作第一阶段代理。它遵循以下设计原则:

1、小:Hannibal 的完整尺寸 .bin 约为 45KB。

2、模块化:可以选择/删除要编译到代理中的命令。可以将大小减小到约 25KB。

3、简单:重点在于最初的立足点能力,而不是提供整个功能舰队。


此外,该项目还旨在提供地址无关代码、代理设计、Mythic代理开发以及安全防御端资源的 C 编程教育体验。


其中包括构建调试版本的功能,该版本可在 GUI IDE 调试器(如 VSCode)中使用,以提高可访问性。需要注意的是,当前版本的Hannibal可以在 Linux 或 Windows 上编译运行。


工具特点


1、体积小;

2、模块化编译;

3、后执行能力;

4、Ekko Sleep;

5、可替换的配置文件;


工具安装


要安装 Hannibal,您需要在远程计算机上安装 Mythic。您可以在Mythic 项目页面找到 Mythic 的安装说明。


从 Mythic 安装目录中,使用以下命令以root用户身份安装 Hannibal:

./mythic-cli install github https://github.com/MythicAgents/Hannibal.git


从 Mythic 安装目录中,使用以下命令以非 root用户身份安装 Hannibal:

sudo -E ./mythic-cli install github https://github.com/MythicAgents/Hannibal.git

工具使用


命令

语句

描述

agentinfo

agentinfo

返回有关代理的内部信息,例如内存位置、下载/上传状态等。

cd

cd [path]

更改宿主进程的当前工作目录。

cp

cp [src_path] [dst_path]

将文件或文件夹复制到目标。递归复制文件夹。

execute

execute [path + args]

对给定的进程字符串执行 CreateProcess。

execute_hbin

execute_hbin <modal_popup>

打开模式以便您可以上传和执行 hbin。注意参数与位置和类型相关。

exit

exit or exit thread

退出代理,终止进程或者仅终止当前线程。

hostname

hostname

返回机器的主机名。

ipinfo

ipinfo

返回有关机器上活动网络设备的信息。

listdrives

listdrives

返回有关已安装驱动器和磁盘空间的信息。

ls

ls [path]

返回路径的目录列表。

mkdir

mkdir [path]

创建新目录。

mv

mv [src_path] [dst_path]

将文件或文件夹移动到目标。递归移动文件夹。

ps

ps

返回机器上正在运行的进程列表。

pwd

pwd

返回宿主进程的当前工作目录。

rm

rm [path]

删除文件或文件夹。文件夹会递归删除。(小心!)

sleep

sleep [interval] [jitter]

设置代理的睡眠/抖动。

whoami

whoami

返回当前用户和域。

upload

upload <modal>

提供模式来上传文件给代理。需要完整路径加文件名。分块上传。

download

download [path]

从代理下载文件。分块下载。


许可证协议


本项目的开发与发布遵循BSD-3-Clause开源许可协议。


项目地址


Hannibal

https://github.com/MythicAgents/Hannibal


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】





FreeBuf
中国网络安全行业门户
 最新文章