欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

企业如何自行检查漏洞?

程序员文章站 2022-04-07 09:55:48
许多企业雇佣外部公司执行渗透测试,但有些公司认为聘请外部公司本身就是一种风险,所以,为什么不攻击自己的网络去看看哪里有漏洞呢?   如何开始     你不妨像黑客一样思考,...

许多企业雇佣外部公司执行渗透测试,但有些公司认为聘请外部公司本身就是一种风险,所以,为什么不攻击自己的网络去看看哪里有漏洞呢?

  如何开始

 企业如何自行检查漏洞?


  你不妨像黑客一样思考,如何找到企业系统中的漏洞,并有效地揭示这些漏洞.时到今日,破坏一个网络或信息系统的基本过程并没有太多变化。这些步骤基本说来就是:

  1、执行侦察

  2、扫描和枚举

  3、获得访问权

  4、提升特权

  5:维持访问并掩盖踪迹

  有多种免费和收费的工具可以有效地攻击你的网络。你可能希望使用配备强大处理器和视频卡的专用硬件。至于操作系统,我们拥有Windows平台和Linux平台的好工具,但许多好工具并非跨平台的。

  快速搭建并运行一台“攻击机”的一种方法是安装一个称为BackTrack的Linux发行版。该版本预安装了许多工具,对于快速渗透测试很有用处。在你准备好一个渗透测试系统后,就可以尝试攻击自己的网络了。

  执行侦察

  你可以对公司的网络执行许多被动攻击。更有趣的是这些方法并不要求特定的黑客工具,也就是说,对损害公司感兴趣的人并不需要亲自发送数据包到你的网络上。

  事实上,最有效的黑客工具就是“谷歌”。黑客们使用谷歌执行搜索,查找网络漏洞。让我们从一个简单的谷歌搜索开始,让我们假定贵公司的网站名称为abc.com。

  例如在谷歌的搜索框中输入:site:abc.com pdf

  该搜索会显示出驻存在贵公司网站上的所有pdf文件,搜索结果可能会令你大吃一惊。不妨再试几个:

  site: abc.com private(私密)

  site: abc.com confidential(机密)

  site: abc.com “log in”

  site: abc.com error(错误)

  最后这个error(错误)常被人忽视。攻击者常使用error(错误)来找到错误配置和网站中的弱点。因而,你也应当这样做。再一个例子, inurl: abc(贵公司的名称)。此时的搜索会确认贵公司的名称出现在URL中的所有实例。你可能很容易就找到以前并不注意的网站。

  同样,你还可以执行非授权DNS查询,看看能否从DNS服务器执行一次区域传送。区域传送是DNS所记录节点的一种简单记录。你可能已经锁定一些主机,这些主机并不响应扫描或ping操作,但可能会列示在你的DNS区域中。你应当特别注意不希望让攻击者看到的服务器,如FTP服务器。

  为了实施主动侦察,应当对网络实施安全扫描。如果你希望进行再次检查,不妨启动Nmap并指向公司网络的IP地址。下面列示的是其使用实例:

  nmap –v 123.123.123.123

  nmap –T4 –A –v 123.123.123.1-255

  nmap –sS –O abc.com /24(此处的abc.com表示贵公司的域名)

 


  扫描与枚举

  在很多情况下,作为协商过程的一部分,SMB(服务器信息块)等协议也会泄露信息。所以,使用Nmap等网络安全扫描工具非常重要。通过使用Nmap脚本,你可以极大地扩展该工具的实用性。事实上,Nmap十分灵活,安全人员花点儿时间学习其脚本引擎(NSE)是十分必要的。

  在运行Nmap进行内部攻击时,有时会得到很有趣的结果,如下图所示:

企业如何自行检查漏洞?
 

  可以看出,服务器上有几个共享,甚至还有一个已经登录的用户账户。这些信息对于黑客很有价值,因为这些共享包含漏洞,而且管理员账户也没有锁定。这意味着黑客可以轻易地使用强力攻击来对付管理员账户。

  从上图我们还可以看出,该机器的操作系统有可能是XP,并且已经打开了SMB。通过利用谷歌搜索得知,xp在445端口上有好几个漏洞。

  使用更高级的工具,可以得到关于漏洞的更多细节。例如,著名的商业安全软件Nessus可以很有效地检查漏洞:

 

企业如何自行检查漏洞?

保持访问并掩饰痕迹

 

   在攻击者可以访问系统后,他们必须保持访问。其部分任务就是要掩饰其踪迹,这样就没有人知道他们已经来过。

 

  还记得我们下载Netcat的时候吗?Netcat极其灵活,可谓短小精悍,易于隐藏。Netcat可以对网络实施许多操作,其中包括打开一个指向可执行文件的监听器。它可以打开一个选择端口,以便于在任何时间都可以访问系统。

 

  C:\user\>nc –l –p 6450 –e cmd.exe

 

  现在,你需要做的是Telnet进入此端口,你将会得到一个拥有特权的命令行(与启动Netcat时所使用的特权相同)。如果你希望悄悄地测试你的服务器管理员,可以将此命令放到注册表中,使它在服务器每次启动时都能够自动运行。

 

  当攻击者在不同系统间转移时,Netcat很有用。攻击者可以越来越深入地探察进入DMZ层,而且有可能进入网络。在每个系统上运行Netcat可以保证攻击者能够全身而退。

 

  特别注意Web应用

 

  企业的Web应用常常受黑客的极大关注,因为公司网站面对的是互联网。由于公司常常提供对客户数据、信用卡、付款数据甚至机密的公司信息的访问。

 

  幸运的是,你可以使用开源市场上的许多伟大工具来攻击自己的Web 应用。

 

  在你将w3af指向Web应用程序时,Web应用程序自己将放弃信息。W3af是一个强大的工具,可以发现并利用Web应用程序的漏洞。它是模块化的,所以你可以接受现有的模板,或者手工构建自己的模板,选择你想发动的攻击。

 

  最常见的严重漏洞往往涉及到代码的注入。检查这种问题一个简单方法是,把一个不希望接收的字符放到那个发送至Web服务器的字段中。

 

  例如:www.attackyourself.com/yourpage.php?id=0

 

  在此例中,ID参数要求是0或其它数字。如果我们把一个撇号(’)放在这个位置,即www.attackyourself.com/yourpage.php?id=’,这个操作的回应看起来往往类似于下面这个样子:

 

  Microsoft OLE DB Provider for ODBC Drivers

 

  error '80040e14'

 

  [Microsoft][ODBC SQL Server Driver][SQL

 

  Server]Unclosed quotation mark before the

 

  character string ''.

 

  /page/page.php, line 144

 

  在侦察过程中, 本文通过谷歌搜索了相关错误消息。此例中的错误是SQL注入攻击的一个先兆,由此可以攻击损害两个服务器(Web服务器和数据库服务器)及其上面的任何数据。

 

  攻击自己的Web服务器的另一个好方法是使用自己的浏览器发送请求,并通过一台本地代理服务器来读取响应。一般说来,上述操作会得到一个详细描述攻击者和Web应用程序之间所有往返信息的视图。在查找漏洞时,这种描述很有用。WebScarab和Burp Suite是两种常见的本地代理服务器。