DNS异常分析思路与方法

基于DNS可能发现的问题有一下几点:

1. 走53端口的UDP协议,但非DNS协议,如图1,图2

DNS异常分析思路与方法

? 图1

DNS异常分析思路与方法

? 图2

2. 利用DNS协议 进行数据和命令传输,常见的DNS tunnel,见图3

DNS异常分析思路与方法

? 图3

DNS异常分析思路与方法

? 图4

3. 非常规域名,如DGA域名,错误域名等,

分析

走53端口,但非标准的DNS协议

针对使用标准的53端口,非DNS协议内的分析。称之为隐秘信道,分析方法是将UDP协议会话日志中的53端口过滤出来,然后过滤掉DNS协议

将UDP会话日志导出,利用Excel进行处理。过滤掉DNS协议的会话,剩下的皆为非DNS协议的会话。

DNS异常分析思路与方法

? 图5

在过滤完后,剩下的需要进行研判,在确定客户IP架构的情况下,会很好进行研判。

首先确定端点IP的属性,如此处的:1.192.193.110,在图6中可以看到好些IP进行了连接,且在筛选后中,看到1.192.193.x段好些IP产生了连接。

DNS异常分析思路与方法

? 图6

查看流量,如图7:

DNS异常分析思路与方法

? 图7

流量中可以看到的确不是DNS协议,需要判定服务端IP的相关信息,如图8

DNS异常分析思路与方法

? 图8

通过威胁情报查询,可以得到这个IP为360所有,可以排除其威胁性。经查1.192.x.x这几个IP都是360所有。360的设备会产生大量的这种协议,可以将对端IP都传到威胁情报平台进行查询。查询到的结果在进行查看流量进行研判。

以上针对走53端口非DNS协议检查的指标有:

#1.   端口为53,非DNS协议

#2.   日志中表现为数据包数多,但个会话数据量大。(存在误报)

DNS tunnel的发现

DNS tunnel即利用DNS协议进行命令和数据传输,具体可自行百度了解。如cobalt strikeDNS隧道流量如图10,

DNS异常分析思路与方法

? 图10

流量如图11所所示:

DNS异常分析思路与方法

? 图11

具体如图12:

DNS异常分析思路与方法

? 图12

由上图可以看出,此例中DNS 请求类型为16(TXT)类型,由于DNS协议的特殊性,要想尽可能多的传输数据,一般采用请求类型16的方式进行传输,当然也可以用其他的方式。如1,(A),28(AAAA)等方式。

在响应中尽可能的多的传输数据,所以其DNS response会比一般的DNS response包大。

DNS异常分析思路与方法

DNS异常分析思路与方法

? 图13

针对此种类型多的检测,indicator相对较多,如请求类型(qtype),请求域名的长度(qtype.domain.length),请求域名频率等。

将DNS 日志导出后,删除多余项,利用代码将日志进行处理,取出解析域名的一级域名,后请求域名的长度,

DNS异常分析思路与方法

? 图14

将主域利用alexa或者自建白名单列表过滤一下,过滤一下之后,剩下的就不多了,并且可以统计在排除到alexa1m域名之后剩余域名的次数。 如图15

DNS异常分析思路与方法

? 图15

其中0x.org.cn这个域名不在alexa1m中,同时在短短时间内就有2134次访问。所以有很大的问题。在威胁情报平台上查询,这个域名,

DNS异常分析思路与方法

DNS异常分析思路与方法

DNS异常分析思路与方法

在反查邮箱和联系人等,都没有任何信息,且该域名不能解析,说明该IP可能存在问题,需要进一步研判。

对于其他的域名,则需要人工研判,访问频率低的基本不太可能。且大部分域名都是正常的。同时回到DNS日志中,可以看到0x.org.cn这个域名请求长度都是31,在DNS tunnel中有一个指标是:请求域名长度一致,但请求内容在变化,如图16.

DNS异常分析思路与方法

? 图16

在上图中可以看到,该IP存在多级域名,且域名对应IP为0.0.0.0。由于DNS tunnel技术中域名解析的请求类型通常不是A,所以在日志中看到的域名对应的IP为0.0.0.0,请求域名长度一致。

在回到流量中,看到的是内部DNS 服务器像外部的DNS 发起的递归查询,没能看到是谁向内部DNS 发起的初始请求,所以需要回到相同时间段内内部DNS服务器的流量中去。

DNS异常分析思路与方法

回溯内部DNS服务器的流量。如图17.

DNS异常分析思路与方法

? 图17

将DNS 服务器的UDP会话日志导出。用Excel进行处理。将节点2设置为192.168.0.251,其他的删除。将协议选择为DNS协议,

DNS异常分析思路与方法

然后统计节点1的次数,跟第一次计算的域名请求次数做对比,可能是域名请求的0.5倍的情况下,相差不是很大,可能就是该IP发起的初始请求。在去流量中进行研判,就能找打谁发起的初始请求,但找初始请求可能会存在一些技术要求就是TSA部署的位置,是能够抓到接入层设备向内部DNS是服务器发起的DNS 请求,但在此案例中,无法抓取到下端设备发起的DNS请求,所以无法定位到具体的IP。

以上针对DNS tunnel的检查指标有:

#1.   用来做DNS 请求的主域不常见,且短时间内请求次数多。

#2.   请求的长度相对一般的DNS 请求域名长度更长。

#3.   请求类型不是常见的A类型,DNS tunnel常见的类型有为TXT类型,也有其他的,如海莲花请求类型为10(空RR)

#4.   在日志中看到的域名对应的IP为0.0.0.0,其TTL基本都为0,。

非常规域名,如DGA域名,错误域名

针对非常规域名,则需要更多的结合威胁情报,来进行处理,

DGA 域名的的指标:

#1. 常利用的是如.xyz,info,cc等不常见的*域名,

#2. 如利用.com,.cn等常见*域名时域名的长度相对较长。且相同的请求长度一致。

#3. 在DNS 日志中域名基本为请求失败,

DNS异常分析思路与方法

上一篇:ES6中的新数据类型——Symbol


下一篇:分库分表