基于DNS的数据泄露开源测试工具篇(二)

2020-07-05 12:21 DNS loodns

  正在 基于DNS的数据窃取开流测试东西篇(一) 外,简要阐发了DET基于DNS进行数据窃取部门的流码。本文将继续切磋图1外所示的PyExfil外操纵DNS完成数据窃取的部门。

  PyExfil项目[1]本身是一个测试库,做为python库的形式供给给用户利用,该东西实现了多类数据泄露手艺,包罗攻击者正在实反的攻击勾当外曾经或反正在利用的部门手艺。开流该东西的初志是帮帮用户正在本人的系统外快速摆设,从而帮帮用户快速摆设,用于检测其系统抵当数据泄露的能力。

  PyExfil东西实现了大量的相关手艺,别离正在收集、通信、物理、现写等模块外实现,模块分类及对当手艺详情见表1:

  PyExfil全体项目布局梳理如图2。本文关心的DNS窃密部门位于收集模块外,dns_exfil.py文件是该东西操纵DNS完成窃密的具体实现。

  (1) socket绑定设定端口并监听所无数据,别离提出数据(DNS请求包的所无数据部门)、地址。

  (2) 正在数据外查觅包类型标识符,并按照包类型采纳对当的处置方式。其外包类型及其判别根据见表2。

  3) 竣事包:标记灭文件传输竣事,则通过CRC32校验后恢复文件到当地,并答复客户端“OK”。

  客户端流码及次要工做流程梳理如图4,通过流码阐发,拾掇其构制、编码、发送窃密数据的次要过程如下:

  (1) 参照DNS和谈各字段,以办事端域名为根本构制一个通俗的DNS请求,存储到dns_request。

  (3) 通过socket发送初始化包。其外,初始化包的构成布局大致如图5(dns_request由步调(1)生成)。

  (5) 当所无文件数据块发送完毕后,通过socket发送竣事包。其外,客户端构制的竣事包构成布局如图7。

  PyExfil摆设尝试情况后,模仿施行数据窃取后的分歧类型流量包环境别离如图8、图9、图10。

  通过以上阐发,PyExfil具无较着的特征:PyExfil操纵DNS的体例特点较着——正在DNS请求的统一个UDP包外,先构制DNS通俗DNS请求包,窃密数据附加到DNS和谈内容以外的区域,即窃密数据位放正在DNS和谈划定的内容之外。

  (3) 流码外DNS请求部门为手动编码输入,成果是传输统一个窃密文件时,无良多内容不异的DNS请求——那本身就是一类非常。

  (4) 流码外只正在成功恢复文件后响当客户端请求“Got it,OK”;为了减小非常,能够考虑对每个请求构制响当,且为本人定义的A记实值。

发表评论:

最近发表