大数跨境
0
0

.NET内网实战:解密自定义的 3DES 数据库字符串

.NET内网实战:解密自定义的 3DES 数据库字符串 dotNet安全矩阵
2025-08-13
0

01

阅读须知


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



02

基本介绍

本文内容部分节选自小报童《.NET 解密自定义的 3DES 数据库字符串》,完整的文章内容请加入小报童后订阅查看。现在限时只需69元,永久买断!目前已有300+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!

03

原理分析

在日常红队实战或渗透测试任务中,常常会接触到部署在 IIS 上的 .NET 应用程序。许多开发人员出于安全考虑,会使用 aspnet_regiis.exe 工具对 connectionStrings 节点进行加密,用于隐藏明文数据库连接信息。但在某些应用中或自定义安全需求下,也有使用自定义的 3DES 算法来加密数据库连接字符串的场景。

3.1 连接加密背景

为此,.NET 框架原生支持对 connectionStrings 节点进行加密保护,其核心实现机制便是通过配置加密提供程序 Configuration Provider 来实现的。其中最常见的一种加密实现方式,是通过 DataProtectionConfigurationProvider 或 RSAProtectedConfigurationProvider 进行加密。

  
<connectionStrings>
<add name="master" connectionString="5FDB4D61200E3178CD55688AD28818ABEB650E7118B3600EE547AC614E75B48E8C5EA5B9972271371469C3D544CA6797245AF3A3FCD947F4F3FB2EF1A6495CCA8BC03C2CB2112F0B7CFAAD7EB761BDBBE8344AE5FE70F70A54F3915F3F5BF1CAE5B2E4E3FDE2A9E8CDAB3AC755795F0881EAD1FF45231CBE"/>
</connectionStrings>

3.2 3DES加密算法

20 世纪 70 年代,美国国家标准局主导制定了一种对称加密标准——数据加密标准,其设计初衷是在政府与商业领域推广加密保护手段。DES 使用 56 位密钥和 64 位数据块加密,在上世纪八九十年代广泛用于商业金融、军事、通信系统中。

随着.NET平台的发展,微软在其加密框架中提供了一系列实现标准算法的类,其中 DESCryptoServiceProvider 是 System.Security.Cryptography 命名空间下专门用于实现 DES 算法的托管封装类,该类的定义和命名空间如下所示。

  
namespaceSystem.Security.Cryptography
{
publicsealedclassDESCryptoServiceProvider: DES
}

3.3 代码实战解析

要解密文章开头这段 <connectionStrings/> 中的密文内容,前提条件是需要知道算法的密钥,通常 .NET 算法密钥以硬编码的形式写在代码中,因此只需要反编译找到对应的加解密方法即可。

d8be855bf879c785ab43b70019ddc8fe.jpeg

通过反编译找到密钥 dotnet123,便可以成功解密,返回明文数据库连接字符串,如下图所示。

  
for(int x =0; x < pToDecrypt.Length /2; x++)
{
int i = Convert.ToInt32(pToDecrypt.Substring(*2,2),16);
        inputByteArray[x]=(byte)i;
}

pToDecrypt.Substring(x * 2, 2):每次从字符串中取2个字符,第一次:pToDecrypt.Substring(0, 2) → "5F".第二次:pToDecrypt.Substring(2, 2) → "DB",以此类推,Convert.ToInt32(..., 16) 将十六进制字符串(如 "5F", "DB")转换成 10 进制整数。

综上,3DES 是对早期 DES 加密算法的增强补丁版本,在一段时间内为我们提供了有效的数据保护。对于红队来说,能否脱离目标程序本身,在文件系统中直接还原明文连接字符串,意味着是否可以跳过应用逻辑直接进入数据库,完成横向或持久化控制的关键一步。想要了解完整或者更多的内网安全方向的文章,可以移步订阅小报童《.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元,永久买断目前已有300+位朋友抢先预定,我们会长期更新,初步计划保持每周更新1-2篇新内容,对.NET内网安全的朋友们请尽快订阅该报刊!图片

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


图片


【声明】内容源于网络
0
0
dotNet安全矩阵
感谢关注"dotNet安全矩阵",分享微软.NET安全技术知识的盛宴,这里不仅有C#安全漏洞,还有.NET反序列化漏洞研究,只要是.NET领域的安全技能均在话题范围内,风里雨里我在这里等你。
内容 414
粉丝 0
dotNet安全矩阵 感谢关注"dotNet安全矩阵",分享微软.NET安全技术知识的盛宴,这里不仅有C#安全漏洞,还有.NET反序列化漏洞研究,只要是.NET领域的安全技能均在话题范围内,风里雨里我在这里等你。
总阅读55
粉丝0
内容414