发新话题
打印

[讨论]在无法限制上传ASP文件情况下做无遗漏的WEBSHELL检测

[讨论]在无法限制上传ASP文件情况下做无遗漏的WEBSHELL检测

议题提交:代码罐头
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

我有一个新方法.
在网站的总目录前面这样设置权限
administartors 全部
system 全部
everyone 读,写
另外加一个
CREATE OWNER.读权限
这样所有由IIS创建的文件.
ACL里面都会继承上一个用户.此用户由CREATE OWNER继承下来
实际用户名为实际创建此文件的用户
如通过IIS,web上传的文件,ACL里面就会继承:IUSER 读
而由SERV-U等等增加的文件.则是SYSTEM,
这样我们就可以区分ASP文件或者PHP文件
是由IIS还是由SERV-U等其他系统进程产生的.
当然由IIS产生的ASP或者PHP等脚本文件一定是非常可疑的.
我们再编写一个程序.至于HOOK OPEN FILE还是做循环搜索.自己定了
只要是ASP文件的ACL列表里面包括IUSER用户权限的.
这个文件就是可疑文件.可以直接删除.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

基于创建者的检测想法不错呀...
我记得好象可以从某种方式取文件创建者的信息(只是零星的记忆)
权限上的问题,只要给一个最小权限和读的权限就够了....
PS:另一个想法,并不需要完全取消脚本的权限,如果检测到创建者异常,就设置IIS.脚本就可以实现,取消这个文件的映射..(由此又出现一个问题:某些类似PHP程序的install.php怎么办?)
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

如果我利用ftp上传木马你就没办法检测啦。或者通过iis把木马写入到原有文件,acl应该不会变。

TOP

FTP传木马只能说实际上和管理员上传文件没区别.基于特征码的技术碰到开源的程序也没办法检测.
前提是需要从某种方式获得FTP.权限设置的好,再不给执行权限的话,是可以做到的无法得到FTP密码的.(Sniif on users的技术很早就出现了)
但是如果是别的渠道得到FTP的话,那不是主机的事情
另:把木马写到某文件中,前提需要Shell..但是OP的做法,已经很好的控制了这一点了
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

ASP文件是只要读权限就可以运行的.
所以一定要删掉.嘿嘿...
对于install的那种程序
其实并不会生成PHP文件.只是配置了CONFIG.INC或者CONFIG.PHP
或者先手工创建一个空配置文件.
然后再运行安装程序.
这样比每个客户都设置上传目录总是来得轻松一点.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

写入一定要用shell?编辑文件内容再加入不行?人家是“everyone 读,写”呀:)

TOP

对呢...这样的问题更复杂化了.如果说不给写的权限,那么似乎有的论坛的功能根本无法利用.
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

问题是你怎么编辑原有ASP文件内容呢?
我想正常的程序里面不会提供一个功能让你去修改其他文件的.
虽然是everyone 读,写
但是你也要有程序来实现这个写.
这个程序从原有程序里面肯定不会提供.
那就是上传个自己的asp或者php程序
而只要上传了.就是IUSER创建的.直接干掉.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

好的,我如果对数据库注入一个shell,干掉吧!哈哈

TOP

不但可以破坏数据库,而且可以删除页面呢。比如《从后台到webshell的一点思路》原理所说:P

TOP

另外,通过web上传文件是很正常的功能呀,不可能不用。

TOP

从数据库生成一个SHELL.最后还是一个IUSER的ASP文件啊.
如果是把shell的代码放入数据库
那么拼接数据库内容并且显示出来的代码放在哪里呢?
你不可能通过一个SQL注入在修改我的ASP文件吧.
还有破坏数据库并非现在这个主题的讨论范围.
删除也同样不是.你要删我也没办法.我这里只是阻止你上传可用的WEBSHELL.

对于通过web上传文件.你是可以利用啊.
但是你上传了的文件是继承了CREATE OWNER的.
我不怕你上传.而是在于上传以后我能够判定你是恶意代码还是正常的图片.
因为我通过2个来判断
1.继承的来的ACL表内的用户.
2.文件的后缀名.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

数据库可以放在WEB目录外~,或用MDB+防下载措施!
通往胜利的路不只一条!

TOP

楼上提到的文章用了个特例.
就是使用PHP+MYSQL
并且利用MYSQL的OUTFILE功能身成文件.
对于这种情况.
可能我们需要给MYSQL另外配置用户.让MYSQL以这个用户的权限运行.
或者取消OUTFILE.

当然我的方法是没法判断出一个由SYSTEM程序创建的ASP程序是否属于恶意程序的.
我们只能尽量控制开放的已知SYSTEM权限的服务
所创建的文件都是合法的.不应该创建文件的一律把相关功能去掉.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

嗯,嗯,我感觉罐头的职业一定是个BT的网管……
呵呵,或许有些站长会喜欢用ASP木马管理网站(比如偶),真像罐头那样子,呵呵,又有人要郁闷了……
http://blog.csdn.net/lake2 此帐号由于使用弱口令被管理人员和谐,请以联系QQ310926。

TOP

ASP:
假如真的在数据库里插入了小马之后,那么就可以利用临时上传内存型木马实现修改别的ASP文件
比如我在某论坛上传一个GIF文件其实内容是大马,然后利用数据库里的小马修改别的ASP文件,使包含这个GIF文件,并且在据有特定COOKIES的情况下才包含(不让别人发现的方法有很多,这个可能已经比较烦琐了),那么现在这个GIF马能顺利躲过了,因为那个包含这个GIF马的ASP文件的权限未变。我说的都是废话诶,数据库插入马之后,本来就是一个直接利用的功能强大的后门了,就是速度慢而已。

PHP:
大家创建mysql用户的时候是不是用 GRANT ALL on database.* to user@localhost identified by 'pass';
除了root外,别的用户应该默认都没有FILE权限吧

TOP

>>上传内存型木马
没听说过.还能直接在内存里面创建ASP代码...神奇...
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

可能我用词不当
POST一些asp代码到数据库页面,里面的小马负责储存成一个Session变量并且执行这些代码,应该是在内存里吧
小马可以是海洋2006,砍客的那个,等...
可能我理解偏差,大家指正

TOP

问题是如何执行这些代码.
存储在数据库内的木马代码.需要一个执行体在外面调用并且执行.
连入侵者都敢说自己在做网络安全。关键大家是真正为安全作过什么?

TOP

的确是这样
之前我还以为是.asp的
就想直接调用
因为看到有人说插入SHELL,思维一下子变成ACCESS&ASP后缀了

TOP

其实说到写权限
整个站点访问用户用到写权限的无非就是数据库文件和文件上传目录
除了这两处地方都可以只给个只读权限
本来要取逍遥一指令的

TOP

system给全部我觉得不大合理.
利用mssql注入点.就可以在任意站点的目录下写一个shell了..再因为everyone读写,编辑得到一个干净的shell

TOP

发新话题