本文于2020年1月份发表在某公众号上。

1、黑产为什么想要做暗链

以前黑产更多的情况是挂马,直接获取权限抓取肉鸡。但是近些年由于挂马的黑产形式十分明显,而且影响比较大,容易被发现等,在各方面的条件影响下,成为了风险高,收益低的方式。
暗链是近几年黑色产业链最爱用的获取利益方式之一,其也是黑帽SEO最爱用的方式之一。其最呈现出最明显的方式就是在点击搜索引擎上爬出的正常页面,点击进去跳转到某菠菜,某色情页面。

2、一些疑问

关于一些疑惑,为什么这些黑产人员拿了站点的权限,为什么不直接篡改主站,而是选择子页面。我认为这是趋于SEO的特性,黑产人员主要是为了提高菠菜站点的权重,而不是要一定要让别人点击进菠菜页面。当黑帽SEO得到优化后,就能得到相应的报酬。所以,为了降低风险性,提高回报率,黑产人员没必要直接篡改主站的所有内容,而是只需要挂在子页面下即可达到SEO优化的目的。
黑链主要分为前端劫持与服务端劫持前端劫持一般通过JS进行跳转劫持,也有时候会直接通过修改页面内容来进行服务端劫持,也称为后端劫持,一般通过修改asp,jsp,php来进行劫持跳转,一般劫持的脚本页面为conn.php,config,global等全局配置文件。

3、一个JS劫持案例

1、这种网站一搜一大堆 有一些是本来就是博彩页面,一些是伪造的
image.png
这里找到一个论文代写的网站
site:bydfy.com
image.png
现在该黑链已经消失了
image.png

点击某个页面之后会快速跳转其快速查看源代码是在JS中加入了跳转的信息这里主要就是匹配UA信息来进行跳转到博彩页面,但是不管是否为爬虫,都会跳转到博彩页面。
image.png
此外,还有博彩网站伪造正规网站被黑的案例,例如在百度快照中可以发现copy了一个学校的官网,以此匹配body中的关键字优化SEO
如下图所示,显示的是m.kskfy.com.cn,但是这冰不是学校的网站,而是黑产进行copy的引流
image.pngimage.png

4、一次简单实战

某公司防火墙提示存在黑链文件,且标准黑链文件链接,如下图
图1 防火墙提示警告
image.png

图2 直接访问链接
但根据防火墙的提示访问链接则会出现页面不存在的提示image.png
image.png

图3 搜索引擎关键字
但是当我们使用搜索引擎通过关键字去搜索的时候就会发现访问后,跳转黑链文件
image.png

图4 黑链跳转网站
image.png

事件原因分析
通过事情的表现,初步判断应该是存在一个劫持跳转的黑链文件,因此先用D盾扫描一下恶意文件,看是否存在恶意后门脚本,为避免将黑链删除后,攻击者立马重新上传,通过D盾扫描,发现两个后门文件
图5 D盾查杀黑链image.png
图6 一句话木马
image.png

图7 大马后门
image.png

总结:
2018-10-24 23:45:16时刻被攻击者上传了一句话木马,与菜刀等黑客工具配合使用。之后紧接着在23:52:21时刻又上传大马文件,为了更好的持续性攻击网站,因此,基本上可以确定攻击者思维,通过文件上传或者远程命令执行之类的漏洞,先上传一句话木马,后上传大马,之后再上传黑链脚本。

因为直接访问黑链链接发现并不存在,但是从搜索引擎去访问的时候却存在,说明黑链文件判断了访问的来源是否是搜索引擎,而一般这种做法就是来判断UA是否来自搜索引擎,关键字就是spider,所以使用notepad++在整个网站目录下面搜索关键字spider来定位黑链,全局搜索后找到黑链文件

图8 黑链文件
image.png
通过分析黑链文件,访问文件中的域名www.612170.com/500.html,发现跟之前的黑链跳转的网站一致

图9 博彩网站
image.png

5、Tip

一些偶尔可以用来辅助检测暗链的工具
1、http://whois.domaintools.com/
2、http://check.yunsee.cn/
3、SEOquake插件

一些关于暗链的实战文章
1、 https://www.freebuf.com/articles/web/182117.html
2、 https://www.freebuf.com/articles/network/186071.html
3、 https://www.freebuf.com/articles/web/222060.html

6、暗链的隐藏方式

1、 https://www.freebuf.com/articles/web/134370.html
2、 https://www.cnblogs.com/laofanshu/p/7041064.html

总结:
客户端劫持方式:
无非就是使用display:none或者color:font-size等字体颜色属性与大小position属性,将内容显示与页面可视范围之外
DIV+JS调用
HTML批量植入
前端JS劫持跳转
服务端劫持:
通用配置文件劫持+dll文件劫持+hook文件劫持