所谓的域名反弹链接这个东西,它说的是域名反弹链接检测, 在域名被没有授权的人给用了, 那么这个人是通过修改DNS的方式, 是通过让HTTP进行重定向的方式来, 或者是通过搞那个CNAME劫持的那种手段, 总之就是用这些个办法, 把本来要去的正常访问的流量, 给弄回了攻击者自己掌控的那个恶意的地址上面去了, 也就是说这个用户他一打开那个网站之后, 实际上是被跳转到了那些钓鱼页面的地方, 又或者是跳转到了那些藏着暗链的页面去查看内容了, 又或者是跳转到那些专门用来劫持广告的页面上去了, 可是表面上来看呢, 用户在浏览器的URL栏里面看到的,依然是那个原本的那个域名的名字灵音心图, 所以说这件事儿是非常具有隐蔽性的, 是不容易被发现的。
域名反弹链接的常见特征
1. 当大家打开那个网站的时候, 地址栏里面的内容发生了没有预期到的变化, 会出现好几波连续的跳转过程。
2. 重定向链过长: 在正常的业务流程中, 页面的跳转次数是不应该超过2次的, 但是现在的状况是出现了3次以上的301或者302重定向情况。
3. 落地页与预期不符: 用户输入的是A域名, 但是最终访问到的实际上是B域名的页面, 这个B域名没办法通过whois这样的查询方式找到它背后合法的主体是谁。
4. 暗链植入: 在页面的源码里, 藏着那种带有target="_blank"属性的外链或者iframe框架, 虽然普通人用眼睛看不出来, 但是搜索引擎的程序是能够抓取到的。
5. 域名系统的记录存在异常的情况, 这个情况是NS记录或者是CNAME记录被指向到了不属于授权的解析服务器上边。
三种检测方法
手动基础检测
请在浏览器中输入目标域名, 然后去观察地址栏的显示情况, 看看有没有发生不是原本预期的那种跳转动作。
执行dig命令加上域名再加上short这个参数, 以此来查看A记录和CNAME记录的情况, 然后把查询到的结果和备案时填写的主体信息进行对比, 确认这两者是否保持一致。
执行 curl -I http://域名 , 然后查看响应头中的 Location 字段, 确认跳转目标是否合法。
在线工具全链路检测
用户需要通过专业的域名安全检测平台来实施自动化扫描。用户可以登录m.dcqzss.cn, 然后输入想要进行检测的域名单词。平台会在极短的时间内执行多种检测任务。这些任务包括追踪DNS线路、抓取HTTP重定向的路径以及对网页落地内容截图进行对比分析。
整个全链条的检测结束后, 平台会生成一份格式规范的结构化报告。报告显示的内容详细说明了每一跳对应的IP所属地状况以及证书是否有效。同时报告也会指出链接中是否存在未经授权的跳转行为。这种操作方式非常适用于那些自身缺乏专业技术支持力量的中小企业, 可以帮助它们快速发现潜在问题。
代码级深度检测
我们会去抓取目标域名的完整响应内容, 并且使用正则表达式来匹配所有的包含链接的元素标签, 包括常见的锚点标签以及内嵌框架标签, 还会去定位在JavaScript代码里面被赋值给窗口地址或者文档地址的那类语句。
通过使用headless浏览器来进行模拟访问这个操作, 并且把这个过程里的所有跳转事件给详细记录下来, 同时也要把用户最终到达的那个落地URL也给记下来。
把结果拿去和业务白名单放在一起进行比较, 然后给所有不是白名单里面的跳转目标打上标记, 并且发出警报信号。
发现反弹链接后的处置步骤
1. 马上就要把那个叫做NS的记录切换去交给值得信赖的DNS服务商, 以此来切断掉被篡改的这个链接通道。
2. 需要对服务器是否存在被入侵的痕迹进行排查,重点排查异常进程、可疑计划任务和Webshell文件。
3. 将那些所谓的SSL证书全部替换掉域名反弹链接检测, 并且把旧的证书进行一个吊销处理。
4. 你需要去通知一下搜索引擎, 让搜索引擎重新抓取一下内容, 并且要把存储在缓存里面的那个恶意跳转的记录给清除掉。
5. 在72小时内把整个流程的复盘工作做完, 同时对安全方面的策略以及访问控制的规则加以更新。
日常防护建议
通过开启DNSSEC签名, 这样做的目的是防止DNS记录在传输的过程中被中间人所篡改。
对于域名管理的权限部分来说, 会实行一种叫做最小化授权的原则, 并且还要定期对那些操作日志进行审计工作。
在每个月这个时间段里面, 要去把那个全链路里面的重定向情况给做一次检测, 然后还得把这个检测结果给归档保存起来。
我们要提前30天去监控域名的到期时间怎么样, 这样能够避免因为域名出现了过期的现象, 从而导致被别人给抢注走, 然后进而实施反弹攻击这种情况的发生。
大家整理的这个内容是参考了域名安全管理里面那些通用的做法。到了具体动手操作的时候, 还得结合你们企业自己的IT系统架构还有安全策略来执行才行。


