邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: ★Winwebmail安全详细的设置,避免ASP/ASP.NET跨站攻击危险。★ [打印本页]

作者: Freemikej    时间: 2008-6-5 17:25
标题: ★Winwebmail安全详细的设置,避免ASP/ASP.NET跨站攻击危险。★
漏洞描述:

IIS启动进程池的默认用户为network service(网络服务)
ASP.NET2.0启动的用户也是network service

对于直接按照winwebmail官方网站那样设置直接给user组权限的,就更不用说了。asp,php都可以完成攻击了。

也就是说,对于没有更改winwebmail进程池启动用户为另一个单独用户的服务器上如果存在asp.net 2.0的问题站点,就可以通过ASP.NET 2.0的程序实现跨站攻击到WINWEBMAIL邮局。

攻击思路:

1,寻找服务器上asp.net 漏洞站点,上传asp.net木马
2,浏览c:\windows目录下的WEMINSTALL.LOG,获得winwebmail安装路径。
3,因为.net 2.0和winwebmail都是用network serivce启动。所以可以直接用木马访问webmail邮局目录。从而访问,修改,popuser.ini.domain.ini,mail,web目录。

防止跨站攻击WINWEBMAIL安全设置详细讲解:

以前安装WINWEBMAIL,通常大家都是参照官方的说明,给Winwebmail目录users组甚至是Everyone可写权限。这样设置基本就能满足winwebmail的运行了。但是对于一些服务器上同时存在有其他asp或者asp.net站点,比如做虚拟主机的服务商。这样设置很容易在另外一些站点被黑后,受到跨站攻击的牵连。

好一点的就将Winwebmail的安装目录改的很复杂来躲避黑客的跨站攻击。

就这一点来讲,我觉得WINWEBMAIL官方对于目录权限的设置其实说的太过简单,有点不负责任的感觉。

下午我仔细分析了WINWEBMAIL的目录安全设置。即使按照一些特殊处理过能够防止ASP跨站攻击的设置,其实依然很容易被人ASP.NET跨站攻击 。实际上经过测试,我没有花太多工夫就跑进了一位协助测试的同志服务器的Winwebmail目录。并且可以随意修改里面的东西了。


下面讲下具体操作流程,

1、安装完WINWEBMAIL,基本的东西不详细说了。以下图片中有一个HOSTGROUP组的权限,如果你的服务器上没有这个组可以忽略。

2、新建立一个USER,属于GUESTS组,如:mail_vistor。(*注:如果使用iis自带的IUSR_XXX来宾用户,图片中用的是默认用户。那么这一步可以省略)。

3、新建立一个USER,属于IIS_WPG组,如:mail_user。

4、打开IIS,新建立一个进程池,命名, 如:mail_process。启动权限用户设置为:mail_user

[attach]5457[/attach]

5、打开IIS,新建立一个站点,指定主文档目录为WINWEBMAIL目录下WEB目录。并指定进程池为mail_process.
在目录安全性,里编辑匿名访问用户为:mail_vistor(或者默认为IUSR_XXX,二个用户选一即可,图片中用的是默认IIS用户)。

[attach]5458[/attach]

6、给安装WINWEBMAIL的盘符根目录比如:E盘,管理员和mail_vistor(或IUSR_XXX)只读权限。

7、给WINWEBMAIL目录IIS_WPG组、mail_vistor以及管理员三者可读写权限。

     添加network service和aspnet
两个用户,权限设置为拒绝访问。


     
添加运行其他运行ASP网站的用户组为拒绝权限,我这里其他所有ASP网站都是在hostgroup用户组里的用户的权限来分别验证的的,我直接将整个组添加权限为:拒绝访问。(通其他ASP的防止跨站的权限设计,我就简单带过。)


winwebmail目录下各用户的权限为:
[attach]5459[/attach]
[attach]5460[/attach]
[attach]5461[/attach]
[attach]5462[/attach]
[attach]5463[/attach]
winwebmail下的web目录权限最终是:

[attach]5464[/attach]

8、重新启动IIS及WINWEBMAIL服务,即可。



这样操作后已经大体封锁了来自除了邮件WEB程序以外的其他asp,asp.net的程序攻击了。目前我测试各方面正常。具体防止WEB目录程序攻击WINWEBMAIL的详细设置,就各人喜欢再继续深入设置,我就不具体讲了。



结束:如果你不是很了解权限的设置,你还可以简单的这样操作,将WINWEBMAIL安装到一个不容易猜解的目录里,比如:E:\XX73C3DA
这种名字的目录。然后备份c:\windows目录下WEMINSTALL.LOG这个文件并删除。(备份的作用,我是怕以后升级winwebmail需要使用这个log文件。具体是否需要没有测试过。我就是通过这个文件找出了测试服务器的具体安装位置的。),但为了避免其他地方可能还暴露出安装位置,建议你还是按照我的教程进行设置一下吧。


如果有什么问题或者设置不足之处欢迎回帖交流或加QQ群(11241732)反馈。

[ 本帖最后由 Freemikej 于 2009-10-18 17:01 编辑 ]
作者: sphil    时间: 2008-6-5 17:30
我的沙发
作者: ascender    时间: 2008-6-5 17:31
抢个板凳啊!顶起!
作者: 55aa    时间: 2008-6-5 17:32
看看了啊~!谢谢锤子~!
作者: sphil    时间: 2008-6-5 18:05
特地再来感谢锤子兄  刚才抢沙发 字不敢打多 怕抢不到 呵呵 :lol
作者: mingfeng13    时间: 2008-6-5 18:18
路过看看kkkkkkkkkkkkkkk
作者: yyychn    时间: 2008-6-5 20:01
好东东,顶一个。不过为什么要设成必须回复呢?
作者: 53784    时间: 2008-6-7 14:57
其实设置成独立用户运行WINWEBMAIL就可以了   

国内有那么高深的技术的所谓的“黑客”没发现几个
作者: Freemikej    时间: 2008-6-7 15:39
看你给winwebmail目录什么权限。如果你给了users组写入权限,你就按照你的想法开个独立用户,然后给我一个asp.net的临时空间,我可以帮你测试下是否安全。呵呵。
作者: dingaa    时间: 2008-7-14 15:29
弄了半天,也没有弄太明白,还是谢谢了,有时间再好好的看吧。
作者: dingaa    时间: 2008-7-14 15:34
弄了半天,也没有弄太明白,还是谢谢了,有时间再好好的看吧。
作者: ceboy    时间: 2008-7-16 09:43
呵呵,我前面也写过,思路跟楼主的差不多.
作者: dxlx    时间: 2008-7-18 01:39
标题: 回复 1楼 Freemikej 的帖子
楼主说的还是有点复杂啊,我们这些菜鸟根本看不明白,能不能再详细解释一下,可操作性强一点,嘿嘿,谢谢了。
作者: tdk    时间: 2008-7-18 11:07
这样的帖子一定要顶! 可是我怎么不能给你评分呢??
难道评分不是没人跟可以的吗?
作者: xlas    时间: 2008-7-27 09:06
学习了.实际上就是说为mailserver  分配一个只读的访问用户mail_vistor.
封了aspnet.等的用户.
是否是这个意思.

[ 本帖最后由 xlas 于 2008-7-27 09:07 编辑 ]
作者: sysgmaj    时间: 2008-7-29 14:34
其实没有想像的那么复杂
作者: 漠兄    时间: 2008-8-20 17:24
关于楼主的设置,个人整理了一下,稍微有点不一样

1、新建立一个USER,属于GUESTS组,如:mail_vistor。

2、新建立一个USER,属于IIS_WPG组,如:mail_user。

3、打开IIS,新建立一个进程池,命名, 如:mail_process。启动权限用户设置为:mail_user

4、打开IIS,新建立一个站点,指定主文档目录为WINWEBMAIL目录下WEB目录。并指定进程池为mail_process.
在目录安全性,里编辑匿名访问用户为:mail_vistor(或者默认为IUSR_XXX,二个用户选一即可,图片中用的是默认IIS用户)。

5、给安装WINWEBMAIL的盘符根目录比如:E盘,管理员和mail_vistor只读权限。

6、给WINWEBMAIL目录mail_usermail_vistor以及管理员三者可读写权限。

7、添加network service和aspnet 两个用户,权限设置为拒绝访问。

添加运行其他运行ASP网站的用户组为拒绝权限,我这里其他所有ASP网站都是在hostgroup用户组里的用户的权限来分别验证的的,我直接将整个组添加权限为:拒绝访问。(通其他ASP的防止跨站的权限设计,我就简单带过。)


8、web目录事实上已经集成了上级目录winwebmail的权限,不需要特别设置了,不过除了web目录其他目录和文件也拥有读写权限,是否安全,我也不得而知,希望高手指教,
作者: dtfjg88    时间: 2008-9-8 23:20
其实设置成独立用户运行WINWEBMAIL就可以了   

国内有那么高深的技术的所谓的“黑客”没发现几个
作者: 81049644    时间: 2008-9-12 16:11
ffffffffffffffffffffffffffffffffffffffffffffffffffff
作者: 泥巴鱼    时间: 2008-9-27 12:14
通过windows目录下的log文件找到安装目录,那应该是c盘的安全设置不正确吧。否则SHELL是查看不了的哦!
而且可以成功跨目录操作的话,只能证明虚拟主机的权限设置就不正确。否则只能操作被传后门的网站自身目录,而不能跨目录!

[ 本帖最后由 泥巴鱼 于 2008-9-27 12:15 编辑 ]
作者: Freemikej    时间: 2008-9-27 20:38
windows目录难道你浏览权限不给?
作者: 泥巴鱼    时间: 2008-9-28 12:11
可以两个方式做!
1、只有administrators组用户可访问
2、绝对安全的方法,只有admin账号能访问,除了这个账号,其它的哪怕是administrators组其它用户都不能访问!

相关权限只需要应用至C盘符以及软件安装的program files目录即可!记得附上system权限!不然无法安装软件!
作者: schmosun    时间: 2008-10-1 23:15
学习过程中,以后请大家多多帮助
作者: e66478    时间: 2008-10-8 20:48
顶一下18楼大兄弟!
作者: e66478    时间: 2008-10-9 17:36
这样设置权限WEB登入不了,为了做到这个我弄了很久啊
作者: zxcking    时间: 2009-10-16 14:02
SYSTEM组给啥权限?完全?
作者: zhangjinwei    时间: 2009-10-18 14:06
根目录不加user的读取和运行权限根本就不行,无法登陆
作者: Freemikej    时间: 2009-10-18 16:45
根目录不用给USER组读取权限,运行权限?就更加不必要了。当然给了也不是不可以,如果给了,那就是所有USER组的用户都可以来访问和执行你的根目录下的东西或者程序了。

对于根目录比较安全的权限是只要给三个用户如下权限:
一个是管理员-完全控制权
二个是用来访问winwebmail邮局这个站点的用户-只读权
三个是用来启动winwebmail邮局这个站点的进程池用户-只读权

其实对于一个服务器上没有其他站点只有一个邮局站点,并且没有其他服务了,这样设置没有太大必要。因为本身winwebmail本身站点是否有漏洞没人去深究。只要服务器不被攻陷,站点就相对安全了。
以上设置主要考虑到服务器上存在多个站点,多种服务,尤其存在asp.net站点的时候,考虑到从其他站点尤其是asp.net站点可以跨站攻击到邮局。我曾经帮助过很多天下服务器QQ群里的ISP服务器商们看过他们的服务器设置,大部分都是存在这个设置缺陷的。是完全可以导致所有邮局信息外泄的。

实际上本人就是在用ASP.NET攻击一个服务器商,帮朋友公司从一个ISP服务器上导出了他邮局的所有的用户名和密码以及所有的邮件文件以后才写下这篇设置供大家参考的。

[ 本帖最后由 Freemikej 于 2009-10-18 16:50 编辑 ]
作者: lowpower    时间: 2011-2-2 11:09
感谢提供,对虚拟主机用户有用
作者: 大大连    时间: 2011-3-10 00:08
支持,需要技术支持,感谢分享哈~
作者: peiseqi2006    时间: 2011-3-22 23:09
阅读了,谢谢了~
作者: swver    时间: 2011-6-8 12:48
好帖呀,谢谢版主




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://bbs.5dmail.net/) Powered by Discuz! X3.2