网络安全技术基础——第3章:网络攻击技术

目录

[3.1 网络攻击概述](#3.1 网络攻击概述)

[1. 主动攻击](#1. 主动攻击)

[2. 被动攻击](#2. 被动攻击)

[3.2 网络攻击的常见形式](#3.2 网络攻击的常见形式)

[1. 口令窃取](#1. 口令窃取)

[2. 欺骗攻击](#2. 欺骗攻击)

[3. 漏洞攻击](#3. 漏洞攻击)

[4. 恶意代码攻击](#4. 恶意代码攻击)

[5. 拒绝服务攻击](#5. 拒绝服务攻击)

[3.3 网络攻击的一般过程](#3.3 网络攻击的一般过程)

[1. 信息收集](#1. 信息收集)

[2. 端口和漏洞扫描](#2. 端口和漏洞扫描)

[3. 网络隐身](#3. 网络隐身)

[4. 实施攻击](#4. 实施攻击)

[5. 植入后门](#5. 植入后门)

[6. 清除痕迹](#6. 清除痕迹)

[1. 准备阶段](#1. 准备阶段)

[2. 实施阶段](#2. 实施阶段)

[3. 善后阶段](#3. 善后阶段)

[3.4 网络攻击的准备阶段](#3.4 网络攻击的准备阶段)

[3.4.1 收集攻击目标信息](#3.4.1 收集攻击目标信息)

[1. 通过 Windows 命令收集信息](#1. 通过 Windows 命令收集信息)

[2. 通过 Whois 查询收集信息](#2. 通过 Whois 查询收集信息)

[3. 通过 Web 挖掘分析收集信息](#3. 通过 Web 挖掘分析收集信息)

[4. 通过社会工程学收集信息](#4. 通过社会工程学收集信息)

[5. 通过网络扫描收集信息](#5. 通过网络扫描收集信息)

[6. 通过网络监听收集信息](#6. 通过网络监听收集信息)

[3.4.2 网络攻击常用工具](#3.4.2 网络攻击常用工具)

[1. 扫描类工具软件](#1. 扫描类工具软件)

[2. 口令破解类工具软件](#2. 口令破解类工具软件)

[3. 监听类工具软件](#3. 监听类工具软件)

[4. 远程监控类工具软件](#4. 远程监控类工具软件)

[3.5 网络攻击的实施阶段](#3.5 网络攻击的实施阶段)

[3.5.1 网络隐身](#3.5.1 网络隐身)

[1. IP 地址欺骗](#1. IP 地址欺骗)

[2. MAC 地址欺骗](#2. MAC 地址欺骗)

[3. 网络地址转换](#3. 网络地址转换)

[4. 代理隐藏](#4. 代理隐藏)

[3.5.2 实施攻击](#3.5.2 实施攻击)

[3.6 网络攻击的善后阶段](#3.6 网络攻击的善后阶段)

[3.6.1 植入后门](#3.6.1 植入后门)

[1. 开放连接端口](#1. 开放连接端口)

[2. 修改系统配置](#2. 修改系统配置)

1)增加开机启动项

2)增加或修改系统服务设置

3)修改防火墙和安全软件配置

[3. 安装监控器](#3. 安装监控器)

[4. 建立隐蔽连接通道](#4. 建立隐蔽连接通道)

[5. 创建用户账号](#5. 创建用户账号)

[6. 安装远程控制工具](#6. 安装远程控制工具)

[7. 替换系统文件](#7. 替换系统文件)

[3.6.2 清除痕迹](#3.6.2 清除痕迹)

[1. 事件查看器](#1. 事件查看器)

[2. 浏览器访问痕迹](#2. 浏览器访问痕迹)

[3. Web 服务器痕迹](#3. Web 服务器痕迹)

[3.7 实战演练](#3.7 实战演练)

[3.7.1 使用 Zenmap 软件对目标主机进行网络扫描](#3.7.1 使用 Zenmap 软件对目标主机进行网络扫描)

[3.7.2 使用 Cain&Abel 软件暴力破解用户口令](#3.7.2 使用 Cain&Abel 软件暴力破解用户口令)

[3.7.3 使用 Wireshark 软件捕获和分析数据包](#3.7.3 使用 Wireshark 软件捕获和分析数据包)

[3.7.4 使用向日葵软件远程控制目标主机](#3.7.4 使用向日葵软件远程控制目标主机)

[3.7.5 使用 Autoruns 软件查找开机启动后门](#3.7.5 使用 Autoruns 软件查找开机启动后门)

[3.7.6 使用 360 安全卫士清除 Windows 使用痕迹](#3.7.6 使用 360 安全卫士清除 Windows 使用痕迹)




3.1 网络攻击概述

对于网络攻击,主要有两种定义:一种是指攻击仅仅发生在入侵行为完成,且入侵者已在目标网络中;另一种是指可能使网络系统受到破坏的所有行为。网络攻击可对网络系统的保密性、完整性、可用性、可控性和可审查性等造成威胁和破坏。

攻击者攻击网络系统的目的通常有以下几种。

(1)获取超级用户权限,对系统进行非法访问。

(2)获取所需信息,包括科技情报、个人资料、金融账户、银行卡密码及系统信息等。

(3)篡改、删除或暴露数据资料,达到非法目的。

(4)利用系统资源,对其他目标进行攻击、发布虚假信息、占用存储空间等。

(5)占满服务器的所有服务线程或网络带宽,使其瘫痪,无法正常提供服务。

网络攻击的基本特征是:由攻击者发起并使用一定的攻击工具,对目标网络系统进行攻击访问,并呈现出一定的攻击效果,实现了攻击者的攻击意图。

提示:可以说,网络攻击代表了任何非授权而进入或试图进入他人计算机网络的行为,它是攻击者实现入侵目的所采取的技术手段和方法。这种行为包括对整个网络的攻击,也包括对网络中的服务器、防火墙、路由器等单个节点的攻击,还包括对节点上运行的某一个应用系统或应用软件的攻击。

根据攻击实现方法的不同,可将网络攻击分为主动攻击和被动攻击两类。


1. 主动攻击

主动攻击是指攻击者为了实现攻击目的,主动对需要访问的信息进行非授权的访问行为。例如,通过远程登录服务器的 TCP 25 号端口搜索正在运行的服务器的信息,在 TCP 连接建立时通过伪造无效 IP 地址耗尽目标主机的资源等。主动攻击一般可以分为中断、篡改和伪造 3 种类型。

(1)中断。中断是针对系统可用性的攻击,主要通过破坏计算机硬件、网络和文件管理系统来实现。拒绝服务是最常见的中断攻击方式,除此之外,针对身份识别、访问控制、审计跟踪等应用的攻击也属于中断。

(2)篡改。篡改是针对信息完整性的攻击,主要利用存在的漏洞破坏原有的机制,实现攻击目的。例如,通过安全协议可以有效地检测出信息存储和传输过程中出现的全部或部分被复制、删除及失效等行为,但攻击者可以破坏或扰乱相关安全协议的执行,进而使安全协议丧失应有的功能。

(3)伪造。伪造是指某个实体(人或系统)冒充成其他实体,发出含有其他实体身份信息的数据信息,从而以欺骗方式获取一些合法用户的权利和特权。它主要用于对身份认证和资源授权进行攻击,攻击者在获得合法用户的用户名和密码等账户信息后,假冒成合法用户非法访问授权资源或进行非法操作。例如,当攻击者冒充为系统管理员后,可拥有对系统的最高权限,进而对系统进行任意的参数修改、功能设置、账户管理等操作,对系统安全产生严重威胁。


2. 被动攻击

被动攻击是利用网络存在的漏洞和安全缺陷对网络系统的硬件、软件及系统中的数据进行的攻击。被动攻击一般不会对数据进行篡改,而是通过截取或窃听等方式在未经用户授权的情况下对信息内容进行获取,或者对业务数据流进行分析。被动攻击一般可以分为窃听和流量分析两种类型。

(1)窃听。窃听是指借助于技术手段窃取网络中的信息,既包括以明文形式保存和传输的信息,也包括通过数据加密技术处理后的密文信息。例如,无线局域网(WLAN)目前采用 2.4 GHz 和 5.0 GHz 两个微波频段通信,由于微波信号以电磁波的形式在开放空间中传输,所以任何一台工作在该频段的设备在信号传输的有效范围内,都可以接收到承载着各类信息的信号,然后通过信号分析便可以恢复得到原始信号。

(2)流量分析。数据在网络中传输时都以流量进行描述,流量分析建立在数据拦截的基础上,对截获的数据根据需要进行定向分析。Internet 中的流量在节点之间传输时都需要遵循 TCP/IP 体系结构所确定的协议,流量分析攻击可以针对 TCP/IP 分层结构的每一层,如通过对应层报文的攻击直接获得用户的数据等。

知识库

在 TCP/IP 分层模型中,每一层对网络流量的格式定义称为协议数据单元(PDU)。其中,物理层的 PDU 称为数据位(bit);数据链路层的 PDU 称为数据帧(frame);网络层的 PDU 称为分组(packet);传输层的 PDU 称为数据段(segment);应用层的 PDU 统称为报文(message)。

对于传输层及其以下层的 PDU,虽然无法直接获得具体的信息,但攻击者通过对获取的 PDU 进行分析,便可以确定通信双方的 MAC 地址、IP 地址、通信时长等,进而确定通信双方所在位置、传输的数据类型、通信的频度等,这些信息为进一步实施后续的攻击提供了重要依据。



3.2 网络攻击的常见形式

网络攻击的常见形式主要包括口令窃取、欺骗攻击、漏洞攻击、恶意代码攻击、拒绝服务攻击等。

1. 口令窃取

口令窃取是指通过网络监听、弱口令扫描、社会工程学或暴力破解等各种方式非法获取目标系统的用户账号和口令,然后冒充该合法用户非法访问目标系统。

(1)网络监听。许多网络协议如 HTTP,SMTP,POP3 和 Telnet 等默认采用明文传输账号和口令信息,攻击者只需在信息传输路径的某个节点使用网络监听技术,即可轻易截获目标系统的账号和口令。

(2)弱口令扫描。针对采用散列算法加密口令的网络协议,如 SMB,SSH,VNC,MySQL,NTLM 等,攻击者应用弱口令扫描技术并结合适当的口令字典,可以破解一些设置较为简单的用户口令。

**提示:**当用户使用较复杂的字符组合作为口令时,如口令长度大于 8 个字符、采用大小写字母结合数字和符号等,或者目标系统设置了登录策略,如只允许一定次数的失败登录尝试,则弱口令扫描几乎无法成功。

(3)暴力破解。该方法的前提是获取经过散列算法单向加密的口令,然后采用口令字典或穷举字符空间的方式,对加密后的口令进行离线破解。其原理与弱口令扫描类似,都是根据不同协议所采用的公开的散列算法进行口令的正向猜测。当针对猜测的口令生成的散列值与截获的口令散列值相同时,则找到了正确的口令。

**提示:**暴力破解针对字符空间进行穷举时,需要花费的时间随着口令长度的增加和字符数量的增加成几何级数增长,因此攻击者必须耗费大量的计算资源进行并行计算才有可能在有效时间内成功破解。

(4)彩虹表攻击。由于穷举字符空间过于费时,攻击者们开发出一种称为 "彩虹表攻击" 的破解技术。彩虹表是一张预先计算好,针对不同散列算法的逆运算的表,其中存储部分明文口令和口令散列的对应关系。

**知识库:**通俗地讲,彩虹表就是一个庞大的、针对各种可能的字符组合预先计算好的散列值集合。彩虹表攻击比暴力破解的处理时间少而需要的空间多,主流的彩虹表大小在 100 GB 左右,但它比字典攻击需要的空间少而处理时间多。

(5)社会工程学。社会工程学方法也可以用于窃取用户口令,这种方式一般称为 "钓鱼",其基本原理是攻击者通过伪造登录界面、提供虚假页面、发送恶意链接、发送伪造邮件等方式,使用高度逼真的图片和内容诱使用户输入真实的口令,隐藏在这些虚假界面、页面、链接和邮件后的程序或脚本会通过各种途径记录这些口令并隐蔽地提交给攻击者。

口令机制是资源访问控制的第一道屏障。网络攻击者常常以破解用户的弱口令为突破口,获取系统的访问权限。随着计算机软硬件技术的发展,以及人们计算能力的提高,目前有许多专用的口令攻击软件流行,使得口令窃取变得更为有效。


2. 欺骗攻击

欺骗攻击拦截正常的网络通信数据并进行数据篡改和嗅探,而通信双方却毫不知情,因此也称为中间人攻击(MITM)

实现欺骗攻击的首要任务是截获通信双方的数据,然后才是篡改数据进行攻击。在集线器组成的局域网中,实现监听十分容易,因为所有主机共享一条信道,数据会广播至所有端口,攻击者只需要将网卡设置为混杂模式即可。但是,现在已经普遍采用通过交换机组成的局域网,通信双方独占信道,其他主机的通信报文不会发送至攻击者的网卡,因此攻击者必须主动攻击以截获主机间的通信数据。

在广域网上实现欺骗攻击,攻击者必须控制路径中的某个中间节点,或者欺骗某个交换节点接收虚假路由,从而使报文通过错误的路由传递给攻击者,攻击者才可能截获双方的报文,进而篡改报文实施攻击。

根据截获报文的不同应用协议,欺骗攻击有不同的攻击方式。例如,DNS 欺骗用于修改 DNS 应答报文并诱导用户访问钓鱼页面;Web 欺骗修改 HTTP 请求和响应报文等。

**提示:**在交换式局域网中,截获和监听数据的方式主要有站表溢出、ARP 欺骗、DHCP 欺骗和 ICMP 路由重定向等。在广域网中,主要使用路由欺骗,相对而言,广域网截获数据的难度要大得多。成功截获双方的通信数据后,攻击者可以根据攻击的需要及截获的不同层次协议报文展开各类攻击。


3. 漏洞攻击

漏洞攻击是指利用硬件、软件、协议的具体实现或系统安全策略方面的缺陷,编写利用该缺陷的破解代码和破解工具,实施远程攻击目标系统或目标网络。这是最主流的主动攻击方式。

**提示:**由于人工编写程序时无法保证程序百分之百正确,因此安全漏洞无法避免。最新发现的漏洞称为 "零日" 漏洞,攻击者如果在安全厂商发布安全补丁之前开发出破解程序,就可以轻松攻击存在漏洞的远程目标。

根据破解的位置,漏洞可分为本地漏洞和远程漏洞。其中,本地漏洞是指需要操作系统的有效账号登录到本地才能破解的漏洞,主要是权限提升类漏洞,即把自身的执行权限从普通用户级别提升到管理员级别;远程漏洞是指无须操作系统账号的验证即可通过网络访问目标进行漏洞破解,如果漏洞仅需要诸如 FTP 用户账号即可破解,则该漏洞属于远程漏洞。

根据威胁类型,漏洞可分为非法访问漏洞、信息泄露漏洞和拒绝服务漏洞。其中,非法访问漏洞可以导致程序执行流程被劫持,转向执行攻击者指定的任意指令或命令,从而信息篡改或其他破坏行为。常见的攻击方式包括网络病毒、网络蠕虫、木马攻击、后门攻击和恶意脚本等。


4. 恶意代码攻击

恶意代码是指未经授权认证且可以破坏系统完整性的程序或代码,恶意代码攻击则是指将恶意代码隐藏传送到目标主机,并可远程执行未经授权的操作,从而实施信息窃取、信息篡改等其他破坏行为。

恶意代码的一般攻击过程为:入侵系统→提升权限→隐蔽自己→实施攻击。一段成功的恶意代码,首先必须具有良好的隐蔽性和生存性,不能轻易被防御工具察觉,然后才是良好的攻击能力。恶意代码的功能一般包括远程控制、进程控制、键盘记录、网络监听、信息窃取、设备控制等。

**知识库:**恶意代码的生存技术主要包括反调试技术、压缩技术、加密技术、多态变换和变形技术等。① 恶意代码采用反调试技术可以增加分析工具对其检测和清除的难度,并提高自身的伪装能力;② 压缩技术俗称 "压缩加壳",它是利用特殊的算法,对可执行文件里的资源进行压缩,压缩后的文件可以独立运行,解压过程在内存中完成;③ 加密技术是恶意代码自我保护的主流手段,将它与反调试技术配合,可让安全人员无法正常调试和分析恶意代码,从而无法知道其工作原理和抽取特征代码;④ 多态变换俗称花指令或模糊变换,即用不同的方式实现同样功能的代码;⑤ 变形技术在多态变换的基础上更进一步,它针对整个恶意代码程序而不是其中一段或几段代码进行处理。

恶意代码在成功躲避安全软件的扫描和检测后,为了能够在执行时不被安全人员和防火墙察觉,通常会采用进程注入、三线程、端口复用、端口反向连接和文件隐藏等技术来隐藏自己。


5. 拒绝服务攻击

拒绝服务(DoS)攻击通常是指造成目标无法正常提供服务的攻击,可能是利用 TCP/IP 协议的设计或实现漏洞、各种系统或服务程序的实现漏洞造成目标系统无法提供正常服务的攻击,也可能是通过各种手段消耗网络带宽及目标的系统资源(如 CPU 时间、磁盘空间、物理内存等)使得目标停止提供正常服务的攻击。

**提示:**拒绝服务攻击旨在消耗网络带宽或服务器的系统资源,最终会导致被攻击服务器的资源耗尽或系统崩溃而无法提供正常的网络服务。这种攻击对服务器来说,可能并没有造成损害,但可以使人们对被攻击服务器所提供的服务的信任度下降,影响公司声誉和用户对网络的使用。

常见的拒绝服务攻击主要分为带宽攻击、协议攻击和逻辑攻击。

(1)带宽攻击。带宽攻击是最常见的拒绝服务攻击。攻击者使用大量垃圾数据流填充目标的网络链路,导致网络设备如果不能及时处理发送给它的大量流量,就会导致响应速度变慢甚至系统崩溃,进而停止服务。带宽攻击包括 UDP 洪水、Smurf 攻击和 Fraggle 攻击等。

**知识库:**UDP 洪水是指向目标的指定 UDP 端口发送大量无用 UDP 报文以占满目标带宽,目标系统接收到 UDP 报文时,会确定目的端口对应的进程,如果该端口未打开,系统会生成 "ICMP 端口不可达" 报文发送给源地址。当攻击者短时间向目标端口发送海量报文时,目标系统很可能会瘫痪。

Smurf 攻击是指攻击者伪造并发送大量源 IP 地址为受害主机 IP 地址,目标地址为广播地址的 ICMP Echo 请求报文,当网络中的每台主机接收该报文时,都会向受害主机的 IP 地址发送 ICMP Echo 应答报文,使得受害主机短时间内收到大量 ICMP 报文,从而导致其带宽被消耗殆尽。

Fraggle 攻击是 Smurf 攻击的变形,它使用 UDP 应答而不是 ICMP 报文,基于 UDP 的 Chargen 或 Echo 协议实现,它们分别使用 UDP 端口 19 和 7。当攻击者向网络中的所有主机发送目标端口是 19 或 7 的 UDP 请求报文时,开启 Chargen 或 Echo 服务的主机会发送应答给报文的源地址,从而可能造成源地址主机的带宽被耗尽。

(2)协议攻击。协议攻击是指利用网络协议的设计和实现漏洞进行的攻击,如 SYN 洪水攻击、泪滴攻击、死亡之 Ping、LAND 攻击等。

**知识库:**SYN 洪水攻击利用 TCP 协议的设计缺陷,发送大量伪造的 TCP 连接请求,使得目标主机用于处理三路握手连接的内存资源耗尽,从而停止 TCP 服务。

泪滴攻击利用 IP 协议有关分片的实现漏洞,向目标主机发送分成若干不同分片的 IP 报文,但是不同分片之间有重叠,如果目标系统无法正确识别此类畸形分片,在重组这些分片时容易发生错误导致系统崩溃,从而停止服务。

死亡之 Ping 是指早期操作系统在实现 TCP/IP 协议栈时,对报文大小超过 64 KB 的异常情况没有处理。IP 报文在进行分片组合后,重组后的 IP 报文的总长度只有在所有分片都接收完毕之后才能确定,而早期协议实现时报文的重组代码所分配的内存区域最大不超过 64 KB。当重组完毕后出现超出 64 KB 的报文,其中的额外数据就会被写入其他区域,从而产生一种典型的缓冲器溢出攻击。由于使用 Ping 工具很容易完成这种攻击,如ping -l 65500 目标ip -t,所以称为 "死亡之 Ping"。

LAND 攻击是指构造特殊的 SYN 握手报文,将报文源地址和目标地址都设置为目标主机地址,而且源端口设置为与目标端口相同,使得目标主机向自身发送第二路连接握手报文,并造成目标主机的连接管理混乱,最终使目标系统瘫痪。

(3)逻辑攻击。逻辑攻击利用目标系统或服务程序的实现漏洞发起攻击,如早期的 "红色代码" 和 "尼姆达" 网络蠕虫,就是利用 Windows 的 RPC 服务实现漏洞发起的大规模拒绝服务攻击,主要消耗目标的 CPU 和内存资源。

**知识库:**分布式拒绝服务(DDoS)攻击是指多个攻击源同时向单一目标发起相同的 DoS 攻击,也称为协同 DoS 攻击,使得目标很快陷于瘫痪。



3.3 网络攻击的一般过程

攻击者攻击网络系统通常先锁定攻击目标,再利用一些公开协议或安全工具收集目标的相关信息,然后扫描分析系统的弱点和漏洞,进而发动对目标的网络攻击。

实施网络攻击的过程虽然复杂多变,但是仍有规律可循。一次成功的网络攻击通常包括信息收集、端口和漏洞扫描、网络隐身、实施攻击、植入后门和清除痕迹等步骤。网络攻击的基本流程如图 3-1 所示。

图 3-1 网络攻击的基本流程(流程节点:信息收集 → 端口和漏洞扫描 → 网络隐身 → 开放服务 / 获得漏洞 / 账号密码 → 实施攻击 → 植入后门 / 获取 / 提升访问权限 / 清除痕迹 → 实施具体攻击行为;信息收集分支:接入方式(无线接入 / VPN 接入)、域名范围、IP 地址范围、设备类型;端口和漏洞扫描分支:账号密码、E-Mail、窗口口令攻击;账号密码分支:木马攻击、网络钓鱼、发送病毒;网络隐身分支:用户假冒、IP 欺骗、MAC 欺骗、代理隐藏;开放服务分支:拒绝服务攻击;账号密码分支:弱口令攻击)


1. 信息收集

信息收集是指通过各种方式获取目标主机或网络的信息,属于攻击前的准备阶段,也是一个关键的环节。首先要确定攻击目的,即明确要给对方形成何种后果,如获取机密文件信息、破坏系统完整性、获得系统的最高权限等。其次是尽可能多地收集各种与目标系统有关的信息,形成对目标系统的粗略性认识。

**提示:**收集的信息通常包括网络接入方式(拨号接入、无线局域网接入、以太网接入、VPN 远程接入等)、目标网络信息(域名范围、IP 地址范围、具体地理位置等)、网络拓扑结构(交换设备类型、设备生产厂家、传输网络类型等)、网络用户信息(邮件地址范围、用户账号及密码等)。


2. 端口和漏洞扫描

扫描首先要确定主机的操作系统类型和版本、提供哪些服务、服务软件的类型和版本等信息,然后检测这些系统软件和服务软件的版本是否存在已经公开的漏洞,并确认漏洞还没有及时打上补丁。因为网络服务基于 TCP/UDP 端口开放,所以判定目标服务是否开启就演变为判定目标主机的对应端口是否开启。

端口扫描检测有关端口是打开还是关闭,现有端口扫描工具还可以在发现端口打开后,继续发送探测报文,判定目标端口运行的服务类型和版本信息。通过对主机发送多种不同的探测报文,根据不同操作系统的响应情况,可以产生操作系统的 "网络指纹",从而识别不同系统的类型和版本,这项工作通常由端口扫描工具完成。

漏洞扫描是基于已有漏洞数据库,对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。在检测出目标系统和服务的类型及版本后,需要进一步扫描它们是否存在可供利用的安全漏洞,这一步的工作通常由专用的漏洞扫描工具完成。


3. 网络隐身

网络隐身通常是指在网络中隐藏自己真实的 IP 地址等,使被攻击者无法反向追踪到攻击者。常用的方法有以下几种:

(1)IP 假冒或盗用。TCP/IP 协议不检查 IP 地址,所以攻击者可定制一个虚假源 IP;有的访问控制系统会设置 IP 访问黑名单,攻击者可以修改 IP 地址从而绕过该机制。

(2)MAC 地址盗用。有些网络接入系统针对 MAC 地址作了限制,攻击者通过修改自身主机的 MAC 地址即可以冒充合法主机接入目标网络,从而发起攻击。

(3)代理隐藏。攻击者进行网络攻击时,一般通过免费代理进行,即使被网络管理人员发现,也仅是发现代理地址,而不会发现攻击者的真实 IP;如果攻击者通过多个代理级联,那么就更加难以追踪。

(4)冒充真实用户。通过监听或破解网络合法用户的账号和口令后,利用该账户进入目标网络。

(5)僵尸主机。入侵互联网上的某台僵尸主机,通过该主机进行攻击,并在该主机上清除所有与攻击者有关的痕迹。这样,即使目标系统的网络管理人员发现了攻击行为,也只能看到僵尸主机的 IP 地址,而发现不了攻击者的真实地址。


4. 实施攻击

当攻击者检测到可利用漏洞后,利用漏洞破解程序即可发起入侵或破坏性攻击。攻击的结果一般分为拒绝服务攻击、获取访问权限和提升访问权限等。

拒绝服务攻击可以使得目标系统瘫痪,此类攻击危害极大,特别是从多台不同主机发起的分布式拒绝服务(DDoS)攻击,目前还没有防御 DDoS 攻击的较好方法。获取访问权限是指获得目标系统的一个普通用户权限。一般利用远程漏洞进行远程入侵,都是先获得普通用户权限,然后需要配合本地漏洞把获得的权限提升为系统管理员的最高权限。只有获得了最高权限后,才可以实施如网络监听、清除攻击痕迹等操作。权限提升的其他办法包括暴力破解管理员口令、检测系统配置错误、网络监听或设置钓鱼木马等。


5. 植入后门

一次成功的攻击往往耗费大量时间和精力,因此攻击者为了再次进入目标系统并保持访问权限,通常在退出攻击之前,会在系统中植入后门程序。所谓后门,就是无论系统配置如何改变,都能够成功让攻击者再次轻松和隐蔽地进入网络或系统而不被发现的通道。

植入后门的方法主要有:① 开放不安全的服务端口;② 修改系统配置(如系统启动文件、网络服务配置文件等);③ 替换系统本身的共享库文件;④ 修改系统源代码,安装各种木马;⑤ 放宽文件许可权限;⑥ 建立隐蔽通道。


6. 清除痕迹

在攻击成功获得访问权或控制权后,此时最重要的事情是清除攻击痕迹,隐藏自己的踪迹,防止被网络管理人员发现。因为所有操作系统通常都提供日志记录,会把所有发生的操作记录下来,所以攻击者往往要清除登录日志和其他有关记录。常用方法包括隐藏上传的文件、修改日志文件中的审计信息、修改系统时间造成日志文件数据紊乱、删除或停止审计服务进程、干扰入侵检测系统正常运行、修改完整性检测数据等。

**提示:**当前,网络攻击手段越来越高明,网络攻击技术正朝着自动化、智能化、系统化、高速化等方向发展,网络攻击已经对网络安全构成了极大的威胁。因此,只有熟知各种网络攻击的基本原理和技术,才能做好相应的防护工作。

进行网络攻击是一项复杂且步骤性很强的工作,为方便讲解,本章将网络攻击过程划分为 3 个阶段:准备阶段、实施阶段和善后阶段,如图 3-2 所示。

图 3-2 网络攻击的 3 个阶段

  • 准备阶段:确定攻击目的 → 收集攻击目标信息 → 准备攻击工具
  • 实施阶段:隐藏自身位置 → 登录目标主机 → 获得控制权和资源
  • 善后阶段:植入后门 → 清除痕迹

1. 准备阶段

在攻击的准备阶段重点做 3 件事:确定攻击目的、收集攻击目标信息、准备攻击工具

(1)确定攻击目的。即确定攻击希望达到的效果,攻击者在进行一次完整的攻击之前,首先要确定攻击要达到什么样的目的,或者说,想要给攻击目标造成什么样的后果。攻击目的不同,攻击的方案也不同。

(2)收集攻击目标信息。在确定了攻击目的之后,最重要的工作就是搜集尽量多的关于攻击目标的信息,包括公开的信息和主动探测的信息。公开的信息包括单位信息、管理人员信息、域名信息等,但是有些信息(如目标网络的拓扑结构、目标网络中是否有主机存在)需要自行探测才能搜集到。

(3)准备攻击工具。收集或编写适当的工具,并在对操作系统分析的基础上,对工具进行评估,判断有哪些漏洞和区域没有覆盖到。通过工具来分析目标主机中可以被利用的漏洞,由于漏洞分析过程复杂、技术含量高,所以一般借助软件自动分析。

2. 实施阶段

在本阶段实施具体的攻击行动。作为破坏性攻击,只需要利用工具发动攻击即可;而作为入侵性攻击,往往需要利用收集到的信息,找到系统漏洞,然后利用该漏洞获取一定的权限。攻击实施阶段一般包括如下几个步骤。

(1)隐藏自己的位置,攻击者利用隐藏 IP 地址等方式保护自己不被追踪。

(2)利用收集到的信息获取账号和密码,登录目标主机。

(3)利用漏洞或其他方法获得控制权并窃取网络资源和特权。

3. 善后阶段

对于攻击者而言,完成前两个阶段的工作,也就基本上实现了攻击的目的。在善后阶段,为了下次攻击的方便,攻击者会在受害主机中植入后门程序。而且,为了防止被系统安全管理人员追踪,攻击者还会清除掉留在系统日志中的痕迹。网络系统通常都有日志记录功能,会记录所有执行过的操作,因此为了增加攻击的隐蔽性,善后工作不能忽视。



3.4 网络攻击的准备阶段

在网络攻击的准备阶段,需要完成信息收集和攻击工具的准备等工作。

3.4.1 收集攻击目标信息

信息收集也称为网络踩点,是攻击者通过各种途径对要攻击的目标进行有计划和有步骤的信息收集,从而了解目标的网络环境和信息安全状况的过程。其方法主要包括通过 Windows 命令收集信息、通过 Whois 查询收集信息、通过 Web 挖掘分析收集信息、通过社会工程学收集信息、通过网络扫描收集信息、通过网络监听收集信息等。

**提示:**对于目标网络,要获取的信息包括域名、IP 地址、DNS 服务器、邮件服务器、网络拓扑结构等;对于目标个人,可以收集其身份信息、联系方式、职业或其他隐私信息等。掌握这些信息后,攻击者就可以利用端口和漏洞扫描技术收集更多的信息,从而为实施网络攻击做好准备。


1. 通过 Windows 命令收集信息

现代操作系统的图形用户界面非常友好,使用图形用户界面是日常工作的首选。但是,在图形用户界面下无法完成许多复杂而高效的工作,而且远程攻击获得的大多是文本界面的接口。因此,需要熟悉基于文本的命令行接口及常用命令。

Windows 操作系统的命令行接口称为 "命令提示符"(系统自带的可执行程序cmd.exe),它可以运行 DOS 命令。网络攻击中常用的 Windows 命令有以下几个。

(1)ping 命令 :用于测试网络的连通性及网络的性能。例如,执行ping 61.135.169.121,根据返回结果可判断本机与目标主机 "61.135.169.121" 的连通情况。如果无法连通,可能是该主机不在线或安装有防火墙,不易入侵。

(2)nslookup 命令 :用于查看主机的 DNS 服务器,其最简单的应用是查询域名对应的 IP 地址。例如,执行nslookup www.qq.com,可以查看腾讯网服务器对应的 IP 地址。根据 IP 地址,攻击者可通过有关机构的 IP 地址数据库,进一步获取该 IP 对应的地理位置。

(3)netstat 命令 :用于查看协议统计和当前的 TCP/IP 连接。例如,执行netstat -a 192.168.0.106,可以查看该本地主机的所有开放端口。

(4)nbstat 命令 :用于查看在 TCP/IP 协议之上运行 NetBIOS(网上基本输入输出系统)服务的统计数据,并可以查看本地和远程计算机上的 NetBIOS 名称列表。例如,执行nbstat -n,可以查看本地计算机的 NetBIOS 名称列表;执行nbstat -A 123.125.71.32,可以查看指定 IP 地址的远程计算机的 NetBIOS 名称列表。

(5)ipconfig 命令 :执行ipconfig/all命令,可以查看网卡的 MAC 地址、主机的网络设置等;执行ipconfig/renew命令,可以重新获得网络地址。如果已经入侵了目标系统,则可以通过 ipconfig 命令获取目标网络的配置信息。


2. 通过 Whois 查询收集信息

Whois 查询是指查询某个域名或 IP 是否已注册,以及注册时的详细信息。它可以查询域名或 IP 的归属者,包括其联系方式、注册和到期时间等。DNS 和 IP 是 Internet 赖以运的基础设施,需要公开对外发布,并在公共数据库中进行维护和查询,主要由 ICANN(互联网名称与数字地址分配机构)采用层次化方式统一管理。

**知识库:**注册人为了保留一个域名,必须将域名注册在近 1000 家 ICANN 授权注册商之一的名下。注册商将检查该域名是否可用,并按照注册人提供的信息建立一个 Whois 记录。注册人还可以通过注册商旗下的分销商来注册域名。其中,注册人是指注册域名的个人或组织;注册商是指 ICANN 授权的组织,是得到注册局运营商认证并可以销售域名的单位。

Whois 查询包括 DNS Whois 查询和 IP Whois 查询。提供 Whois 查询服务的站点主要有:

(1)全球 Whois 查询(https://www.whois365.com/cn/

(2)站长之家 - Whois 查询(http://whois.chinaz.com/

(3)站长之家 - IP Whois 查询(http://tool.chinaz.com/ipwhois/

(4)阿里云 - Whois 查询(https://whois.aliyun.com/

(5)美橙互联 - Whois 查询(https://whois.cndns.com/

(6)爱站网 - Whois 查询(https://whois.aizhan.com/

例如,从 "站长之家 - Whois 查询" 站点查询搜狐域名 "sohu.com" 的 Whois 注册信息,结果如图 3-3 所示。从图中可知,该站点还提供 Whois 反查(即可以通过所有人的邮箱或电话,反向查询以该邮箱或电话申请的所有域名信息)。

图 3-3 搜狐 Whois 查询结果 (查询界面展示:域名sohu.com的注册信息,包括域名、注册商、联系邮箱、创建时间、到期时间、更新时间、域名服务器等)

**提示:**简单来说,IP Whois 就是有关 IP 地址详细信息的数据库,它包括了 IP 地址的用户及用户的相关信息等。其查询方法与 DNS Whois 查询类似。


3. 通过 Web 挖掘分析收集信息

Web 站点是 Internet 上最为流行的信息和服务发布方式,从 Web 站点中寻找和搜索攻击目标的相关信息也是一种网络踩点方法。一般通过 Google、百度、必应等搜索引擎进行目标的搜索和挖掘,此类方法统称为Google Hacking。其根据挖掘内容的不同分为主页目录结构分析、站点内高级搜索、邮件地址收集及域名和 IP 收集等。


4. 通过社会工程学收集信息

社会工程学可以定义为:通过操纵人来实施某些行为或泄露机密信息的一种攻击方法,实际上就是对人的欺骗。它通常以交谈、欺骗、假冒或伪装等方式开始,从合法用户那里套取用户的敏感信息,如系统配置、口令或其他有助于进一步攻击的有用信息。

随着互联网技术和社交平台的飞速发展,现在可以利用社交网络进行信息收集,同时隐藏自己的真实身份;可以浏览个人空间和博客、分析微博内容、用即时聊天工具与目标实时沟通,甚至可以取得目标的信任,获得其姓名、电话、邮箱甚至生日及家人信息。

**提示:**Maltego 是一款可以广泛收集各类社会信息的工具,它支持 Windows 和 Linux 等多种平台。


5. 通过网络扫描收集信息

网络扫描就是对计算机系统或其他网络设备进行相关的安全检测,以便发现安全隐患和可被攻击者利用的漏洞。它是基于网络的远程服务发现和系统脆弱点检测的一种技术。

网络扫描的结果通常包括目标主机开启的服务(以端口标记)、服务程序的开发商和版本号、目标主机的操作系统类型和版本号、可利用的服务程序漏洞、可利用的操作系统漏洞、目标主机的账号和口令、服务程序的账号和口令等敏感信息。

网络管理人员只有收集到足够有效的信息,才有可能防止潜在的攻击行为。同时,攻击者需要尽可能地发现可利用的薄弱点,才能实施攻击。因此,网络扫描的基本方式是首先扫描目标网络以找出尽可能多的服务连接,然后扫描目标服务以判定服务类型和版本,最后对服务进行漏洞扫描以确定是否存在可利用的漏洞。

从实现的技术角度看,网络扫描可分为基于主机的扫描和基于网络的扫描,有时也称为被动式策略扫描和主动式策略扫描。

(1)基于主机的扫描:指运行在被扫描主机之上,对系统中错误的配置、脆弱的口令和其他不符合安全策略的设置进行检测,此类扫描器必须具有系统访问权限,又称为系统安全扫描。

(2)基于网络的扫描:也称为主动式策略的安全扫描,是指向远程主机发送探测报文,获取响应报文并对其进行解码分析,从而发现网络或主机的各种漏洞。

**知识库:**实现扫描功能的网络安全工具称为扫描器。扫描器实际上是一种自动检测远程或本地主机安全性弱点的程序。通过与目标主机 TCP/IP 端口建立连接,并请求某些服务(如 Telnet、FTP),记录目标主机的应答,搜集目标主机相关的信息,以此获得关于目标主机的信息,理解和分析这些信息,就可能会发现破坏目标主机安全性的关键因素。

扫描器的重要性在于把极为复杂的安全检测,通过程序来自动完成,这不仅减轻了网络管理人员的工作,还缩短了检测时间,使问题发现得更快。扫描器并不直接攻击网络漏洞,而是仅仅能帮助人们发现目标主机的某些内在弱点。一个好的扫描器能对它得到的数据进行分析,帮助查找目标主机的漏洞。

网络型扫描器具有服务扫描检测、后门程序扫描检测、密码破译扫描检测、应用程序扫描检测、阻断服务扫描测试、系统安全扫描检测和分析报表等功能。

根据扫描的目的不同,基于网络的扫描可分为端口扫描、类型和版本扫描、漏洞扫描、弱口令扫描、Web 漏洞扫描和系统配置扫描等类型。限于篇幅,这里介绍一下端口扫描。

由于计算机之间的通信是通过端口进行的,因此通过向目标主机的端口发送信息就可以检测出目标主机开放了哪些端口,进而可以连接目标主机的端口。端口扫描的目的是探测主机开放了哪些端口。实现的方法是对目标主机的每个端口发送信息,用扫描器对着目标主机查询,最终就会查出哪些主机开放了哪些端口。

系统的某些端口默认是为一些固定的服务而预留,攻击者可以利用相应的端口检测到系统服务的漏洞,进而利用这些服务的漏洞入侵系统。常用的系统服务端口有:FTP 对应的 21 号端口、Telnet 对应的 23 号端口、SMTP 对应的 25 号端口、DNS 对应的 53 号端口、HTTP 对应的 80 号端口、POP3 对应的 110 号端口等。

**提示:**端口扫描技术实际上是通过向目标主机发送 TCP 报文,根据目标主机的回复状况来判断目标主机端口的开放情况。它主要依靠自动工具完成,如 Zenmap,SuperScan 等。


6. 通过网络监听收集信息

网络监听(又称网络嗅探)是指利用工具软件监视网络上数据的流动情况。网络管理人员可以通过监听发现网络中的异常情况,从而更好地管理和保护网络;而攻击者可以通过监听将网络中正在传播的信息截获或捕获,从而进行攻击。

**提示:**随着网络技术的发展,一般的攻击者能够攻破网络安全设备的可能性还是比较小的。但是攻破网络中安全性较差的主机是有可能的。攻击者在攻破相应的主机后,就可能利用它运行网络监听软件工具,从而获取网络中的信息,进一步扩大战果。因此,作为网络管理人员,监听网络中数据的异常是很有必要的。

网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关或远程网的调制解调器之间等。在以太网中,传输数据的工作方式是将要发送的数据包发送给网络中的所有主机,在数据包头中包含着应该接收数据包的主机的正确地址。因此,只有与数据包中目标地址一致的那台主机才会接收数据包。但是,当主机工作在监听模式时,无论数据包中的目标地址是什么,主机都将接收。然后主机再对监听到的数据包进行分析,得到局域网中的通信信息。

网络监听在一般情况下是很难被发现的,因为运行网络监听程序的主机在网络上只是被动地接收网络上传输的信息,不会主动采取行动。它既不会与网络上的其他主机交换信息,也不会修改网络信息,因此检测网络监听的行为是比较困难的。

**提示:**目前,互联网上的网络安全工具非常多,它们通常都集成了很多功能,既可以扫描,又可以监听和检测,还可以捕获和分析信息,用户可根据自己的需要进行下载。



3.4.2 网络攻击常用工具

攻击者攻击网络系统所使用的工具,通常可以分为扫描类、口令破解类、监听类和远程监控类工具软件。

1. 扫描类工具软件

通过扫描工具,攻击者可以找到攻击目标的 IP 地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。现在网络上很多扫描器的功能都非常强大,并且综合了各种扫描需要,将各种功能集成于一身。

根据不同的扫描目的,扫描类工具软件又可分为地址扫描器、端口扫描器、漏洞扫描器等类别。利用扫描器,攻击者可以轻松地完成收集目标信息的工作。常见的网络扫描工具软件有 Zenmap,SuperScan,X-Scan,Nessus,Shadow Security Scanner,Acunetix WVS,Fluxay,OpenVAS 等。


2. 口令破解类工具软件

口令破解类工具软件对攻击者来说非常有利,通过对软件进行简单设置就可以使软件自动完成重复的工作。常见的口令破解类工具软件有 Cain&Abel,John the Ripper,Brutus,Ncrack,hashcat,Ophcrack,Aircrack-ng 等。


3. 监听类工具软件

通过监听,攻击者可以截获网络的信息包,再对这些加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。监听类工具软件已经成为攻击者获取秘密信息的重要手段。常见的监听类工具软件有 Wireshark,Sniffer Pro,MiniSniffer 等。


4. 远程监控类工具软件

攻击者最常使用的远程监控类工具软件就是木马程序。在目标主机上运行一个被控端软件,在攻击者的主机上运行一个控制端软件。攻击者即可利用木马程序在目标主机上打开端口,对目标主机进行监视和控制。常见的木马软件有网银型木马、网游型木马、FTP 型木马、灰鸽子、冰河、网络神偷等。



3.5 网络攻击的实施阶段

在实施网络攻击时,为了避免被网络管理人员过早发现和较好地保护自己,攻击者通常会采取相应的隐身措施。在完成收集攻击目标信息、隐蔽攻击源和行踪等工作的基础上,攻击者就可以结合自身的水平及经验总结出相应的攻击方法,实施真正的网络攻击。

3.5.1 网络隐身

IP 地址是计算机网络中任何联网设备的身份标识,MAC 地址是以太网终端设备的链路层标识。所谓网络隐身,就是使目标不知道与其通信的设备的真实 IP 地址或 MAC 地址。

如此一来,当网络管理人员检查攻击者实施攻击留下的各种痕迹时,由于标识攻击者身份的 IP 地址或 MAC 地址是冒充的或者不真实的,就无法确认或者需要花费大量精力去追踪该攻击的实际发起者。

一般通过 IP 地址欺骗、MAC 地址欺骗、网络地址转换、代理隐藏等技术,将攻击者的真实 IP 地址或 MAC 地址隐藏起来。


1. IP 地址欺骗

因为 TCP/IP 协议的路由机制只检查报文目标地址的有效性,所以攻击者可以定制虚假的源 IP 地址,从而有效避免网络管理人员的 IP 地址追踪。另外,目标的访问控制组件可能使用 IP 地址列表的方式来设置允许或禁止对网络服务的访问,攻击者可以盗用其他 IP 地址,从而绕过访问控制的设置,对目标服务实施攻击。

IP 地址欺骗就是利用主机间的正常信任关系,通过修改 IP 报文中的源地址,以绕开主机或网络访问控制,隐藏攻击者的攻击技术。例如,在网络中有 3 台主机 A,B 和 C,其中 A 和 B 可以直接通信(或者相互信任且无须认证),攻击者 C 可以冒充主机 A 实现与主机 B 通信,A 可能在线也可能不在线。

(后续内容见下页,完整提取如下)泛应用于各类 Internet 接入方式和各类网络中。网络地址转换不仅解决了 IP 地址不足的问题,还能有效避免来自网络外部的攻击,同时它可以对外隐藏网络内部主机的实际 IP 地址。

攻击者使用网络地址转换技术时,网络管理人员只能查看经过转换后的 IP 地址,无法追查攻击者的实际 IP 地址,除非他向网络地址转换服务器的拥有者请求帮助,网络地址转换服务器实时记录并存储了所有的地址转换记录。在同一时刻,可能有很多内网主机共用一个公有 IP 地址对外访问,所以攻击者可以将自己隐藏在这些 IP 地址中,降低被发现的可能性。


2. MAC 地址欺骗

MAC 地址欺骗通常用于突破基于 MAC 地址的局域网访问控制,如在交换机上限定只转发源 MAC 地址在预定义的访问列表中的报文,其他报文一律拒绝。攻击者只需要将自身主机的 MAC 地址修改为某个存在于访问列表中的 MAC 地址即可突破该访问限制,而且这种修改是动态的,也容易恢复。

还有的访问控制方法将 IP 地址和 MAC 地址进行绑定,目的是使得一个交换机端口只能提供给一位付费用户的一台主机使用,此时攻击者需要同时修改自己的 IP 地址和 MAC 地址去突破这种限制。

在不同的操作系统中,修改 MAC 地址有不同的方法,其实质都是网卡驱动程序从系统中读取地址信息并写入网卡的硬件存储器,而不是实际修改网卡硬件 ROM 中存储的原有地址,即所谓的 "软修改",因此攻击者可以为了实施攻击临时修改主机的 MAC 地址,事后很容易恢复为原来的 MAC 地址。

**提示:**以 Windows 系统为例,修改 MAC 地址的方法为:打开网卡的 "本地连接 属性" 对话框,单击 "配置" 按钮,打开网卡属性配置对话框,切换到 "高级" 选项卡,在 "属性" 列表框中找到并选中 "网络地址" 选项,在右侧的 "值" 编辑框中输入一个新的 MAC 地址即可,如图 3-4 所示。修改 MAC 地址后,系统会自动重启网卡,此时可以在 "命令提示符" 窗口中键入 "ipconfig/all" 命令,检查网卡地址是否已经成功更改。

图 3-4 修改网卡的 MAC 地址(左图:本地连接属性窗口;右图:网卡高级属性窗口,标注 "若选中'不存在'单选钮,则恢复为原有 MAC 地址")


3. 网络地址转换

网络地址转换是一种将私有地址转换为公有 IP 地址的技术,它对终端用户透明,被广泛应用于各类 Internet 接入方式和各类网络中。网络地址转换不仅解决了 IP 地址不足的问题,还能有效避免来自网络外部的攻击,同时它可以对外隐藏网络内部主机的实际 IP 地址。

攻击者使用网络地址转换技术时,网络管理人员只能查看经过转换后的 IP 地址,无法追查攻击者的实际 IP 地址,除非他向网络地址转换服务器的拥有者请求帮助,网络地址转换服务器实时记录并存储了所有的地址转换记录。在同一时刻,可能有很多内网主机共用一个公有 IP 地址对外访问,所以攻击者可以将自己隐藏在这些 IP 地址中,降低被发现的可能性。

**知识库:**按照代理服务的对象不同,可以分为正向代理和反向代理两种。通常所说的代理默认是正向代理,客户主机访问目标服务器时,必须向代理主机发送请求(该请求中指定了目标主机),然后代理主机向目标主机转发请求并获得应答,将应答转发给客户主机,客户主机必须知道代理主机的 IP 地址和运行代理服务的端口号。反向代理为目标服务器提供服务,相当于实际服务器的前端,通常用于保护和隐藏真正的目标服务器。与正向代理不同,客户主机无须做任何设置,也不知道代理主机的存在,它直接向代理主机提供的服务发起请求,代理主机根据预定义的映射关系判定将向哪个目标服务器转发请求,然后将收到的应答转发给客户主机。攻击者常用的代理软件有 CCProxy,SocksCap64 等。


4. 代理隐藏

代理隐藏是指攻击者不直接与目标主机进行通信,而是通过代理主机(或跳板主机)间接地与目标主机通信,所以在目标主机的日志中只会留下代理的 IP 地址,而无法看到攻击者的实际 IP 地址,但网络管理人员可以进行 IP 回溯,即访问代理主机去进一步追踪。

**提示:**许多防御工具如防火墙或入侵检测系统提供了追溯功能,可以反向查询代理跳板主机以追踪到真实 IP 地址。但是这种功能通常有追溯层数的限制,一旦代理的层数超过追溯层数的设置时,网络管理人员依然无法发现地址。所以,攻击者通常使用多个代理主机以构成多层次的代理网络,而防御工具也应该设置更高的追溯层数来追踪攻击者。

代理主机的原理是将源主机与目标主机的直接通信分解为两个间接通信进程,一个进程为代理主机与目标主机的通信进程,另一个为源主机与代理主机的通信进程。代理主机可以将内网与外网隔离,即外网只能看到代理主机,无法看到内网其他任何主机,在代理主机上可以施加不同的安全策略,过滤非法访问并进行监控等。

在互联网中有很多运行代理服务的主机并没有得到很好的维护,它们因为没有及时打上安全补丁或者没有实施访问控制,已经被非法控制或者可以被随意使用,称为 "网络跳板" 或者 "免费代理",攻击者通常利用这些免费代理进行隐身。



3.5.2 实施攻击

不同的攻击者有不同的攻击目的,可能是为了获得机密文件的访问权,可能是为了破坏系统数据的完整性,也可能是为了获得整个系统的控制权、管理权限及其他目的等。

通常,攻击者实施的网络攻击可能包括以下操作:

(1)通过猜测程序对截获的用户账号和口令进行破译。

(2)利用破译程序对截获的系统密码文件进行破译。

(3)通过得到的用户口令和系统密码远程登录网络,以获得用户的工作权限。

(4)利用本地漏洞获取管理员权限。

(5)利用网络系统本身的薄弱环节和安全漏洞实施电子引诱(如安放木马)。

(6)修改网页进行恶作剧,或破坏系统程序,或放置病毒使系统陷入瘫痪,或窃取政治、军事、商业秘密,或进行电子邮件骚扰,或转移资金账户、窃取金钱等。

在实施网络攻击时,攻击者要选择目标系统的某些资源作为攻击对象(即作用点),以达到获得某些 "利益" 的目标。攻击的作用点在很大程度上体现了攻击者的目的,且一次攻击可以有多个作用点,即可同时攻击系统的多个 "目标"。攻击的作用点通常可以概括为以下几类:

(1)账户:包括系统账户、用户账户等。一般指攻击者对账户的猜测和字典攻击,以及暴力破解等,以便达到其非法进入的目的。

(2)文件系统:指被攻击系统的文件系统。其涉及的攻击主要是修改、删除、增加、获取文件等操作。

(3)进程:被攻击系统内存空间中运行的进程。其包括操作系统进程及应用进程,涉及的攻击如杀死特定进程、探测进程活动、利用该进程对其他部分进行攻击等。

(4)系统资源与信息:指被攻击者系统的硬件资源(如 CPU、内存、硬盘等)、固定信息或相对固定的信息,如涉及系统的硬件资源的参数(CPU 数量、内存类型及大小、Cache 容量、硬盘类型等)、系统的配置参数(分区类型、注册表信息、硬盘及文件访问的参数等)及软件信息(如系统安装的软件列表、运行要求等)。

(5)网络及网络服务:针对网络或网络服务的攻击。其主要包括占用或利用网络资源与服务、影响网络性能和网络服务质量、增加网络流量、探测网络及相关服务的信息、利用网络提供的功能完成其他非法操作等,即对网络本身及服务的正常运行产生不利影响。



3.6 网络攻击的善后阶段

攻击者在成功完成对目标的远程攻击后,为保持对目标的长久控制和方便再次进入目标系统,需要建立一些进入系统的特殊途径,即植入后门。同时,为了不被网络管理人员发现系统曾经被攻击或入侵,攻击者需要清除实施攻击时产生的系统日志、程序日志、临时数据和文件等,即消除所有攻击痕迹,仿佛攻击从未发生过。

3.6.1 植入后门

一次成功的网络攻击通常要耗费攻击者大量的资源,同时为了更方便、高效地进行再次攻击,攻击者在退出系统之前会在系统中设计并留下一些后门。理想的后门应该是无论用户账号是否变化,系统服务是开启还是关闭,系统配置如何变化,都存在一条秘密通道能够让攻击者再次隐蔽进入目标系统或网络。

植入后门的方法通常包括开放连接端口、修改系统配置、安装监控器、建立隐蔽连接通道、创建用户账号、安装远程控制工具和替换系统文件等。


1. 开放连接端口

开放连接端口的方式大致可以分为以下两种。

(1)通用的类似 Telnet 服务的 Shell 访问端口。可以选择任何一个 TCP/UDP 端口,既可以是系统未使用的端口,也可以是系统已使用的端口(此时需要利用端口复用技术),攻击者正向连接该端口即可获得一个远程访问的 Shell,从而建立后门通道。

(2)隐蔽地开启已有系统服务,从而打开相应端口,如偷偷利用命令脚本开启 Windows 的网络共享服务、Telnet 服务、远程桌面或远程终端服务等。


2. 修改系统配置

修改系统配置包括增加开机启动项、增加或修改系统服务设置、修改防火墙和安全软件配置等。

1)增加开机启动项

为了方便每次启动时自动运行,后门程序往往需要将执行的脚本或命令行添加到目标系统的开机启动脚本中。Windows 系统开机运行程序的常见位置包括:

(1)注册表键HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

(2)注册表键HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

(3)"开始" 菜单中的 "启动" 菜单项C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

(4)资源管理器有关的 Shell 菜单项

(5)计划任务列表Task Schedule

(6)系统服务HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

(7)IE 浏览器扩展

2)增加或修改系统服务设置

在目标系统中安装自动启动的服务,也是一种开机自动运行后门的方式,几乎所有的后门程序都提供此类功能。服务包括普通的应用程序服务(Service)和驱动程序(Driver)服务,都需要在注册表的"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services"项中增加相应子项。Windows 服务程序有两种安装方式:一是直接修改注册表,二是利用sc命令创建服务程序启动项。Windows 服务程序有其特定要求,不是任何应用程序都可以作为服务程序存在。如果想修改服务配置,可以在 "命令提示符" 窗口中用"sc config"命令实现。

3)修改防火墙和安全软件配置

通过在后台修改防火墙或入侵检测工具的系统配置,可以允许后门程序与远程攻击者进行连接并且不产生任何报警或系统日志,从而避免网络管理人员发现后门的隐蔽信道。例如,在开放服务端口作为后门时,如果攻击者向该端口发起连接,那么 Windows 个人防火墙通常会弹出提示框,表明有程序正在接受外部连接,此时后门其实已经暴露。攻击者针对这种情况,可以采用两种对策:一是关闭防火墙,二是将后门程序设置为防火墙的信任程序。

**提示:**关闭防火墙的动作有时过于粗暴,同样会引起网络管理人员的警觉,所以最好的办法是将后门程序变为防火墙的可信任程序。


3. 安装监控器

后门程序安装的监控器通常包括进程监控器、文件监控器、内存监控器、键盘监控器和报文监控器等,采用与防卸软件相同的方式监视其感兴趣的系统事件,一旦系统出现所关注的事件或某些敏感关键词,后门程序就可以立即启动相应模块进行记录、阻止或实时通知攻击者等。这部分功能与远程木马等恶意代码的功能基本类似,但是监控器只负责监视并记录信息,攻击者根据这些信息可以进一步攻击目标网络中的其他主机。例如,通过键盘监控和报文监控,攻击者可能获取目标用户远程登录其他主机或服务器的重要账号和口令,从而获得其他主机的非法访问权限;对进程、文件和内存监控,可以获取目标程序或目标文件的敏感数据信息,甚至获取程序或协议的加密 / 解密密钥,从而进一步在目标网络中展开欺骗攻击等网络攻击。一个后门程序可以仅仅是一个键盘监控工具或口令监听工具。


4. 建立隐蔽连接通道

建立隐蔽连接,是指后门与控制者的连接与正常连接几乎相同,包括正向连接和反向连接。所谓隐蔽,是指网络管理人员很难手工区分这类连接是正常的外部访问还是隐蔽连接通道。正常连接通常与端口复用相结合,例如,后门程序可以复用 "网络与共享服务" 的 TCP 端口 135,将正常连接 135 端口的报文转发到本地环回地址 127.0.0.1 的其他端口,但是对于包含特殊字节序列的报文,则另行单独处理,从而在正常的通信报文中嵌入隐蔽通道。反向连接通常使用 HTTP 协议与攻击者建立连接通道,首先,防火墙不会去阻止此类报文,因为它们是正常访问外部主机的 80 端口;其次,网络管理人员人工观察这些报文也难以发现问题,因为它们是以 HTTP 请求应答的方式进行通信,网络管理人员很容易误以为它们是正常的 HTTP 请求。因此,检测此类报文往往需要入侵检测系统来自动完成,但是攻击者可以对 HTTP 报文内容进行加密或混淆,或者直接使用 HTTPS 协议进行加密通信,从而逃避入侵检测系统的检测。

**提示:**针对隐蔽连接,网络管理人员可以采取的措施主要包括:① 只允许内网主机通过代理访问外网,从而可以在代理机器上进行监控;② 设置监控策略,重点关注与普通报文不太一样的奇怪报文,如过长的 HTTP 请求、过快的 HTTP 请求、无人操作的主机所发出的 HTTP 请求等。


5. 创建用户账号

创建系统级用户账号是后门程序的常用手段,当目标系统允许远程访问时,一个拥有最高权限的用户账号本身就是一个 "超级后门",如果目标系统不支持远程访问,可以利用开放端口的方法在后台开启某种远程访问服务,如 Telnet 或远程桌面。Windows 系统使用net user命令可以增加、修改和删除账户,但这仅仅是增加一个普通权限的用户,还要进一步将其加入管理员组中,使用net localgroup命令可以完成该项工作。


6. 安装远程控制工具

远程控制程序也是后门的一种,但它不仅仅是进入目标系统的隐蔽通道,而是几乎可以直接远程操作目标主机,就像 Windows 提供远程桌面服务一样。远程控制程序一般分为客户端(Client)和服务器端(Server)两部分,通常将客户端程序安装到攻击者主机,服务器端安装在目标主机。客户端与服务器端建立正向或反向连接,然后通过这个连接传递数据。客户端发送各种远程控制命令,服务器端在目标主机执行对应程序或指令,并返回执行结果或数据给客户端。

**提示:**比较著名的远程控制工具有 VNC,TeamViewer,灰鸽子远程管理系统、上兴远程控制、向日葵远程控制等。


7. 替换系统文件

后台程序可以直接与系统文件捆绑,替换原始系统程序,使得修改后的 "系统程序" 在执行正常功能的同时也运行后门程序。后门采用这种方式就无须修改系统配置,也不会在目标主机的文件系统中留下痕迹。

**提示:**防御这类后门的方式主要有以下两种:(1)散列值匹配。预先生成原始程序的散列值,并不定期对当前系统中所有系统级程序重新生成散列值,检测其是否被修改。(2)使用反病毒软件定期对系统程序进行扫描,检测是否存在捆绑程序。



3.6.2 清除痕迹

攻击者为了避免其被网络管理人员发现和追踪,退出系统前常会设法清除其攻击痕迹。以 Windows 系统为例,攻击可能留下的痕迹主要包括以下几种。

(1)事件查看器记录的管理事件日志、系统日志、安全日志、Setup 日志、应用程序日志、应用程序和服务日志。

(2)如果利用 HTTP 协议进行攻击或者后门设置,则可能在浏览器或者 Web 服务器上留下相应的访问和使用记录。

(3)相应的系统使用痕迹。


1. 事件查看器

Windows 系统中事件查看器的程序名称是eventvwr.msc(见图 3-5),对应的命令提示符命令是wevtutil,攻击者可以在后台使用wevtutil命令清除某类日志或者改变该类日志的配置,以达到隐藏自己的目的。攻击者无法具体清除某条日志,要么该类日志全部被清除,要么一条也不清除;如果全部日志被清除,网络管理人员很容易察觉,但无法查看具体的攻击痕迹。

图 3-5 事件查看器(展示 Windows 事件查看器界面,包含 Windows 日志、应用程序和服务日志等分类及事件列表)

以应用程序日志为例,清除该类日志的命令是wevtutil cl application。也可以通过修改日志的设置,或者禁止某类日志记录具体事件,或者设置日志记录的最大容量,并且当记录的日志数据超出该容量时,不再记录新的日志,从而间接实现日志清除的目的。


2. 浏览器访问痕迹

IE 浏览器访问痕迹的默认存放目录是"C:\Users\用户名\AppData\Local\Microsoft\Windows\Temporary Internet Files",该目录默认具有隐藏属性。其痕迹包括下载的临时文件、网站 Cookies、浏览历史记录、表单数据和存储的登录密码等,如图 3-6 所示。

图 3-6 IE 浏览器访问痕迹的存放目录(展示 IE 临时文件目录界面)

对于这些痕迹,可使用 IE 浏览器的配置程序inetcpl.cpl(位于C:\Windows\System32)进行不同类别的清除,如图 3-7 所示。

图 3-7 清除 IE 浏览器访问痕迹(左图:Internet 属性窗口;右图:删除浏览历史记录窗口)


3. Web 服务器痕迹

Web 服务器的日志都是文本文件,可以对具体与攻击有关的日志条目进行针对性修改和删除,而不改变其他正常访问日志,从而消除攻击痕迹。例如,IIS 服务器的日志默认存放在系统目录的LogFiles目录下(C:\Windows\System32\LogFiles),按照不同日志计划有相应的命名方式,如设置为每天一份日志文件,则 2019 年 8 月 31 日的日志文件为W3SVC(ID)\ex190831.log




3.7 实战演练

本节将具体介绍通过各种常用工具软件进行网络攻击及防御的方法,包括网络扫描、口令破解、网络监听、远程监控、查找后门、清除系统使用痕迹等。

3.7.1 使用 Zenmap 软件对目标主机进行网络扫描

Zenmap 是经典扫描工具 Nmap 的 GUI(图形界面)版本,由 Nmap 官方提供,通常随着 Nmap 安装包一起发布。Zenmap 采用 Python 语言编写,能够在 Windows,Linux,UNIX 等各种系统上运行。开发 Zenmap 的目的主要是为 Nmap 提供更加简单的操作方式。

**提示:**Nmap(Network Mapper)是一款功能非常强大的网络探测工具,几乎支持所有操作系统。通过它能够找出网络上在线的主机,并测试主机上哪些端口处于开启状态,还能通过端口确定主机上运行的应用程序的类型和版本,以及侦测出操作系统的类型和版本。

下面介绍使用 Zenmap 软件对目标主机进行网络扫描的具体操作步骤。

步骤 1▶ 安装并运行 Zenmap(此处版本为 Zenmap 7.80 官方中文版),在 "目标" 编辑框中输入要扫描的主机的 IP 地址(如 192.168.0.108),如图 3-8 所示。

图 3-8 Zenmap 软件的主操作界面 (展示 Zenmap 主界面,目标栏输入 192.168.0.108,配置选择 Intense scan,命令栏显示nmap -T4 -A -v 192.168.0.108,标注 "可直接选择软件默认提供的配置对目标进行扫描")

步骤 2▶ 选择 "配置"→"新的配置或命令" 选项,打开 "配置编辑器" 对话框,在 "配置" 选项卡下的 "配置文件名" 编辑框中输入 "myset",如图 3-9 所示。

步骤 3▶ 在 "扫描" 选项卡下选中 "启用所有高级 / 攻击性选项""操作系统检测" 和 "版本检测" 复选框,如图 3-10 所示。

图 3-10 设置新配置的扫描选项(配置编辑器界面,标注已勾选的三个选项:启用所有高级 / 攻击性选项 (-A)、操作系统检测 (-O)、版本检测 (-sV))

步骤 4▶ 在 "Ping" 选项卡下选中 "扫描之前不 ping 远程主机" 复选框,然后单击 "保存更改" 按钮,如图 3-11 所示。

图 3-11 设置新配置的 Ping 选项并保存配置(Ping 选项卡界面,标注已勾选 "扫描之前不 ping 远程主机 (-Pn)")

步骤 5▶ 此时返回主操作界面,在 "配置" 下拉列表框中选择新创建的配置 "myset",然后单击 "扫描" 按钮开始扫描,稍后即可显示扫描结果,如图 3-12 所示。

图 3-12 选取配置并开始扫描 (Zenmap 主界面,显示扫描命令nmap -sV -T4 -O -A -v -Pn 192.168.0.108及扫描结果)

步骤 6▶ 切换至 "端口 / 主机""拓扑""主机明细" 等选项卡,继续查看相应结果,如图 3-13 所示。

图 3-13 查看相应扫描结果(端口 / 主机、拓扑等选项卡的扫描结果界面)



3.7.2 使用 Cain&Abel 软件暴力破解用户口令

Cain&Abel 是一款功能强大的口令嗅探和破解软件,它不仅提供各种协议的口令嗅探、弱口令攻击,同时支持大部分散列算法的口令破解,包括字典破解、暴力破解和彩虹表破解等。例如,Cain&Abel 可以远程截取并破解 Windows 的屏保口令、远程共享口令、SMB 口令、远程桌面口令、NTLM Session Security 口令等。

下面介绍使用 Cain&Abel 软件暴力破解用户口令的具体操作步骤。

步骤 1▶ 安装并运行 Cain&Abel(此处版本为 Cain&Abel 4.9 汉化版),切换至 "破解器" 选项卡,并在左侧的 "破解器" 列表框中选择 "MD5 密文" 选项,如图 3-14 所示。

图 3-14 选择破解器类型(Cain&Abel 主界面,标注 "破解器" 选项卡及选中的 "MD5 密文" 选项,提示 "选择该破解器,可以导入存储用户口令的文件进行破解")

步骤 2▶ 单击工具栏中的 "添加到列表" 按钮 +,弹出 "MD5 密文" 对话框,输入获取的用户口令密文,然后单击 "确定" 按钮,如图 3-15 所示。

图 3-15 添加用户口令密文(添加 MD5 密文的对话框界面)

步骤 3▶ 右击新添加的用户口令密文,从弹出的快捷菜单中选择 "暴力破解" 选项,如图 3-16 所示。

图 3-16 选择破解方式(右键菜单界面,标注 "暴力破解" 选项)

步骤 4▶ 在打开的 "暴力破解" 对话框中选择一种预定义的字符集合,并设置口令的长度范围,然后单击 "开始" 按钮,如图 3-17 所示。如果选择字典破解方式,需要导入相应的字典文件;如果选择彩虹表破解方式,需要导入相应的彩虹表文件。此外,每种破解方式还支持采用各种组合规则,以增大破解成功的概率。

图 3-17 开始暴力破解(暴力破解对话框界面,标注 "开始" 按钮)

步骤 5▶ 等待一段时间(随口令长度和复杂度而异),即可显示破解结果,如图 3-18 所示。

图 3-18 暴力破解过程及结果(破解过程与结果界面,标注明文结果)
**小技巧:**通过 Cain&Abel 软件的 "嗅探器" 模块,可以嗅探局域网内各种被加密的口令,并发送至 "破解器" 模块进行破解,它提供了针对各种协议口令的 "嗅探 + 破解" 的完整攻击链。在已攻破主机上使用 Cain&Abel 软件嗅探口令时,可以按 "Alt+Delete" 组合键将其界面隐藏(按 "Alt+Page Up" 组合键可恢复显示),以避免被发现。



3.7.3 使用 Wireshark 软件捕获和分析数据包

Wireshark 是一款非常流行的网络数据包分析软件,它可以实时捕获本机流经指定网卡的各种数据包,并显示数据包的详细信息。

下面介绍使用 Wireshark 软件捕获和分析数据包的具体操作步骤。

步骤 1▶ 安装并运行 Wireshark(此处版本为 Wireshark 3.2.0 官方中文版,安装过程中需选择安装 WinPcap),在 "... 使用这个过滤器" 编辑框中输入 "icmp"(目的是只显示捕获的 ICMP 数据包),并在下方的网卡列表中选中 "无线网络连接" 网卡,然后单击工具栏中的 "开始捕获分组" 按钮◀,如图 3-19 所示。

图 3-19 指定过滤器和网卡并开始捕获(Wireshark 主界面,标注过滤器输入框、网卡选择及开始捕获按钮)
**提示:**ICMP(Internet 控制报文协议)用于在 IP 主机、路由器之间传递控制消息(如网络不通、主机是否可达、路由是否可用等)。在沟通中,ICMP 主要是通过不同的类别(Type)与代码(Code)让主机来识别不同的连通性。Ping 操作,实际上就是 ICMP 协议工作的过程。一个主机发送 ICMP Echo 请求(Type=8,Code=0)数据包到目标主机,如果目标主机在线并且通信线路畅通,将回复 ICMP Echo 应答(Type=0,Code=0)数据包。例如,经常使用的用于检查两个主机之间连通性的 Ping 操作,实际上就是 ICMP 协议工作的过程。

步骤 2▶ 打开 "命令提示符" 窗口,输入ping 61.135.169.125并按 "Enter" 键,如图 3-20 所示。

图 3-20 Ping 目标主机(命令提示符窗口,显示 Ping 命令执行结果)

步骤 3▶ 当收到该 Ping 操作的成功应答后,单击 Wireshark 工具栏中的 "停止捕获分组" 按钮■,如图 3-21 所示,此时可以看到捕获的 ICMP 数据包(共 8 个,与 "命令提示符" 窗口中的数量一致)。

图 3-21 捕获的 ICMP 数据包(Wireshark 捕获结果界面,标注数据包列表、详细信息、十六进制内容三个区域)

步骤 4▶ 选择第 1 个数据包,在下方的 "数据包详细信息" 区域查看其详细信息,如图 3-22 所示,此处表示是 ICMP Echo 请求(Type=8,Code=0)数据包。

图 3-22 分析第 1 个数据包(第 1 个数据包的详细信息,标注 "ICMP Echo 请求(Type=8,Code=0)")

步骤 5▶ 选择第 2 个数据包,在下方的 "数据包详细信息" 区域查看其详细信息,如图 3-23 所示,此处表示是 ICMP Echo 应答(Type=0,Code=0)数据包。可见,第 1 个数据包和第 2 个数据包是配对的。

图 3-23 分析第 2 个数据包(第 2 个数据包的详细信息,标注 "ICMP Echo 应答(Type=0,Code=0)")
**提示:**如果选择 "统计"→"流量图""I/O 图表" 等选项,还可以显示网络流量统计、I/O 图表统计等,以便更加直观地对数据包进行分析。



3.7.4 使用向日葵软件远程控制目标主机

向日葵是一款专业的远程工具,它能跨平台实现远程桌面控制、远程文件传输、远程摄像头、远程开机、CMD、桌面录像等功能,常被用于远程监控、远程维护、远程办公和远程协助。下面介绍使用向日葵软件远程控制目标主机的具体操作步骤。

步骤 1▶ 在控制端主机上安装并运行向日葵软件(此处版本为向日葵远程控制个人版 10.2.2),如图 3-24 所示。

图 3-24 运行向日葵软件(向日葵主界面,标注本机识别码、验证码,提示 "可直接通过伙伴识别码控制远程主机")
**提示:**向日葵还面向公司用户推出了向日葵企业版,该版本提供无痕运行软件、实时录制屏幕、批量部署主机、定制软件、文件分发、消息群发、远控记录报表、短信通知上下线等功能,可为企业实现低成本、高效率的管理带来极大便利。

步骤 2▶ 单击 "登录 / 注册" 按钮,然后注册一个账号并登录,如图 3-25 所示。

图 3-25 登录账号(账号登录界面)

步骤 3▶ 此时系统提示已将本机(即控制端主机 WIN-004)绑定到该账号,如图 3-26 所示。

图 3-26 将控制端主机 WIN-004 绑定到账号(登录成功界面,标注控制端主机信息)

步骤 4▶ 在被控端主机上安装并运行向日葵软件,并使用同一账号进行登录,登录后在界面中单击 "立即绑定(无人值守)" 按钮,将被控端主机 WIN-001 绑定到该账号,如图 3-27 所示。

步骤 5▶ 此时在控制端主机运行的向日葵软件界面中可以看到被控端主机 Win-001,选择该主机,然后单击右侧的 "桌面控制" 按钮,如图 3-28 所示。

图 3-28 执行桌面控制操作(向日葵控制端界面,标注选中的被控主机 Win-001 及 "桌面控制" 按钮)

步骤 6▶ 此时就会打开被控端主机的桌面控制窗口,如图 3-29 所示。同理可执行其他远程控制操作,如 "远程文件" 用于在两台主机之间传输文件。

图 3-29 被控端主机的桌面控制窗口(远程桌面控制界面)
**提示:**如果不绑定账号,而是直接通过伙伴识别码控制远程主机,则需要被控端主机人工接受连接请求(即必须有人值守),如图 3-30 所示。

图 3-30 通过识别码进行远程控制时的提示框(远程控制请求提示界面)



3.7.5 使用 Autoruns 软件查找开机启动后门

Autoruns 是由微软公司出品的一款专业的启动项管理软件,它小巧免费,且为原生单执行文件,可以显示和管理 Windows 系统的所有开机执行的程序、脚本、动态链接库等,是查找 Windows 开机启动后门的利器。

下面介绍使用 Autoruns 软件查找开机启动后门的具体操作步骤。

步骤 1▶ 安装并运行 Autoruns(此处版本为 Autoruns 13.96 汉化版),如图 3-31 所示。

图 3-31 Autoruns 软件运行界面(Autoruns 主界面,展示开机启动项列表)

步骤 2▶ "所有项目" 选项卡下显示了本机上的所有自动运行项目,可以看到第 3 条(一个开机自动运行的 VB 脚本 "kis.vbs")被标记为红色,表示可能是一个危险项目。

步骤 3▶ 找到并用记事本打开该 VB 脚本 "kis.vbs",其内容如图 3-32 所示,表示用于运行一个后门程序 "kis123.exe",该脚本试图在执行后将自身删除。

图 3-32 kis.vbs 代码(记事本打开的脚本内容,代码如下:)

复制代码
On Error Resume Next
Set ws = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
ws.run """kis123.exe""",False
fso.DeleteFile WScript.ScriptFullName '执行后自动删除自身脚本文件

**提示:**此类开机启动脚本由于比较简短且变化较多,通常并不会被安全软件查杀,因此需要养成日常检查开机启动项的习惯。



3.7.6 使用 360 安全卫士清除 Windows 使用痕迹

使用 Windows 系统会留下较多痕迹,这时可以借助第三方工具将其清除。360 安全卫士是一款非常出色的电脑安全管理与维护软件,其 "电脑清理" 功能可以有效清理系统垃圾、插件、使用痕迹和注册表等。

下面介绍使用 360 安全卫士清除系统使用痕迹的具体操作步骤。

步骤 1▶ 安装并运行 360 安全卫士(此处版本为 360 安全卫士 12.0),如图 3-33 所示。

图 3-33 360 安全卫士主界面(360 主界面,标注 "电脑清理" 按钮及右侧 "单项清理" 下的 "清理痕迹" 选项)

步骤 2▶ 单击 "电脑清理" 按钮,将光标移至右侧的 "单项清理" 按钮上方,从弹出的列表中选择 "清理痕迹" 选项(见图 3-33)。

步骤 3▶ 稍等片刻即可显示扫描结果,单击 "系统使用痕迹" 下方的 "详情" 按钮,如图 3-34 所示。

图 3-34 痕迹扫描结果(扫描结果界面,标注 "系统使用痕迹" 项)

步骤 4▶ 此时弹出系统使用痕迹详情对话框,根据实际情况选中需要清理的项目,然后单击 "清理" 按钮即可,如图 3-35 所示。

图 3-35 系统使用痕迹详情对话框(痕迹详情界面,标注 "清理" 按钮)
**提示:**系统使用痕迹大部分存储在注册表中,清除痕迹即删除相应注册表项或键值。

相关推荐
嵌入式×边缘AI:打怪升级日志2 小时前
Linux 常用命令学习笔记(续):查找、压缩、vi 编辑器与其他命令
linux·笔记·学习
一名优秀的码农2 小时前
vulhub系列-64-Cereal: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
一名优秀的码农2 小时前
vulhub系列-66-Hms?: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
云捷配低代码2 小时前
低代码自动化工作流实战:实现跨部门业务协同的自动化流转
运维·人工智能·低代码·自动化·数字化·敏捷流程·数字化转型
OPHKVPS2 小时前
React2Shell漏洞攻击中的新型恶意软件EtherRAT详解
网络·安全·web安全
@insist1232 小时前
网络工程师-因特网与网络互联(四):传输层协议,TCP 与 UDP 的可靠与高效之道
网络·网络工程师·软考·软件水平考试
SP八岐大兔2 小时前
NPM管理OpenClaw安装、卸载及运维命令
运维·前端·npm·openclaw
ZHENGZJM2 小时前
认证增强:图形验证码、邮箱验证与账户安全
安全·react.js·go·gin
萧行之2 小时前
Linux 下 Miniconda3 清华源极速安装教程(含报错解决、一键复制)
linux·运维·服务器