网络攻击原理和常用方法

网络攻击概述

网络攻击:是指损害网络系统安全属性的危害行为。危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏。

常见的危害行为有四个基本类型: 信息泄露攻击;完整性破坏攻击;拒绝服务攻击;非法使用攻击。

攻击者: 间谍、恐怖主义者、黑客、职业犯罪分子、公司职员和破坏者。 攻击工具: 用户命令、脚本或程序(病毒/木马)、自治主体、电磁泄露。 攻击访问: 本地访问、远程访问。 攻击效果/后果: 破坏信息、信息泄密、窃取服务、拒绝服务。 攻击意图: 获取情报信息;获取恐怖主义集团的利益;表现自己或技术挑战;获取经济利益;好奇;报复或发泄不满情绪。

网络攻击具有以下变化趋势: 网络攻击工具智能化、自动化;网络攻击者群体普适化;网络攻击目标多样化和隐蔽性;网络攻击计算资源获取方便;网络攻击活动持续性强化;网络攻击速度加快;网络攻击影响扩大;网络攻击主体组织化。

网络攻击一般过程

(1)隐藏攻击源。利用被侵入的主机作为跳板、免费代理网站、IP地址、假冒用户账号。

(2)收集攻击目标信息。收集目标系统一般信息、配置信息,漏洞信息、安全措施信息、用户信息。

(3)挖掘漏洞信息。系统或应用服务软件漏洞、主机信任关系漏洞、目标网络的使用者漏洞、通信协议漏洞、网络业务系统漏洞。

(4)获取目标访问权限。获得系统管理员的口令、利用系统管理上的漏洞、让系统管理员运行一些特洛伊木马、窃听管理员口令。

(5)隐蔽攻击行为。连接隐藏、进程隐藏、文件隐蔽。

(6)实施攻击。攻击其他被信任的主机和网络、修改或删除重要数据、窃听敏感数据、停止网络服务、下载敏感数据、删除数据账号、修改数据记录。

(7)开辟后门。放宽文件许可权、开放不安全的服务、修改系统的配置、替换系统本身的共享库文件、修改系统的源代码,安装各特洛伊木马、安装嗅探器、建立隐蔽信道。

(8)清除攻击痕迹。篡改日志文件中的审计信息、改变系统时间造成日志文件数据紊乱以迷惑系统管理员、删除或停止审计服务进程、干扰入侵检测系统的正常运行、修改完整性检测标签

网络攻击常见技术方法

1.端口扫描

目的是找出目标系统上提供的服务列表 。挨个尝试与TCP/UDP端口连接 , 然后根据端口 与服务的对应关系 , 结合服务器端的反映推断目标系统上是否运行了某项服务 , 攻击者通过这些服务可能获得关于目标系统的进一步的知识或通往目标系统的途径。扫描类型包括 :

完全连接扫描 : 利用TCP/IP协议的三次握手连接机制使源主机和目的主机的某个端口建立一次完整的链接。如果建立成功,则表示该端口开放。否则表示该端口关闭。

半连接扫描: 是指在源主机和目的主机的三次握手连接过程中, 只完成前两次握手, 不建立一次完整的连接

SYN(建立链接信号)扫描 : 首先向目标主机发送连接请求,当目标主机返回响应后 , 立即切断连接过程 , 并查看响应情况 。如果目标主机返回ACK信息 , 表示目标主机的该端口开放。如果目标主机返回RESET信息 ,表示端口没有开放

ID头信息扫描: 需要用一台第三方机器配置扫描, 并且这台机器的网络通信量要非常少, 即dumb主机 。首先由源主机A向dumb主机B出连续的PING数据包 , 并且查看主机B返回的数据包的 ID头信息。一般而言 , 每个顺序数据包的 ID头的值会加 1。然后由源主机A假冒主机B的地址向目标的主机C的任意端口 ( 1-65535) 发送SYN数据包 。这时主机C向主机B发送的数据包有两种可能的结果 : SYN|ACK: 表示该端口处于监听状态 RST|ACK: 表示该端口处于非监听状态 那么, 由后续PING数据包的响应信息的 ID头信息可以看出 如果主机C的某个端口是开放的 , 则主机B返回A的数据包中,ID头的值大于1 如果主机C的某个端口是非开放的,则主机B返回A的数据包中,ID头的值递增1,非常规律。

隐蔽扫描:是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。

SYN|ACK扫描:由源主机向目标主机的某个端口直接发送SYN|ACK数据包,而不是先发送SYN数据包。由于这种方法不发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。如果目标主机的该端口没有开放,会返回RST信息;如果该端口开放(LISTENING),则不会返回任何信息而是直接将这个数据包抛弃掉。

FIN(TCP结束信号)扫描:源主机A向目标主机B发送FIN数据包,然后查看反馈消息。如果端口返回RESET信息则说明该端口关闭。如果端口没有返回任何消息,则说明端口开放。

ACK扫描:首先由主机A向目标主机B发送FIN数据包,然后查看反馈数据包的TTL值和WIN值: 开放端口所返回的数据包的TTL值一般小于64。关闭端口的返回值一般大于64。 开放端口所返回的WIN值一般大于0。而关闭端口的返回值一般等于0

NULL扫描:将源主机发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部置空。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。

XMAS扫描:原理和NULL扫描相同,只是将要发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部置1。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。

结论:如果你不清楚上面的内容,那就记住判断端口开放还是关闭。如果返回信息是RST或RESET那就是关闭,其他表示端口是开放的

2.口令破解

口令机制是资源访问控制的第一道屏障,网络攻击者常常以破解用户的弱口令作为突破口,获取系统的访问权限。主要工作流程:

第一步,建立与目标网络服务的网络连接; 第二步,选取一个用户列表文件及字典文件; 第三步,在用户列表文件及字典文件中,选取一组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务端口; 第四步,本检测远程服务返回信息,确定口令尝试是否成功; 第五步,再取另一组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。

3.缓冲区溢出攻击

缓冲区溢出攻击是一种通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。 缓冲区溢出攻击的基本原理是向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的

4.恶意代码

恶意代码是指为达到恶意目的而专门设计的程序或代码,是指一切旨在破坏计算机或者网络系统可靠性、可用性、安全性和数据完整性或者损耗系统资源的恶意程序。常见的恶意代码类型有计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。

5. 拒绝服务攻击DoS(Denial of Service)

拒绝服务攻击的主要企图是借助于网络系统或网络协议的缺陷和配置漏洞进行网络攻击,使用网络阻塞、系统资源耗尽或者系统应用死锁,妨碍目标主机和网络系统对正常用户服务请求的及时响应,造成服务的性能受损升值导致服务。 原理:消耗系统资源、导致目标主机宕机,从而阻止授权用户正常访问服务。

要对服务器实施拒绝服务攻击,实质上的方式就是有两个: ① 服务器的缓冲区满,不接收新的请求。 ② 使用IP欺骗,迫使服务器把合法用户的连接复位(重启),影响合法用户的连接。这也是DoS该击实施的基本思想。

拒绝服务攻击类型有许多种,网络的内外部用户都可以发动这种攻击。

内部用户可以通过长时间占用系统的内存、CPU处理时间使其他用户不能及时得到这些资源,而引起拒绝服务攻击;

外部黑客也可以通过占用网络连接使其他用户得不到网络服务。 外部用户针对网络连接发动拒绝服务攻击主要有几种模式:消耗资源、破坏或更改配置信息、物理破坏或改变网络部件、利用服务程序中的处理错误使服务失效。

6.网络钓鱼

网络钓鱼(Phishing,与fishing发音相近得名)是一种通过假冒可信方(知名银行、在线零售商和信用卡公司等可信的品牌)提供网上服务,以欺骗手段获取敏感个人信息(如口令、信用卡详细信息等)的攻击方式。网络钓鱼者利用欺骗性的电子邮件和伪造的网站来进行诈骗活动,诱骗访问者提供一些个人信息,以谋求不正常的利益。

7.网络窃听

网络窃听是指利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。常见的网络窃听技术手段主要有网络嗅探、中间人攻击。网络攻击者将主机网络接口的方式设成“乱序模式”,就可以接收整个网络上的信息包,从而可以获取敏感口令,甚至将其重组,还原为用户传递的文件。

8.SQL注入攻击

在Web服务中,一般采用三层架构模式,浏览器+Web服务器+数据库。其中,WEB脚本程序负责处理来自浏览器端提交的新东西。但是由于WEB脚本程序的编程漏洞,对来自浏览器端的信息缺少输入安全合法性检查,网络攻击者利用这个漏洞,把SQL命令插入WEB表单的输入域或页面的请求查找字符串,欺骗服务器执行恶意的SQL命令。

9.社交工程

网络攻击者通过一系列的社交活动,获取需要的信息。例如伪造系统管理员的身份,给特定的用户发电子邮件骗取他的密码口令。有的攻击者会给用户送免费实用程序,不过该程序除了完成用户所需的功能外,还隐藏了一个将用户的计算机信息发送给攻击者的功能。

10.电子监听

网络攻击者采用电子设备远距离地监视电磁波的传送过程。灵敏的无线电接收装置能够在远处看到计算机操作者输入的字符或屏幕显示的内容。

11.会话劫持

会话劫持是指攻击者在初始授权之后建立一个连接,在会话劫持以后,攻击者具有合法用户的特权权限。如“TCP会话劫持”。

12.漏洞扫描

漏洞扫描是一种自动检测远程或本地主机安全漏洞的软件,通过漏洞扫描器可以自动发现系统的安全漏洞。常见的漏洞扫描技术有CC1漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描等。

13.代理技术(伪装攻击者)

网络攻击者通过免费代理服务器进行攻击,其目的是以代理服务器为“攻击跳板”,即使攻击目标的网络管理员发现了,也难以追踪到网络攻击者的真实身份或IP地址。为了增加追踪的难度,网络攻击者还会用多级代理服务器或者“跳板主机”来攻击目标。在黑客中,代理服务器被叫做“肉鸡”,黑客常利用所控制的机器进行攻击活动,如DDOS攻击。

14.数据加密(伪装攻击者)

网络攻击者常常采用数据加密技术来逃避网络安全管理人员的追踪。加密使网络攻击者的数据得到有效保护,即使网络安全管理人员得到这些加密的数据,没有密钥也无法读懂,这样就实现了攻击者的自身保护。攻击者的安全原则是,任何与攻击有关的内容都必须加密或者离开销毁

黑客常用工具

扫描器

通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。根据不同的扫描目的,扫描类软件又分为地址扫描器、端口扫描器、漏洞扫描器三个类别。

下面列出几种经典的扫描软件: 1.NMAP(Network Map)即网络地图,通过NMap可以检测网络上主机的开放端口号、主机的操作系统类型以及提供的网络服务。

2.Nessus:可运行在Linux操作系统平台上,支持多线程和插件。

3.SuperScan:是一款具有TCP connect端口扫描、Ping和域名解析等功能的工具,能较容易地对指定范围内的IP地址进行Ping和端口扫描。

远程监控

实际上是在受害机器上运行一个代理软件,而在黑客的电脑中运行管理软件,受害机器受控于黑客的管理端。受害者通常被称为“肉鸡”,其经常被用于发起DDoS拒绝服务攻击或作为攻击跳板。常见的远程监控工具有冰河、网络精灵、Netcat。

密码破解

密码破解是安全渗透常用的工具,常见的密码破解方式有口令猜测(针对用户的弱口令)、穷举搜索(针对用户密码的选择空间,使用高性能计算机,逐个尝试可能的密码)、撞库(根据已经收集到的用户密码的相关数据集,通过用户关键词搜索匹配,与目标系统的用户信息进行碰撞,以获取用户的密码)等。

密码破解工具大多数是由高级黑客编写,供初级黑客使用,常见工具如下: John the Ripper:用户检查Unix/Linux系统的弱口令,支持几乎所有Unix平台上经crypt函数加密后的口令哈希类型。

LOphtCrack:常用于破解Windows系统口令,含有词典攻击、组合攻击、强行攻击等多种口令猜测方法。

网络嗅探器(Network Sniffer)

通过网络嗅探,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。常见的网络嗅探器工具有: Tcpdump/WireShark:基于命令行的网络数据包分析软件,可以作为网络嗅探工具,能把匹配规则的数据包内容显示出来。

WireShark:提供图形化的网络数据包分析功能,可视化地展示网络数据包的内容。

DSniff:可以获取口令、邮件、文件等信息。

安全渗透工具箱

Metasploit:是一个开源渗透测试工具,提供漏洞查找、漏洞利用、漏洞验证等服务功能,支持1500多个漏洞挖掘利用,提供OWASP TOP 10漏洞测试。

BackTrack5:集成了大量的安全工具软件,支持信息收集、漏洞评估、漏洞利用、特权提升、保持访问、逆向工程、压力测试。

网络攻击案例分析

案例一:DDoS攻击(分布式拒绝攻击)

第一步,通过探测扫描大量主机,寻找可以进行攻击的目标。 第二步,攻击有安全漏洞的主机,并设法获取控制权。 第三步,在已攻击成功的主机中安装客户端攻击程序。 第四步,利用已攻击成功的主机继续进行扫描和攻击。 第五步,当攻击客户端达到一定的数目后,攻击者在主控端给客户端攻击程序发布向特定目标进行攻击的命令。

DDoS常用的攻击技术手段有HTTP Flood攻击、SYN Flood攻击、DNS放大攻击等。其中:

HTTP Flood攻击是利用僵尸主机向特定目标网站发送大量的HTTP GET请求,以导致网站瘫痪。

SYN Flood攻击利用TCP/IP协议的安全缺陷,伪造主机发送大量的SYN包到目标系统,导致目标系统的计算机网络瘫痪。

DNS放大攻击是攻击者假冒目标系统向多个DNS解析服务器发送大量请求,而导致DNS解析服务器同时回应目标系统,产生大量网络流量,形成拒绝服务。

案例二:W32.Blaster.Worm(冲击波病毒)

是一种利用DCOM RPC漏洞进行传播的网络蠕虫,其传播能力很强,感染蠕虫的计算机系统运行不稳定,系统会不断重启,并且该蠕虫还将对windowsupdate.com进行拒绝服务攻击,使得受害用户不能及时地得到这个漏洞的补丁。 如图所示:

(1)创建一个名为BILLY的互斥体,如果这个互斥体存在,蠕虫将放弃感染并退出。

(2)在注册表中添加下列键值:"windows auto update"="msblast.exe",并且将其添加至: HKEY_LOCAL_MACHINESOFTWARE\Microsoft\Windows\CurrentVersion\Run,这样就可以使蠕虫在系统被重启的时候能够自动运行。

(3)蠕虫生成攻击IP地址列表,尝试去感染列表中的计算机,蠕虫对有DCOMRPC漏洞的机器发起TCP135端口的连接,进行感染。

(4)在TCP4444端口绑定一个cmd.exe的客户端。

(5)在UDP port 69口上进行监听。如果收到了一个请求,将把Msblast.exe发送给目标机器。

(6)发送命令给远程的机器使它回联已经受到感染的机器并下载Msblast.exe。

(7)检查当前日期及月份,若当前日期为16日或以后,或当前月份处在9月到12月之间,则W32.Blaster.Worm蠕虫将对windowsupdate.com发送TCP同步风暴拒绝服务攻击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值