本文目录一览:
网站安全渗透测试怎么做?
信息收集:
1、获取域名的whois信息,获取注册者邮箱姓名电话等。
2、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。
4、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。
6、google hack 进一步探测网站的信息,后台,敏感文件。
漏洞扫描:
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。
漏洞利用:
利用以上的方式拿到webshell,或者其他权限。
权限提升:
提权服务器,比如windows下mysql的udf提权。
日志清理:
结束渗透测试工作需要做的事情,抹除自己的痕迹。
总结报告及修复方案:
报告上包括:
1、对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。
2、对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。
我问下一个黑客在入侵一个网站,一般是通过什么步骤啊?
--探测开放的服务
|--溢出
|--弱口令
|--查找敏感或者脆弱目录-分析网站目录结构
|--整站程序Bug 黑白盒测试 获取SHELL
|--nslookup 列出所有二级玉米 逐个分析
|--site:***.com 关键字 -探测弱口令
|--啊D寻找注入点-----注入
|---手工查找注入点-注入
|--拿C段机器--提权--嗅探+arp
|--收集一切能收集管理员信息 充分应用baidu google 实现社会工程序
求大神:我的服务器被人入侵了,在我的网站根目录建了一个文件夹做跳转,
用FTP把首页index.html下载回本地,用DW打开,CTRL+F:输入对方跳转的网址、查找、应该出来对方挂的代码了,如果没出来可能代码加密了、看下哪些代码是加密的,如果不是你搞的那就是别人挂的了。
解释解释入侵网站的原理
一、获取口令
这种方式有三种方法:一是缺省的登录界面(ShellScripts)攻击法。在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上键入登录信息(用户名、密码等)后,程序将用户输入的信息传送到攻击者主机,然后关闭界面给出提示信息“系统故障”,要求用户重新登录。此后,才会出现真正的登录界面。二是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;三是在知道用户的账号后(如电子邮件“@”前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;尤其对那些口令安全系数极低的用户,只要短短的一两分钟,甚至几十秒内就可以将其破解。
二、电子邮件攻击
这种方式一般是采用电子邮件炸弹(E-mailBomb),是黑客常用的一种攻击手段。指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的恶意邮件,也可称之为大容量的垃圾邮件。由于每个人的邮件信箱是有限的,当庞大的邮件垃圾到达信箱的时候,就会挤满信箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,使用户不能正常地工作,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪。
三、特洛伊木马攻击
“特洛伊木马程序”技术是黑客常用的攻击手段。它通过在你的电脑系统隐藏一个会在Windows启动时运行的程序,采用服务器/客户机的运行方式,从而达到在上网时控制你电脑的目的。黑客利用它窃取你的口令、浏览你的驱动器、修改你的文件、登录注册表等等,如流传极广的冰河木马,现在流行的很多病毒也都带有黑客性质,如影响面极广的“Nimda”、“求职信”和“红色代码”及“红色代码II”等。攻击者可以佯称自己为系统管理员(邮件地址和系统管理员完全相同),将这些东西通过电子邮件的方式发送给你。如某些单位的网络管理员会定期给用户免费发送防火墙升级程序,这些程序多为可执行程序,这就为黑客提供了可乘之机,很多用户稍不注意就可能在不知不觉中遗失重要信息。
四、诱入法
黑客编写一些看起来“合法”的程序,上传到一些FTP站点或是提供给某些个人主页,诱导用户下载。当一个用户下载软件时,黑客的软件一起下载到用户的机器上。该软件会跟踪用户的电脑操作,它静静地记录着用户输入的每个口令,然后把它们发送给黑客指定的Internet信箱。例如,有人发送给用户电子邮件,声称为“确定我们的用户需要”而进行调查。作为对填写表格的回报,允许用户免费使用多少小时。但是,该程序实际上却是搜集用户的口令,并把它们发送给某个远方的“黑客”。
五、寻找系统漏洞
许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,Windows98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你不上网。还有就是有些程序员设计一些功能复杂的程序时,一般采用模块化的程序设计思想,将整个项目分割为多个功能模块,分别进行设计、调试,这时的后门就是一个模块的秘密入口。在程序开发阶段,后门便于测试、更改和增强模块功能。正常情况下,完成设计之后需要去掉各个模块的后门,不过有时由于疏忽或者其他原因(如将其留在程序中,便于日后访问、测试或维护)后门没有去掉,一些别有用心的人会利用专门的扫描工具发现并利用这些后门,然后进入系统并发动攻击。
现在,你该知道黑客惯用的一些攻击手段了吧?当我们对黑客们的这些行为有所了解后,就能做到“知己知彼,百战不殆”,从而更有效地防患于未然,拒黑客于“机”外。网络的开放性决定了它的复杂性和多样性,随着技术的不断进步,各种各样高明的黑客还会不断诞生,同时,他们使用的手段也会越来越先进。我们惟有不断提高个人的安全意识,再加上必要的防护手段,斩断黑客的黑手。相信通过大家的努力,黑客们的舞台将会越来越小,个人用户可以高枕无忧地上网冲浪,还我们一片宁静的天空。
一,ping
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。
-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。
-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。
-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。
说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。
下面我们举个例子来说明一下具体用法。
这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。
(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)
至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。
二,nbtstat
该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。
-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。
-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。
-n 列出本地机器的NETBIOS信息。
当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。
三,netstat
这是一个用来查看网络状态的命令,操作简便功能强大。
-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4。
这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。
-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
四,tracert
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。如图5。
这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。
五,net
这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车如图6。
在这里,我们重点掌握几个入侵常用的子命令。
net view
使用此命令查看远程主机的所以共享资源。命令格式为net view \\IP。
net use
把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \\IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use \\IP\IPC$ "password" /user:"name"),
建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \\192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。
net start
使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。
net stop
入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。
net user
查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。
1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。
2,net user abcd /del,将用户名为abcd的用户删除。
3,net user abcd /active:no,将用户名为abcd的用户禁用。
4,net user abcd /active:yes,激活用户名为abcd的用户。
5,net user abcd,查看用户名为abcd的用户的情况
net localgroup
查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup groupname username /add。
现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来查看他的状态,和图10进行比较就可以看出来。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。
net time
这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \\IP。
六,at
这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \\computer。
表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。
七,ftp
大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。
首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入“help”来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。
大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。
首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入“open 主机IP ftp端口”回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。
用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。
接下来就要介绍具体命令的使用方法了。
dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。
cd 进入某个文件夹。
get 下载文件到本地机器。
put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。
delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。
bye 退出当前连接。
quit 同上。
八,telnet
功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。
然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。
当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。这里我使用的超级管理员权限登陆的。
到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。
另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码(输入法漏洞差不多绝迹了吧),哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。
最后,由衷的说一句,培养良好的安全意识才是最重要的。
如何对网站进行渗透测试和漏洞扫描
零、前言
渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为。 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德黑客行为(Ethical hacking),因此我们这里的所有读者应当都是Ethical Hackers,如果您还不是,那么我希望您到过这里后会成为他们中的一员 ;)
这里,我还想对大家说一些话:渗透测试重在实践,您需要一颗永不言败的心和一个有着活跃思维的大脑。不是说您将这一份文档COPY到您网站上或者保存到本地电脑您就会了,即使您将它打印出来沾点辣椒酱吃了也不行,您一定要根据文档一步一步练习才行。而且测试重在用脑,千万别拿上一两个本文中提到的工具一阵乱搞,我敢保证:互联网的安全不为因为这样而更安全。祝您好运。。。
一、简介
什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。为什么说叫直观呢?就像Mitnick书里面提到的那样,安全管理(在这里我们改一下,改成安全评估工作)需要做到面面俱到才算成功,而一位黑客(渗透测试)只要能通过一点进入系统进行破坏,他就算是很成功的了。
渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分(可选)。
已经进行了安全审查,还需要渗透测试吗?
如果我对您说:嘿,中国的现有太空理论技术通过计算机演算已经能够证明中国完全有能力实现宇航员太空漫步了,没必要再发射神8了。您能接受吗?
渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。这时,安全测试人员可以被告之包括代码片段来内的有关于系统的一些信息。这时,它就满足灰盒甚至白盒测试。
渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的Ethical Hackers才能相信输出的最终结果。
你说的那么好,为什么渗透测试工作在中国开展的不是很火热呢?
我只能说:会的,一定会的。渗透测试的关键在于没法证明你的测试结果就是完善的。用户不知道花了钱证明了系统有问题以后,自己的安全等级到了一个什么程序。但是很显然,用户是相信一个专业且经验丰富的安全团队的,这个在中国问题比较严重。在我接触了一些大型的安全公司进行的一些渗透测试过程来看,测试人员的水平是对不住开的那些价格的,而且从测试过程到结果报表上来看也是不负责的。我估计在三年以后,这种情况会有所改观,到时一方面安全人员的技术力量有很大程度的改观,另一方面各企业对渗透测试会有一个比较深刻的理解,也会将其做为一种IT审计的方式加入到开发流程中去。渗透测试的专业化、商业化会越来越成熟。
二、制定实施方案
实施方案应当由测试方与客户之间进行沟通协商。一开始测试方提供一份简单的问卷调查了解客户对测试的基本接收情况。内容包括但不限于如下:
目标系统介绍、重点保护对象及特性。
是否允许数据破坏?
是否允许阻断业务正常运行?
测试之前是否应当知会相关部门接口人?
接入方式?外网和内网?
测试是发现问题就算成功,还是尽可能的发现多的问题?
渗透过程是否需要考虑社会工程?
在得到客户反馈后,由测试方书写实施方案初稿并提交给客户,由客户进行审核。在审核完成后,客户应当对测试方进行书面委托授权。这里,两部分文档分别应当包含如下内容:
实施方案部分:
书面委托授权部分:
三、具体操作过程
1、信息收集过程
网络信息收集:
在这一部还不会直接对被测目标进行扫描,应当先从网络上搜索一些相关信息,包括Google Hacking, Whois查询, DNS等信息(如果考虑进行社会工程学的话,这里还可以相应从邮件列表/新闻组中获取目标系统中一些边缘信息如内部员工帐号组成,身份识别方式,邮件联系地址等)。
1.使用whois查询目标域名的DNS服务器
2.nslookup
set type=all
domain
server ns server
set q=all
ls -d domain
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs 除此之外,我想特别提醒一下使用Googlebot/2.1绕过一些文件的获取限制。
Google hacking 中常用的一些语法描述
1.搜索指定站点关键字site。你可以搜索具体的站点如site:。使用site:nosec.org可以搜索该域名下的所有子域名的页面。甚至可以使用site:org.cn来搜索中国政府部门的网站。
2.搜索在URL网址中的关键字inurl。比如你想搜索带参数的站点,你可以尝试用inurl:asp?id=
3.搜索在网页标题中的关键字intitle。如果你想搜索一些登陆后台,你可以尝试使用intitle:"admin login"
目标系统信息收集:
通过上面一步,我们应当可以简单的描绘出目标系统的网络结构,如公司网络所在区域,子公司IP地址分布,VPN接入地址等。这里特别要注意一些比较偏门的HOST名称地址,如一些backup开头或者temp开关的域名很可能就是一台备份服务器,其安全性很可能做的不够。
从获取的地址列表中进行系统判断,了解其组织架构及操作系统使用情况。最常用的方法的是目标所有IP网段扫描。
端口/服务信息收集:
这一部分已经可以开始直接的扫描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的参数
nmap -sS -p1-10000 -n -P0 -oX filename.xml --open -T5 ip address
应用信息收集:httprint,SIPSCAN,smap
这里有必要将SNMP拿出来单独说一下,因为目前许多运营商、大型企业内部网络的维护台通过SNMP进行数据传输,大部分情况是使用了默认口令的,撑死改了private口令。这样,攻击者可以通过它收集到很多有效信息。snmp-gui,HiliSoft MIB Browser,mibsearch,net-snmp都是一些很好的资源。
2、漏洞扫描
这一步主要针对具体系统目标进行。如通过第一步的信息收集,已经得到了目标系统的IP地址分布及对应的域名,并且我们已经通过一些分析过滤出少许的几个攻击目标,这时,我们就可以针对它们进行有针对性的漏洞扫描。这里有几个方面可以进行:
针对系统层面的工具有:ISS, Nessus, SSS, Retina, 天镜, 极光
针对WEB应用层面的工具有:AppScan, Acunetix Web Vulnerability Scanner, WebInspect, Nstalker
针对数据库的工具有:ShadowDatabaseScanner, NGSSQuirreL
针对VOIP方面的工具有:PROTOS c07 sip(在测试中直接用这个工具轰等于找死)以及c07 h225, Sivus, sipsak等。
事实上,每个渗透测试团队或多或少都会有自己的测试工具包,在漏洞扫描这一块针对具体应用的工具也比较个性化。
3、漏洞利用
有时候,通过服务/应用扫描后,我们可以跳过漏洞扫描部分,直接到漏洞利用。因为很多情况下我们根据目标服务/应用的版本就可以到一些安全网站上获取针对该目标系统的漏洞利用代码,如milw0rm, securityfocus,packetstormsecurity等网站,上面都对应有搜索模块。实在没有,我们也可以尝试在GOOGLE上搜索“应用名称 exploit”、“应用名称 vulnerability”等关键字。
当然,大部分情况下你都可以不这么麻烦,网络中有一些工具可供我们使用,最著名的当属metasploit了,它是一个开源免费的漏洞利用攻击平台。其他的多说无益,您就看它从榜上无名到冲进前五(top 100)这一点来说,也能大概了解到它的威力了。除此之外,如果您(您们公司)有足够的moeny用于购买商用软件的话,CORE IMPACT是相当值得考虑的,虽然说价格很高,但是它却是被业界公认在渗透测试方面的泰山北斗,基本上测试全自动。如果您觉得还是接受不了,那么您可以去购买CANVAS,据说有不少0DAY,不过它跟metasploit一样,是需要手动进行测试的。最后还有一个需要提及一下的Exploitation_Framework,它相当于一个漏洞利用代码管理工具,方便进行不同语言,不同平台的利用代码收集,把它也放在这里是因为它本身也维护了一个exploit库,大家参考着也能使用。
上面提到的是针对系统进行的,在针对WEB方面,注入工具有NBSI, OWASP SQLiX, SQL Power Injector, sqlDumper, sqlninja, sqlmap, Sqlbftools, priamos, ISR-sqlget***等等。
在针对数据库方面的工具有:
数据库 工具列表 Oracle(1521端口): 目前主要存在以下方面的安全问题:
1、TNS监听程序攻击(sid信息泄露,停止服务等)
2、默认账号(default password list)
3、SQL INJECTION(这个与传统的意思还不太一样)
4、缓冲区溢出,现在比较少了。 thc-orakel, tnscmd, oscanner, Getsids, TNSLSNR, lsnrcheck, OAT, Checkpwd, orabf MS Sql Server(1433、1434端口) Mysql(3306端口) DB2(523、50000、50001、50002、50003端口) db2utils Informix(1526、1528端口)
在针对Web服务器方面的工具有:
WEB服务器 工具列表 IIS IISPUTSCANNER Tomcat 想起/admin和/manager管理目录了吗?另外,目录列表也是Tomcat服务器中最常见的问题。比如5.*版本中的;index.jsp
"../manager/html
;cookievalue=%5C%22FOO%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2F%3B
;cookievalue=%5C%22A%3D%27%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A01+UTC%3B+Path%3D%2Fservlets-examples%2Fservlet+%3B JBOSS jboss的漏洞很少,老版本中8083端口有%符号的漏洞:
GET %. HTTP/1.0可以获取物理路径信息,
GET %server.policy HTTP/1.0可以获取安全策略配置文档。
你也可以直接访问GET %org/xxx/lib.class来获取编译好的java程序,再使用一些反编译工具还原源代码。 Apache Resin
;servletpath=file=WEB-INF/web.xml
;servletpath=file=WEB-INF/classes/com/webapp/app/target.class
[path]/[device].[extension]
.."web-inf
[path]/%20.xtp WebLogic
Web安全测试主要围绕几块进行:
Information Gathering:也就是一般的信息泄漏,包括异常情况下的路径泄漏、文件归档查找等
Business logic testing:业务逻辑处理攻击,很多情况下用于进行业务绕过或者欺骗等等
Authentication Testing:有无验证码、有无次数限制等,总之就是看能不能暴力破解或者说容不容易通过认证,比较直接的就是“默认口令”或者弱口令了
Session Management Testing:会话管理攻击在COOKIE携带认证信息时最有效
Data Validation Testing:数据验证最好理解了,就是SQL Injection和Cross Site Script等等
目前网上能够找到许多能够用于进行Web测试的工具,根据不同的功能分主要有:
枚举(Enumeration): DirBuster, http-dir-enum, wget
基于代理测试类工具:paros, webscarab, Burp Suite
针对WebService测试的部分有一些尚不是很成熟的工具,如:wsbang,wschess,wsmap,wsdigger,wsfuzzer
这一部分值得一提的是,很多渗透测试团队都有着自己的测试工具甚至是0DAY代码,最常见的是SQL注入工具,现网开发的注入工具(如NBSI等)目前都是针对中小企业或者是个人站点/数据库进行的,针对大型目标系统使用的一些相对比较偏门的数据库系统(如INFORMIX,DB2)等,基本上还不涉及或者说还不够深入。这时各渗透测试团队就开发了满足自身使用习惯的测试工具。
在针对无线环境的攻击有:WifiZoo
4、权限提升
在前面的一些工作中,你或许已经得到了一些控制权限,但是对于进一步攻击来说却还是不够。例如:你可能很容易的能够获取Oracle数据库的访问权限,或者是得到了UNIX(AIX,HP-UX,SUNOS)的一个基本账号权限,但是当你想进行进一步的渗透测试的时候问题就来了。你发现你没有足够的权限打开一些密码存储文件、你没有办法安装一个SNIFFER、你甚至没有权限执行一些很基本的命令。这时候你自然而然的就会想到权限提升这个途径了。
目前一些企业对于补丁管理是存在很大一部分问题的,他们可能压根就没有想过对一些服务器或者应用进行补丁更新,或者是延时更新。这时候就是渗透测试人员的好机会了。经验之谈:有一般权限的Oracle账号或者AIX账号基本上等于root,因为这就是现实生活。
5、密码破解
有时候,目标系统任何方面的配置都是无懈可击的,但是并不是说就完全没办法进入。最简单的说,一个缺少密码完全策略的论证系统就等于你安装了一个不能关闭的防盗门。很多情况下,一些安全技术研究人员对此不屑一顾,但是无数次的安全事故结果证明,往往破坏力最大的攻击起源于最小的弱点,例如弱口令、目录列表、SQL注入绕过论证等等。所以说,对于一些专门的安全技术研究人员来说,这一块意义不大,但是对于一个ethical hacker来说,这一步骤是有必要而且绝大部分情况下是必须的。;)
目前比较好的网络密码暴力破解工具有:thc-hydra,brutus
hydra.exe -L users.txt -P passwords.txt -o test.txt -s 2121 ftp
目前网络中有一种资源被利用的很广泛,那就是rainbow table技术,说白了也就是一个HASH对应表,有一些网站提供了该种服务,对外宣称存储空间大于多少G,像rainbowcrack更是对外宣称其数据量已经大于1.3T。
针对此种方式对外提供在线服务的有:
网址 描述 rainbowcrack 里面对应了多种加密算法的HASH。 数据量全球第一,如果本站无法破解,那么你只能去拜春哥...
当然,有些单机破解软件还是必不可少的:Ophcrack,rainbowcrack(国人开发,赞一个),cain,L0phtCrack(破解Windows密码),John the Ripper(破解UNIX/LINUX)密码,当然,还少不了一个FindPass...
针对网络设备的一些默认帐号,你可以查询和
在渗透测试过程中,一旦有机会接触一些OFFICE文档,且被加了密的话,那么,rixler是您马上要去的地方,他们提供的OFFICE密码套件能在瞬间打开OFFICE文档(2007中我没有试过,大家有机会测试的话请给我发一份测试结果说明,谢谢)。看来微软有理由来个补丁什么的了。对于企业来说,您可以考虑使用铁卷或者RMS了。
6、日志清除
It is not necessary actually.
7、进一步渗透
攻入了DMZ区一般情况下我们也不会获取多少用价值的信息。为了进一步巩固战果,我们需要进行进一步的内网渗透。到这一步就真的算是无所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺骗)。当然,最简单的你可以翻翻已入侵机器上的一些文件,很可能就包含了你需要的一些连接帐号。比如说你入侵了一台Web服务器,那么绝大部分情况下你可以在页面的代码或者某个配置文件中找到连接数据库的帐号。你也可以打开一些日志文件看一看。
除此之外,你可以直接回到第二步漏洞扫描来进行。
四、生成报告
报告中应当包含:
薄弱点列表清单(按照严重等级排序)
薄弱点详细描述(利用方法)
解决方法建议
参与人员/测试时间/内网/外网
五、测试过程中的风险及规避
在测试过程中无可避免的可能会发生很多可预见和不可预见的风险,测试方必须提供规避措施以免对系统造成重大的影响。以下一些可供参考:
1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。
2. 测试验证时间放在业务量最小的时间进行。
3. 测试执行前确保相关数据进行备份。
4. 所有测试在执行前和维护人员进行沟通确认。
5. 在测试过程中出现异常情况时立即停止测试并及时恢复系统。
6. 对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透测试。
服务器被入侵,网站根目录被注入.ASP、.TXT文件,如何找到漏洞?
首先建议你使用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)、完成这些的工作后,就可以对被入侵的邮件服务器系统作相应的入侵恢复处理,恢复的方式与本文前面描述的方式相同。
四、 事后分析
当成功完成任何一种系统入侵类型的处理工作后,我们还必需完成与此相关的另外一件重要的事情,那就是对系统入侵事件及事件处理过程进行事后分析。
事后分析都是建立在大量的文档资料的基础上的,因而,我们在对被入侵系统进行处理的过程中,应当将事件处理过程中的所有操作内容和方式全部细致地记录下来。另外,我在描述如何恢复被入侵系统的处理过程中,在每次进行入侵恢复前都要求将受损系统的当前状态建立快照,其目的之一也是为了事后可以通过它来进行入侵分析。
我们通过对被入侵系统进行入侵分析,就能了解到此次入侵事件影响的范围和损失的严重程度,以及处理它所花费的时间、人力和物力成本。另一方面,通过分析此次入侵事件,可以了解攻击者是通过什么方式入侵系统的。
通过了解攻击者入侵系统的各种方式,就可以从中学习到相应的防范对策,为我们的安全防范工作带来相应的宝贵经验,让我们以后知道如何去应对与此相似的系统入侵活动。并由此来修改安全策略中不规范的内容,或添加相应的安全策略,使安全策略适应各个时期的安全防范需求。
同样,对每次系统入侵事件的处理过程进行分析,可以让我们了解自己或事件处理团队在应对系统入侵事件时的操作是否正确,是否产生了不必要的操作,是否产生了人为的失误,这些失误是如何产生的,以及哪些操作提高了处理的效率等等有用的信息。通过对系统入侵恢复处理过程的事后分析,能让我们增加相应的事件入侵响应能力,而且,还可以找出事件响应计划中不规范的内容,并由此做相应的修正。
对系统入侵事件和其恢复处理过程进行事后分析得出的结论,都应当全部以书面形式记录下来,并上报给上级领导。同时,还应当将处理结果发到每个事件响应小组成员手中,或企业中各个部门领导手中,由各部门分别组织学习,以防止此类系统入侵事件再次发生。如果有必要,还可以将事件发生和处理情况通告给合作伙伴和客户,以帮助它们防范此类系统入侵事件的发生,或告知系统或应用软件提供商,让他们尽快产生相应的漏洞补丁。