运用DNS绕过安全设备的Oday.

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 一、DNS介绍DNS域名系统是互联网关键的基础设施之一,它是一个将域名与IP地址互相映射的全球分布数据库。对于恶意DNS的过滤、检测恶意网站域名、僵尸网络和网络隐秘通道发现是安全防护设备中必不可少的一种手段。

一、DNS介绍
DNS域名系统是互联网关键的基础设施之一,它是一个将域名与IP地址互相映射的全球分布数据库。对于恶意DNS的过滤、检测恶意网站域名、僵尸网络和网络隐秘通道发现是安全防护设备中必不可少的一种手段。
2

二、原理
RFC 1035规定了域名每个标签不超过63字节,域名总长不超过255字节。可以含有任意8bit值,通常情况下域名标签由英文字母、数字和连字符构成。RFC 2181进一步明确了,DNS本身不对域名所含字符内容进行限制。一些文献中验证了ISC BIND等常用DNS服务器软件对二进制域名的支持。尽管在RFC1 123 之中对于DNS软件支持无法转换为可打印格式的资源记录,内部存储不能使用文本格式。由于Letter Digit Hyphen规则的域名含有可打印字符,如此产生了两种问题,其一为大多数程序对于域名的处理采用字符串函数,可能会对于某些特定结束字符进行处理(例如C语言中对于000进行处理),其二DNS服务器对于特殊字符进行处理后依然返回解析结果,某些程序过滤恶意DNS域名并未考虑。

三、测试方法
用PYTHON socketserver和struct开发简单的DNS服务器进行测试,再使用DNSPython模块作为DNS请求的测试。在对DNS服务器测试时,我们向被测的服务器发送正常的或者带有特殊字符的DNS两种请求方式,如果DNS服务器两种数据报文传输的请求结果存在区别则证明其二失败,否则成功。
705_140422153320335_lp

四、危害
1.隐藏恶意软件域名:
通过该方法可绕过基于DNS流量检测的流量分析软件、算法和相关安全设备及在线文件分析系统,通过构造加入特殊字符的DNS请求,既保证了域名成功解析,又保护了恶意域名难以被发现。
2.隐藏DNS隐蔽通道
将伪造源地址的方法与本文域名欺骗方法结合,可以起到更好的DNS隧道流量隐蔽效果,通过伪造源地址来分散DNS隧道流量,对内网数据泄密和远程控制隧道加入了新的挑战。
3.绕过DNS过滤
利用这个方法进行DNS过滤设备的穿透具有一定的可行性,目前已发现大量带有域名过滤的安全设备.存在被绕过的风险。
2315114931_1

五、修复
所谓有攻就有防,通过DNSPython修复,在dns记录中,加入过滤异常的特殊字符。 同时在安全设备中扩大过滤DNS请求特殊字符的范围。

本文章转自安全大咖vr_system分享的原创文章,经作者授权同意后墨者安全转载来的,如有任何版权或者内容错误问题,请联系小编删除,谢谢!仅供安全爱好者研究学习,对用于非法途径的行为,发布者及作者不承担任何责任。

相关文章
|
域名解析 缓存 网络协议
DNS Rebinding Attack 绕过SSRF限制
DNS Rebinding Attack 绕过SSRF限制
|
网络协议 Linux C#
NativePayload_DNS,通过DNS流量,绕过防病毒传输后门
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396319 传送门 注意标点符号,必须是英文的。
1442 0
|
网络协议 安全 网络安全
通过DNS通信绕过杀毒软件进行木马传输
本文讲的是通过DNS通信绕过杀毒软件进行木马传输,在这种技术中,我想通过DNS协议将我的后门木马从攻击者计算机种植在客户端计算机上面,因此在这种情况下,我们需要一个没有硬编码的木马或加密有效的后门代码。因为通过DNS传输,所以被杀毒软件发现的几率特别小。
2040 0
|
安全 网络协议
通过DNS响应欺骗来绕过域控制验证
本文讲的是通过DNS响应欺骗来绕过域控制验证,在用户验证他们有域名控制权后,Detectify才会扫描这个网站。其中一个验证方法是向域添加一个DNS TXT记录,其中包含由Detectify提供的字符串。
2708 0
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
67 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
76 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
2月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
65 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多