网络攻击一般分为哪几个步骤?
攻击的基本步骤:搜集信息 实施入侵 上传程序、下载数据 利用一些方法来保持访问,如后门、特洛伊木马 隐藏踪迹 【 信息搜集 】在攻击者对特定的网络资源进行攻击以前,他们需要了解将要攻击的环境,这需要搜集汇总各种与目标系统相关的信息,包括机器数目、类型、操作系统等等。踩点和扫描的目的都是进行信息的搜集。
攻击者搜集目标信息一般采用7个基本步骤,每一步均有可利用的工具,攻击者使用它们得到攻击目标所需要的信息。找到初始信息 找到网络的地址范围 找到活动的机器 找到开放端口和入口点 弄清操作系统 弄清每个端口运行的是哪种服务 画出网络图
1 找到初始信息
攻击者危害一台机器需要有初始信息,比如一个IP地址或一个域名。实际上获取域名是很容易的一件事,然后攻击者会根据已知的域名搜集关于这个站点的信息。比如服务器的IP地址(不幸的是服务器通常使用静态的IP地址)或者这个站点的工作人员,这些都能够帮助发起一次成功的攻击。
搜集初始信息的一些方法包括:
开放来源信息 (open source information)
在一些情况下,公司会在不知不觉中泄露了大量信息。公司认为是一般公开的以及能争取客户的信息,都能为攻击者利用。这种信息一般被称为开放来源信息。
开放的来源是关于公司或者它的合作伙伴的一般、公开的信息,任何人能够得到。这意味着存取或者分析这种信息比较容易,并且没有犯罪的因素,是很合法的。这里列出几种获取信息的例子: 公司新闻信息:如某公司为展示其技术的先进性和能为客户提供最好的监控能力、容错能力、服务速度,往往会不经意间泄露了系统的操作平台、交换机型号、及基本的线路连接。 公司员工信息:大多数公司网站上附有姓名地址簿,在上面不仅能发现CEO和财务总监,也可能知道公司的VP和主管是谁。 新闻组:现在越来越多的技术人员使用新闻组、论坛来帮助解决公司的问题,攻击者看这些要求并把他们与电子信箱中的公司名匹配,这样就能提供一些有用的信息。使攻击者知道公司有什么设备,也帮助他们揣测出技术支持人员的水平 Whois
对于攻击者而言,任何有域名的公司必定泄露某些信息!
攻击者会对一个域名执行whois程序以找到附加的信息。Unix的大多数版本装有whois,所以攻击者只需在终端窗口或者命令提示行前敲入" whois 要攻击的域名"就可以了。对于windows操作系统,要执行whois查找,需要一个第三方的工具,如sam spade。
通过查看whois的输出,攻击者会得到一些非常有用的信息:得到一个物理地址、一些人名和电话号码(可利用来发起一次社交工程攻击)。非常重要的是通过whois可获得攻击域的主要的(及次要的)服务器IP地址。
Nslookup
找到附加IP地址的一个方法是对一个特定域询问DNS。这些域名服务器包括了特定域的所有信息和链接到网络上所需的全部数据。任何网络都需要的一条信息,如果是打算发送或者接受信件,是mx记录。这条记录包含邮件服务器的IP地址。大多数公司也把网络服务器和其他IP放到域名服务器记录中。大多数UNIX和NT系统中,nslookup代理或者攻击者能够使用一个第三方工具,比如spade。
另一个得到地址的简单方法是ping域名。Ping一个域名时,程序做的第一件事情是设法把主机名解析为IP地址并输出到屏幕。攻击者得到网络的地址,能够把此网络当作初始点。2 找到网络的地址范围
当攻击者有一些机器的IP地址,他下一步需要找出网络的地址范围或者子网掩码。
需要知道地址范围的主要原因是:保证攻击者能集中精力对付一个网络而没有闯入其它网络。这样做有两个原因:第一,假设有地址10.10.10.5,要扫描整个A类地址需要一段时间。如果正在跟踪的目标只是地址的一个小子集,那么就无需浪费时间;第二,一些公司有比其他公司更好的安全性。因此跟踪较大的地址空间增加了危险。如攻击者可能能够闯入有良好安全性的公司,而它会报告这次攻击并发出报警。
攻击者能用两种方法找到这一信息,容易的方法是使用America Registry for Internet Numbers(ARIN)whois 搜索找到信息;困难的方法是使用tranceroute解析结果。
(1) ARIN允许任何人搜索whois数据库找到"网络上的定位信息、自治系统号码(ASN)、有关的网络句柄和其他有关的接触点(POC)。"基本上,常规的whois会提供关于域名的信息。ARINwhois允许询问IP地址,帮助找到关于子网地址和网络如何被分割的策略信息。
(2) Traceroute可以知道一个数据包通过网络的路径。因此利用这一信息,能决定主机是否在相同的网络上。
连接到internet上的公司有一个外部服务器把网络连到ISP或者Internet上,所有去公司的流量必须通过外部路由器,否则没有办法进入网络,并且大多数公司有防火墙,所以traceroute输出的最后一跳会是目的机器,倒数第二跳会是防火墙,倒数第三跳会是外部路由器。通过相同外部路由器的所有机器属于同一网络,通常也属于同一公司。因此攻击者查看通过tranceroute到达的各种ip地址,看这些机器是否通过相同的外部路由器,就知道它们是否属于同一网络。
这里讨论了攻击者进入和决定公司地址范围的两种方法。既然有了地址范围,攻击者能继续搜集信息,下一步是找到网络上活动的机器。
3 找到活动的机器
在知道了IP地址范围后,攻击者想知道哪些机器是活动的,哪些不是。公司里一天中不同的时间有不同的机器在活动。一般攻击者在白天寻找活动的机器,然后在深夜再次查找,他就能区分工作站和服务器。服务器会一直被使用,而工作站只在正常工作日是活动的。
Ping :使用ping可以找到网络上哪些机器是活动的。
Pingwar:ping有一个缺点,一次只能ping一台机器。攻击者希望同时ping多台机器,看哪些有反应,这种技术一般被称为ping sweeping。Ping war 就是一个这样的有用程序。
Nmap:Nmap也能用来确定哪些机器是活动的。Nmap是一个有多用途的工具,它主要是一个端口扫描仪,但也能ping sweep一个地址范围。4 找到开放端口和入口点
(1)Port Scanners:
为了确定系统中哪一个端口是开放的,攻击者会使用被称为port scanner(端口扫描仪)的程序。端口扫描仪在一系列端口上运行以找出哪些是开放的。
选择端口扫描仪的两个关键特征:第一,它能一次扫描一个地址范围;第二,能设定程序扫描的端口范围。(能扫描1到65535的整个范围。)
目前流行的扫描类型是:TCP conntect扫描 TCP SYN扫描 FIN扫描 ACK扫描常用端口扫描程序有:ScanPort:使用在Windows环境下,是非常基础的端口扫描仪,能详细列出地址范围和扫描的端口地址范围。 Nmap:在UNIX环境下推荐的端口扫描仪是Nmap。Nmap不止是端口扫描仪,也是安全工具箱中必不可少的工具。Namp能够运行前面谈到的不同类型的 。 运行了端口扫描仪后,攻击者对进入计算机系统的入口点有了真正的方法。
(2) War Dialing
进入网络的另一个普通入口点是modem(调制解调器)。用来找到网络上的modem的程序被称为war dialers。基本上当提交了要扫描的开始电话号码或者号码范围,它就会拨叫每一个号码寻找modem回答,如果有modem回答了,它就会记录下这一信息。
THC-SCAN是常用的war dialer程序。
5 弄清操作系统
攻击者知道哪些机器是活动的和哪些端口是开放的,下一步是要识别每台主机运行哪种操作系统。
有一些探测远程主机并确定在运行哪种操作系统的程序。这些程序通过向远程主机发送不平常的或者没有意义的数据包来完成。因为这些数据包RFC(internet标准)没有列出,一个操作系统对它们的处理方法不同,攻击者通过解析输出,能够弄清自己正在访问的是什么类型的设备和在运行哪种操作系统。Queso:是最早实现这个功能的程序。Queso目前能够鉴别出范围从microsoft到unix 和cisco路由器的大约100种不同的设备。 Nmap:具有和Queso相同的功能,可以说它是一个全能的工具。目前它能检测出接近400种不同的设备。 6 弄清每个端口运行的是哪种服务
(1) default port and OS
基于公有的配置和软件,攻击者能够比较准确地判断出每个端口在运行什么服务。例如如果知道操作系统是unix和端口25是开放的,他能判断出机器正在运行sendmail,如果操作系统是Microsoft NT和端口是25是开放的,他能判断出正在运行Exchange。
(2) Telnet
telnet是安装在大多数操作系统中的一个程序,它能连接到目的机器的特定端口上。攻击者使用这类程序连接到开放的端口上,敲击几次回车键,大多数操作系统的默认安装显示了关于给定的端口在运行何种服务的标题信息。
(3) Vulnerability Scanners
Vulnerability Scanners(弱点扫描器)是能被运行来对付一个站点的程序,它向黑客提供一张目标主机弱点的清单。7 画出网络图
进展到这个阶段,攻击者得到了各种信息,现在可以画出网络图使他能找出最好的入侵方法。攻击者可以使用traceroute或者ping来找到这个信息,也可以使用诸如cheops那样的程序,它可以自动地画出网络图。
Traceroute
Traceroute是用来确定从源到目的地路径的程序,结合这个信息,攻击者可确定网络的布局图和每一个部件的位置。
Visual Ping
Visual Ping是一个真实展示包经过网络的路线的程序。它不仅向攻击者展示了经过的系统,也展示了系统的地理位置。
Cheops
Cheops利用了用于绘制网络图并展示网络的图形表示的技术,是使整个过程自动化的程序。如果从网络上运行,能够绘出它访问的网络部分。经过一系列的前期准备,攻击者搜集了很多信息,有了一张网络的详尽图,确切地知道每一台机器正在使用的软件和版本,并掌握了系统中的一些弱点和漏洞。我们可以想象一下,他成功地攻击网络会很困难吗?回答是否定的!当拥有了那些信息后,网络实际上相当于受到了攻击。因此,保证安全让攻击者只得到有限的网络信息是关键!/B
网络攻击的攻击步骤
第一步:隐藏己方位置
普通攻击者都会利用别人的计算机隐藏他们真实的IP地址。老练的攻击者还会利用800电话的无人转接服务联接ISP,然后再盗用他人的帐号上网。
第二步:寻找并分析
攻击者首先要寻找目标主机并分析目标主机。在Internet上能真正标识主机的是IP地址,域名是为了便于记忆主机的IP地址而另起的名字,只要利用域名和 IP地址就能顺利地找到目标主机。当然,知道了要攻击目标的位置还是远远不够的,还必须将主机的操作系统类型及其所提供服务等资料作个全方面的了解。此时,攻击者们会使用一些扫描器工具,轻松获取目标主机运行的是哪种操作系统的哪个版本,系统有哪些帐户,WWW、FTP、Telnet 、SMTP等服务器程式是何种版本等资料,为入侵作好充分的准备。
第三步:帐号和密码
攻击者要想入侵一台主机,首先要该获取主机的一个帐号和密码,否则连登录都无法进行。这样常迫使他们先设法盗窃帐户文件,进行破解,从中获取某用户的帐户和口令,再寻觅合适时机以此身份进入主机。当然,利用某些工具或系统漏洞登录主机也是攻击者常用的一种技法。
第四步:获得控制权
攻击者们用FTP、Telnet等工具利用系统漏洞进入进入目标主机系统获得控制权之后,就会做两件事:清除记录和留下后门。他会更改某些系统设置、在系统中置入特洛伊木马或其他一些远程操纵程式,以便日后能不被觉察地再次进入系统。大多数后门程式是预先编译好的,只需要想办法修改时间和权限就能使用了,甚至新文件的大小都和原文件一模相同。攻击者一般会使用rep传递这些文件,以便不留下FTB记录。清除日志、删除拷贝的文件等手段来隐藏自己的踪迹之后,攻击者就开始下一步的行动。
第五步:资源和特权
攻击者找到攻击目标后,会继续下一步的攻击,窃取网络资源和特权。如:下载敏感信息;实施窃取帐号密码、信用卡号等经济偷窃;使网络瘫痪。
网络攻击的过程通常是怎样的?
攻击者在一次攻击过程中通常采用如图
下面我们对攻击者的攻击过程中的各个步骤做一详细的介绍。
隐 藏位置
隐藏位置就是有效地保护自己,在因特网上的网络主机均有自己的网络地址,根据TCP/IP协议的规定,若没有采取保护措施,很容易反查到某台网络主机的位置,如IP地址和域名。因此,有经验的 黑 客 在实施攻击活动时的首要步骤是设法隐藏自己所在的网络位置,包括自己的网络域及IP地址,这样使调查者难以发现真正的攻击者来源。攻击者经常使用如 下 技 术 隐 藏 他 们 真实 的IP 地 址或者域名:
利用被侵入的主机作为跳板, 如在安装Windows 的计算机内利用Wingate软件作为跳板,利用配置不当的Proxy作为跳板;
使用电话转接技术隐蔽自己,如利用电话的转接服务联接ISP;
盗用他人的账号上网,通过电话联接一台主机,再经由主机进入Internet;
免 费 代 理 网关 ;
伪 造IP地址 ;
假 冒用户帐号 。
网络探测和收集资料
在发动一场攻击之前,攻击者一般要先确定攻击目标并收集目标系统的相关信息。他可能在一开始就确定了攻击目标,然后专门收集该目标的信息;也可能先大量地收集网上主机的信息,然后根据各系统的安全性强弱来确定最后的目标。
对于攻击者来说,信息是最好的工具。它可能就是攻击者发动攻击的最终目的(如绝密文件、经济情报);也可能是攻击者获得系统访问权的通行证,如用户口令、认证票据(ticket);也可能是攻击者获取系统访问权的前奏,如目标系统的软硬件平台类型、提供的服务与应用及其安全性的强弱等。攻击者感兴趣的信息主要包括:
操作系统信息;
开放的服务端口号;
系统默认帐号和口令;
邮件帐号;
IP地址分配情况;
域名信息;
网络设备类型;
网络通信协议;
应用服务器软件类型。
攻击者为了全面地掌握使目标系统的信息,常常借助软件工具,例如nmap、NESSUS、SATAN等。另外,攻击者进行搜集目标信息时,还要注意隐藏自己,以免引起目标系统管理员的注意。
弱点挖掘
系统中脆弱性的存在是系统受到各种安全威胁的根源。外部攻击者的攻击主要利用了系统提供的网络服务中的脆弱性;内部人员作案则利用了系统内部服务及其配置上的脆弱性;而拒绝服务攻击主要是利用资源分配上的脆弱性,长期占用有限资源不释放,使其他用户得不到应得的服务,或者是利用服务处理中的弱点,使该服务崩溃。攻击者攻击的重要步骤就是尽量挖掘出系统的弱点,并针对具体的脆弱性研究相应的攻击方法。常用到的弱点挖掘技术方法有:
系统或应用服务软件漏洞。攻击者还可以根据系统提供的不同的服务来使用不同的方法以获取系统的访问权限。如果攻击者发现系统提供了UUCP服务,攻击者可以利用UUCP的安全漏洞来获取系统的访问权;如果系统还提供其他的一些远程网络服务,如邮件服务、WWW服务、匿名FTP服务、TFTP服务,攻击者可以利用这些远程服务中的弱点获取系统的访问权。
机信任关系漏洞。攻击者寻找那些被信任的主机。这些主机可能是管理员使用的机器,或是一台被认为是很安全的服务器。比如,他可以利CGI 的漏洞,读取/etc/hosts.allow文件等。通过这个文件,就可以大致了解主机间的信任关系。接下一步,就是探测这些被信任的主机哪些存在漏洞。
寻找有 漏 洞 的 网 络 成 员 。尽量去发现有漏洞的网络成员对攻击者往往起到事倍功半效果,堡垒最容易从内部攻破就是这个缘故。用户网络安全防范意识弱,选取弱口令,使得从远程直接控制主机。
安全策略配置漏洞。主机的网络服务配置不当,开放有漏洞的网络服务。
通信协议漏洞。通过分析目标网络所采用的协议信息,寻找漏洞,如TCP/IP协议就存在漏洞。
网络业务系统漏洞
通过掌握目标网络的业务流程信息,然后发现漏洞,例如,在WWW服务中,允许普通用户远程上载的文件执行。
掌握控制权
一般帐户对目标系统只有有限的访问权限,要达到某些目的,攻击者必须有更多的权限。因此在获得一般帐户之后,攻击者经常会试图去获得更高的权限,如系统管理帐户的权限。获取系统管理权限通常有以下途径:
获得系统管理员的口令,如专门针对root用户的口令攻击;
利用系统管理上的漏洞:如错误的文件许可权,错误的系统配置,某些SUID程序中存在的缓冲区溢出问题等;
让系统管理员运行一些特洛伊木马,如经篡改之后的LOGIN程序等。
隐藏行踪
做为一个入侵者,攻击者总是惟恐自己的行踪被发现,所以在进入系统之后,聪明的攻击者要做的第一件事就是隐藏自己的行踪,攻击者隐藏自己的行踪通常要用到如下技术:
连接隐藏,如冒充其他用户、修改LOGNAME环境变量、修改utmp日志文件、使用IP SPOOF技术等;
进程隐藏,如使用重定向技术减少ps给出的信息量、用特洛伊木马代替ps程序等;
篡改日志文件中的审计信息;
改变系统时间造成日志文件数据紊乱以迷惑系统管理员。
实施攻击
不同的攻击者有不同的攻击目的,可能是为了获得机密文件的访问权,也可能是破坏系统数据的完整性,也可能是整个系统的控制权:系统管理权限,以及其他目的等。一般说来,可归结为以下几种方式:
下载敏感信息;
攻 击 其 他 被 信 任 的 主 机 和 网 络;
瘫 痪 网 络;
修改或删除重要数据。
开辟后门
一次成功的入侵通常要耗费攻击者的大量时间与精力,所以精于算计的攻击者在退出系统之前会在系统中制造一些后门,以方便自己的下次入侵,攻击者设计后门时通常会考虑以下方法:
放宽文件许可权;
重新开放不安全的服务,如REXD、TFTP等;
修改系统的配置,如系统启动文件、网络服务配置文件等;
替换系统本身的共享库文件;
安装各种特洛伊木马,修改系统的源代码;
安装sniffers。
0条大神的评论