在客户端隔离的情况下通过 airtun-ng 实现直接客户端注入

直接的客户端注入技术


当我们试图执行一次无线攻击时,一个常见的问题就是,网络上的AP接入点拒绝在攻击者和被攻击者之间互转他们之间的攻击数据包。这种拒绝担任“中继”(relay)角色,而避免网络客户端之间互相攻击的技术,被称为“客户端隔离”(clientisolation)或“公共安全的分组转发”(Public Secure Packet Forwarding,PSPF)。这种类型的安装在一些商业热点和酒店是常见的,这也完全可以理解,网络上的不同身份和来源的客户,真的没有理由互相交谈但对于“唯恐天下不乱”的黑客来说,这却成了他们实施攻击过程中必须面对的一个问题解决这个问题的一个方法是完全绕过AP接和点。在Aircrack-ng套件中,就包含一款工具可以帮助你轻松地做到这一点。

通过 airtun-ng 实现直接客户端注入

从概念上讲,airtun-ng就是上面所说的那个工具。它的工作原理是:创建一个虚拟接口(假设其名称为“at0”),通过这个接口,各个应用程序都可以正常地从中进行以太网数据帧的读取和写入操作,这很类似于Linux操作系统上大多数的两层“虚拟专用网络”的实现方式。然后 airtun-ng先从虚拟的at0接口上接收到任意的“出接口”以太网数据包,然后将其“以太网的头部”换成“802.11无线网的头部”,然后将这个“802.11数据包通过无线接口注入到对应的客户端,这时,我们惊奇地发现,整个过程完全绕过了AP接入点,并且这种修改可以为我们提供一个直传通道,该通道是当前黑客的攻击客户端与另一个被攻击客户端之间,一个“只提供传送功能”“的直传通道。

假设我们想发送上述直传数据包的目标客户端,就在我们自己客户端的无线功率覆盖范围之内,那么受害者在接收到这个数据包以后,就会处理这个数据包,因为在它眼里,这个数据的发送源就是 AP接入点,并且也会正常回复这个数据包。但是这个客户端会将这一帧数据回送给 AP接入点,不过,这没关系,因为既然大家互在对方的功率覆盖范围内,所以作为攻击者的 airtun-ng,只要在“监测模式”(monitor mode),就也可以在无线接口 wlan0上,通过“嗅探”(snifng),捕获到一个回复的复制器(copy)。这次通信的数据总源头是以太网上的某个应用程序。所以过程还需要继续,这时 airtun-ng随后创建一个以太网数据包,在该数据包中,填上总源头所对应的地址,并将其发送到虚拟接口at0上的应用程序那里,就完成了整个取代 AP接入点的工作。总之,通过监听通道和中继作为正常以太网通信中的数据包,airtun-ng程序提供了一种不需要 AP接入点合作的“中继数据帧”(relayframe)的能力。如果你能把这些技术融会贯通,组合运用,那你就可以对指定AP接入点上关联的任意客户端进行读取和写入的操作,并且在不需要做任何修改的前提下,你还可以使用任何你想用的网络攻击工具,做到“指哪打哪”。这些网络攻击工具包含nmap和Metasploit,因为前面所用的所有工具,都是针对数据包的内容实施攻击的,并不关心数据在两个无线传输中数据的封装(encapsulation)和解封装(de-encapsulation),而这里的 airtun-ng,处理的是数据中,对内容的封装与解封装,而不关心内容传的是什么。

假设你已在无线网络接口上,在所需信道上设置了“监测模式”,那么下面就让我们告诉airtun-ng来建立一个针对某客户端的网络接口:

airtun-ng -a 10:fe:ed:40:95:b5  -t  0  wlan0

  • -a 10:fe:ed:40:95:b5 参数指定了要攻击的目标无线接入点的 MAC 地址。

在上面命令中,“基本服务集标识”是通过参数“-a”指定的,参数“-t 0”是用于将TODS位设置为0,同时将FromDS位设置为1。然后创建虚拟接口at0将只能与客户端进行通信。
接下来,我们需要配置虚拟接口at0。因为这与以前用过的网络相似,所以我们知道这个网络的地址是10.1.0.0/24,所以我们配置相应的接口如下所示:

 ifconfig at0 hw ether 00:c0:ca:52:dd:45 10.0.1.9 netmask 255.255.255.0

  • ifconfig 是一个用于配置网络接口的命令。

  • at0 是指定要配置的虚拟网络接口的名称。

  • hw ether 00:c0:ca:52:dd:45 参数指定了虚拟接口的 MAC 地址,使用了 00:c0:ca:52:dd:45 这个具体的 MAC 地址。

  • 10.0.1.9 是指定了虚拟接口的 IP 地址。

  • netmask 255.255.255.0 参数指定了虚拟接口的网络掩码。

综合起来,这个命令的作用是将虚拟网络接口 at0 的 MAC 地址设置为 00:c0:ca:52:dd:45,IP 地址设置为 10.0.1.9,网络掩码设置为 255.255.255.0

请注意,下面我们是如何以明确的方式将TAP接口(在虚拟以太网卡的实现中,有TUN和TAP两种驱动程序。TUN所虚拟的是点对点设备,TAP所虚拟的是网卡设备。利用这两个驱动,可以将TCPP协议处理好的网络数据包传给任何一个使用TUN/TAP驱动的进程,再由进程处理后分发到物理链路中)的以太网IP地址,设置为我们真实无线网卡的MAC地址的。如果设置失败,最大可能的原因就是有些不连贯的地址被占用了。现在,只要网络上,我们和任何一个客户端互在对方的无线信号覆盖范围内,我们就应该能够与它进行通信了。为了加深印象,下面我们对这种能力进行一次专项测试,在使用Nmap工具时,其测试结果如下:

nmap  -T5  -A  10.0.1.104

airtun-ng 所提供的接口给了我们足够的可靠性,以便我们进行端口扫描(port-scan),而
且该软件还可以去掉Nmap软件的数字指纹(fingerprint)当然,这个“用户空间层所提供”(userspace-provided)的接口也不是完美无瑕的,对数据包的“重复发包”( duplicate packet)和“丢包”(dropped packet)现象也是常见的。从一个单一的用户空间层进程中,我们基本上是做一个完整的二层协议。事情不会顺利到如同我们真的是通过内核驱动程序进行通信的那种效果的。

在所用的技术方面,airtun-ng软件最大的优势在于,该软件除了包含其他同类软件中都有的“中间人攻击”技术,还包含了其他软件所没有的特殊“中间人攻击”技术,这一技术即使在 AP接入点上已实现了“客户端隔离”(clientisolation)的状况下,仍然能够正常工作。另外一个大的优势在于,airtun-ng软件集成了几乎全部基于“骗子”AP接入点的攻击技术,这意味着使用 airtun-ng软件的用户可以做到“自己动手,丰衣足食”,在攻击的过程中,使用自己的AP接入点就可以了。避免了传统方式下,使用无线网络合法AP接入点时,还要费尽心机去引诱其他的无线客户端来这个合法AP接入点上进行关联的麻烦事,同时也不会被合法的AP接入点将其各种动作记入日志中。这无疑避免了通过AP接入点日志查到人侵者的行踪的危险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实例观察 c 语言中 volatile 的作用

volatile 意思是易变的。 在 c 语言中,如果变量被 volatile 修饰,就是告诉编译器这个变量随时都可能发生变化,那么每次读取变量的时候都会到内存中读取。 如果变量没有被 volatile 修饰,并且编译器发现在多次读取变量之间&#…

备战蓝桥杯---图论之建图基础

话不多说,直接看题: 首先,这个不是按照字典序的顺序,而是以只要1先做,在满足后让2先做。。。。 就是让数字小的放前面做拓扑排序。 我们可以先做1,看看它的前驱。 举个例子: 我们肯定要把1放…

JVM常见问题笔记分享

文章目录 1 JVM组成1.1 JVM由那些部分组成,运行流程是什么?1.2 什么是程序计数器?1.3 你能给我详细的介绍Java堆吗?元空间(MetaSpace)介绍 1.4 什么是虚拟机栈1.5 堆和栈的区别1.6 能不能解释一下方法区?1.5.1 概述1.5.2 常量池1…

项目一:高并发内存池

1. 项目介绍 1.1 这个项目是做什么的 当前项目是实现一个高并发的内存池,他的原型是 google 的一个 开源项目tcmalloc , tcmalloc 全称 Thread-Caching Malloc ,即线程缓存的 malloc ,实现了高效的多线程内存管理,用…

蓝桥杯备赛_python_BFS搜索算法_刷题学习笔记

1 bfs广度优先搜索 1.1 是什么 1.2怎么实现 2案例学习 2.1.走迷宫 2.2.P1443 马的遍历 2.3. 九宫重排(看答案学的,实在写不来) 2.4.青蛙跳杯子(学完九宫重排再做bingo) 2.5. 长草 3.总结 1 bfs广度优先搜索 【P…

1.初识Tauri

文章目录 一、前言二、基本认识三、js与rust通信四、构建应用 一、前言 原文以及后续文章可点击查看:初识Tauri。 Tauri是一款比较新的跨平台桌面框架,也是我目前最喜欢的一个框架,其官网为:Tauri 它的作用其实和Electron很像&…

【PyQt】在PyQt5的界面上集成matplotlib绘制的图像

文章目录 0 前期教程1 概述2 matplotlib2.1 库导入2.2 图片的各个部分解释2.3 代码风格2.4 后端 3 集成matplotlib图像到pyqt界面中3.1 使用到的模块3.2 理解Qt Designer中的“控件提升”3.3 界面与逻辑分离的思路3.4 扩展 0 前期教程 【PyQt】PyQt5进阶——串口上位机及实时数…

transformer-Attention is All You Need(一)

1. 为什么需要transformer 循环模型通常沿输入和输出序列的符号位置进行因子计算。通过在计算期间将位置与步骤对齐,它们根据前一步的隐藏状态和输入产生位置的隐藏状态序列。这种固有的顺序特性阻止了训练样本内的并行化,这在较长的序列长度上变得至关重…

STM32-开发工具

开发过程中可能用到的工具 1、烧录下载调试工具ST-LINK ST-LINK,是ST(意法半导体)推出的调试编程工具,适用于STM32系列芯片的USB接口的下载及在线仿真器。 2、串口调试工具/串口下载工具 串口调试工具是一种用于通过串口通信协议与目标设备进行数据交…

源码网打包,目前有3000多个资源

源码网打包,目前有3000多个资源 需要赶快下手吧,到手可以使用,搭建好和本站一样,全网唯一 优化缩略图演示:https://www.htm.ink默认缩略图演示:https://blog.htm.ink网站截图

c入门第十六篇——学生成绩管理系统

师弟:“师兄,我最近构建了一个学生成绩管理系统,有空试用一下么?” 我:“好啊!” 一个简单的学生成绩管理系统,基本功能包括:添加学生信息、显示所有学生信息、按学号查找学生信息、…

网络安全习题集

第一章 绪论 4 ISO / OSI 安全体系结构中的对象认证安全服务使用( C ) 机制来完成。 A .访问控制 B .加密 C .数字签名 D .数据完整性 5 身份鉴别是安全服务中的重要一环,以下关于身份鉴别的叙述不正确的是…

const--类的常量成员函数

在C中,为了禁止成员函数修改数据成员的值,可以将它设置为常量成员函数。设置常量成员函数的方法是在函数原型的后面加上const,形式如下: class x { …………… T f(t1,t2) const{} ………… }; 常量成员函数的作用: 将成员函数设置为const,表明该成员函…

FMEA的六大分类——SunFMEA软件

FMEA是一种预防性的质量工具,通过对产品设计或过程的故障模式进行分析,评估其可能产生的影响,从而采取相应的措施来降低产品的故障风险。根据分析的范围和目的,FMEA可以分为以下几种类型,今天sun fmea软件系统和大家一…

理解孟子思想,传承中华文化

为了更好地了解和传承中华文化,加深对孟子思想的认识与理解,探究孟子思想在现代社会的传承与发展,2024年2月18日,曲阜师范大学计算机学院“古韵新声,格物致‘知’”实践队队员崔本迪在山东省泰安市东平县进行了深入的调…

vue-路由(六)

阅读文章你可以收获什么? 1 明白什么是单页应用 2 知道vue中的路由是什么 3 知道如何使用vueRouter这个路由插件 4 知道如何如何封装路由组件 5 知道vue中的声明式导航router-link的用法 6 知道vue中的编程式导航的使用 7 知道声明式导航和编程式导航式如何传…

代码随想录算法训练营第33天| Leetcode1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果

文章目录 Leetcode 1005.K次取反后最大化的数组和Leetcode 134. 加油站Leetcode 135. 分发糖果 Leetcode 1005.K次取反后最大化的数组和 题目链接:Leetcode 1005.K次取反后最大化的数组和 题目描述: 给你一个整数数组 nums 和一个整数 k ,按…

动态规划之编辑距离(接上一个题)

给定 n 个长度不超过 1010 的字符串以及 m 次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的 n 个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个对字符串进行的单个字符的插入、删除…

根据三维点坐标使用matplotlib绘制路径轨迹

需求:有一些点的三维坐标(x,y,z),需要绘制阿基米德螺旋线轨迹图。 points.txt 0.500002, -0.199996, 0.299998 0.500545, -0.199855, 0.299338 0.501112, -0.199688, 0.298704 0.501701, -0.199497, 0.298…

Qt使用单例模式读取xml文件

Qt使用单例模式读取xml文件 一、单例模式介绍1、什么是单例模式2、为什么使用单例模式3、什么情况下使用单例模式4、使用单例模式需要注意哪些问题线程安全 5、单例模式的类型6、单例类的特点 2、单例模式的实现2.1懒汉式2.2饿汉式 一、单例模式介绍 1、什么是单例模式 单例模…