如何解析针对红队设计的.NET命令行控制框架Covenant
这期内容当中小编将会给大家带来有关如何解析针对红队设计的.NET命令行控制框架Covenant,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
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,确保已经将""替换成了我们的绝对路径:
$~/Covenant/Covenant > docker run -it -p 7443:7443 -p 80:80 -p 443:443 --namecovenant -v :/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 :/app/Data covenant--username AdminUser --computername 0.0.0.0
用户注册
启动Covenant之后,我们需要通过Web接口完成初始用户注册:
注册成功之后,该用户会通过管理员用户创建:
上述就是小编为大家分享的如何解析针对红队设计的.NET命令行控制框架Covenant了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。