Ninja:一款专为隐藏红队活动的开源C2服务器

栏目: IT技术 · 发布时间: 4年前

内容简介:Ninja是一个开源的命令控制C2服务器,由Purple团队设计、开发和维护。在Ninjia的帮助下,红队研究人员可以隐藏他们的计算机和活动目录枚举活动,并且不会被SIEM和反病毒产品检测到。目前,Ninjia仍处于测试阶段,稳定版本发布后,将会包含更多隐蔽技术和反取证技术,这对于蓝队来说将会是一个真正的挑战,以帮助他们确保防御系统的安全性,以检测到更加复杂的攻击。Ninjia使用了Python来提供Payload并控制代理,代理基于C#和PowerShell以绕过大部分反病毒产品。Ninjia能够通过加密

Ninja

Ninja是一个开源的命令控制C2服务器,由Purple团队设计、开发和维护。在Ninjia的帮助下,红队研究人员可以隐藏他们的计算机和活动目录枚举活动,并且不会被SIEM和反病毒产品检测到。目前,Ninjia仍处于测试阶段,稳定版本发布后,将会包含更多隐蔽技术和反取证技术,这对于蓝队来说将会是一个真正的挑战,以帮助他们确保防御系统的安全性,以检测到更加复杂的攻击。

Ninjia使用了 Python 来提供Payload并控制代理,代理基于C#和PowerShell以绕过大部分反病毒产品。Ninjia能够通过加密(AES-256)安全信道来与代理交互,而且密钥并非硬编码的,而是在活动中随机生成的,每一个连接至C2服务器的代理都会获得一个密钥,当C2重启并生成了新密钥之后,所有旧的代理和新的代理都将使用新的密钥。Ninjia还支持随机回调URL地址,以便绕过静态检测/分析。

工具要求

请注意,编译C#代码需要取决于System.Management.Automation.dll与SHA1哈希“c669667bb4d7870bc8bb65365d30071eb7fb86fe”的汇编结果。

某些Ninjia命令可能需要用到下列模块,因此用户需要从相应代码库获取这些模块:

Invoke-Kerberoast :

https://raw.githubusercontent.com/xan7r/kerberoast/master/autokerberoast.ps1

Invoke-Mimikatz :

https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-Mimikatz.ps1

Sharphound :

https://github.com/BloodHoundAD/BloodHound/blob/master/Ingestors/SharpHound.ps1

PowerView :

https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1

工具安装

首先,请确保使用下列命令从项目代码库中获取最新版本的Ninjia:

git clone https://github.com/ahmedkhlief/Ninja/

接下来,我们在命令行中切换到项目根目录,然后运行install.sh脚本来安装和配置Ninjia:

chmod +x ./install.sh sudo ./install.sh

完成上述操作之后,你需要初始化活动:

python start_campaign.py

现在,你就可以使用下列命令开启Ninjia服务器了:

python Ninja.py

Ninja:一款专为隐藏红队活动的开源C2服务器

运行之后,你将会看到终端屏幕出现下列内容:

Ninja:一款专为隐藏红队活动的开源C2服务器

自定义回调URL

Ninjia C2允许我们以更安全的方法自定义回调URL,你需要编辑文件links.txt并添加连接中需要用到的单词。Ninjia C2将会从中随机选择单词并用于URL地址中。如果你想使用静态连接,可以直接编辑core/config.py文件来进行功能修改。

Ninjia C2文件架构

 Ninjia C2拥有非常多的功能函数,并使用文件目录来存储这些函数的输出结果,下面给出的是所有目录以及部分重要文件:
 agents/ : 包含Ninjia所需的所有原始代理。
 core/   : 包含运行Ninjia的所有核心脚本。
 DA/     : 防御分析脚本将在此处编写其输出。
 downloads/ : 从目标设备下载的所有文件都将在此处。
 file/    : 要上传到目标设备的文件。
 images/  : 屏幕截图将上传到这里。
 kerberoast/ : kerberoast模块将在此处写入其输出。
 lib/  :  包括Ninjia C2使用的库。
 Modules/ : 可以将Powershell模块加载到目标设备。
 payloads/ : 需要在活动中使用的Payload。
 ninja.py  : Ninjia C2主脚本.
 start_campaign.py : 用于初始化活动配置的Python脚本。
 links.txt : 包含要在回调链接中使用的单词的文件。
 install.sh : 用于安装依赖环境的Bash脚本。
 c2-logs.txt : 记录所有的命令执行结果。

创建自动化命令

你可以为较长的命令或一些列命令设置一个短指令,,这些命令必须存在于core/cmd.py之中:

Ninja:一款专为隐藏红队活动的开源C2服务器

config.COMMAND[config.get_pointer()].append(encrypt(config.AESKey,"load SharpHound.ps1"))

在上述例子中,load SharpHound.ps1就是最终的命令样本。

工具运行截图

主屏幕:

Ninja:一款专为隐藏红队活动的开源C2服务器

Payload:

Ninja:一款专为隐藏红队活动的开源C2服务器

代理列表:

Ninja:一款专为隐藏红队活动的开源C2服务器

域管理员:

Ninja:一款专为隐藏红队活动的开源C2服务器 Ninja:一款专为隐藏红队活动的开源C2服务器 Ninja:一款专为隐藏红队活动的开源C2服务器 Ninja:一款专为隐藏红队活动的开源C2服务器

上传文件:

Ninja:一款专为隐藏红队活动的开源C2服务器

下载文件:

Ninja:一款专为隐藏红队活动的开源C2服务器


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

痛点

痛点

马丁·林斯特龙 / 陈亚萍 / 中信出版集团股份有限公司 / 2017-4-1 / CNY 49.00

互联网经济迅猛发展,大数据成为分析用户需求的一种惯性路径。世界首席品牌营销专家林斯特龙则指出,大数据连接了千百万的数据点,可以准确地产生相互关系。但是,当人类按照自己的习惯行动时,大数据分析通常不会十分准确。所以挖掘用户需求时,在大数据之外,更重要的是通过对一个小群体的亲身观察和小数据常识,捕捉到这个社会群体所体现出的文化欲望。满足这些用户需求,击中痛点,则意味着将掌握无限的商机。一起来看看 《痛点》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器