WEBSHELL寄生虫的排名原理和作用分析
很多刚接触黑帽SEO的朋友会问到什么是寄生虫排名技术,寄生虫主要用来做什么的,有什么作用啊之类的问题。寄生虫排名技术的发展也是有一定的历史的,从最初的使用到后来黑帽SEO优化技术中的普及,再到目前的百度快速排名甚至百度霸屏的案例中,都存在寄生虫技术的身影。
也就是说,在真正操作黑帽SEO优化中,寄生虫排名这种技术也是大家接触的最为频繁的一个工具甚至说是一门技术手法。
下面来给大家详细讲一下黑帽SEO技术中关于webshell与寄生虫排名技术的一些知识点。
什么是WebShell?
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
利用Webshell可以在Web服务器上执行系统命令、窃取数据、植入病毒、Le索核心数据、SEO挂马等恶意操作,危害极大。
WebShell的特点
黑客使用Webshell的第一步通常是将其上传到可以访问的服务器中,例如利用用户CMS系统的第三方插件中的漏洞上传一个简单的php Webshell。当然,Webshell类型和作用也不完全相同,一些简单的Webshell只起到连接外界的作用,允许黑客插入更加精准的恶意脚本,执行他们所需要的指令;另外一些则可能更加复杂,带有数据库或文件浏览器,让黑客能够从数千英里之外的地方查看入侵系统的代码和数据。无论何种设计,Webshell都极其危险,是网络罪犯和高级持续威胁(APTs)的常用工具。Webshell常见的攻击特点主要有以下几点:
持久化远程访问
Webshell脚本通常会包含后门,黑客上传Webshell之后,就可以充分利用Webshell的后门实现远程访问并控制服务器,从而达到长期控制网站服务器的目的。此外,在上传完Webshell之后,黑客会选择自己修复漏洞,以确保没有其他人会利用该漏洞。通过这种方式,黑客就可以一种低调的姿态,避免与管理员进行任何交互,同时仍然获得相同的结果。
提权
在服务器没有配置错误的情况下,Webshell将在web服务器的用户权限下运行,而用户权限是有限的。通过Webshell,黑客可以利用系统上的本地漏洞来实现权限提升,从而获得Root权限,这样黑客基本上可以在系统上做任何事情,包括安装软件、更改权限、添加和删除用户、窃取密码、阅读电子邮件等等。
隐蔽性极强
Webshell可以嵌套在正常网页中运行,且不容易被查杀。它还可以穿越服务器防火墙,由于与被控制的服务器或远程主机交互的数据都是通过80端口传递,因此不会被防火墙拦截,在没有记录流量的情况下,Webshell使用post包发送,也不会被记录在系统日志中,只会在Web日志中记录一些数据提交的记录。
WebShell的分类
Webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,JSP脚本木马,也有基于.NET的脚本木马。根据时代和技术的变迁,也有用python和lua编写的脚本木马,常用有如下几种:
大马
•体积大,功能全•会调用系统关键函数•以代码加密进行隐藏
小马
•体积小,功能少•一般只有一个上传功能,用于上传大马
一句话木马
•代码短•使用场景大,可单独生成文件,可插入文件•安全性高,隐藏性强,可变形免杀•框架不变,数据执行,数据传递
打包马
•主要用于打包网站源码
拖库马
•主要用于导出网站数据库
内存马
•无文件落地•极难检测和发现•难以清除
注:之后所讲的WebShell就是指一句话木马
WebShell的原理
Webshell的恶意性表现在它的实现功能上,是一段带有恶意目的的正常脚本代码。
不同脚本类型的一句话木马:
<%eval request(“cmd”)%>
<%@ Page Language=”Jscript”%><%eval(Request.Item[“cmd”],”unsafe”);%>
<?php @eval($_POST[‘cmd’]); ?>
<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
这里仅对PHP的一句话木马进行分析,核心步骤如下:
数据的传递
•$_GET、$_POST、$_COOKIES、$_REQUEST、$_FILE、$_SERVER•从远程远程URL中获取数据: file_get_contents、curl、svn_checkout...(将需要执行的指令数据放在远程URL中,通过URL_INCLUDE来读取)•从本地磁盘文件中获取数据: file、file_get_contents...(将需要执行的指令数据放在本地磁盘文件中,利用IO函数来读取)•从数据库中读取(将需要执行的指令放在数据库中,利用数据库函数来读取)•从图片头部中获取: exif_read_data...(将需要执行的指令数据放在图片头部中,利用图片操作函数来读取)
代码执行
将用户传输的数据进行执行
•代码执行函数:eval、assert、system…执行(这是最普通、标准的代码执行)•LFI:include、require...(利用浏览器的伪协议将文件包含转化为代码执行)•动态函数执行:($()...PHP的动态函数特性)•Curly Syntax:(${${…}}...这种思路可以把变量赋值的漏洞转化为代码执行的机会)
内存马
有关Java内存马以及JspWebShell的免杀我打算之后在Java代码审计中详细讲解,这里就全部以PHP的脚本木马为主。
何为内存马?
内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高:攻防双方的博弈,流量分析、EDR等专业安全设备被蓝方广泛使用,传统的文件上传的webshll或以文件形式驻留的后门越来越容易被检测到,内存马使用越来越多。
Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。
PHP内存马
PHP内存马,也叫做PHP不死马、不死僵尸,在线下AWD中是常用手段之一。在蚁剑中也有专门的插件可以一键注入内存马。原理也很简单,相对于Java可以直接把整个shell写入内存,php内存马的实现则是将一个木马反复写入,达到无法删除的目的。
<?php ignore_user_abort(true); //设置客户端断开连接时是否中断脚本的执行 set_time_limit(0); //设置脚本最大执行时间linux下可能不大好用 unlink(__FILE__); //删除自身 $file = 'shell.php'; $code = '<?php @eval($_POST["cmd"]);?>'; while (1) { file_put_contents($file, $code);//恶意代码 usleep(5000); //延迟执行可有可无 } ?>
本质上原理是不变大,执行死循环,然后删除自身。但实际上这样做还是会有文件落地,只是管理员删不掉、删不完罢了。我们也可以用利用fastcgi对php攻击执行命令,但这样是否算一个驻留wenshell还有待争议。
WebShell管理工具
中国菜刀(Chopper)
中国菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理!在非简体中文环境下使用,自动切换到英文界面。UNICODE方式编译,支持多国语言输入显示。
蚁剑(AntSword)
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!使用编/解码器进行流量混淆可绕过WAF,并且有多款实用插件。
项目地址:
•https://github.com/AntSwordProject/antSword
冰蝎(Behinder)
冰蝎是一款基于Java开发的动态二进制加密通信流量的新型Webshell客户端,由于它的通信流量被加密,使用传统的WAF、IDS等设备难以检测,目前在HVV中使用较多的一款工具。
项目地址:
•http://github.com/rebeyond/Behinder
哥斯拉(Godzilla)
哥斯拉是一款继冰蝎之后又一款于Java开发的加密通信流量的新型Webshell客户端,内置了3种有效载荷以及6种加密器,6种支持脚本后缀,20个内置插件,也是目前在HVV中使用较多的一款工具。
•项目地址:https://github.com/BeichenDream/Godzilla
C刀(Cknife)
C刀是一款基于Java开发的完全基于配置文件的中国菜刀,跨平台,脚本类型支持ASP、ASPX、PHP、JSP、JSPX、Customize,目前完成的功能有:文件管理、数据库管理、模拟终端以及代理设置等。
项目地址:
•https://github.com/Chora10/Cknife
Web版菜刀(WebKnife)
WebKnife是陌小离练习ajax时候写的一款半成品Web版菜刀,目前完成的功能有:文件管理,虚拟终端,文件查看,图片查看,一键挂黑,作者居然还是个00后,tql!
项目地址:
•https://github.com/MoLeft/WebKnife
XISE
XISE是小骏用易语言开发的一款类似于中国菜刀的Webshell网站管理工具,早些年做黑帽SEO的基本人手一份,现在已经停止更新,至于什么原因,大家都懂的!!!
开山斧
开山斧是一款基于Python 2.7X + QT4开发的一款跨平台菜刀 (Win/Linux/Mac),体积比较大,刚出来时只用过一次,现在用的人应该不多,也已经停止更新了。
项目地址:
•https://github.com/pyqteval/evlal_win
K8飞刀
K8飞刀是K8哥哥开发的一款Webshell网站管理工具,不得不说他开发的安全工具都很强大且实用,只不过个人感觉略显臃肿,对新人来说可能不是很友好,有兴趣的可以自己去看一下。
项目地址:
•https://github.com/k8gege/K8tools
Weevely
Weevely是一款python编写的生成和管理php webshell的安全测试工具,目前拥有30多个模块:文件管理、命令执行、数据库管理、端口扫描等功能,部分模块不支持在Windows环境下使用。
项目地址:
•https://github.com/epinna/weevely3
WeBaCoo
WeBaCoo是一款Perl语言编写的Web后门工具,它的特别之处在于Web服务器和客户端之间的通信载体是Cookie,这就意味着多数的杀毒软件、网络入侵检测/防御系统、网络防火墙和应用程序防火墙都无法检测到该后门的存在。当然,这只是以前的介绍,现在基本都会被检测了。
一、什么是寄生虫
寄生虫排名大多数都是通过从黑客手里购买站点webshell,然后对其站点不断生成新的页面产生排名,进行变相无限繁殖。
但有两点需要注意:
1、一般高权重网站的shell权限很难获取,因为这类网站大都有专业技术人员在管理维护,黑客没那么容易拿到权限。
2、一般低权重网站就算你拿到了权限,但也对你排名没什么很大的价值。
二、常见寄生虫程序简介
目前市面上有很多寄生虫程序,但告诉大家其实这些程序的功能大多相似,主要还是在于寄生虫程序模版的选择与使用,是否更适应搜索引擎的排名算法。影响寄生虫排名的最终结果主要取决于webshell的质量度。没有强大的高质量的shell,再好的寄生虫程序也做不出来很好的效果。同样的话,假如你的webshell质量度很高,相对来说你所繁殖生成的关键词URL链接页面就会通过该shell的主站权重传递获得一个相对不错的排名结果。
三、寄生虫的种类
1、从类型上看,寄生虫程序主要分两种,即动态寄生虫和静态寄生虫。简单理解就是生成繁殖的URL链接形式分为动态连接和静态链接这两种形式,从生成的页面链接上就可以看的出来。
2、从程序语言上看,寄生虫程序又分为ASP版寄生虫和PHP版寄生虫,编写使用语言不同,所繁殖生成的页面URL链接形式也不同。这里大家主要作为了解即可。
四、寄生虫的排名工作原理
1、寄生虫程序区别于很多黑帽SEO程序,那么寄生虫大家都不陌生。但寄生虫真正的工作原理,是为了更高效率的生存。首先要知道寄生虫的前身是泛目录,泛目录的前身是目录轮链,目录轮链的前身是桥页。
2、寄生虫分为客户端与服务端,新手会有顾虑,为何搞出服务端这么麻烦。但如果是大批量操作,寄生虫非常节省时间,协助能力也非常的高。
3、寄生虫的原理是通过客户端获取服务器端信息繁殖,因此客户端就很简单,只有一个文件,但客户端放到Shell网站,即可指定的获取服务器端信息,服务器端信息配置更新,客户端也会对新的信息进行生成轮链。那么客户端是获取服务器端信息的,同样就需要配置服务器端,服务器端进行一次配置。以后不管有几个Shell站,都可以同时用服务器端配置好的信息。
4、配置好服务器端后,客户端获取地址填写架设服务器端的地址,客户端放到自己网站、放到Shell站中即会产生数十个目录轮链地址,此时你看到的并不是和泛目录一样有很多的目录,寄生虫是繁殖的,通过百度蜘蛛或者人工每次访问,在有访问的情况下,不管是人工还是蜘蛛,都会在进行繁殖生成的。
5.寄生虫繁殖可以通过多个Shell无限繁殖,那么值得一说的,寄生虫同样有Shell站群功能,通过不同的Shell生成,客户端会返回URL数据到服务器端,服务器端记录下此次的繁殖数据,在下次不同的Shell进行繁殖,会链接上上一次繁殖的页面。寄生虫站群相互链接功能,在多个Shell中,寄生虫会记录每个URL并进行相互的站群导入导出轮链操作。
这就是寄生虫繁殖的功能,每次生成数十个页面,通过蜘蛛的来访,会再繁殖几十个页面,以此循环。
五、寄生虫的作用
1.在有效的资源下,把所有想做的关键词都建立在一个庞大的资源上(适用于灰色产业)。
2.能够快速的实现大量长尾词甚至核心词在搜索引擎上的一个排名提现,带来收益。
总结:
寄生虫通过建立强大的链接资源库,推动网站关键词排名上升,实现寄生虫的最终目的从搜索引擎端获取到最大规模的流量,通过良好的商业模式,实现盈利。