一款红队执行命令回显的白名单工具

admin 2024年10月4日21:49:31评论33 views字数 1223阅读4分4秒阅读模式
 

02

基本介绍

Sharp4NodeKey.exe 是一款合法的微软签名程序,用于执行指定的命令或脚本,避免被杀毒软件或端点检测与响应系统阻止。其微软签名使其能够在红队渗透测试中悄无声息地运行命令,而不被基于签名的安全防护机制检测到。这使得它在需要隐蔽执行任务时成为一项强大的工具。

一款红队执行命令回显的白名单工具

03

使用方法

Sharp4NodeKey.exe 通过合法的微软签名程序,执行指定的命令或脚本,避免被杀毒软件或端点检测与响应系统阻止。常用的命令格式如下所示。

Sharp4NodeKey.exe normal 1 cmd.exe "/c whoami"

该命令的作用是通过 cmd.exe 执行系统命令 whoami,从而返回当前用户的身份信息。

一款红队执行命令回显的白名单工具

04

原理解析

Sharp4NodeKey.exe 核心机制是使用 Process.Start 方法启动系统命令,同时将其伪装为受信任的操作。这种方式可以通过白名单机制绕过常见的安全限制。以下是 Sharp4NodeKey 的核心代码片段及其功能介绍

if (args.Length < 3) 
{
Console.WriteLine("Usage: {0} (normal|abnormal|both) (pid file) (path to exe) [args]", Assembly.GetExecutingAssembly().GetName().Name);
}

代码中,normal|abnormal|both 参数表示执行模式,path to exe 表示要执行的程序路径。

ProcessStartInfo 用于配置新进程的启动信息。args[2] 指定要执行的程序路径,后续参数则被组装为命令行参数,并确保每个参数都被正确引号包裹,具体代码如下所示。

Console.Title = args[2];
ProcessStartInfo startInfo = new ProcessStartInfo(args[2], string.Join(" ", from arg in args.Skip(3) 
select ProcessOutput.QuoteSingleArgument(arg)))
{
UseShellExecute = false
};

UseShellExecute = false 指定不使用外壳程序启动进程,确保命令直接在系统内执行。最后,代码尝试启动进程,并将进程 ID 写入 pid file,随后等待进程结束并记录退出代码:

Process process = Process.Start(startInfo);
File.WriteAllText(args[1], process.Id.ToString());
process.WaitForExit();
num = process.ExitCode;

综上,Sharp4NodeKey 的关键优势在于它的微软签名,能够在不引起注意的情况下执行系统命令。工具已经打包在星球,感兴趣的朋友可以加入自取。

 

原文始发于微信公众号(哈拉少安全小队):一款红队执行命令回显的白名单工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月4日21:49:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一款红队执行命令回显的白名单工具https://cn-sec.com/archives/3231829.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息