木马年年有,今年特别多啊,要过年了,这木马隐患还没解除,ASP.net 平台如何破?


场景:网站很大,文件非常多, 十几年前公司使用 cms 建的站,生产的静态html站,
随着业务的增加,新需求的推进,网站增加了很多很多功能, 里面代码凌乱不堪,大量的动态 aspx 程序 asp 程序 造成检查木马困难重重

长期以来通过各种方式防护服务器
最终做了下列的设置

1、服务器是只对外公开了 80 端口,其它需要的端口都在 防火墙规则中
2、服务器没有任何上传文件的权限
3、asp.net 运行账户是 应用程序池标识
4、站点只有执行和只读权限,没有写入权限
5、使用安全狗优化服务器的各个目录权限

如远程桌面访问,只运行公司IP
clipboard.png

应用程序池使用的 应用程序池标识账户
clipboard.png

站点应用程序池是没有写入权限的
clipboard.png

使用安全狗权限优化
clipboard.png

但是但是,虽然做好了上面这些的设置和优化

还是有入侵者,长期入侵我们的网站

他可以关闭我们的防火墙
可以关掉IIS 的日志
把 IIS 应用程序池设置为 localSystem 账户(有了它,它就有了一切)
可以启动服务,关闭服务
可以登录到 本机安装的 sqlserver 中启用sa 账户,然后通过 一句话木马和 sqlserver 可以执行 cmd
(迫不得已把 sqlserver 已经卸载)

经过长期的观察和分析,觉得入侵者的入侵的流程

1、入侵者扫描我们网站发现安全漏洞
2、通过网站安全漏洞他可以执行 cmd
3、然后他就可以做一切操作了

这里我就有一个大大的疑问,应用程序池我设置的 ApplicationPoolIdentity 账户

网站目录我只保留了 administrators 组 和 ApplicationPoolIdentity

而且 ApplicationPoolIdentity 是只读权限

为什么 入侵者还是可以执行 cmd ???

可以明确一点,网站有漏洞是很难免的 比如 sql 注入等

但是有什么办法可以让这些漏洞没有操作系统级别的权限

不要让他修改文件,修改注册表,执行 cmd ?

如果能做到这点,相信木马还是很好防护的

---------------------> 补充下

好吧,我禁用掉CMD 卸载掉本地的SQLServer,

运行 gpedit.msc,用户配置->管理模版->系统->阻止访问命令提示符

clipboard.png

把IIS .NET 信任级别调整为

clipboard.png

修改
C:\windows\Microsoft.Net\Framework\v2.0.xxxxx\CONFIG\web_hightrust.config
C:\windows\Microsoft.Net\Framework\v4.0.xxxxx\CONFIG\web_hightrust.config

C:\windows\Microsoft.Net\Framework64\v2.0.xxxxx\CONFIG\web_hightrust.config
C:\windows\Microsoft.Net\Framework64\v4.0.xxxxx\CONFIG\web_hightrust.config

里面有一句,注释掉了


 <SecurityClassName=”RegistryPermission” Description=”System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″/>

修改为:


 <!--
<SecurityClassName=”RegistryPermission” Description=”System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″/>
-->

修改 C:\inetpub\temp\appPools\ 下的权限,禁止 IIS_IUSRS 组的写入权限

clipboard.png

修改压缩文件夹默认保存位置,防治木马修改临时 gzip 文件

clipboard.png

安全 asp.net

我有丝袜我自嚎 10 years, 3 months ago

最简单有效的办法就是请专业的公司帮你们检测一下,然后修补漏洞。

因为网站一直有问题我也一直找不到原因,后面在上面留了一个QQ号码让他加我,然后付钱给他修补。

OHOUHOU answered 10 years, 3 months ago

Your Answer