Covenant
Covenant是一个.NET命令和控制框架,旨在突出.NET的攻击面,在Covenant的帮助下,研究人员可以更加轻松地去利用.NET的攻击面,而且它还可以作为红队研究人员的协作命令和控制平台。
Covenant是一个ASP.NET核心,并且是一款跨平台的应用程序,其中包含了一个基于Web的用户界面,并支持多用户协同工作。
功能介绍
跟其他的命令控制框架相比,Covenant有以下几个非常实用的功能特点:
1、直观的界面;
2、多平台支持(Windows、macOS和Linux,支持Docker环境);
3、多用户支持;
4、API驱动;
5、监听器配置;
6、加密密钥交换;
7、动态编译
8、内联C#执行;
9、追踪标识符;
10、C#开发;
工具安装
首先,将Covenant的项目代码从GitHub库克隆至本地,并初始化git子模块:
git clone --recurse-submodules https://github.com/cobbr/Covenant
选项1-Dotnet核心
使用Covenant最简单的方法就是通过安装Dotnet核心,我们可以点击【这里】为我们的平台下载对应的Dotnet核心。
安装完成之后,我们就可以使用Dotnet命令行接口来构建并运行Covenant了:
$ ~> git clone --recurse-submodules https://github.com/cobbr/Covenant
$ ~> cd Covenant/Covenant
$~/Covenant/Covenant > dotnet build
$~/Covenant/Covenant > dotnet run
选项2-Docker
Covenant还可以在Docker环境下运行,我们只建议对Docker熟悉的用户在Docker环境中使用Covenant。
首先,构建Docker镜像:
$ ~> git clone --recurse-submodules https://github.com/cobbr/Covenant
$ ~> cd Covenant/Covenant
$~/Covenant/Covenant > docker build -t covenant .
接下来,在Docker容器中运行Covenant,确保已经将"</absolute/path/to/Covenant/Covenant/Data>"替换成了我们的绝对路径:
$~/Covenant/Covenant > docker run -it -p 7443:7443 -p 80:80 -p 443:443 --namecovenant -v </absolute/path/to/Covenant/Covenant/Data>:/app/Data covenant
运行下列命令即可终止容器运行:
$~/Covenant/Covenant > docker stop covenant
运行下列命令即可重启容器:
$~/Covenant/Covenant > docker start covenant –ai
如果你需要移除所有Covenant数据并进行初始化恢复,可以运行下列命令:
$~/Covenant/Covenant > docker rm covenant
$~/Covenant/Covenant > docker run -it -p 7443:7443 -p 80:80 -p 443:443 --namecovenant -v </absolute/path/to/Covenant/Covenant/Data>:/app/Data covenant--username AdminUser --computername 0.0.0.0
用户注册
启动Covenant之后,我们需要通过Web接口完成初始用户注册:
注册成功之后,该用户会通过管理员用户创建:
项目地址
Covenant:【GitHub传送门】
*参考来源:cobbr,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM