.NET 实战对抗,内网渗透中红队通过 FSharp 执行命令绕过安全防护

在红队渗透测试中,Sharp4fsi.exe是一款基于F#的交互式编译器执行攻击负载的工具,通过封装或修改原始编译器,能够执行包含恶意代码的F#脚本文件。由于F#的交互式编译器本身带有微软的签名,因此Sharp4fsi.exe也继承了这一特性,使得在执行时能够绕过一些基于签名验证的安全防护软件。

01. FSharp 科普介绍

FSharp 是一种功能强大、功能式编程为主的编程语言,FSharp  是 .NET 平台的一部分,能够与 C# 和 Visual Basic 等 .NET 语言无缝集成,允许开发者使用函数式编程的优点,同时也可以使用面向对象和命令式编程。

FSharp  支持多种脚本格式,除了 .fsscript 之外,常见的格式包括 .fsx,这是 F# 脚本和 .fs 扩展名,这是 F# 源文件。其中 .fsx 是最常用于脚本化的文件扩展名,适合快速执行脚本,例如下面代码所示。

open System
let currentTime = DateTime.Now
printfn "Current time: %A" currentTime

代码中,open System 导入了 .NET System 命名空间,用于访问时间相关的 API。通过Fsi.exe 运行后如下图所示。

图片

图上的 fsi.exe 白名单文件是 F# Interactive 的可执行文件,F# Interactive 是 F# 编程语言中的一个交互式环境,用于即时执行 F# 代码。可以在不编译整个项目的情况下,逐行或逐段地运行 F# 代码。这种交互式的编程方式非常适合于调试、实验和快速原型开发。

除了交互式执行代码,fsi.exe 还可以用来执行 .fsx 和 .fsscript 文件(F# 脚本文件),并且与.NET框架深度捆绑集成,可以在 F# Interactive 中调用 .NET API,甚至与 C# 和其他 .NET 语言无缝集成。

比如引用程序集,可以使用 #r 命令引用外部的 .NET 程序集,具体代码如下所示。

#r "System.Xml.dll"
#load "script.fsx"

加载并执行脚本,可以使用 #load 命令加载 .fsx 或 .fsscript 文件。

02. 工具实战用法

Sharp4fsi 就是一款专门基于此技术实现的红队工具,只需在命令行中指定要执行的F#脚本文件即可。

以下是一个基本的命令示例:

Sharp4fsi.exe Fsharp4Process.fsscript

在这个demo中,Fsharp4Process.fsscript是包含F#代码的脚本文件,工具将负责执行该文件中的代码。下面fsccript代码中执行了whoami命令,返回如下图所示。

图片

综上,Sharp4fsi.exe作为一款利用F#编译器执行攻击负载的工具,由于本身带有微软的签名,使得它在执行时能够绕过一些基于签名验证的安全防护软件。对现有的安全防护策略构成了挑战。

 03.星球学习资源

我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

.NET 免杀WebShell
.NET 反序列化漏洞
.NET 安全防御绕过
.NET 内网信息收集
.NET 本地权限提升
.NET 内网横向移动
.NET 目标权限维持
.NET 数据外发传输

 这些阶段所涉及的工具集不仅代表了当前.NET安全领域的最前沿技术,更是每一位网络安全爱好者不可或缺的实战利器。

文章涉及的工具已打包,请加/入/后下/载:https://wx.zsxq.com/group/51121224455454

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dot.Net安全矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值