0×00 前言
0×01 Windows2003默认配置
0×02 Windows2003典型配置的权限
0×03 cmd运行的条件
 
0×00 前言
这一章主要讲解关于我们刚拿到webshell的默认权限,这一章主要集中一下,我们常常要入侵所拿下一个网站的权限后,得到的所谓webshell,他到底在windows下具有什么样的默认权限呢。
很多人虽然通过一些已知的漏洞拿下一个小的网站,比如上传一些木马,得到webshell,而且呢说自己也会挂木马,比如修改网站的首页,在上面加一个木马,让别人种远控,在那玩。
可他自己仍然搞不懂自己拿的这个webshell有什么作用,他能有什么样的权限,所以呢一些朋友问我的问题呢有点不知道咋回答- -。
比如一些很经典的问题,我拿了一个webshell怎么才能开远程桌面呢?是不是直接上传个远控然后执行cmd命令呢?为什么执行不了?要怎么样才能打开 远程桌面。- -我就借着一些朋友经常问的问题来大概说一下吧.(这一节课,估计写完后jsp和php的不用写了呃.- -暂时还是不说着,卖个关子。)
怎样解决这些问题呢,首先我们得了解webshell的权限,通过上俩章的学习,应该明白我们所有对于那个iis搭建的网站的访问,默认都是属于的 users组[默认情况下是这样的],用的是iis的那个IUSR_*匿名账号[哪个匿名帐号?可以说清楚一点,带上截图]来访问的。这也就是说,我们的 webshell的权限是跟他一样的,默认是users组或者guests组[这是不准确的,默认是属于users,降权的话就是guest](在降权的 情况下),这是一个基本的认识。然后,我们谈谈了解我们所具有的具体的那些权限,比如前俩章介绍的,关于磁盘的访问权限等等,在这一章也要介绍。
说白了就是这样把我们具体放到那个环境当中,假设我们是那个webshell,我们究竟有哪些权限。
这样的认识呢更具体,之前介绍的是,比较大范围的讲windows下面的这些用户,具有哪些权限,包括什么管理员账号,system账号,以及各种各样的管理组。实际上呢我们真正跟网络安全玩那个黑客木马,webshell,包括提升权限,真正要打交道的就是一个web服务器软件 默认用户访问的权限。
 
这章我们就站在一个webshell的角度来看待我们到底具有哪些权限,这一节章的主要内容呢,就是介绍配置,和典型配置的webshell权限,包括读、写、执行、还有一些扩展权限、运行cmd .
 
0×01 Windows2003默认配置
 
默认设置
 
首要区别! 默认在WINDOWS2003下是没有安装IIS的
 
在这里要说一下默认下windows2003安装完毕后默认是不会安装iis的,和windows2K不一样,2K在安装完后会自动安装一个iis5,这 样会带来一个安装隐患,有一个iis5的远程溢出提权的漏洞,还貌似有写入的权限[这个是要看webdav是否开启的吧?],只要知道一台web的服务器 安装了iis5,而且这台服务器在外网中,你就可以尝试使用iis5的远程溢出漏洞,来获取这台机子的权限.或者用iiswrite写入 webshell,然后对他进行提权.(写入要开启webdav)
 
·默认只安装静态HTTP服务器
  IIS 6.0的默认安装被设置为仅安装静态HTML页面显示所需的组件,而不允许动态内容,说的直白点,也就是只能解析htm、html等静态网页,而不能解析asp、asa等动态网页[这是加上的]。
  需要在iis管理器,点击web服务拓展,允许Active Server Pages,这样才能解析动态网页。[加上的]
  
  ·增强的文件访问控制 www.2cto.com
    匿名帐号不再具有web服务器根目录的写权限。另外,FTP用户也被相互隔离在他们自己的根目录中。这些限制有效的避免了用户向服务器文件系统的 其他部分上传一些有害程序。例如攻击者可以向/scripts目录上传一些有害的可执行代码,并远程执行这些代码,从而攻击web站点
  
  父目录被禁用
    IIS 6.0中默认禁用了对父目录的访问。这样可以避免攻击者跨越web站点的目录结构,访问服务器上的其他敏感文件,如SAM文件等。当然也请注意,由于父目 录默认被禁用,这可能导致一些从早期版本IIS上迁移过来的应用由于无法使用父目录而出错。[大多实际环境中都是启用了的]
  
  坚持最小特权原则
    IIS 6.0坚持一个基本安全原则–最小特权原则。也就是说,HTTP.sys中所有代码都是以Local System权限执行的,而所有的工作进程,都是以Network Service的权限执行的。Network Service是Windows 2003中新内置的一个被严格限制的账号。另外,IIS 6.0只允许管理员执行命令行工具,从而避免命令行工具的恶意使用。这些设计上的改变,都降低了通过潜在的漏洞攻击服务器的可能性。部分基础设计上的改 变、一些简单配置的更改(包括取消匿名用户向web服务器的根目录写入权限,和将FTP用户的访问隔离在他们各自的主目录中)都极大地提高了IIS 6.0的安全性。
 
  
0×02 Windows2003典型配置的权限
  
  
  1、磁盘权限
    系统盘及所有磁盘只给Administrators 组和SYSTEM 的完全控制权限
    系统盘\Documents and Settings 目录只给Administrators 组和SYSTEM 的完全控制权限
    系统盘\Documents and Settings\All Users 目录只给Administrators 组和SYSTEM 的完全控制权限
    系统盘\Inetpub 目录及下面所有目录、文件只给Administrators 组和SYSTEM 的完全控制权限
    系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe 文件只给Administrators 组和SYSTEM 的完全控制权限
  
  2.不使用默认的Web站点,如果使用也要将IIS目录与系统磁盘分开
  
  IIS默认创建的Inetpub目录会被删除[语句不通顺](在安装系统的盘上)
  
  3.每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份
  这什么意思呢,一个网站一个账号,在我们入侵虚拟主机的时候,有一个方法叫做旁注,相信大家一定知道,以前用旁注入侵虚拟主机的速度不是一般的快,只要在几十个网站当中入侵了其中一个网站,然后找到他所在的目录,就能跨过去,写入你的马,完成这次入侵。
但是在独立需要保护的个体,创建一个系统用户,这种情况下,一个账号对应一个网站,对应一个目录,这种情况下,你的旁注就让失效了[需要配置完每个账户的 权限之后才不能跨目录的]。或者说想当难以利用,为什么呢?因为你本身一个账号,比如说以A站的A账号,那么A账号只能在A站目录进行活动,你不能跑到B 站的目录,因为你没有这个权限。B站同样也一样,他有个B用户,他也不能跑到A站去活动。[这是需要单独配置的]
这时候,我们如果想通过旁注渗透进目标站点,就需要通过一些方法尝试能否提权[修改了],成功后,再对[才能对]目标站进行修改主页。
有些刚学提权的,或许在某次比较幸运的时候遇到一些不会设置目录的管理员,故而利用旁注,入侵了其他的站,当遇到会设置安全权限的管理员的时候,他入侵了B站,知道了A站的路径,但偏偏跳不过去,那是因为你没有这个权限。
  在典型的WEBSEHLL下,对于本站具有,读,写,修改,权限,目录下拥有相对的执行权限.
可以在指定的这个文件夹里,看他的文件,写入他的文件,也可以修改和删除它的文件,比如你可以执行一部分cmd的命令,比如一些嗅探工具的命令,这些都是相对的。[是否允许执行,是看具体配置的,默认是允许的](一般在web目录下是不允许执行pe文件的说)
 
0×03 cmd运行的条件
 
在iis的用户下,iis用户asp木马执行一些cmd命令时候需要wscript(wscript.shell/shell.application) 的支持.
 
而aspx的木马比如aspxspy是调用[是.net,不是aspx].net的组件,网上有网友提供了防止aspx运行cmd的方法就是禁止过程名字为w3wp.exe的运行任何外部exe文件。(- -不知道哪位大神可以绕过这个然后用cmd来执行命令呢?)
嗯,大概就这样说一下吧。说太多我后面会纠结的。
如果本文上述,有错别字或者其他一些语句不通/解释不对.请速与我联系,- -好让本宅好生学习一下.
 
感谢杨凡,感谢Spy4man,感谢Jan简若名基友0.0对我的解答..

Author:小乖&Mix0xrn
From:http://www.dis9.com

posted on 2015-03-15 17:02  milantgh  阅读(696)  评论(0编辑  收藏  举报