中间人攻击( Man-in- the- Middle attack,简称MITM攻击)是一种间接的入侵攻击。这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的通信计算机之间,这台计算机就称为“中间人”。 BadUSB攻击方式是以USB设备作为攻击载体,能伪造成任何一种USB设备如鼠标、键盘、U盘等常见的设备。当受害者接入了被植入恶意代码的USB设备之后,计算机会自动去读取并执行攻击者事先在USB设备固件中的代码去执行,从而导致受害者的计算机被攻击。实施BadUSB中间人攻击,可以修改主机的网络设置,进而劫持到目标主机的网络流量。本节将介绍 MITM中间人攻击。
实施 BadUSB中间人攻击。具体操作步骤如下所示:
(1) 确保手机连接目标计算机时,MTP文件传输是关闭的。连接到目标计算机,打开手机的USB网关共享。在手机中依次选择“设置”“无线和网络”|“更多”1“网络共享与便携式热点”命令,将显示如图所示的界面:
(2) 在该界面单击USB网络共享右侧的按钮,即可启动USB网络共享。然后,打开一个 Kali shell查看是否成功启动了一个虚拟网卡。如下所示:
从以上输出信息中,可以看到多出一个名称为rdis0的虚拟网卡,即USB网络共享网卡。而且可以看到该接口自动获取到的P地址为192.168.42.129。
(3) 启动 BadUSB中间人攻击。在 Nethunter中选择 MITM Attack选项,将打开如图所示的界面。
(4) 从该界面可以看到,默认已经设置指定监听的接口为nds0。此时,单击右上角的按钮,将弹出一个菜单栏,可以用了启动或停止 MITMF攻击,
(5) 这里单击 Start MITM attack按钮,即可启动 MITM攻击。此时,被连接的计算机会多出个网卡,网关为rnds0的iP地址。如下所示:
从输出的信息中可以看到该主机中多出一个虚拟网卡,IP地址为192.168.42,9,网关为10.1.111在这种情况下,计算机会根据网络连接优先级选择网卡来访问互联网。默认劫持后的网关优先级更高,所以该计算机中的流量都将经过10001(mdis0)。因此,用户可以通过监听mnds0接口,来劫持目标计算机中的数据。
(6)由于木例中攻击者使用的是手机,所以使用命令行的方式来捕获数据包是比较方便的。最名的命令行捕获包就是使用 tcpdump。因此,用户可以使用 tcpdump命令来捕获目标主机的数据包。其中, tcpdump命令的语法格式如下所示
tcpdump选项表达式
该命令常用的选项及含义如下所示:
口a:将网络地址和广播地址转变成名字。
口c:在收到指定的包的数目后,停止 Tcpdump程序
口d:将匹配信息包的代码以人类可读的格式输出。
口d:将匹配信息包的代码以C语言程序段的格式输出
口d:将匹配信息包的代码以十进制的形式输出
口e:在输出行打印出数据链路层的头部信息。
-:将PV4地址以数字的形式打印出来。
口F:从指定的文件中读取表达式,忽略其它的表达式
口 -i interface:.指定监听的网络接口。如果不指定接口的话, tcpdump将在系统的接口清单中寻找号码最小,并且已经配置好的接口( loopback除外)。当选中的话,将会中断连接。在 Linux系统内核为2.2或更新的内核中,可以指定接口为“any”捕获所有接口的包。注意,在“any”接口上捕获包时,不能开启混杂模式。
1:使标准输出变为缓冲行形式。
旦-n:不把网络地址转换成名字。
口-p:关闭接口的混杂模式。
口-r:从指定的文件中读取包。
口s:从每个报文中截取 staple字节的数据,而不是缺省的65535个字节口+1:在输出的每一行不显示时间戳。
口v:输出详细的报文信息。
口-w:指定捕获包的文件名。
Tcpdump工具可以使用表达式过滤捕获的数据包。这里的表达式是一个正则表达式, tcpdump可以利用它作为过滤报文的条件。如果一个报文满足表达式的条件,则该报文将会被捕获。如果没有给出任何条件,则捕获网络上所有的数据包。在表达式中一般包括以下几种类型的关键字,如下所示
关于类型的关键字主要包括one、pot等。这三个关键字的区别如下所示
Host 192.168.1.100:表示仅捕获主机iPv4地址为192.168.1.100的数据包
Net l92.168:1.0:表示捕获192.168.1.0网络内主机的数据包
pont23:表示仅捕获端口为23的数据包。
如果没有指定类型,缺省的类型是host
2确定传输方向的关键字
要包括sre、dst、 dst or sr、 dst and src等,这些关键字指明了传输的方向。这几个关键字的使用如下所示
口sre l92.68.1:表示仅捕获源地址为192.1681.1的数据包。
口dst 192.168.100:表示仅捕获目的地址为192.168.100的数据包。
口 dst or src92.168.1.10:表示捕获源或目标地址为192.168.110的数据包。
口 dst net192.68.1.0:表示捕获网络地址是192.168.10的数据包。
如果没有指明方向关键字,则缺省是 src or dst关键字。
3协议的关键字
协议的关键字主要包括ip、arp、rap、tcp、udp等类型。如果没有指定任何协议,则 tcpdump将会监听所有协议的数据包。
除了以上三种类型的关键字外,还有一些其它的关键字,如 gateway、 broadcast、 less, greater K种逻辑运算符(非运算not或!、与运算and或&&、或运算o或”)。
例如,这里简单的启动 tcpdump,来捕获mdis0接口的数据包。则执行命令如下所示:
tcpdump -i rndis0
看到以上信息输出,则表示已启动了流量截获。此时,当连接的计算机访问网络中其它站点时,所有传输的数据包都将攻击者被劫持。如下所示:
以上就是劫持到的数据包。如果用户希望停止捕获的话,则按下Ctrl+C按钮,将显示如下信息:
1132 packets captured
1282 packets received by filter
150 packets dropped by kernel
这里显示了当前捕获到的数据包、通过过滤器接受到的包以及丢弃的包数。为了方便用户对捕获的
包进行分析,可以将捕获的包保存到一个文件中。然后,拷贝到计算机中,使用 Wireshark进行分析:
Ps:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
结束语:
技术学习需要自己刻苦钻研,在学习上一定要有坚韧不拔的毅力和百折不挠的耐心,遇到问题后一定要先思考,再百度,再求助。学习也要学会举一反三,思路也很重要!
学技术就要多折腾,不要因为怕弄坏不舍得乱动,这些东西都不是真正属于你的,只有技术才是自己的,大胆地折腾大胆地研究和尝试,系统折腾坏了再重装上,再折腾再研究,久病成医、百炼成钢,最终你会成为一名大师技术本身要比它所使用的工具重要,而比技术本身重要的是每个人自身的学习热情与方法。但是更重要 的是这过程中你所学会的技能和积累的经验,所有这些最终的目的是希望你在这一项技能的探索和学习中能够明白怎么在这样一个知识如此繁多与复杂的世界里快乐而高效地学会一项自己所需要的技能。如果能让你做到这一点,那么这些技术的意义将远远超过它的价值。信息检索的关键在于构造关键词,一定要学会怎么准确的构造搜索引擎(百度等)的搜索关键词。更快、更准确的找到自己问题的答案。
技术人员在使用自己所掌握的技术时应该有基本的道德准则,在这样一个时代,技术人员个人信仰的建立极为重要,希 望广大技术人员能够有“为天地立心,为生民立命,为往圣继绝学,为万世开太平”这样的信仰。我们不主张为他人的幸福 牺牲自己,但是我们希望每个人在追求个人幸福的时候,能够不以损害他人的幸福为基础。—-秀野堂主
没有回复内容