网络攻击是指对网络的保密性、完整性、不可抵赖性、可用性、可控性产生危害的任何行为,可抽象分为信息泄露、完整性破坏、拒绝服务攻击和非法访问四种基本类型。网络攻击的基本特征:由攻击者发起并使用一定的攻击工具,对目标网络系统进行攻击访问,并呈现出一定的攻击效果,实现了攻击者的攻击意图。
网络攻击方式一般可分为读取攻击、操作攻击、欺骗攻击、泛洪攻击、重定向攻击和Rootkits技术等。
(1)读取攻击:用于侦察和扫描,识别目标主机运行的网络服务以及可能的漏洞。
(2)操作攻击:以篡改数据为手段,攻击以特权身份运行的服务程序,取得程序的控制权,如SQL注入、缓冲区溢出攻击。
(3)欺骗攻击:将自身伪装成其他用户实施攻击行为,冒充特权用户入侵系统。典型的欺骗攻击如ARP欺骗、DNS欺骗、IP欺骗和网络钓鱼等。
(4)泛洪攻击:目的是让远程主机无法承受巨大的流量而瘫痪,如Smurf攻击、TCP SYN Flood和DDoS攻击等。
(5)重定向攻击:将发往目标的信息全部重定向到攻击者指定的目标主机上,有利于展开下一步攻击。如ARP重定向是欺骗受害主机,将攻击者主机伪装成网关,从而截获所有受害主机发往互联网的报文。
(6)Rootkits技术:Rootkits是用于隐藏自身及指定文件、进程和链接的恶意软件工具集,集多种攻击技术于一体,常与其他恶意代码结合使用,分为进程注入式和驱动级。驱动级Rootkits较为复杂,且加载级别较高,现阶段还没有较好的解决办法。
网络攻击的常用手段包括:
(1)网络监听。大多数网络通信采用未经加密的明文通信,因此只要攻击者获取数据通信的传输路径即可轻易实现监听,监听型攻击会造成数据泄露,危及敏感数据安全。
(2)篡改数据。攻击者对截获的数据进行修改,并使得数据收发双方无法察觉。
(3)网络欺骗。常见的欺骗攻击主要有IP欺骗、ARP欺骗、DNS欺骗、路由欺骗、网络钓鱼。
(4)弱口令攻击。攻击者通过各种方式成功获取和破解合法用户的口令,从而冒充合法用户进入系统。
(5)拒绝服务。破坏性攻击,直接使目标系统停止工作或耗尽目标网络的带宽使之无法为正常请求提供服务。
(6)漏洞破解。利用系统漏洞实施攻击,获取系统访问权限。
(7)木马攻击。在正常的Web页面或聊天界面中植入恶意代码或链接,诱使用户查看或点击,然后自动下载木马程序到目标用户主机,使得攻击者可以通过木马远程控制用户主机。
实施网络攻击的过程虽然复杂多变,但是仍有规律可循。一次成功的网络攻击通常包括信息收集、网络隐身、端口和漏洞扫描、实施攻击、设置后门和痕迹清除等步骤。
1.信息收集
信息收集指通过各种方式获取目标主机或网络的信息,属于攻击前的准备阶段,也是一个关键的环节。首先要确定攻击目的,即明确要给对方形成何种后果,有的可能是为了获取机密文件信息,有的可能是为了破坏系统完整性,有的可能是为了获得系统的最高权限。其次是尽可能多地收集各种与目标系统有关的信息,形成对目标系统的粗略性认识。收集的信息通常包括:
(1)网络接入方式:拨号接入、无线局域网接入、以太网接入、VPN远程接入等。
(2)目标网络信息:域名范围、IP地址范围、具体地理位置等。
(3)网络拓扑结构:交换设备类型、设备生产厂家、传输网络类型等。
(4)网络用户信息:邮件地址范围、用户账号密码等。
收集信息的方式包括:
(2)使用dmitry等工具通过whois服务器查询主机的具体域名和地理信息。(www.xing528.com)
(3)使用netdiscover等工具查询主机的IP地址范围,使用dnsmap、dnswalk、dig等工具查询域名空间。
(4)使用社会工程学手段获得有关社会信息,如网站所属公司的名称、规模,管理员的生活习惯、电话号码等,maltego就是一款收集此类社会信息的查询工具。
2.网络隐身
网络隐身通常指在网络中隐藏自己真实的IP地址,使受害者无法反向追踪到攻击者。常用方法包括:
(1)IP假冒或盗用。TCP/IP协议不检查源IP地址,所以攻击者可以定制一个虚假源IP;有的访问控制系统会设置IP访问黑名单,攻击者可以修改IP地址从而绕过该机制。
(2)MAC地址盗用。有些网络接入系统针对MAC地址做限制,攻击者通过修改自身主机的MAC地址即可以冒充合法主机接入目标网络,从而发起攻击。
(3)代理隐藏。攻击者收集目标信息时,通常通过免费代理进行,即使被管理员发现,也仅是发现代理地址,而不会发现攻击者的真实IP;如果攻击者通过多个代理级联,那么就更加难以追踪;Windows下常见代理有Sockscap、Wingate、CCProxy等,Linux下有Proxychains、Burpsuite等。
(4)冒充真实用户。通过监听或破解网络合法用户的账号和口令后,利用该账户进入目标网络。
(5)僵尸机器。入侵互联网上的某台僵尸主机,通过该主机进行攻击,并在该主机上清除所有与攻击者有关的痕迹,即使目标系统的管理员发现了攻击行为,也只能看到僵尸机器的IP地址,而发现不了攻击者的真实地址。
3.端口和漏洞扫描
扫描首先要确定主机的操作系统类型和版本、提供哪些服务、服务软件的类型和版本等信息,然后检测这些系统软件和服务软件的版本是否存在已经公开的漏洞,并且漏洞还没有及时打上补丁。
因为网络服务基于TCP/UDP端口开放,所以判定目标服务是否开启就演变为判定目标主机的对应端口是否开启。端口扫描检测有关端口是打开还是关闭,现有端口扫描工具还可以在发现端口打开后,继续发送探测报文,判定目标端口运行的服务类型和版本信息,如经典扫描工具nmap,及其图形化工具zenmap和sparta都支持服务类型和版本的判定。通过对主机发送多种不同的探测报文,根据不同操作系统的响应情况,可以产生操作系统的“网络指纹”,从而识别不同系统的类型和版本,这项工作通常由端口扫描工具完成。
漏洞扫描是指基于已有漏洞数据库,对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。在检测出目标系统和服务的类型及版本后,需要进一步扫描它们是否存在可供利用的安全漏洞,这一步的工作通常由专用的漏洞扫描工具完成,如经典漏洞扫描工具Nessus,其开源版本Openvas及国产对应版本X-scan等。除了对主机系统的漏洞扫描工具,还有专门针对Web应用程序的漏洞扫描工具,如Nikto、Golismero等,专门针对数据库DBMS的漏洞扫描工具,如NGSsouirrel。
4.攻击实施
当攻击者检测到可利用漏洞后,利用漏洞破解程序即可发起入侵或破坏性攻击。攻击的结果一般分为拒绝服务攻击、获取访问权限和提升访问权限等。拒绝服务攻击可以使得目标系统瘫痪,此类攻击危害极大,特别是从多台不同主机发起的分布式拒绝服务攻击(DDoS),目前还没有防御DDoS的较好解决办法。获取访问权限指获得目标系统的一个普通用户权限,一般利用远程漏洞进行远程入侵都是先获得普通用户权限,然后需要配合本地漏洞把获得的权限提升为系统管理员的最高权限。只有获得了最高权限后,才可以实施如网络监听、清除攻击痕迹等操作。权限提升的其他办法包括暴力破解管理员口令、检测系统配置错误、网络监听或设置钓鱼木马。
早期的攻击工具往往是针对某个具体漏洞单独开发,如针对WindowsRPC漏洞MS03-026的攻击工具scanms.exe,其自动寻找网络中的漏洞主机并可批量发起攻击。目前,网络攻击正在向平台化和集成化发展,攻击者可以根据研究者公开的漏洞直接在平台上利用已有模块快速开发和部署漏洞破解程序,并集成其他的工具实施完整的攻击,此类平台最著名的代表是Rapid7公司出品的Metasploit工具包,不仅包含大量最新的漏洞,还几乎集成了所有网络攻击所需要的软件工具,同时提供了诸多开发模块,方便攻击者开发新的破解程序。
5.设置后门
一次成功的攻击往往耗费大量时间和精力,因此攻击者为了再次进入目标系统并保持访问权限,通常在退出攻击之前,会在系统中设置后门程序。木马和Rootkits也可以说是后门。所谓后门,就是无论系统配置如何改变,都能够成功让攻击者再次轻松和隐蔽地进入网络或系统而不被发现的通道。
设置后门的主要方法有开放不安全的服务端口、修改系统配置、安装网络嗅探器、建立隐藏通道、创建具有root权限的虚假用户账号、安装批处理文件、安装远程控制木马、使用木马程序替换系统程序等。
经典的后门设置工具有专门生成木马程序以替换系统程序的工具backdoor-factory、基于Python的多模块后门集成工具intersect、基于Powershell的后门集成工具nishang等。
6.清除痕迹
在攻击成功获得访问权或控制权后,此时最重要的事情是清除所有痕迹,隐藏自己踪迹,防止被管理员发现。因为所有操作系统通常都提供日志记录,会把所有发生的操作记录下来,所以攻击者往往要清除登录日志和其他有关记录。常用方法包括隐藏上传的文件、修改日志文件中的审计信息、修改系统时间造成日志文件数据紊乱、删除或停止审计服务进程、干扰入侵检测系统正常运行、修改完整性检测数据、使用Rootkits工具等。
清除痕迹的办法因操作系统的不同而不同。Windows的系统日志保存在“%systemroot%\system32\config”目录下,使用事件查看器观察和修改,攻击者可使用日志清除工具clearlog来清除痕迹。可以修改Windows系统的本地安全策略,将有关的安全审计策略关闭。Linux下常用日志清除工具有zap、wzap和wted等,用于清除utmp、wtmp、lastlog等日志文件中某一用户的信息。还可以通过替换系统程序的办法来隐藏痕迹,例如替换netstat程序来隐藏特定网络连接。
当前,网络攻击手段越来越高明,网络攻击技术正朝着自动化、智能化、系统化、高速化等方向发展,网络攻击已经对网络安全构成了极大的威胁。我们必须熟知各种网络攻击的基本原理和技术,才可以做好相应的防护。若不了解网络攻击的基本原理,研究网络安全就等于纸上谈兵。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。