.NET内网实战:.NET 红队通过 SharpZipLib 批量压缩打包文件

原文链接: https://mp.weixin.qq.com/s?__biz=MzUyOTc3NTQ5MA==&mid=2247499989&idx=2&sn=86629b3263f28d0b5ff467601908b3e6

.NET内网实战:.NET 红队通过 SharpZipLib 批量压缩打包文件

专攻.NET安全的 dotNet安全矩阵 2025-07-01 00:31

01

阅读须知

此文所节选自小报童《.NET 内网实战攻防》专栏,主要
内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。

02

基本介绍

本文内容部分节选自小
报童《
.NET 
红队通过 SharpZipLib 批量压缩打包文件
》,
完整的
文章内容请加入小报童后订阅查看。
现在限时
只需69元,永久
买断!
目前已有280+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!

.NET内网实战:.NET 红队通过 SharpZipLib 批量压缩打包文件

03

原理分析

本文介绍一种打包文件的思路,核心原理是通过 SharpZipLib 实现压缩,这个组件支持文件夹递归压缩、目录与文件类型排除、压缩等级控制,甚至支持简单的密码保护,极大地提升了红队在目标机上打包文件能力的灵活性和隐匿性。

3.1 SharpZipLib介绍

SharpZipLib 全称为 ICSharpCode.SharpZipLib,是一个开源的专为 .NET 平台设计的压缩与解压缩库。最早由开源 IDE 项目 SharpDevelop 团队维护,后来逐步发展为 .NET 生态中极为流行的压缩处理组件之一。

.NET内网实战:.NET 红队通过 SharpZipLib 批量压缩打包文件

该组件提供了对多种主流压缩格式的支持,包括但不限于:ZIP、GZIP、TAR,既支持压缩单个文件、目录递归打包、流压缩处理,也支持密码保护、压缩等级设置等高级功能,因此被广泛应用于日志归档、自动打包、跨平台数据传输等场景中。使用时推荐通过 NuGet 进行安装,
具体的安装命令如下所示。

dotnet add package SharpZipLib --version 1.4.2

运行命令后将组件添加至当前的 .NET 应用项目。主要用于 ZIP 格式相关操作,如 ZipFile, ZipOutputStream, ZipEntry ,可以方便地将整个文件夹打包为 .zip 文件。

3.2 ZipOutPutStream

ZipOutputStream 是 ICSharpCode.SharpZipLib.Zip 命名空间中提供的一个核心类,它用于以流的方式创建 ZIP 压缩文件。在实际使用中,ZipOutputStream 通常用于将多个文件或目录逐一写入一个 .zip 文件中,并支持自定义压缩等级、密码保护等功能。一般使用方法如下代码所示。

using(ZipOutputStream zos =newZipOutputStream(File.Create("output.zip")))
{
    zos.Password ="123456";
    zos.SetLevel(5);
string filePath =@"C:\test.txt";
byte[] buffer = File.ReadAllBytes(filePath);
// 创建一个压缩包条目
ZipEntry entry =newZipEntry("test.txt");
    zos.PutNextEntry(entry);
    zos.Write(buffer,0, buffer.Length);// 写入内容
    zos.Finish();
}

相比直接使用 ZipFile.Create 或 System.IO.Compression.ZipArchive,ZipOutputStream 提供了更底层、流式、可控的压缩能力 。

我们以 Sharp4ArchiveZip.exe 为例,基于 ICSharpCode.SharpZipLib 实现的目录压缩工具。具体用法如下所示。

Sharp4ArchiveZip.exe "D:\VisualStudioItem\Sharp4ZipPlus\Sharp4AOT""D:\VisualStudioItem\Sharp4ZipPlus\123.zip""obj"".user"

第一个参数:原始目录路径;第二个参数:压缩后 zip 文件输出路径;第三个参数:排除的子目录名称,多个以英文逗号分隔;第四个参数:排除的文件扩展名。工具运行时如下图所示。

.NET内网实战:.NET 红队通过 SharpZipLib 批量压缩打包文件

该命令将把 Sharp4AOT 目录中的所有文件,排除 obj 子目录 和 .user 文件,压缩为一个 123.zip 文件。综上 ,SharpZipLib 是一款成熟稳定、功能丰富的 .NET 压缩解压组件,使其成为红队渗透工具中常见的压缩引擎。
想要了解
完整或者更多的内网安全方向的文章,可以移步订阅小报童《.NET 内网实战攻防》电子报刊。

04

欢迎加入.NET 电子报刊

我们的小报童电子报刊【.NET内网安全攻防】也开始运营,引入小报童也是为了弥补知识星球对于轻量级阅读支持的不足,为用户读者提供更佳的阅读体验。
如果您对阅读体验的需求比较高,那么可以订阅这个专栏


次电子报刊《.NET 内网安全攻防》专栏,内容主要有.NET在各个内网渗透阶段与Windows系
统交互的方式和技巧,可细分为以下8个方向。

1) .NET 安全防御绕过
2) .NET 本地权限提升
3) .NET 内网信息收集
4) .NET 内网代理通道
5) .NET 内网横向移动
6) .NET 目标权限维持
7) .NET 数据传输外发
8) .NET 目标痕迹清理

原价899,现在限时
只需69元,永久买断

目前已有280+位朋友抢先预定,我们会长期更新,初步计划保持每周更新1-2篇新内容,对.NET内网安全的朋友们请尽快订阅该报刊!
图片

每增加五十人涨价10元,抓紧订阅,超值!
订阅后请关注公众号:
dotNet安全矩阵,发送订单截图和您的微信号,邀请您加入专属交流群。
感兴趣的朋友,可以点击链接:https://xiaobot.net/p/dotNetAttack,或者
扫描下方海报微信二维码加入即可

订阅后小报童定时会将最新内容通过微信推送给您。

图片