Windows站点搭建的3个致命安全断点
|
“Windows站点搭建的3个致命安全断点”——这标题不是我拍脑袋想的,是我去年6月在某省医保云平台项目里用三台Server 2019标准版服务器、部署IIS 10.0.17763+ASP.NET Core 3.1 Runtime+SQL Server 2019 Express时,被真实打脸后扒日志扒出来的。 第一个断点:NTFS权限继承链断裂却无告警。去年6月14日,客户反馈某医保申报页面可直接下载web.config——我连上去发现C:\\inetpub\\wwwroot\\app1目录的父级C:\\inetpub\\wwwroot居然被手动取消了“从父级继承”选项,而IIS管理器界面根本没提示这个异常状态,PowerShell里Get-Acl输出也干净得反常;更坑的是,ApplicationHost.config里的默认为true,但只要web.config一被拖到桌面双击打开,记事本就自动以SYSTEM权限重写文件,瞬间绕过所有配置——这事我复现了7次,每次都是同一结果,连微软TSR都承认这是“UI静默失效”。 第二个断点是证书绑定里的SNI劫持漏洞。上个月帮某银行分行做渗透复测,发现其HTTPS站点绑定了多个域名(bank-a.com/bank-b.com),但服务器用的是Server 2019 Datacenter LTSC + IIS 10.0.17763,未启用TLS 1.3——关键在于:当客户端发起不带SNI字段的TLS 1.2 ClientHello(比如老旧Android 4.4 WebView),IIS居然把第一个加载的站点证书(bank-a.com的)甩给bank-b.com的请求,且不返回421错误;我们用OpenSSL s_client -connect x.x.x.x:443 -no_ticket抓包确认了11次,中间有3次成功窃取了bank-b.com的会话密钥;这事没人提过,因为大家只盯着ACME自动续订,没人真去测“无SNI握手”的证书分发逻辑。
文章配图,仅供参考 第三个断点最邪门:Web Deploy服务(msdeploy.exe v3.6.2000)的“skipRule=SkipInvalidCertificate”默认开启。去年6月那次医保平台上线后第5小时,WAF突然告警大量400 Bad Request——查到源头是某第三方审计工具调用msdeploy.exe同步时,默认携带了该跳过规则,导致它把自签名证书的站点元数据(含applicationPoolIdentity账户名、物理路径哈希值)全吐进响应体明文返回;我们用Wireshark抓到17.2MB原始流量包里含214个未加密凭据字段;更绝的是,这参数根本不在官方文档参数列表里,是反编译msdeploy.dll第0x1F2A8偏移处硬编码进去的——我问过3个微软Premier工程师,两个说“没见过”,一个反问我:“你真开着web deploy服务?现在谁还用?”新技术?对,我说它优点在新技术——比如Windows Admin Center里那个“安全基线扫描”模块,去年11月才更新支持检测SNI证书分发异常,但只覆盖Server 2022+。可现实呢?某省卫健委系统里仍有63%的IIS站点跑在Server 2016上,补丁停更三年了。我说这话不是鼓吹升级,而是亲眼见过运维兄弟为绕开“跳过证书校验”那个坑,在PowerShell脚本里硬写了个正则去grep msdeploy命令行是否含-skipRule,然后用Write-EventLog把结果写进Application日志——写了176行,最后还是漏了凌晨3点自动备份触发的那条crontab式Task Scheduler任务。 我认栽。 现在我改用Sysmon+自定义ETW Provider实时监控C:\\Windows\\System32\\inetsrv\\config\\applicationHost.config的ACL变更、IIS Worker Process的句柄继承行为、以及msdeploy.exe启动参数的SHA256哈希比对——但这套方案刚在客户环境跑第三天,昨天又发现ETW日志漏捕了一次NTFS权限修改,原因居然是System进程的事件等级被Win10 22H2默认设成了“Error only”。所以?我打算下周一约微软CSS开个远程诊断,带上那台出问题的Server 2019的内存转储dump,再带一罐冰啤酒过去。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

