Web安全-浅析⽹页暗链与挂马攻击
⽂章⽬录
前⾔
近年来,随着国家相关部门对互联⽹安全事件的重视、部分软件开发⼚商安全意识的提⾼,曾经红极⼀时的“挂马”攻击⼿段已经⽇趋减少,特别是 2009 年刑法明确“挂马”事件量刑标准之后,多个曾经猖狂⼀时的 ”挂马” 集团相继落⽹,“挂马”这种风险⾼且收益不稳定的攻击⼿段逐步为⿊⾊产业链所抛弃。⿊⾊产业链是否因为挂马的衰落⽽就此沉寂呢?答案是否定的,攻击⼿段⽇新⽉异,其中“暗链”是近年来较为严重的问题,也是攻击者所钟爱的新⼿法。
暗链现状
搜索引擎可以⾃动的爬取互联⽹中的信息,并根据⼀系列算法来评判这些信息的价值,当⽤户输⼊所需信息的⼀些特征(即关键词)时,搜索引擎根据这些特征来进⾏检索,并根据它所认定的价值⾼低来对检索到的信息进⾏排序,最终展⽰给⽤户。所以在搜索引擎的搜索结果中排名越靠前,说明搜索引擎认为它的价值越⼤,被⼈访问到的概率也越⼤。于是,⽹站在搜索引擎中有个⽐较靠前的排名成为绝⼤多数站长梦寐以求的事情。然⽽,随着搜索引擎的⼤规模应⽤,⼀些问题也随之出现……
2011年6⽉,姚⼥⼠通过百度搜索“去哪⼉⽹”,被欺骗访问到钓鱼⽹站,蒙受经济损失;
2011年8⽉,数百名⽹友通过百度搜索“⽉饼团购”,被欺骗访问到钓鱼⽹站,蒙受经济损失;
2011年底,蔡先⽣通过百度搜索“亚洲航空”,被欺骗访问到钓鱼⽹站,蒙受经济损失;
……
在上述案例中,⼈们往往将问题归罪于百度公司的竞价排名策略。“竞价排名”是对搜索结果的⼀种⼈为⼲预,把本来搜索引擎认为价值不⾼的⽹站排在最前⾯,然后根据点击量收取费⽤。百度的竞价排名策略⾃推出以来⼀直为⼈们所诟病,百度也多次因此成为众⽮之的。事实上,即使没有竞价排名,⿊客仍然可以利⽤⼀些攻击⼿段,诱使搜索引擎将⼀个钓鱼⽹站认定为很有价值,并且排在搜索结果⽐较靠前的位置,甚⾄是第⼀位。
搜索引擎在判定⼀个⽹站价值时会参考其他⽹站的超链接。如果⼀个⽹站A有指向⽹站B的超链接,则搜索引擎会认为A的所有者认定B是有价值的,并乐意将⾃⼰的权重分给B。通常⼀个⽹站能分给另⼀个⽹站的权重很低,但是如果有⼤量的⽹站都链向该⽹站的话,积少成多,权重还是很可观的。我们可以设想,⿊客仿照某银⾏⽹站开设了⼀个钓鱼⽹站,起初搜索引擎会认定该⽹站没有太⼤价值。但是,如果有⼤量的⽹站都存在超链接指向该钓鱼⽹站,每个⽹站都会分给该⽹站⼀定的权重,该钓鱼
⽹站的权重甚⾄可能超过它所仿照的银⾏⽹站,排在该银⾏⽹站的前⾯。当⽤户通过搜索引擎搜索该银⾏⽹站时,可能出于对搜索引擎搜索结果的信任,访问到该钓鱼⽹站,从⽽导致银⾏账号、密码泄漏,甚⾄是经济损失。然⽽⿊客想要获得⼤量⽹站的⽀持绝⾮易事,于是挂“暗链”成为⼀个不错的选择。
暗链隐蔽性
由此可以看出,“暗链”是⼀种搜索引擎优化的⼿段,⽤于提⾼它所指向的⽹站的搜索排名,是最有效的搜索引擎优化⽅法之⼀。“暗链”正如它的名字所描述的⼀样,是⼀种在⽹页页⾯上不可见或极易被忽视的超链接,并尽量不去破坏⽹页原有的结构。虽然这些超链接在⽹页页⾯上是“不可见”的,但是仍然可以在⽹页源代码中看到,所以搜索引擎仍然可以通过分析⽹页的源代码收录这些链接。然⽽,⼈们毕竟不是搜索引擎,往往不会去关注页⾯上看不到的东西,所以,暗链也很难会被⼈发觉,甚⾄能够与⽹站“长期共存,共同发展”。
植⼊暗链的⽅式⼤致有两种:⼀种是web应⽤开发⼚商在应⽤中植⼊的,还有⼀种是⿊客⼊侵⽹站之后植⼊的。从实际检测情况来看,前者的⽐例相对较少。也就是说,如果⼀个⽹站存在暗链,就说明这个⽹站很可能已经被⿊客成功⼊侵,⽹站的注册⽤户信息可能已经泄露,⽹站提供下载的资源可能被绑定了⽊马或后门。然⽽,暗链本质上就是超链接,与我们常见的超链接并没有太⼤的不同,所以
暗链并没有对⽤户构成实质性的威胁,安全软件⾃然也不会对暗链进⾏检测,更不会对暗链作出拦截或提⽰。
暗链产业链
⽬前挂暗链已经形成了⼀条完整的⿊⾊产业链,并有取代挂马成为⾏业“领跑者”的趋势。据数据显⽰,挂马⽹站数量正⽇趋下降,⽽暗链逐步超越挂马成为威胁⽹站安全的头号敌⼈。暗链之所以被⿊产从业者青睐,并逐步取代挂马,主要由于以下⼏个原因:
风险低:我国刑法已明确挂马的量刑标准,⽽暗链尚⽆法律依据;
投资少:⼏乎零成本,⽽挂马需要⼤量资⾦购买好⽤的⽹马、⽊马;
收益稳定:只要约定时间内暗链没有被清除,⿊客就可以获得收⼊;
技术含量低:能够⼊侵⽹站即可,⽽挂马涉及到⼊侵⽹站、漏洞发掘、⽊马编写等技术;
难以检测:暗链和普通超链接没有太⼤的不同,且没有实质性的威胁,所以程序很难准确的判断是否存在暗链。⽽挂马所使⽤的⽹马和⽊马都可能被杀毒软件拦截。
综合以上⼏条优势,很多原本挂马的集团都转型去挂暗链了。
在这条产业链中,分⼯明确:有专⼈负责攻击各类型⽹站,有⼈负责收购各类⽹站的权限,有⼈负责每天检查暗链是否被删除,有⼈负责联系客户,有客户购买服务,甚⾄有⼈负责编写⾃动化挂暗链的程序并出售。
挂暗链所使⽤的⽹站来源有两种:⼀种是⿊客⾃⼰动⼿,攻击⽹站挂暗链;还有⼀种是收购其他⿊客的权限。有时⼀个⽹站同时被多路⿊客盯上,在页⾯中可以看到多组暗链链接,甚⾄代码中存在“删我链接,我删整站”、“各挂各的,和平共赢”等字样,警告其他⿊客不要删除⾃⼰的链接,由此可以看出不同“暗链”集团间利益冲突很严重。
政府(gov)和教育(edu)类⽹站,备受暗链青睐,被挂⽹站数占该类型⽹站总数的30%以上,成为暗链的重灾区。暗链之所以青睐这两类⽹站,原因主要有以下⼏点:
搜索引擎对这两类⽹站通常⽐较友好,分配的权重较其他类型的域名更⾼,⽤于搜索引擎优化的效果⾃然更好;
这两类⽹站通常⽐较稳定,较少出现没⼏天就消失不见的情况;
更新频率低,往往⼏个⽉不会更新⼀次,甚⾄没⼈维护;
业务系统通常由当地⼩公司开发和运维,忽视安全问题,导致系统存在⼤量安全漏洞。
暗链的危害
暗链对于普通⽤户没有实质性的危害,但是暗链所指向的⽹站通常是不正规的⽹站,甚⾄是⾮法⽹站。据统计数据显⽰,暗链所指向的⽹站主要有以下⼏种类型:⽹游私服、医疗、、⾊情、股票内幕信息和⽹游外挂。这些⽹站在通过⼤量暗链增加权重后,会排在搜索结果的前列。
1. 当⽤户搜索某⼀特定关键词时,可能被欺骗⾄这些⽹站。例如⽤户通过搜索引擎搜索某个医院或某种疾病的⽅法时,很可能被引
导⾄⼀个⾮法⼩诊所,从⽽延误病情,甚⾄危及⽣命!
2. 暗链是对搜索引擎的⼀种欺骗,导致搜索引擎的误判,将⾼权重分配给原本没有价值的⽹站甚⾄是钓鱼⽹站。这样极易导致⽤户对搜
索引擎的不信任,甚⾄因为误导⽤户造成损失⽽引起法律纠纷。
3. 暗链的存在往往标志着该⽹站存在安全漏洞,所以带有暗链的⽹站往往更容易被⿊客⼊侵。此外,带有暗链的⽹站提供下载的资源也
是不可信的,可能包含⽊马或后门。
4. 暗链对政府⽹站来讲危害更⼤,当⽤户通过搜索引擎搜索某地政府⽹站时,可能从搜索引擎的描述中看到⼀些⾮法的关键词,从⽽影
响政府的形象。敌对势⼒甚⾄可以根据政府⽹站是否存在暗链来判断⼀个政府⽹站是否存在安全漏洞,并决定是否发起攻击。成功⼊侵后,可以发布虚假政策信息造成众对政府的不信任,制造政府与众之间的⽭盾,引发社会事件。
暗链的防御
暗链⼤都是⽹站被⼊侵之后植⼊的,所以修补安全漏洞、清除后门是防治暗链的根本。单纯清除暗链代码,⿊客仍可以通过漏洞或后门侵⼊⽹站,再次植⼊暗链,甚⾄履⾏承诺——删除整个⽹站。有些⼩⽹站慑于⿊客的威胁,甚⾄不敢删除暗链代码。
发现和解决漏洞是困扰站长的两⼤难题。如何判断⽹站被⿊客⼊侵并挂了暗链,分析 Web ⽇志是⼀个不错的选择,通过检索⽇志中的特征词,可以快速定位到漏洞位置。但是分析 Web ⽇志需要有⼀定的经验,很多 Web ⽇志⼚商提供了免费的⽹站安全体检服务,如知道创宇的 scanv,站长根据要求进⾏注册并完成验证后,可以收到⼀份⽹站的漏洞报告及修补意见,对于没有安全防护经验的站长来说,选择⽹站安全体检服务是个不错的选择。
若⼀个⽹站已经被⼊侵过了,单纯修补安全漏洞是不够的。⿊客⼊侵⼀个⽹站之后,往往会留后门,以便下次⼊侵。后门不仅仅限于 Web 层⾯,还可能涉及到操作系统层⾯,例如系统隐藏账户、终端服务开启、远程控制软件等。这就需要我们更加深⼊地对⽹站做⼀个全⾯检测。
暗链实例
⼀个看似正常的⽹站:
但是查看其⽹站代码发现多处被修改:
下⾯对上⾯的⽹页暗链进⾏分析:
1、查看以上⽹站的⽹页源码看到如下:
2、这⼀串直接 Unicode 编辑即可看到:
3、使⽤了 eval 函数加密的 js 代码,主要的恶意代码:
4、打开⾕歌浏览器,然后 F12,打开 Console ⼀栏,直接把这段代码复制进去,去掉开头4个字母 eval,然后回车就可以看解密后的代码:
5、这是⼀段通过 16 进制的 script 病毒,可以使⽤ alert 函数来解密,打开记事本写⼊代码:
<script language="javascript">alert("");</script>
暗链技术
暗链是SEO⼿法中相当普遍的⼀种⼿段,笼统地说,它就是指⼀些⼈⽤⾮正常的⼿段获取的其它⽹站的反向链接,最常见的⿊链就是通过各种⽹站程序漏洞获取搜索引擎权重或者PR较⾼的⽹站的Webshell,进⽽在被⿊⽹站上链接⾃⼰的⽹站,其性质与明链⼀致,都是属于为⾼效率提升排名,⽽使⽤的作弊⼿法。
暗链分类
在学习分析暗链的过程中感觉很多⽂章都没有对暗链有⼀个统⼀的分类,有些⽂章甚⾄把挂马和暗链混为⼀潭,所以我在这⾥先把暗链分为这么两类,以便后续分析:
1. HTML 隐藏型暗链——通过 css 或者 JavaScript 代码隐藏暗链,通常是通过 position 为负数,或者将 display 设置为 none 等⽅
式来隐藏,⽬的是为了提升⾮法⽹站的 SEO 排名,但是这种暗链由于很容易被检测,所以已经越来越少了,现在的暗链⼤部分都是JS 引⼊型暗链直接跳转。
2. JS 引⼊型暗链——通过修改⽹站 title,引⼊外部 JavaScript 代码来将暗链植⼊被害⽹站,当⽤户通过搜索引擎搜索特定关键字时
(你懂的)进⼊该⽹站,通过引⼊的外部 JavaScript 代码实现跳转到⾮法⽹站,上⾯演⽰的暗链实例就是这种类型。
HTML隐藏型
这种类型的暗链通过 CSS 或者 JavaScript 代码对暗链进⾏隐藏。
网页html下载可隐藏 HTML 元素的属性解释
display:none 把元素隐藏起来,并且会改变页⾯布局,可以理解成在页⾯中把该元素删除掉。当 display 设置为 none,任何对该
元素直接的⽤户交互操作都不可能⽣效。
visibility:hidden该元素隐藏起来了,不会改变页⾯布局,仍占据原有空间,但不会触发该元素已经绑定的事件
opacity:0;filter:alpha(opacity=0)该元素隐藏起来了但不会改变页⾯布局,如果该元素已经绑定⼀些事件如 click 事件,那么点击该区域也能触发点击事
件
position:absolute;top:-
1000px;left:-1000px
这个⽅法是通过将 left 和 top 的值设的很⼤,让元素定位到浏览器外⾯,不占据空间且不能点击
1、通过 div 中的 display:none 直接来隐藏链接:
<div >
<a href="暗链接" target="_blank">关键词</a>
</div>
2、利⽤ css 中的位置属性来隐藏链接:
<div >
<a href="暗链接" target="_blank">关键词</a>
</div>
3、链接颜⾊与背景⾊相同,链接⽂字使⽤低像素:
4、利⽤跑马灯 marquee 属性,链接以跑马灯形式迅速闪现,跑马灯的长宽设置很⼩,同时将闪现的频率设置很⼤,使得查看页⾯时不会有任何影响:
【⼩结】以上四种是惯⽤的挂暗链的⽅法,但⽬前的搜索引擎也开始对这些⽅法进⾏识别和打击,如
果代码没有任何处理的话,那么这些外链将有可能全部被降权。即便如此,这⼏种仍然是⽬前最常见的暗链隐藏⽅法。为了不被搜索引擎识别,攻击者利⽤ JS 向页⾯中写⼊ ccs 样式,并设置其属性,见5,6。由于搜索引擎对这种JS代码的内部实质意义还⽆法识别,因此也成为了挂暗链的⼀种常见形式。
5、通过 javascript 来控制 html 中 document 的结构来隐藏链接(利⽤ JS 向页⾯中写⼊ ccs 样式):
<script type="text/javascript">
document.write('<div >');
</script>
<a href="暗链接" target="_blank">关键词</a>
<script type="text/javascript">
document.write('</div>');
</script>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论