asp木马之攻与防

前言

现在的系统管理员越来越强悍了,他们研究攻击者的心理,就如同攻击者研究管理员的心理一样。

 

0x01

通常情况下,攻击者或者渗透测试人员需要检测某网络的安全性,主要从目标对外所开放的服务下手,主要是:web服务器,数据库服务器,FTP服务器以及mail服务器。而当目标网络配备有各种提高安全性的硬件设施时,比如普通硬件防火墙、抗DDOS防火墙、web应用防火墙,或者IDS、IPS,再或者内容安全管理系统、网络流量分析系统等,攻击者就无法直接用EXP进行远程溢出获得shell。很可能,连普通的SQL注入等操作都会被阻拦,这时,攻击者只能采用各种办法,例如变形、加密等手段绕过它们的过滤,从而实施打击。

进一步说来,攻击者的渗透点被缩小到了web应用层面,也即web hacking。

 

0x02

本文不会深入的去讲解和探讨web hacking的细节,感兴趣的朋友可以参考《web hacking: attack and defend》这本英文书,以及http://www.net-square.com网站上的文章《one-way web hacking》,这篇paper的中文版网上也有下载,是由我翻译的。

当攻击者通过他所获得的信息,成功地利用所发现的漏洞后,会必然在目标服务器上放置后门。而多数情况下他都是由web层面打进去的,所以这个后门就叫webshell。

 

0x03

国内最早开始公开的asp编写的webshell主要有海阳顶端网asp木马、桂林老兵站长助手、十三webshell等,当然,其中也分俗称的大马和小马,以及一句话木马。

大马,顾名思义,具备强大的web管理功能,主要通过FSO文件读写组件、ADO stream文件流等方式对文件进行操作,同时利用Wscript.shell或shell.application组件调用cmd.exe执行命令行指令,另外还能够对数据库进行连接和操控。后面网上又流传一些网友修改版或增强版,加入了批量挂马、asp木马扫描、服务器信息和环境变量探测等功能,真是强大的综合体。

小马,功能简单,只有文件上传或者向服务器写入文件等功能,但体积小巧且不容易被查杀。

隐蔽性和攻击力最强大的莫过于一句话木马了,当攻击者在目标服务器上有执行asp文件权限的任一目录中的asp文件中写入类似“<%excute request(value)%>”的语句后,再在本机使用一句话木马的客户端进行连接,提交大马中可以完成的所有功能数据,即可达到大马的水平。

 

0x04

倘若目标服务器上的杀毒软件能够查杀攻击者所上传或写入的webshell时,就需要攻击者对webshell进行免杀处理以躲过查杀。通常,比较基础的免杀方法有以下几种:

1.改代码关键函数的大小写,大小写交叉;
2.对于易被杀毒软件查杀的fso读写代码,反写代码成字符串,然后用函数读并eval;
3.在代码字符串中夹杂陌生的字符或者汉字,然后用replace函数替换掉;
3.半拆连接,例如fso写成"f"&vbs&"s"&vbs&"o";
4.vb.encode等加密.

免杀的目的,无非是对抗杀毒软件。我先暂时不说这几种方法的优劣和功效。

 

0x05

不知网上最早是从哪里开始流传出加入了扫描asp木马功能的webshell,个人推测源自lake2的雷客图ASP安全助手。这个功能怎么去描述它呢,对攻击者而言,是为了清理同道中人在目标服务器上留下的后门,以便独享,而对管理员或者站长来说呢却更有用,稍微有点安全意识的管理员都知道配置完自己的IIS后去下一个webshell来测试一下配置的安全性,进而改进再测试,这样不断重复。至于老管理员则用处更大,没事就拿来扫描一下自己服务器上是否已有存在的webshell。发现则毫不留情的删除之。

经过我的分析,asp木马扫描功能这个模块主要就是通过特征码和危险组件的检测来判别目标文件是否为asp木马:

针对一句话:危险函数有eval()和excute()

针对小马和大马:creatobject(),FSO组件,调用Wscript.shell或Shell.application组件,还有runat = server等等的。

针对加密:Script.Encode()等加密,解密函数。

 

0x06

前面说了,对webshell所做的免杀完全是针对杀毒软件,但是当它本身又带有asp木马查找功能后,则又多了一个对手。而且这个对手格外的强大,因为它是由asp木马的编写者所写,可以说完全没有弱点。无论怎么变形,加密,都没有办法躲过asp木马查找功能的查找。

 

结语

为了使自己可爱的webshell能够延长它的存活期,最理想的办法就是一句话。不过随着ASP的消逝,针对ASP本身和其相关安全性的探讨会越来越少。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值