首页 > 安全资讯 >

基于.net环境下的安全分析报告

11-02-28

  这个问题是我近年渗透中常遇到的 asp与.net共存是常有的,毕竟安装一个Framework对于一般的虚拟主机商来说是个简单的事 当然其中涉及到的安全问题却很容易被人忽视 asp.net在默认情况下是以辅助进程中运行web代码的,此进程的标

 

这个问题是我近年渗透中常遇到的

asp与.net共存是常有的,毕竟安装一个Framework对于一般的虚拟主机商来说是个简单的事

当然其中涉及到的安全问题却很容易被人忽视

asp.net在默认情况下是以辅助进程中运行web代码的,此进程的标识名为aspnet(aspnet_wp账号)的用户组账号即users

当然,在很多时候,由于对脚本的不深刻认识以及对代码的权限应用不合理,比如一个上传模块,一个调用写入模块等等,都会由于配置不当而方便操作时,将会在asp.net的安装目录下配置.net以system标识权限运行,甚至于在早期的版本中aspnet就是继承system权限

不过在如今的网络中已经很难遇到了:)

好吧,我们先看看这个asp.net赋予的network下的标识账户aspnet有哪些权限,在aspnet创建的同时,他便继承了用户组关联的所有权限,并且可以访问用户组对其具有访问权限的所有资源,看下Microsoft的介绍:

ASPNET 帐户从用户组继承了以下用户权限:
SeChangeNotifyPrivilege
SeUndockPrivilege
SeInteractiveLogonRight
SeNetworkLogonRight

除这些权限之外,默认情况下,还授予 ASPNET 帐户以下权限:
SeServiceLogonRight
SeBatchLogonRight
SeDenyInteractiveLogonRight

ASP.NET 向 ASPNET 帐户授予对以下文件夹的特定的完全访问权限:
临时 ASP.NET 文件
%windir% emp

另外,ASP.NET 将授予对 Microsoft .NET Framework 安装目录的读取权限。

至于后面的权限机制我想有兴趣人可以自己去钻研以下:)

到此为止,我们可以试想一下,在一个虚拟平台中,管理员一般会对IIS_user组进行合理的权限分配,而让各用户直接的web平衡的运行而不互相干扰,可是绝大部分人忽略了一些对于aspx有需求的客户,有搭建过aspx站点的朋友应该很了解,aspx必须以NetworkService默认继承权限运行的,因为web.config之类的配置文档就是要求aspnet标识账号,而这就是我们针对虚拟主机渗透的主要目标了

对于NetworkService用户组,很多管理员并没有过多的,甚至根本就没有设置权限,除了域控制器,我甚至没发现网络上有过多的针对.net环境的安全配置~

当然,我们可以完全不考虑EveryOne的存在,因为在web目录中,特别是虚拟主机中是不可能会用EveryOne来限制的(当然,也有些Bt管理员会这么设置)

Ok,基于以上所述,测试如下:

既然Microsoft.netFrameWork服务可以对%WIndir% emp有所有的读写权限,我们可以丢个运行程序上去,如Cmd.exe

试试Dir d:wwwrot 吧 你会发现 尽管我们在aspx的木马下无法访问的目录,此时却可以随意的Read&&Write了:)

这个问题发布后,希望大多数管理员能及时修补,针对.net下的权限分布制定一个安全的防御措施

BY:阿呆
 

 

相关文章
最新文章
热点推荐