如何检测网站是否存在安全漏洞

如何检测网站是否存在安全漏洞,第1张

检测网站的安全漏洞方式分为两种:①使用安全软件进行网站安全漏洞检测、②使用渗透测试服务进行安全漏洞检测。

1、使用安全软件进行网站安全漏洞检测

使用检测网站安全漏洞我们可以选择安全软件进行,安全软件可以对我们的网站和服务器进行体验,找出我们服务器以及网站的漏洞并且可以根据安全漏洞进行修复。

2、使用渗透测试服务进行安全漏洞检测

渗透测试是利用模拟黑客攻击的方式,评估计算机网络系统安全性能的一种方法。这个过程是站在攻击者角度对系统的任何弱点、技术缺陷或漏洞进行主动分析,并且有条件地主动利用安全漏洞。

渗透测试并没有严格的分类方法,即使在软件开发生命周期中,也包含了渗透测试的环节,但是根据实际应用,普遍认为渗透测试分为黑盒测试、白盒测试、灰盒测试三类。

①黑箱测试又被称为所谓的Zero-Knowledge

Testing,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器。

②白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片段,也能够与单位的其它员工进行面对面的沟通。

③灰盒测试,白+黑就是灰色,灰盒测试是介于上述两种测试之间的一种方法,对目标系统有所一定的了解,还掌握了一定的信息,可是并不全面。渗透测试人员得持续性地搜集信息,并结合已知信息从中将漏洞找出。

但是不管采用哪种测试方法,渗透测试都具有以下特点:

(1)渗透测试是一个渐进的并且逐步深入的过程;

(2)渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

系统安全漏洞,也可以称为系统脆弱性,是指计算机系统在硬件、软件、协议的设计、具体实现以及系统安全策略上存在的缺陷和不足。系统脆弱性是相对系统安全而言的,从广义的角度来看,一切可能导致系统安全性受影响或破坏的因素都可以视为系统安全漏洞。安全漏洞的存在,使得非法用户可以利用这些漏洞获得某些系统权限,进而对系统执行非法 *** 作,导致安全事件的发生。漏洞检测就是希望能够防患于未然,在漏洞被利用之前发现漏洞并修补漏洞。本文作者通过自己的实践,介绍了检测漏洞的几种方法。 漏洞检测可以分为对已知漏洞的检测和对未知漏洞的检测。已知漏洞的检测主要是通过安全扫描技术,检测系统是否存在已公布的安全漏洞;而未知漏洞检测的目的在于发现软件系统中可能存在但尚未发现的漏洞。现有的未知漏洞检测技术有源代码扫描、反汇编扫描、环境错误注入等。源代码扫描和反汇编扫描都是一种静态的漏洞检测技术,不需要运行软件程序就可分析程序中可能存在的漏洞;而环境错误注入是一种动态的漏洞检测技术,利用可执行程序测试软件存在的漏洞,是一种比较成熟的软件漏洞检测技术。 安全扫描 安全扫描也称为脆弱性评估(Vulnerability Assessment),其基本原理是采用模拟黑客攻击的方式对目标可能存在的已知安全漏洞进行逐项检测,可以对工作站、服务器、交换机、数据库等各种对象进行安全漏洞检测。 到目前为止,安全扫描技术已经达到很成熟的地步。安全扫描技术主要分为两类:基于主机的安全扫描技术和基于网络的安全扫描技术。按照扫描过程来分,扫描技术又可以分为四大类:Ping扫描技术、端口扫描技术、 *** 作系统探测扫描技术以及已知漏洞的扫描技术。 安全扫描技术在保障网络安全方面起到越来越重要的作用。借助于扫描技术,人们可以发现网络和主机存在的对外开放的端口、提供的服务、某些系统信息、错误的配置、已知的安全漏洞等。系统管理员利用安全扫描技术,可以发现网络和主机中可能会被黑客利用的薄弱点,从而想方设法对这些薄弱点进行修复以加强网络和主机的安全性。同时,黑客也可以利用安全扫描技术,目的是为了探查网络和主机系统的入侵点。但是黑客的行为同样有利于加强网络和主机的安全性,因为漏洞是客观存在的,只是未被发现而已,而只要一个漏洞被黑客所发现并加以利用,那么人们最终也会发现该漏洞。 安全扫描器,是一种通过收集系统的信息来自动检测远程或本地主机安全性脆弱点的程序。安全扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。目标可以是工作站、服务器、交换机、数据库等各种对象。并且,一般情况下,安全扫描器会根据扫描结果向系统管理员提供周密可靠的安全性分析报告,为提高网络安全整体水平提供了重要依据。 安全扫描器的性质决定了它不是一个直接的攻击安全漏洞的程序,它是一个帮助我们发现目标主机存在着弱点的程序。一个优秀的安全扫描器能对检测到的数据进行分析,帮助我们查找目标主机的安全漏洞并给出相应的建议。 一般情况下,安全扫描器具备三项功能: ● 发现Internet上的一个网络或者一台主机; ● 一旦发现一台主机,能发现其上所运行的服务类型; ● 通过对这些服务的测试,可以发现存在的已知漏洞,并给出修补建议。 源代码扫描 源代码扫描主要针对开放源代码的程序,通过检查程序中不符合安全规则的文件结构、命名规则、函数、堆栈指针等,进而发现程序中可能隐含的安全缺陷。这种漏洞分析技术需要熟练掌握编程语言,并预先定义出不安全代码的审查规则,通过表达式匹配的方法检查源程序代码。

首先建议你使用360主机卫士、安全狗对服务器进行扫描排查。

1应当采用的处理方式

(1)、建立被入侵系统当前完整系统快照,或只保存被修改部分的快照,以便事后分析和留作证据。

(2)、立即通过备份恢复被修改的网页。

(3)、在Windows系统下,通过网络监控软件或"netstat -an"命令来查看系统目前的网络连接情况,如果发现不正常的网络连接,应当立即断开与它的连接。然后通过查看系统进程、服务和分析系统和服务的日志文件,来检查系统攻击者在系统中还做了什么样的 *** 作,以便做相应的恢复。

(4)、通过分析系统日志文件,或者通过弱点检测工具来了解攻击者入侵系统所利用的漏洞。如果攻击者是利用系统或网络应用程序的漏洞来入侵系统的,那么,就应当寻找相应的系统或应用程序漏洞补丁来修补它,如果目前还没有这些漏洞的相关补丁,我们就应当使用其它的手段来暂时防范再次利用这些漏洞的入侵活动。如果攻击者是利用其它方式,例如社会工程方式入侵系统的,而检查系统中不存在新的漏洞,那么就可以不必做这一个步骤,而必需对社会工程攻击实施的对象进行了解和培训。

(5)、修复系统或应用程序漏洞后,还应当添加相应的防火墙规则来防止此类事件的再次发生,如果安装有IDS/IPS和杀毒软件,还应当升级它们的特征库。

(6)、最后,使用系统或相应的应用程序检测软件对系统或服务进行一次彻底的弱点检测,在检测之前要确保其检测特征库是最新的。所有工作完成后,还应当在后续的一段时间内,安排专人对此系统进行实时监控,以确信系统已经不会再次被此类入侵事件攻击。

如果攻击者攻击系统是为了控制系统成为肉鸡,那么,他们为了能够长期控制系统,就会在系统中安装相应的后门程序。同时,为了防止被系统用户或管理员发现,攻击者就会千方百计地隐藏他在系统中的 *** 作痕迹,以及隐藏他所安装的后门。

因而,我们只能通过查看系统进程、网络连接状况和端口使用情况来了解系统是否已经被攻击者控制,如果确定系统已经成为了攻击者的肉鸡,那么就应当按下列方式来进行入侵恢复:

(1)、立即分析系统被入侵的具体时间,目前造成的影响范围和严重程度,然后将被入侵系统建立一个快照,保存当前受损状况,以更事后分析和留作证据。

(2)、使用网络连接监控软件或端口监视软件检测系统当前已经建立的网络连接和端口使用情况,如果发现存在非法的网络连接,就立即将它们全部断开,并在防火墙中添加对此IP或端口的禁用规则。

(3)、通过Windows任务管理器,来检查是否有非法的进程或服务在运行,并且立即结束找到的所有非法进程。但是,一些通过特殊处理的后门进程是不会出现在 Windows任务管理器中,此时,我们就可以通过使用Icesword这样的工具软件来找到这些隐藏的进程、服务和加载的内核模块,然后将它们全部结束任务。

可是,有时我们并不能通过这些方式终止某些后门程序的进程,那么,我们就只能暂停业务,转到安全模式下进行 *** 作。如果在安全模式下还不能结束掉这些后门进程的运行,就只能对业务数据做备份后,恢复系统到某个安全的时间段,再恢复业务数据。

这样,就会造成业务中断事件,因此,在处理时速度应当尽量快,以减少由于业务中断造成的影响和损失。有时,我们还应当检测系统服务中是否存在非法注册的后门服务,这可以通过打开"控制面板"-"管理工具"中的"服务"来检查,将找到的非法服务全部禁用。

(4)、在寻找后门进程和服务时,应当将找到的进程和服务名称全部记录下来,然后在系统注册表和系统分区中搜索这些文件,将找到的与此后门相关的所有数据全部删除。还应将"开始菜单"-"所有程序"-"启动"菜单项中的内容全部删除。

(5)、分析系统日志,了解攻击者是通过什么途径入侵系统的,以及他在系统中做了什么样的 *** 作。然后将攻击者在系统中所做的所有修改全部更正过来,如果他是利用系统或应用程序漏洞入侵系统的,就应当找到相应的漏洞补丁来修复这个漏洞。

如果目前没有这个漏洞的相关补丁,就应当使用其它安全手段,例如通过防火墙来阻止某些IP地址的网络连接的方式,来暂时防范通过这些漏洞的入侵攻击,并且要不断关注这个漏洞的最新状态,出现相关修复补丁后就应当立即修改。给系统和应用程序打补丁,我们可以通过相应的软件来自动化进行。

(6)、在完成系统修复工作后,还应当使用弱点检测工具来对系统和应用程序进行一次全面的弱点检测,以确保没有已经的系统或应用程序弱点出现。我们还应用使用手动的方式检查系统中是否添加了新的用户帐户,以及被攻击做修改了相应的安装设置,例如修改了防火墙过滤规则,IDS/IPS的检测灵敏度,启用被攻击者禁用了的服务和安全软件。

2进一步保证入侵恢复的成果

(1)、修改系统管理员或其它用户帐户的名称和登录密码;

(2)、修改数据库或其它应用程序的管理员和用户账户名称和登录密码;

(3)、检查防火墙规则;

(4)、如果系统中安装有杀毒软件和IDS/IPS,分别更新它们的病毒库和攻击特征库;

(5)、重新设置用户权限;

(6)、重新设置文件的访问控制规则;

(7)、重新设置数据库的访问控制规则;

(8)、修改系统中与网络 *** 作相关的所有帐户的名称和登录密码等。

当我们完成上述所示的所有系统恢复和修补任务后,我们就可以对系统和服务进行一次完全备份,并且将新的完全备份与旧的完全备份分开保存。

在这里要注意的是:对于以控制系统为目的的入侵活动,攻击者会想方设法来隐藏自己不被用户发现。他们除了通过修改或删除系统和防火墙等产生的与他 *** 作相关的日志文件外,高明的黑客还会通过一些软件来修改其所创建、修改文件的基本属性信息,这些基本属性包括文件的最后访问时间,修改时间等,以防止用户通过查看文件属性来了解系统已经被入侵。因此,在检测系统文件是否被修改时,应当使用RootKit Revealer等软件来进行文件完整性检测。二、 以得到或损坏系统中机密数据为目的的系统入侵恢复

现在,企业IT资源中什么最值钱,当然是存在于这些设备当中的各种机密数据了。目前,大部分攻击者都是以获取企业中机密数据为目的而进行的相应系统入侵活动,以便能够通过出售这些**的机密数据来获取非法利益。

如果企业的机密数据是以文件的方式直接保存在系统中某个分区的文件夹当中,而且这些文件夹又没有通过加密或其它安全手段进行保护,那么,攻击者入侵系统后,就可以轻松地得到这些机密数据。但是,目前中小企业中有相当一部分的企业还在使用这种没有安全防范的文件保存方式,这样就给攻击者提供大在的方便。

不过,目前还是有绝大部分的中小企业都是将数据保存到了专门的存储设备上,而且,这些用来专门保存机密数据的存储设备,一般还使用硬件防火墙来进行进一步的安全防范。因此,当攻击者入侵系统后,如果想得到这些存储设备中的机密数据,就必需对这些设备做进一步的入侵攻击,或者利用网络嗅探器来得到在内部局域网中传输的机密数据。

机密数据对于一些中小企业来说,可以说是一种生命,例如客户档案,生产计划,新产品研究档案,新产品图库,这些数据要是泄漏给了竞争对象,那么,就有可能造成被入侵企业的破产。对于抢救以得到、破坏系统中机密数据为目的的系统入侵活动,要想最大限度地降低入侵带来的数据损失,最好的方法就是在数据库还没有被攻破之前就阻止入侵事件的进一步发展。

试想像一下,如果当我们发现系统已经被入侵之时,所有的机密数据已经完全泄漏或删除,那么,就算我们通过备份恢复了这些被删除的数据,但是,由于机密数据泄漏造成的损失依然没有减少。因此,我们必需及时发现这种方式的系统入侵事件,只有在攻击者还没有得到或删除机密数据之前,我们的恢复工作才显得有意义。

当然,无论有没能损失机密数据,系统被入侵后,恢复工作还是要做的。对于以得到或破坏机密数据为目的的系统入侵活动,我们仍然可以按此种入侵活动进行到了哪个阶段,再将此种类型的入侵活动细分为还没有得到或破坏机密数据的入侵活动和已经得到或破坏了机密数据的入侵活动主两种类型。

1、恢复还没有得到或破坏机密数据的被入侵系统

假设我们发现系统已经被入侵,并且通过分析系统日志,或者通过直接观察攻击者对数据库进行的后续入侵活动,已经了解到机密数据还没有被攻击者窃取,只是进入了系统而已,那么,我们就可以按下列方式来应对这样的入侵活动:如果企业规定在处理这样的系统入侵事件时,不允许系统停机,那么就应当按这种方式来处理:

(1)、立即找到与攻击源的网络连接并断开,然后通过添加防火墙规则来阻止。通常,当我们一开始就立即断开与攻击源的网络连接,攻击者就会立即察觉到,并由此迅速消失,以防止自己被反向追踪。因而,如果我们想抓到攻击者,让他受到法律的惩罚,在知道目前攻击者进行的入侵攻击不会对数据库中的机密数据造成影响的前提下,我们就可以先对系统当前状态做一个快照,用来做事后分析和证据,然后使用IP追捕软件来反向追踪攻击者,找到后再断开与他的网络连接。

不过,我们要注意的是,进行反向追踪会对正常的系统业务造成一定的影响,同时,如果被黑客发现,他们有时会做最后一搏,会破坏系统后逃避,因而在追捕的同时要注意安全防范。只是,大部分的企业都是以尽快恢复系统正常运行,减少入侵损失为主要目的,因此,立即断开与攻击源的网络连接是最好的处理方式。

(2)、对被入侵系统的当前状态建立快照,以便事后分析和留作证据。

(3)、通过分析日志文件和弱点检测工具找到攻击者入侵系统的漏洞,然后了解这些系统漏洞是如何得到的。如果漏洞是攻击者自己分析得到的,那么就可能还没有相应的漏洞修复补丁,因而必需通过其它手段来暂时防范再次利用此漏洞入侵系统事件的发生;如果漏洞是攻击者通过互联网得到的,而且漏洞已经出现了相当一段时间,那么就可能存在相应的漏洞修复补丁,此时,就可以到系统供应商建立的服务网站下载这些漏洞补丁修复系统;如果攻击者是通过社会工程方式得到的漏洞,我们就应当对当事人和所有员工进行培训,以减少被再次利用的机率。

(4)、修改数据库管理员帐号名称和登录密码,重新为 *** 作数据的用户建立新的帐户和密码,并且修改数据库的访问规则。至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。

2、恢复已经得到或删除了机密数据的被入侵系统

如果当我们发现系统已经被入侵时,攻击者已经得到或删除了系统中全部或部分的机密数据,那么,现在要做的不是试图抢救已经损失了的数据,而是保护没有影响到的数据。由于此类系统入侵事件已经属于特别严重的入侵事件,我们的第一个动作,就是尽快断开与攻击源的网络连接。

如果允许系统停机处理这类严重系统入侵事件,那么就可以直接拔掉网线的方式断开被入侵系统与网络的直接连接。当系统仍然不允许停机处理时,就应当通过网络连接监控软件来找到系统与攻击源的网络连接,然后断开,并在防火墙中添加相应的规则来拦截与攻击源的网络连接。这样做的目的,就是防止此次系统入侵事件进一步的恶化,保护其它没有影响到的数据。

断开与攻击源的连接后,我们就应当立即分析数据损失的范围和严重程度,了解哪些数据还没有被影响到,然后立即将这些没有影响到的数据进行备份或隔离保护。对于丢失了数据的系统入侵事件,我们还可以将它归纳成以下的三个类别:

(1)、数据被窃取。

当我们检测数据库时发现数据并没有被删除或修改,但是通过分析系统日志和防火墙日志,了解攻击者已经进入了数据库,打开了某些数据库表,或者已经复制了这些数据库表,那么就可以确定攻击者只是窃取了数据而没有进行其它活动。此时,应当按前面介绍过的方法先恢复系统到正常状态,然修补系统和数据库应用程序的漏洞,并对它们进行弱点检测,发现没有问题后分别做一次完全备份。还应当修改系统管事员和数据库管理员帐户的名称和登录密码,所有的 *** 作与前面提到过的方式相同。只是多出了数据库的恢复工作。

(2)、数据被修改

如果我们在分析数据库受损情况时发现攻击者并没有打开数据库表,而是通过数据库命令增加、修改了数据库某个表中的相关内容。那么,我们不得不一一找出这些非授权的数据表相关行,然后将它们全部修正或删除。如果修改的内容有关某个行业,例如办理驾驶证的政府机关,办理毕业证的教育机构,或者办理其它各种执照相关单位等,那么,还要将攻击者修改的内容向外界公布,说明这些被攻击者修改或添加的内容是无效的,以免造成不必要的社会影响。其它的系统和数据库恢复处理方式与数据被窃取方式相同。

(3)、数据被删除

如果我们在分析数据库受损情况时,发现攻击者不仅得到了机密数据,而且将系统中的相应数据库表完全删除了,那么,我们在断开与其网络连接时,要立即着手恢复这些被删除了的数据。

当我们通过备份的方式来恢复被删除的数据时,在恢复之前,一定要确定系统被入侵的具体时间,这样才知道什么时候的备份是可以使用的。这是因为,如果我们对数据库设置了每日的增量备份,当攻击者删除其中的内容时,非法修改后的数据库同样被备份了,因此,在入侵后的增量备份都不可用。同样,如果在系统被入侵期间,还对数据库进行了完全备份,那么,这些完全备份也不可用。

如果允许我们停机进行处理,我们可以拆下系统上的硬盘,接入其它系统,然后通过文件恢复软件来恢复这些被删除的文件,但是,对于数据库表中内容的删除,我们只能通过留下的纸质文档,来自己慢慢修正。

在这里我们就可以知道,备份并不能解决所有的系统入侵问题,但仍然是最快、最有效恢复系统正常的方式之一。通过这我们还可以知道,及时发现系统已经被入侵对于抢救系统中的机密数据是多么的重要。三、 以破坏系统或业务正常运行为目的的系统入侵恢复

当攻击者入侵系统的目的,就是为了让系统或系统中的正常业务不能正常运行,如果我们发现不及时,当这类系统入侵事件攻击成功后,就会造成系统意外停机事件和业务意外中断事件。

处理这类系统入侵事件时,已经没有必需再考虑系统需不需要停机处理的问题了,既然系统都已经不能正常运行了,考虑这些都是多余的,最紧要的就是尽快恢复系统正常运行。对于这类事件,也有下列这几种类别,每种类别的处理方式也是有一点区别的:

1、系统运行正常,但业务已经中断

对于此类系统入侵事件,我们可以不停机进行处理,直接以系统在线方式通过备份来恢复业务的正常运行,但在恢复前要确定系统被入侵的具体时间,以及什么时候的备份可以使用,然后按本文前面介绍的相关系统入侵恢复方式来恢复系统和业务到正常状态。

对于没有冗余系统的企业,如果当时非常迫切需要系统业务能够正常运行,那么,也只有在通过备份恢复业务正常运行后直接使用它。但在没有修复系统或应用程序漏洞之前,必需安排专人实时监控系统的运行状况,包括网络连接状况,系统进程状况,通过提高IDS/IPS的检测力度,添加相应的防火墙检测规则来暂时保护系统安全。

2、系统不能正常运行,但系统中与业务相关的内容没有受到破坏

此时,我们首要的任务就是尽快让系统恢复正常运行,但是要保证系统中与业务相关的数据不能受到损害。如果与业务相关的重要数据不在系统分区,那么,将系统从网络中断开后,我们就可以通过另外保存的系统完全备份来迅速恢复系统到正常状态,这是最快速的解决方法。

但是,如果与业务相关的数据全部或部分存放在系统分区,那么,为了防止当前业务数据的完整性,我们应当先通过像WinPE光盘系统的方式启动Winpe系统,然后将与业务相关的重要数据全部备份到其它独立的存储设备中,再对系统分区进行备份恢复 *** 作。

如果我们发现系统的完全备份不可用,我们就只能在保证与业务相关的重要数据不损失的情况下,进行全新的 *** 作系统安装方式来恢复系统正常运行,然后再安装业务应用程序,来恢复整个系统业务的正常运行。但是,由于这种方式是重新全新安装的 *** 作系统,因此,如没有特殊的要求,应当对系统和应用程序做好相应的安全防范措施并完全备份后,才将系统连入网络当中。

至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。

3、系统不能正常运行,系统中的业务也已经被破坏

此时,首先按第二种方式恢复系统正常运行,然后再在系统中重新安装与业务相关应用程序,并且尽量通过备份恢复与业务相关的数据。至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。

当系统或业务被破坏不能运行后,造成的影响和损失是肯定的,我们按上述方式这样做的目的,就是为了尽量加快系统和业务恢复正常运行的速度,减少它们停止运行的时间,尽量降低由于系统停机或业务中断造成的影响和损失。

在对入侵系统进行恢复处理的过程中,对于一些与企业经营生死相依的特殊业务,例如电子邮件服务器,由于邮件服务器是为员工和客户提供邮件服务器的,如果邮件服务器停用,势必会影响的业务的正常往来。因此,对邮件服务器进行入侵恢复前,在使用本文前面所描述的方法进行进,还应当完成下列的工作:

(1)、启用临时邮箱,如果受影响的邮件服务器是企业自身的,可以通过申请邮件服务器提供商如Sina、163等的邮箱作为代替。

(2)、然后将临时邮箱信息尽快通知供货商和合作伙伴。

(3)、完成这些的工作后,就可以对被入侵的邮件服务器系统作相应的入侵恢复处理,恢复的方式与本文前面描述的方式相同。

四、 事后分析

当成功完成任何一种系统入侵类型的处理工作后,我们还必需完成与此相关的另外一件重要的事情,那就是对系统入侵事件及事件处理过程进行事后分析。

事后分析都是建立在大量的文档资料的基础上的,因而,我们在对被入侵系统进行处理的过程中,应当将事件处理过程中的所有 *** 作内容和方式全部细致地记录下来。另外,我在描述如何恢复被入侵系统的处理过程中,在每次进行入侵恢复前都要求将受损系统的当前状态建立快照,其目的之一也是为了事后可以通过它来进行入侵分析。

我们通过对被入侵系统进行入侵分析,就能了解到此次入侵事件影响的范围和损失的严重程度,以及处理它所花费的时间、人力和物力成本。另一方面,通过分析此次入侵事件,可以了解攻击者是通过什么方式入侵系统的。

通过了解攻击者入侵系统的各种方式,就可以从中学习到相应的防范对策,为我们的安全防范工作带来相应的宝贵经验,让我们以后知道如何去应对与此相似的系统入侵活动。并由此来修改安全策略中不规范的内容,或添加相应的安全策略,使安全策略适应各个时期的安全防范需求。

同样,对每次系统入侵事件的处理过程进行分析,可以让我们了解自己或事件处理团队在应对系统入侵事件时的 *** 作是否正确,是否产生了不必要的 *** 作,是否产生了人为的失误,这些失误是如何产生的,以及哪些 *** 作提高了处理的效率等等有用的信息。通过对系统入侵恢复处理过程的事后分析,能让我们增加相应的事件入侵响应能力,而且,还可以找出事件响应计划中不规范的内容,并由此做相应的修正。

对系统入侵事件和其恢复处理过程进行事后分析得出的结论,都应当全部以书面形式记录下来,并上报给上级领导。同时,还应当将处理结果发到每个事件响应小组成员手中,或企业中各个部门领导手中,由各部门分别组织学习,以防止此类系统入侵事件再次发生。如果有必要,还可以将事件发生和处理情况通告给合作伙伴和客户,以帮助它们防范此类系统入侵事件的发生,或告知系统或应用软件提供商,让他们尽快产生相应的漏洞补丁。

渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethicalhacking),因此我们这里的所有读者应当都是EthicalHackers,如果您还不是,那么我希望您到过这里后会成为他们中的一员;)

这里,我还想对大家说一些话:渗透测试重在实践,您需要一颗永不言败的心和一个有着活跃思维的大脑。不是说您将这一份文档COPY到您网站上或者保存到本地电脑您就会了,即使您将它打印出来沾点辣椒酱吃了也不行,您一定要根据文档一步一步练习才行。而且测试重在用脑,千万别拿上一两个本文中提到的工具一阵乱搞,我敢保证:互联网的安全不为因为这样而更安全。祝您好运。。。

一、简介

什么叫渗透测试?

渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。

进行渗透测试的目的?

了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。为什么说叫直观呢?就像Mitnick书里面提到的那样,安全管理(在这里我们改一下,改成安全评估工作)需要做到面面俱到才算成功,而一位黑客(渗透测试)只要能通过一点进入系统进行破坏,他就算是很成功的了。

渗透测试是否等同于风险评估?

不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分(可选)。

已经进行了安全审查,还需要渗透测试吗?

如果我对您说:嘿,中国的现有太空理论技术通过计算机演算已经能够证明中国完全有能力实现宇航员太空漫步了,没必要再发射神8了。您能接受吗?

渗透测试是否就是黑盒测试?

否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。这时,安全测试人员可以被告之包括代码片段来内的有关于系统的一些信息。这时,它就满足灰盒甚至白盒测试。

渗透测试涉及哪些内容

技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THEARTOFINTRUSION)。

渗透测试有哪些不足之处?

主要是投入高,风险高。而且必须是专业的EthicalHackers才能相信输出的最终结果。

你说的那么好,为什么渗透测试工作在中国开展的不是很火热呢?

我只能说:会的,一定会的。渗透测试的关键在于没法证明你的测试结果就是完善的。用户不知道花了钱证明了系统有问题以后,自己的安全等级到了一个什么程序。但是很显然,用户是相信一个专业且经验丰富的安全团队的,这个在中国问题比较严重。在我接触了一些大型的安全公司进行的一些渗透测试过程来看,测试人员的水平是对不住开的那些价格的,而且从测试过程到结果报表上来看也是不负责的。我估计在三年以后,这种情况会有所改观,到时一方面安全人员的技术力量有很大程度的改观,另一方面各企业对渗透测试会有一个比较深刻的理解,也会将其做为一种IT审计的方式加入到开发流程中去。渗透测试的专业化、商业化会越来越成熟。

二、制定实施方案

实施方案应当由测试方与客户之间进行沟通协商。一开始测试方提供一份简单的问卷调查了解客户对测试的基本接收情况。内容包括但不限于如下:

目标系统介绍、重点保护对象及特性。

是否允许数据破坏?

是否允许阻断业务正常运行?

测试之前是否应当知会相关部门接口人?

接入方式?外网和内网?

测试是发现问题就算成功,还是尽可能的发现多的问题?

渗透过程是否需要考虑社会工程?

。。。

在得到客户反馈后,由测试方书写实施方案初稿并提交给客户,由客户进行审核。在审核完成后,客户应当对测试方进行书面委托授权。这里,两部分文档分别应当包含如下内容:

实施方案部分:

书面委托授权部分:

三、具体 *** 作过程

1、信息收集过程

网络信息收集:

在这一部还不会直接对被测目标进行扫描,应当先从网络上搜索一些相关信息,包括GoogleHacking,Whois查询,DNS等信息(如果考虑进行社会工程学的话,这里还可以相应从邮件列表/新闻组中获取目标系统中一些边缘信息如内部员工帐号组成,身份识别方式,邮件联系地址等)。

1使用whois查询目标域名的DNS服务器

2nslookup

>settype=all

><domain>

>server<nsserver>

>setq=all

>ls-d<domain>

涉及的工具包括:Google,Demon,webhostinginfo,Apollo,Athena,GHDBXML,netcraft,seologs除此之外,我想特别提醒一下使用Googlebot/21绕过一些文件的获取限制。

Googlehacking中常用的一些语法描述

1搜索指定站点关键字site。你可以搜索具体的站点如site:来搜索中国政府部门的网站。

2搜索在URL网址中的关键字inurl。比如你想搜索带参数的站点,你可以尝试用inurl:aspid=

3搜索在网页标题中的关键字intitle。如果你想搜索一些登陆后台,你可以尝试使用intitle:"adminlogin"

目标系统信息收集:

通过上面一步,我们应当可以简单的描绘出目标系统的网络结构,如公司网络所在区域,子公司IP地址分布,***接入地址等。这里特别要注意一些比较偏门的HOST名称地址,如一些backup开头或者temp开关的域名很可能就是一台备份服务器,其安全性很可能做的不够。

从获取的地址列表中进行系统判断,了解其组织架构及 *** 作系统使用情况。最常用的方法的是目标所有IP网段扫描。

端口/服务信息收集:

这一部分已经可以开始直接的扫描 *** 作,涉及的工具包括:nmap,thc-amap

1我最常使用的参数

nmap-sS-p1-10000-n-P0-oXfilenamexml--open-T5<ipaddress>

应用信息收集:>

这里有必要将SNMP拿出来单独说一下,因为目前许多运营商、大型企业内部网络的维护台通过SNMP进行数据传输,大部分情况是使用了默认口令的,撑死改了private口令。这样,攻击者可以通过它收集到很多有效信息。snmp-gui,HiliSoftMIBBrowser,mibsearch,net-snmp都是一些很好的资源。

2、漏洞扫描

这一步主要针对具体系统目标进行。如通过第一步的信息收集,已经得到了目标系统的IP地址分布及对应的域名,并且我们已经通过一些分析过滤出少许的几个攻击目标,这时,我们就可以针对它们进行有针对性的漏洞扫描。这里有几个方面可以进行:

针对系统层面的工具有:ISS,Nessus,SSS,Retina,天镜,极光

针对WEB应用层面的工具有:AppScan,AcunetixWebVulnerabilityScanner,WebInspect,Nstalker

针对数据库的工具有:ShadowDatabaseScanner,NGSSQuirreL

针对VOIP方面的工具有:PROTOSc07sip(在测试中直接用这个工具轰等于找死)以及c07h225,Sivus,sipsak等。

事实上,每个渗透测试团队或多或少都会有自己的测试工具包,在漏洞扫描这一块针对具体应用的工具也比较个性化。

3、漏洞利用

有时候,通过服务/应用扫描后,我们可以跳过漏洞扫描部分,直接到漏洞利用。因为很多情况下我们根据目标服务/应用的版本就可以到一些安全网站上获取针对该目标系统的漏洞利用代码,如milw0rm,securityfocus,packetstormsecurity等网站,上面都对应有搜索模块。实在没有,我们也可以尝试在GOOGLE上搜索“应用名称exploit”、“应用名称vulnerability”等关键字。

当然,大部分情况下你都可以不这么麻烦,网络中有一些工具可供我们使用,最著名的当属metasploit了,它是一个开源免费的漏洞利用攻击平台。其他的多说无益,您就看它从榜上无名到冲进前五(top100)这一点来说,也能大概了解到它的威力了。除此之外,如果您(您们公司)有足够的moeny用于购买商用软件的话,COREIMPACT是相当值得考虑的,虽然说价格很高,但是它却是被业界公认在渗透测试方面的泰山北斗,基本上测试全自动。如果您觉得还是接受不了,那么您可以去购买CANVAS,据说有不少0DAY,不过它跟metasploit一样,是需要手动进行测试的。最后还有一个需要提及一下的Exploitation_Framework,它相当于一个漏洞利用代码管理工具,方便进行不同语言,不同平台的利用代码收集,把它也放在这里是因为它本身也维护了一个exploit库,大家参考着也能使用。

上面提到的是针对系统进行的,在针对WEB方面,注入工具有NBSI,OWASPSQLiX,SQLPowerInjector,sqlDumper,sqlninja,sqlmap,Sqlbftools,priamos,ISR-sqlget等等。

在针对数据库方面的工具有:

数据库工具列表Oracle(1521端口):目前主要存在以下方面的安全问题:

1、TNS监听程序攻击(sid信息泄露,停止服务等)

2、默认账号(defaultpasswordlist)

3、SQLINJECTION(这个与传统的意思还不太一样)

4、缓冲区溢出,现在比较少了。thc-orakel,tnscmd,oscanner,Getsids,TNSLSNR,lsnrcheck,OAT,Checkpwd,orabfMSSqlServer(1433、1434端口)Mysql(3306端口)DB2(523、50000、50001、50002、50003端口)db2utilsInformix(1526、1528端口)

在针对Web服务器方面的工具有:

WEB服务器工具列表IISIISPUTSCANNERTomcat想起/admin和/manager管理目录了吗?另外,目录列表也是Tomcat服务器中最常见的问题。比如5版本中的

在渗透测试过程中,一旦有机会接触一些OFFICE文档,且被加了密的话,那么,rixler是您马上要去的地方,他们提供的OFFICE密码套件能在瞬间打开OFFICE文档(2007中我没有试过,大家有机会测试的话请给我发一份测试结果说明,谢谢)。看来微软有理由来个补丁什么的了。对于企业来说,您可以考虑使用铁卷或者RMS了。

6、日志清除

Itisnotnecessaryactually

7、进一步渗透

攻入了DMZ区一般情况下我们也不会获取多少用价值的信息。为了进一步巩固战果,我们需要进行进一步的内网渗透。到这一步就真的算是无所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺骗)。当然,最简单的你可以翻翻已入侵机器上的一些文件,很可能就包含了你需要的一些连接帐号。比如说你入侵了一台Web服务器,那么绝大部分情况下你可以在页面的代码或者某个配置文件中找到连接数据库的帐号。你也可以打开一些日志文件看一看。

除此之外,你可以直接回到第二步漏洞扫描来进行。

四、生成报告

报告中应当包含:

薄弱点列表清单(按照严重等级排序)

薄弱点详细描述(利用方法)

解决方法建议

参与人员/测试时间/内网/外网

五、测试过程中的风险及规避

在测试过程中无可避免的可能会发生很多可预见和不可预见的风险,测试方必须提供规避措施以免对系统造成重大的影响。以下一些可供参考:

1不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。

2测试验证时间放在业务量最小的时间进行。

3测试执行前确保相关数据进行备份。

4所有测试在执行前和维护人员进行沟通确认。

5在测试过程中出现异常情况时立即停止测试并及时恢复系统。

6对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透测试。

以上就是关于如何检测网站是否存在安全漏洞全部的内容,包括:如何检测网站是否存在安全漏洞、漏洞检测的几种方法、服务器被入侵,网站根目录被注入.ASP、.TXT文件,如何找到漏洞等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9570933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存