Covenant:针对红队设计的.NET命令行控制框架
2019-09-26 16:00:28 Author: www.freebuf.com(查看原文) 阅读量:148 收藏

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


文章来源: https://www.freebuf.com/articles/system/213672.html
如有侵权请联系:admin#unsafe.sh