01
阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面
02
基本介绍
在红队实战和渗透测试中,经常会面临绕过安全监控的需求,特别是在执行恶意代码时。常规的工具和技术往往会被安全防护措施检测到。Sharp4Rundll32.exe 正是这样一款可以绕过安全防护监控的工具。它的功能类似于 Windows 系统中的 rundll32.exe,可以从命令行执行指定的 .NET DLL 方法。
03
使用方法
工具的执行流程可以简单总结为以下几个步骤,用户通过命令行输入工具和参数,格式如下:
Sharp4Rundll32.exe Sharp4Library.dll,Sharp4Library,Class1,Run "cmd.exe,/c calc"
工具会加载指定路径下的 DLL 文件,通过反射机制获取 DLL 中的类型、类和方法信息,工具根据输入的命名空间、类名、方法名,查找并执行该方法。参数会被传递给目标方法,从而实现功能执行。
04
原理解析
Sharp4Rundll32.exe 的核心功能是通过反射动态加载一个指定的 DLL 文件,并执行该 DLL 文件中指定的类和方法。通过反射,可以绕过一些常见的安全监控,因为它不需要显式地调用已知的 API,而是直接从代码中动态加载和执行,具体代码如下所示。
namespaceName = array[1];
className = array[2];
methodName = array[3];
string[] array2 = new string[0];
if (2 == list2.Count)
{
array2 = list2.Skip(1).Take(list2.Count - 1).ToArray<string>().First<string>().Split(new char[]
{
','
});
}
namespaceName, className, methodName:这些变量存储了从命令行获取的 DLL 信息,包括命名空间、类名和方法名。
Program.StdLoad(fullPath, namespaceName, className, methodName, array2);
try
{
assembly = Assembly.LoadFile(Path.GetFullPath(path));
string[] array = (from t in assembly.GetTypes()
select t.Namespace).Distinct<string>().ToArray<string>();
foreach (string text in array)
{
if (!(text != nameSpace))
{
try
{
Type type = assembly.GetType(text + "." + className);
MethodInfo method2 = type.GetMethod(method);
Console.WriteLine((string)method2.Invoke(null, arguments));
}
catch (Exception ex2)
{
Console.WriteLine(ex2.Message);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
通过assembly = Assembly.LoadFile(Path.GetFullPath(path)):加载指定路径的 Sharp4Library.dll 的 DLL 文件。该文件包含一个名为 Class1 的类,该类有一个静态方法 Run,该方法接受一个字符串参数并执行。这将会调用 Sharp4Library.dll 中的 Class1.Run 方法,传入 "cmd.exe,/c calc" 作为参数,最终在目标系统上启动计算器(calc)。
综上,Sharp4Rundll32.exe 是一款非常有用的工具,它能够在红队渗透测试中绕过许多传统的安全防护措施。通过命令行,红队成员可以灵活地执行目标计算机上的 .NET DLL 方法,完成各种攻击操作。工具已经打包在星球,感兴趣的朋友可以加入自取。
05
推荐阅读
从漏洞分析到安全攻防,我们涵盖了.NET安全各个关键方面,为您呈现最新、最全面的.NET安全知识,下面是公众号发布的精华文章集合,推荐大家阅读!
06
欢迎加入.NET安全星球
为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,也得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展。 星球门票后期价格随着内容和质量的不断沉淀会适当提高,因此越早加入越好!
目前dot.Net安全矩阵星球已成为中国.NET安全领域最知名、最活跃的技术知识库之一,从.NET Framework到.NET Core,从Web应用到PC端软件应用,无论您是初学者还是经验丰富的开发人员,都能在这里找到对应的安全指南和最佳实践。
星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。
星球文化始终认为授人以鱼不如授人以渔!加入星球后可以跟星主和嘉宾们一对一提问交流,20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。
我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。
我们还有一个会员专属的内部星球陪伴群,加入的成员可以通过在群里提出问题或参与论的方式来与其他成员交流思想和经验。此外还可以通过星球或者微信群私聊向我们进行提问,以获取帮助迅速解决问题。
为了助力大家在2024国家级hvv演练中脱颖而出,我们特别整理出了一套涵盖dotNet安全矩阵星球的八大.NET相关方向工具集。
.NET 免杀WebShell
.NET 反序列化漏洞
.NET 安全防御绕过
.NET 内网信息收集
.NET 本地权限提升
.NET 内网横向移动
.NET 目标权限维持
.NET 数据外发传输
这些阶段所涉及的工具集不仅代表了当前.NET安全领域的最前沿技术,更是每一位网络安全爱好者不可或缺的实战利器。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...