DNSExfiltrator:基于DNS的数据泄露测试工具
摘要:DNSExfitrator开源项目是一种数据泄漏测试工具,它使用DNS协议进行秘密数据泄漏。DNSExfiltrator使用C S模式。它的服务器在python(dnsexfiltrator py)中实现。
DNSExfiltrator简介
DNSExfitrator开源项目是一种数据泄漏测试工具,它使用DNS协议进行秘密数据泄漏。DNSExfiltrator使用C / S模式。它的服务器在python(dnsexfiltrator.py)中实现。 客户端提供C#源代码,可以通过csc.exe将其编译为Windows可执行文件。 同时,作者还可以使用JavaScript和Powershell Script文件将其包装以启用客户端。 DNSExfiltrator项目源代码的结构如图所示。
DNSExfiltrator的主要功能是:
1)默认使用系统定义的DNS服务器。 您可以通过-s指定特定的DNS服务器。
2)-h参数支持并启用DoH。
3)默认使用Base64 URL编码,但是您也可以指定-32以使用Base32编码。
4)支持基本的R **加密,用于数据加密和解密。
5)提供一些可选功能来逃避检测,包括:请求限制-每个DNS请求之间实现更多隐身数据窃取的时间间隔。减少DNS请求的大小。 默认情况下,使用每个DNS请求的最大剩余可用字节。减小DNS标签的大小。 默认情况下,支持的最大标签长度为63个字符。
简要分析基于DNS的数据窃取的源代码
DNSExfiltrator工具使用C / S模式,服务器是DNSExfiltrator.py文件,客户端使用C#实现,可以通过csc.exe编译为Windows可执行程序。 同时,为了易于使用,作者还提供了封装了DNSExfiltrator客户端二进制文件的Powershell脚本和JavaScript脚本。
DNSExfiltrator准备条件:
1)有一个域名,并将其DNS记录指向运行DNSExfiltrator.py的服务器;
2)服务器依赖于Python的dnslib库。
(一)服务器源代码分析
整理并分析服务器端源文件dnsexfiltrator.py,并总结源代码概述和服务器端工作的主要过程,如图所示。
通过整理和分析服务器端源代码dnsexfiltrator.py,安排服务器接收和恢复被盗数据的主要过程是:
1)侦听端口53并接收请求数据。 当DNS请求分组的请求类型是TXT记录时,进入步骤(2)。
2)提取请求的子域名,即使用dnslib库提取数据包的qname。 DNSExfiltrator中的qname拼接主要有两种类型,如图所示。
3)确定数据包类型。 如果qname以“ init。”开头,则对初始化请求包执行步骤(4),否则继续步骤(5)。
4)“初始化”。 将包标识为初始化包,然后首先执行Base32解码,然后提取“文件名:文件名”,“ nbchunks:数据块总数”,“ BASE32:是否使用BASE32编码”来窃取文件并初始化Ready 接受。
5)这种类型的数据包传输实际的被盗文件数据。 窃取的数据被加密,由编码拼接构成的查询子域如图所示。
6)当查询请求中的分组序号等于块总数时,表明已传输了被盗文件数据,并开始了对本地文件的写入和恢复操作。
注意:处理完初始化数据包后,服务器将响应客户端请求的TXT记录为“确定”。 在处理了真正的被盗数据包之后,它将回复TXT记录作为相应的“包序列号”。
(二)客户源代码简要分析
DNSExfiltrator客户端用C#编写,可以编译成独立的可执行文件或DLL。 编译方法:
1)为Windows可执行程序进行编译:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe/reference:System.IO.Compression.dll /out:dnsExfiltrator.exe dnsExfiltrator.cs
2) 编译为DLL:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe/unsafe /target:library /reference:System.IO.Compression.dll/out:dnsExfiltrator.dll dnsExfiltrator.cs
在组合和分析DNSExfiltrator.cs之后,其源代码结构和客户端工作流程如图所示。 参照图,安排DNSExfiltrator发送被盗文件数据的主要过程如下:
1)预处理工作主要是通过指定的最大标签和最大域名长度来拼接子域名时计算相关参数值。
2)将文件数据读取到内存中,并完成压缩,加密和编码。
3)发送初始DNS数据包,包括要传输的文件信息,包括:文件名,数据块总数,编码方法等。每条信息的结构如图所示。
4)确认初始数据包已通过服务器的TXT记录“ ok”成功发送。
5)根据步骤(1)中计算出的参数值,将文件数据划分为数据块,然后根据图所示的组成结构对子域名进行拼接。
6)一次发送构造的DNS TXT请求数据包。 其中,客户端将根据服务器对每个DNS TXT记录的响应的包序号确认数据传输成功后,发送下一个携带被盗文件数据的DNS TXT请求包。
摘要
(1)DNSExfiltrator的优势分析:
1)支持DoH格式的DNS解析,您可以自己指定DoH服务提供商。
2)客户端使用C3语言编写,易于编译为Windows可执行文件或DLL,并且作者还使用DNSExfiltrator提供了JS和Powershell脚本。
3)客户端和服务器之间的依赖性较小,环境易于设置。
(二)DNSExfiltrator的缺点:
1)软件包序列号在盗窃工具和文件恢复过程中尤其重要,在实际使用中不稳定。
2)不提供文件验证,不能保证被盗数据的完整性和真实性。
(3)每个报文按照报文的序号依次发送和确认,在实际的DNS请求下效率低下且容易出错。
相关热词搜索:DNSExfiltrator DNS 数据泄露 测试工具
上一篇:网站遭到黑客入侵和篡改,导致Web界面异常,远程处理记一次IIS劫持处置
下一篇:Kelinci:Java程序Fuzzing工具
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了