第1章 网络欺骗与防御概述
网络欺骗是利用各种技术手段,将目标网络数据发送给错误的接收方。网络欺骗不仅可以导致用户数据被窃取和篡改,也会导致接收方受到流量攻击。本章将对网络欺骗与防御进行概述。
1.1 什么是网络欺骗
在日常生活中,常见的网络欺骗技术可以分为两种,分别是中间人攻击和服务伪造。本节将分别介绍这两种网络欺骗方式。
1.1.1 中间人攻击
中间人攻击(Man In The Middle attack,MITM攻击)是一种“间接”的入侵攻击。这种攻击模式通过各种技术手段(如SMB会话劫持、ARP欺骗、DNS欺骗等),将受到入侵者控制的一台计算机虚拟地放置在网络连接中的两台通信计算机之间,使其充当“中间人”角色,负责转发双方的数据。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,进行数据嗅探和篡改,而不让通信双方发现的攻击,如图1.1所示。
图1.1 中间人攻击示意
随着计算机通信技术的不断发展,MITM攻击也越来越多样化。*初,攻击者只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现攻击。这是因为很多通信协议都是以明文进行传输的,如HTTP、FTP和Telnet等。后来,随着交换机代替集线器,简单的嗅探攻击已经不能成功,必须先进行ARP欺骗才行。如今,随着越来越多的服务商(网上银行、邮箱)开始采用加密通信,SSL(Secure Socket Layer,**套接层)成为一种广泛使用的技术,而且HTTPS和FTPS等都是建立在其基础上的。这时,中间人攻击又开始引入证书剥离、伪造根证书等技术。
1.1.2 服务伪造
服务伪造就是伪造一个虚假的服务器,代替真实服务器做出响应,进而获取用户的登录认证等重要信息。例如,通过伪造一个HTTP认证服务,可以获取用户认证信息。当成功伪造一个HTTP认证服务后,即可通过中间人攻击技术将目标主机诱骗到攻击主机的伪HTTP认证服务。若目标主机登录伪HTTP认证服务,其登录认证信息将被攻击主机捕获。
1.2 中间人攻击的种类
中间人攻击是一种由来已久的网络入侵手段,在当今仍然有着广泛的发展空间。在网络**方面,中间人攻击的使用很广泛,曾经猖獗一时的SMB会话劫持和DNS欺骗等技术都是典型的中间人攻击手段。目前,ARP欺骗和DNS欺骗是*典型的中间人攻击方��。本节将对中间人攻击的种类进行详细介绍。
1.2.1 ARP攻击
ARP是一种基于网络层的网络协议。它负责将IP地址转化为MAC地址,帮助把以IP地址标识的数据包发送给以MAC地址标识的网络设备。而ARP攻击通过伪造IP地址和MAC地址的对应关系来实现。这种攻击能够在网络中产生大量的ARP通信,导致网络阻塞。攻击者只要持续不断地发出伪造的ARP应答包,就能更改目标主机ARP缓存中的IP-MAC条目,从而造成ARP欺骗,形成中间人攻击。
1.2.2 DHCP攻击
DHCP是一种应用层网络协议,它能帮助网络服务器为网络内的其他主机分配IP地址。其他主机使用获取的IP地址进行数据发送。DHCP攻击针对的目标是网络中的DHCP服务器。它的原理是耗尽网络内原有DHCP服务器的IP地址资源,使其无法正常提供IP地址,然后网络中假冒的DHCP服务器开始为客户端分发IP地址。由于在分配IP地址的时候会附加伪造的网关和DNS服务器地址,所以会造成断网攻击,或者实现中间人攻击。
1.2.3 DNS攻击
DNS是一种应用层的网络协议,它负责将域名解析为对应的IP地址。用户在访问网站的时候,通常需要通过DNS服务器获取网站所对应的IP地址,才能请求到对应的网页。而DNS攻击是将域名解析到错误的IP地址,从而导致用户无法访问网页或者访问错误的网页。
1.2.4 WiFi攻击
WiFi是现在常见的联网方式。WiFi攻击是通过创建伪AP,以实现中间人攻击。首先,攻击者需要探测出目标的SSID、工作频道和MAC等相关信息,并且获取其无线连接的密码;然后,利用创建伪AP软件(如Aribase-ng)创建一个与真实AP相同配置的伪AP,并通过大功率网卡诱骗用户设备连接到伪AP上,从而实现WiFi攻击。
1.2.5 LLMNR/NetBIOS攻击
网络基本输入输出系统(Network Basic Input Output System,NetBIOS)和链路本地多播名称解析(Link-Local Multicast Name Resolution,LLMNR)是Microsoft针对工作组和域设计的名称解析协议,主要用于局域网中的名称解析。当DNS解析失败时,Windows系统会使用NetBIOS和LLMNR搜索名称。因此,基于这个工作原理,也可以进行中间人攻击。
1.3 技 术 构 成
中间人攻击技术可以分为四部分,分别是劫持流量、转发数据、嗅探数据及篡改数据。通过实施中间人攻击,攻击者可以对目标主机的数据进行劫持、转发及篡改。服务伪造主要是构建各种目标用户要访问的服务,以诱骗目标用户进行特定的操作,如输入用户名和密码信息。本节将介绍网络欺骗技术的构成。
1.3.1 劫持流量
劫持流量是中间人攻击的**步。攻击者必须获取目标发送和接收的数据,才能进行中间人攻击。前面讲解的ARP攻击、DHCP攻击、DNS攻击和WiFi攻击都是为了将目标数据引导至攻击者期待的主机上,然后进行后续处理。不同的攻击方式,可以劫持的数据也不同。例如,ARP攻击、DHCP攻击和WiFi攻击可以获取目标所有的数据流量,而DNS攻击只能获取被欺骗的域名的相关数据。
1.3.2 转发数据
转发数据就是将攻击者获取的数据转发到真实或者虚假的目的地。例如,进行DNS攻击的时候,如果要诱骗用户访问虚假网站,就需要构建错误的DNS记录,以引导用户访问虚假网站。如果不进行转发数据或者转发失败,则会导致目标用户无法访问网络,或者无法访问特定的网站。
1.3.3 嗅探数据
一旦成功地劫持流量,并成功地进行数据转发,攻击者就可以获取目标用户的网络数据。嗅探数据就是从这些网络数据中寻找有价值的信息。例如,通过嗅探HTTP数据,可以了解用户的上网习惯、兴趣爱好,以及用户的敏感信息,如特定网站的用户名、密码、个人隐私信息等。攻击者可以提取这些数据,以便后期利用。
1.3.4 篡改数据
嗅探数据只是被动地获取目标用户产生的数据。这些数据往往不是攻击者希望得到的数据。即使这些数据可以被利用,也往往由于具有时效性,而不能被长期使用。而篡改数据可以帮助攻击者实现特定的目的。例如,攻击者可以篡改目标用户提交的请求,将取消授权操作改为添加授权操作。这样,目标用户在不知情下,就完成了攻击者想要的操作。
1.3.5 构建服务
为了获取重要的信息,必须构建服务。构建的服务可以是完整的服务,也可以是部分模块,如认证模块。Kali Linux提供了以下两个相关工具:
? Responder工具:使用Responder工具可以伪造SMB等服务认证。当目标用户访问伪SMB服务时,其认证信息将被Responder工具捕获。
? isr-evilgrade工具:使用isr-evilgrade工具可以伪造更新服务。当实施DNS欺骗后,需要更新的软件就会访问渗透测试人员的计算机,下载预先准备好的攻击载荷作为更新包并运行。这样,渗透测试人员就可以控制目标主机了。
1.4 网 络 防 御
网络防御是帮助自己的计算机网络系统对抗网络攻击的措施和行为。它的目的是防止攻击者利用、削弱和破坏自己的网络系统,以确保自己的网络系统正常运行。通常情况下,防御措施可分为网络设备防护、网络通信防护、网络软件系统防护和网络服务防护等。其中,*常见的防御措施有防火墙技术、访问控制、数据加密、系统**漏洞监测等。本书将针对每种攻击方式讲解对应的防御策略。