您好、欢迎来到现金彩票网!
当前位置:双彩网 > 协议映射 >

渗透测试之漏洞映射

发布时间:2019-06-07 23:00 来源:未知 编辑:admin

  映射旨在识别和分析目标环境中的决定性安全缺陷,有时也称为脆弱性评估。它是一种在IT基础设施的安全控制中探寻已知弱点的分析方法,是脆弱性管理计划的一个关键组成部分。测试人员在完成了信息收集、目标识别和服务枚举的相关工作后,就可着手分析目标设施中可能存在的安全漏洞。安全漏洞可能导致目标系统发生安全事故,有害于业务系统的保密性、完整性和可用性。

  本文将要讨论安全的两种常见类型,阐述安全的各种分类标准,还会介绍系统提供的几款著名的脆弱性分析工具。

  在进行(包括内部和外部)时,人工评估和自动化脆弱性分析都同等重要。完全依赖自动化测试工具获得的评估结果,可能会有假阳性(误报)和假阴性(漏报)的情况。同时,审计人员对技术评估工具的熟悉程度同样影响着工作的质量。要保障工作的长期质量,要在注重评估工具质量的同时,不断提高审计人员的技能水平。本质上说,自动化工具生成的脆弱性分析结果不可能是最终的评估结果;自动化工具不能识别逻辑错误、未发现的、未公布的软件缺陷,以及影响安全的人类因素。因此,应当同时结合自动化分析和人工分析的方法,综合评估安全,这将大幅度提升工作的成功概率。

  按照产生缺陷的不同阶段,漏洞可划分为以下三个大类:设计类、实施类和运营类。

  ● 设计类漏洞:在软件设计阶段,因软件规格指标设计不当而产生的安全弱点。

  基于对这三个类别的分析,我们总结出了的两个通用类型,即本地和远程。上述三类类既可以是本地,也可以是远程。

  开发人员根据安全性需求指定系统安全规格,并依此在实施过程中实现各种安全指标。因此,解决设计类漏洞的时间最长。

  攻击人员以本地(物理)访问方式,通过执行代码的手段才能触发的称为“本地”。攻击人员能够利用这种类型的提高自身的访问权限,不受限制地访问该计算机系统。

  例如,Bob拥有访问MS Windows Server 2008(32 位x86 平台)服务器的本地权限。管理员通过某种安全策略限制了他的访问权限,禁止他运行特定的应用程序。在极端条件下,他发现恶意代码可让他获取该计算机的系统级别或内核级别权限。利用了著名的安全(例如,CVE-2013-0232、GP Trap Handler nt!KiTrap0D)之后,他提升了自己的权限等级,并能够进行管理级别的操作,可不受限制地执行应用程序。这个范例表明,恶意的安全对手可通过本地轻易地提升他们访问计算机系统的权限。

  在物理上不接触主机的情况下,攻击人员使用恶意程序通过网络触发的系统,称作远程。这种类型的可使得攻击人员越过物理上的和本地上的限制,获取远程主机的访问权限。

  例如,Bob和Alice分别联入互联网。他们的IP地址不同,分属不同的国家。假设Alice的电脑运行的是Windows XP,使用了生物学认证技术。再假如Bob 事先知道Alice主机的和IP地址。Bob极力想获取Alice电脑的权限。同时,他了解到可通过MS08-67 (Windows Server Service 的)远程攻击Windows XP 主机。

  是系统上存在的安全弱点。攻击人员可利用有关漏洞或bug获取该主机的未经授权的操作权限。

  随着近些年来技术领域的持续发展,人们也在不断总结安全的各种分类方法,期待以最合理的方式划分所有的常见。但是,就常见的影响系统安全的编程问题来说,还没有一种分类方法可以将之完全归纳。实际上,单一的可能分别属于多个类别或类型,这是现今分类方法都解决不了的问题。另外,每种系统平台都需要与外部环境进行交互,这又带来分类方法的关联性问题、复杂性问题和扩展性问题。如下列表格所示,列举了多种分类标准,希望有助您识别各种安全故障。值得一提的是,很多调查软件安全性问题的安全评估工具,已经采取了这些分类方法。

  上述各种分类方法,分别以各自的方式将安全进行分类,以帮助有关人员和研发人员识别那些可能会影响系统安全性的特定错误。因此,这些分类方法并不具备学术上的完备性和精确性。

  OpenVAS是一款封装了多种安全工具和安全服务的软件,是一个强大的管理平台。它采用了客户端/服务器的框架。其客户端测试目标主机网络的一系列操作,都是通过服务器端程序实现的。它的设计兼备模块化和稳定性的特点,支持并行安全测试,且兼容多种(Linux/Win32)。OpenVAS的核心组件和主要功能如下。

  ● OpenVAS scanner(扫描器):负责管理、执行各种网络漏洞测试(NVT,Network Vulnerability Test)。NVT的订阅服务提供每日更新。整个平台可通过订阅服务更新测试插件。

  ● OpenVAS Manager(管理程序):漏洞扫描平台的中央控制服务。管理程序仅负责集中存储配置文件和存储扫描结果。此外,它的OMP 协议(OpenVASManagement Protocol)完全基于 XML,可用于各种用途。OMP 可用于设置扫描计划、生成测试报告、筛选扫描结果和聚合活动。

  ● Greenbone Security Assistant(安全助手):工作于OMP 的Web 服务。它用于向用户提供一种基于OMP的Web客户端,方便用户配置、管理、控制具体的扫描操作。它的桌面版客户端程序叫做GSA Desktop,功能完全一样。此外,OpenVAS CLI(命令行工具)还支持在文本命令行下运行OMP协议的指令。

  (1)在桌面菜单中依此选中 Kali Linux Vulnerability Analysis OpenVAS Openvas check setup,并按照程序的向导进行操作,以确定本机已经正确安装了OpenVAS程序。然后按照提示,用默认的选项设置证书等项目;仅建议您在完全理解这些工具的情况下进行自定义设置。在您完成了每个FIX(修复)操作之后,您需要重新运行一次openvas check setup,直到它提示您已经成功配置好了这个程序。如图1所示,您同样可以在命令行窗口里启动这个程序。

  (2)在桌面菜单中依此选中Kali Linux Vulnerability Analysis OpenVAS Openvas check setup,创建一个OpenVAS 扫描所需的用户账号。在程序询问Authentication(pass/cert)时直接用回车键跳过该设置。在创建账号的最后一步,程序会要您为新建账号创建规则。如果您不需要设置特定规则,可使用Ctrl+D键直接退出。如果您要进行相应设置,可通过下述指令查看有关设置的帮助文件。

  如图2 所示,在客户端程序中输入登录信息,以连接到OpenVAS Server。

  接下来要设置的参数是目标主机、选择合适的插件、提供登录所需的凭据,并指定必要的访问规则(如第2步所述)。设置好全局设置之后,在菜单中选中File Scan Assistant,并输入4个主要步骤(任务、范围、目标以及执行)的详细信息。在测试目标系统之前,系统将提示指定登录凭证,随后程序会进行测试工作。您选择的评估标准,决定了漏洞评估的时间长度。在完成评估的以后,程序会显示本次任务的评估报告(见图3)。

  本例中,扫描任务的名称是CustomerUK。在程序窗口顶部的菜单里,选择Report Export导出扫描报告,此时可以选择适合的报告格式(如NBE、XML、HTML、LaTex、TXT或PDF)。OpenVAS是一个功能强大的评估软件,它不仅能够在评估目标系统的决定性安全问题,而且还能生成内容全面的扫描报告。它的报告含有风险计量、细节、解决方案和相关网上资源等信息。

  Cisco 公司是顶级网络设备商之一,目前大多公司和政府机构都采用了他们的设备。对于Cisco品牌的设备来说,它们比其他品牌的设备面临着更多的着攻击和威胁;而对于攻击人员来说,发掘这个品牌设备上的也比挖掘其他品牌设备的更为困难。Cisco品牌的硬件有、、安全设备、无线产品,软件产品如IOS、NX-OS、安全设备管理器、CiscoWorks、统一通信管理器等。可以说,在广受好评的技术产品中,有不少是Cisco 品牌的产品。我们将演示 中提供的针对Cisco 产品的安全测试工具。

  Cisco Auditing Tool 简称CAT,属于小型的安全审计工具。它可检测出Cisco 上的常见,能够发现注入默认、默认SNMP字符串和老版本IOS上存在的bug问题。

  上述指令将显示程序的全部选项、相关选项的使用说明和功能描述。它扫描Cisco设备的选项有以下几个。

  ● -i:及[ioshist](检查该IOS 在历史上出现过的bug)。

  将这些选项组合将使用,可以暴力破解方式探测Cisco设备的密码、团体字符串和可能会再现的旧有IOS bug。在破解密码之前,要更新路径/pentest/cisco/cisco-auditingtool/lists 下的密码列表和社区字符串,以提髙破解成功的概率。而后,我们可在 Kali Linux的终端之中,使用下述指令进行扫描。

  如需编辑密码字典和团体字符串字典,可在执行上述命令之前,在终端窗口中使用Vim 编辑器编辑字典文件。Vim编辑器的详细介绍,可通过下述指令进行查看。

  Cisco设备有16种不同的权限级别,权限级别的代码从0(限制最严格的级别)到15(限制最少的级别)。在设置Cisco设备账户的时候,每个账户都应设置相应的权限等级。

  Cisco Global Exploiter(CGE)是小型的Perl 脚本程序。它可测试Cisco 设备的14 种独立的。请注意只有特定类型的Cisco设备才会存在这些,所以这个程序不能完全满足Cisco安全评估的全部需要。

  上述指令将显示程序的使用说明,并会按照顺序列出它能识别的14种。例如,在测试Cisco 878 集成服务时,我们可以使用下述指令。

  上述指令进行的是第3类测试——测试Cisco IOS HTTPAuth,而且程序成功地利用了某个。进行深入调查之后,您会发现其他类型的Cisco设备同样存在这种,而且您可以使用相似的手段利用这些。利用的过程如图4所示。

  可见,这种基于 HTTP 的强行访问漏洞可让入侵人员执行路由器指令,而且并不验证他们的身份。

  模糊分析是一种软件测试技术。审计人员和开发人员采用模糊分析技术,测试意外数据、无效数据和随机的数据输入对应用程序的影响。人们关注应用程序在模糊测试中出现的异常状态和崩溃问题。这种测试技术可深度揭露软件所隐含的其他测试手段不可能挖掘出来的。它能发现的有、、代码注入、迷途指针、竞争条件、条件和许多其他类型的。

  带有多种模糊测试工具。这些工具可以测试文件格式、网络协议、命令行输入、环境变量和Web应用。不可信的数据输入源都会输入不安全的和不一致的数据。例如, Web 应用程序和互联网用户之间的信任边界不可预知。既然如此,就应当对所有可能的数据输入都进行尝试(模糊测试),以验证巳知和未知的漏洞。模糊分析是一种相对简单有效的测试方法,可用于质量保证和安全测试。由于这个原因,它有时也被称为健壮性测试(robustness testing)或否定测试(negative testing)。

  通常认为,模糊测试由6 个步骤组成。这些步骤分别是识别目标、识别输入、生成模糊测试数据、执行模糊数据、监控输出和鉴别问题的可利用性(是否是exploit)。

  Bruteforce Exploit Detector(BED)是纯文本协议的模糊测试工具,用于检测软件常见漏洞。它可以检测出漏洞、整数溢出、DoS条件等漏洞。BED 程序可以根据指定的协议,自动发送含有问题字符串的命令组合,以测试目标的处理方式。它目前支持的协议包括ftp、smtp、pop、http、irc、imap、pjl、lpd、finger、socks4和socks5。

  上述指令将显示它的使用说明。如需查看某个协议的插件的详细说明,可使用下述指令。

  该指令将介绍 FTP 插件的参数。在进行测试之前,我们通过该指令了解到这个插件需要-u用户名和-v密码这两个参数。接下来,我们利用BED测试目标系统的FTP守护进程。

  上述信息表明,FTP守护程序在第14项测试的时候中断了连接。这可能是个潜在的缓冲区溢出问题。但是我们还需要调查特定测试模块,检查测试指令,以进行进一步调查。将目标程序恢复到正常状态再进行两次重复试验、增加BED的超时时间(-o),都是确认问题可重复出现的良好习惯。

  JBroFuzz是对Web应用程序进行模糊测试的著名平台。它可模拟HTTP协议和HTTPS协议的Web请求。获悉要测试的域名和测试的URL部分之后,审计人员可以自己手工构造测试的请求,也可以使用程序预定义的payload数据库,生成基于已知的恶意请求,再把这些请求发送到目标服务器以进行模糊测试。JbroFuzz 的数据库能够帮助审计人员进行、、、错误等问题的自动化测试。而后,程序会记录目标的相应回复,以供进一步检査。基于执行测试的类型,审计人员应当手动调查服务器的响应或结果,以便识别出任何可能存在的。

  JBroFuzz的关键功能包括模糊管理、payload的分类处理、通过浏览器的代理服务器嗅探 Web 请求和回复、枚举网站目录等。这些功能都是应用协议模糊测试不可或缺的组成部分。

  JBroFuzz 界面之中有大量的选项设置,这些选项都有详细的描述和说明。如果您需要查看帮助,可在菜单栏中选择Help Topics,进入图5 所示的界面。

  (1)设定目标域的URL为。这是一个基于ASP的Web应用程序。为满足测试需求的实际需要,我们还要在Request面板中将HTTP请求调整为如下所示。

  (2)在构造测试请求数据之前,我们已经知道这台服务器上存在一个 URL:。

  (3)创建一个手工构造的测试请求,并选择URL的一部分(id=4)进行SQL注入的测试。

  (6)设置好模糊测试任务之后,主程序窗口的右侧边角的Added Payloads Table标签里,将会显示这个测试任务。

  如果您的操作完全遵循上述步骤,那么您现在就可以对目标主机的Web应用程序进行漏洞的模糊测试。

  可通过菜单Panel|Start或快捷键Ctrl+Enter启动测试任务。在程序处理测试请求的时候,您将在Request面板里看到程序发送的请求。另外,如果要观察每个HTTP/HTTPS的处理进度,可点击On The Wire 标签查看。在它完成模糊测试之后,可调查每个测试请求的响应结果。可在Output 窗口中使用鼠标右键点击特定的服务器响应,然后选择Open in Browser选项。目标对我们发送的测试请求返回了下述信息,它很可能是

  在系统中安装时,应该禁用防软件,因为有些安装文件会被其检测为潜在的或威胁,从而阻塞安装过程。

  SMB采用了单纯的客户端/服务器的CS架构,而且兼容和等多种平台。NetBIOS(Network BasicInput Output System)是SMB 协议的组成部分,用于系统的传输服务。NetBIOS 工作于 TCP/IP 协议(NBT),因此同一内的每台电脑都可通过唯一的网络名称和IP地址与另一台电脑进行通信。

  此外,对于DEC/RPC服务程序实现的网络节点间IPC(跨进程通信)而言,其认证通道同样使用SMB协议。也就是说,不同电脑、不同进程间都可通过SMB的认证通道进行数据交换。NetBIOS服务通常在不同的TCP端口和UDP端口(135、137、138、139、445)上提供不同的服务。因为SMB功能强大而防护能力脆弱,所以它是的首要攻击目标。人们曾经曝光了SMB协议的大量,这些都为入侵者敞开了方便之门。下面将介绍获取SMB信息的多个工具,它们可获取主机名、运行服务、域控制器、MAC地址、类型、当前登录用户、隐藏共享、时间信息、用户群组、当前会话、打印机、可用磁盘等信息。

  上述指令将显示它的使用说明和必要的语法简介。简单的说,pythonsamrdump.py user:/SMB这样的指令就可对指定目标的指定端口(139或445)进行检测。

  上述指令列出了远程主机上的全部用户名。在Samrdump的指令之中,目标主机的用户名和密码并不是必选项;在指定用户名和密码时,该指令将能返回其他方式获取不到的更多信息。利用上述信息,我们可检查在共享文件中搜索敏感数据,访问其他用户,进而揭示更有价值的信息。

  SNMP(Simple Network Management Protocol)是一个运行于UDP 协议161 端口的应用层协议。SNMP 协议主要用于网络设备运行状态的监控,以关注需要管理员干预的事件,及时了解诸如电源断电、网络不可达等网络运行情况。采用了SNMP管理技术的网络结构,通常由网络设备、管理端和代理端组成。

  管理端程序负责网络管理和状态监控的管理任务。代理端是网络设备运行的软件。可运行客户端程序的网络设备包括支持SNMP协议、、集线器、网络摄像头、网桥,以及安装客户端程序的(、)主机。安装了代理端程序的设备通过SNMP协议向管理端报告设备带宽、正常运行时间、运行进程、网络接口、系统服务等数据信息。SNMP 信息通过多个变量分别描述了系统不同方面的配置情况。SNMP 信息采用 MIB(Management Information Base)的层次结构方式组织消息中的各种变量,每个变量有确定的唯一对象标识符(Object Identifier,OID)。SNMP 协议共有三个版本,即v1、v2和v3。

  以安全角度看,vl和v2版本的方案均是通过团体字符串实现安全防护。而v3在保密性、完整性和身份验证方面的功能更好。这里介绍的工具主要针对基于vl和v2c的SNMP设备。

  SNMP Walk是一个功能强大的SNMP信息采集工具。它可依据设备类型提取所有配置数据。这些信息将对攻击的后续工作非常有用。此外,SNMP Walk 可针对性地获取单组MIB数据或特定OID值。

  上述命令将显示该程序的使用说明和选项说明。SNMP Walk 可以使用三种不同版本的SNMP协议(即vl、v2c和v3),这也是它的主要优势所在。在远程设备使用的SNMP协议不能向下兼容时,这一优势将发挥作用。本例将使用下述指令,在指令行中分别以v1和v2c版本的SNMP协议获取远程主机的信息。

  上述指令的输出信息可帮助我们深入地了解目标主机。其中,选项-c 用于指定提取MIB 所需的团体字符串,-O 选项将输出结果以可读的文本(T)形式进行输出,-L选项将数据保存为文件(fsnmpwalk.txt)。渗透测试人员获取的信息量越多,他们对目标网络架构理解得越透彻。

  现在的应用程序大多采用了多种Web技术,这不仅增加了程序问题的复杂性,而且增加了敏感数据泄露的风险。一直以来,Web 应用程序从始至终都是恶意对手窃取、操纵、破坏和敲诈企业业务的目标。Web 应用程序的大量普及,也给人员带来了前所未有的巨大挑战。Web 应用程序(前端)和数据库(后端)都是加固的重点。Web应用程序扮演着数据处理系统的角色,而数据库负责存储敏感数据(例如信用卡号、用户信息、认证数据等),所以两者的安全性都要兼顾。

  下面把Web应用程序的安全分析分为“Web应用程序测试”和“数据库测试”两个部分。虽然如此,我们应该非常清楚二者之间的关系,以及它们组成的复合技术架构。 提供了多款能够对 Web 应用程序和数据库程序进行综合评估分析的安全评估工具。也就是说,有些工具能够通过Web应用程序(即前端)攻击后台数据库(如)。

  下面将介绍 的三款数据库分析工具。这三款分析工具分别用于 MS-SQL、 和 Oracle 数据库的安全测试。逐一演示它们的基本功能和功能。这些工具主要用于数据库的指纹指纹、、审计,以及评估目标系统遭受的可能性。审计人员可利用这些工具掌握前端的Web,并同时发现后台数据库的安全弱点。

  DBPwAudit是一款审计Oracle、、MS-SQL 和IBM DB2 服务器密码安全性的工具,它是程序。这款工具大幅度地简化了使用新数据库(评估)技术的难度。在目标系统没有采用强安全策略的情况下,它可帮助人员找到数据库管理系统的有效账户。目前,它支持字典式攻击机制。

  上述指令将在屏幕上显示程序的所有选项及使用说明。如需知道DBPwAudit可以驱动的数据库类型,可使用下述指令。

  上述指令将列出该程序可以审计的数据库类型。特别要注意数据库系统的别名(aliases),在命令行中指定数据库类型时要使用数据库的别名。

  这里将演示该程序审计数据的方法。在此之前,我们首先要安装好驱动程序。在安装好驱动程序之后,我们可测试目标数据库系统是否含有常见账户。在进行字典式测试之前,我们需要提前准备好两个字典文件,即users.txt和passwwords.txt。然后使用下述指令。

  上面信息表明,该程序成功地发现了一个有效的用户账户。上述指令中,-d 选项代表目标数据库的名称,-D 选项用于指定相应的数据库管理系统(DBMS)。-U 选项指定用户名字典,-P选项则用来指定采用的密码字典。

  是一款先进的自动执行SQL注入的审计工具。针对指定的URL,它可以扫描、发现并利用漏洞。目前,SQLMap支持的数据库管理系统包括MS-SQL、MySQL、Oracle和PostgreSQL。略微处理之后,它也能够识别诸如DB2、Informix、Sybase、Interbase和 MS Access 之类的数据库系统。SQLMap 采用4种独特的SQL 注入技术,分別是SQL盲注、联合査询SQL注入、累加式注入(stacked query)和基于时间的SQL盲注入。它功能广泛,可对数据库进行指纹识别、服务枚举、数据提取,并可访问目标主机的文件系统,在获取完全操作权时甚至可以执行任意命令。此外,该工具还可以从Burp Proxy或Web Scarab的日志,以及标准的文本文件中解析测试目标的列表。它还能够调用Google dorks 的分类数据,使用Google搜索引擎搜索指定目标的可测试网址。

  上述命令将显示所有可用的选项。这些选项可以分为11个逻辑分类,即目标规格、连接请求参数、注入payload、注入技术、指纹识别、枚举选项、用户自定义函数(UDF)注入、文件系统访问选项、访问选项、 注册表访问和其他杂项。在下面的这个例子中,我们将使用多个类选项和类选项,获取被测数据库系统的特征信息。

  这一时刻,我们成功地发现了artist参数存在注入问题。上述指令中,-p选项用来指定目标URL里需要测试的参数。默认情况下,会扫描所有可用的参数(GET、POST、HTTPCookie和User-Agent),但是我们通过指定参数(-pParameter 1,Parameter 2)限制了测试对象的范围。这将提升的速度,从而提高访问后台数据库的速度。在下面的测试中,我们使用--tables选项和-D选项,从数据库fanart中提取所有表的信息。

  上述信息表明,由于两次测试都使用了相同的 URL, 程序使用了上次会话(session)中提取的指纹信息,并没有从头对数据库进行测试。这种功能可让用户随时终止并保存测试会话,以便在后续阶段继续此次会话。此处,我们还可以使用--dump或--dump all选项,对数据库信息进行自动存储。这个程序还有其他一些高级选项,例如--os-cmd、--os-shell 或--os-pw 用于可帮助者获得远程访问系统权限,并执行任意命令。但是,此类功能仅支持MS-SQL、和这三种运行于的数据库系统。

  SQL Ninja 是一款SQL注入的审计工具,专门用于评估后台数据库采用MS-SQL Server的Web应用程序。它可通过漏洞获取远程数据库服务器的shell运行权限,而不是提取数据库数据的工具。SQL Ninja 的功能有:对服务器进行指纹识别、暴力破解密码、提升权限、上传后门、直接调用shell、反连方法连接shell(绕过防火墙的技术)、反射shell、DNS隧道、单命令执行等。它还可以与Metasploit进行集成。因此,它不仅是扫描漏洞的工具,而且还是利用已知漏洞获取操作系统访问权限的工具。

  SQL Ninja 不是初学者玩的玩具。如果您需要配置并使用这种工具,请详细阅读作者的使用说明,在实际应用前充分了解这款工具。

  上述指令将在屏幕上显示程序所有的可用选项。在进行测试前,需要根据已反映目标的情况更改配置文件的参数和利用漏洞的选项。首先,您要将样本配置文件解压缩出来,把它重新命名,然后移动到正确的目录中,进行如下修改。

  然后,我们要修改配置文件,使其符合我们的测试内容。您需要在配置文件中找到下述内容,然后删除行首的注释符号,并根据实际情况对有关选项进行调整。

  在上述配置文件中,我们仅修改了一些必要的参数,其他没有提及的内容均采用了默认值。另外,在使用SQL Ninja 之前,您还有必要使用其他工具检查的。在配置好配置文件之后,您就可以使用它的攻击模式-m t/test 对目标进行检测。

  可见,程序成功地识别出了配置文件的各种设置,而且盲注测试取得了成功。接下来,我们可以对目标进行指纹识别,以获取SQLServer的更多信息,并取得目标操作系统的操作权限。

  上述信息表明,目标系统存在,其指定的数据库安全策略并不够安全。我们有机会上传NetCat的后门程序,继而获取被攻陷主机的长期控制权,并可通过它的执行任意的指令。此时,人们常用的攻击模式进行进一步的渗透。

  下面介绍的工具主要关注Web基础设施前端程序的安全性。它们都可以识别、分析并利用应用程序的安全。这些包括、跨站脚本()、、SSI 注入、XML注入、应用配置错误、功能滥用、会话预测、以及许多其他类型的。应用程序有多种分类标准。如需更深入了解这些的特性,强烈建议您掌握上述分类标准。

  Burp Suite组合了一系列功能强大的Web应用程序的安全工具。这些工具能够演示攻击人员对Web应用程序的方法。它们能够或手动或自动地扫描、分析并利用Web应用程序的安全。Burp Suit将有关工具整合为一体,能够在多个工具之间传递和共享信息,成为了一个完整的攻击平台。这一特性使得Burp Suite成为了简单有效的Web应用程序攻击框架。

  上述指令将在屏幕上显示Burp Suite 的程序窗口。您可以通过对应的选项卡访问它所集成的全部工具(Target、Proxy、Spider、Scanner、Intruder、Repeater、Sequencer、Decoder和Comparer)。本例将使用Burp Suite的多个工具分析小型的Web 应用程序。要注意,Burp Suite 有两个版本:免费版和商业版。Kali Linux收录的版本是它的免费版,因此有些功能受到限制。使用Burp Suite 检查漏洞的相应步骤如下。

  1)首先,选择Proxy Options,检查proxy listeners的属性。本例采用程序的默认设置,即监听 8080 端口。您还可以根据评估任务的实际情况设置这个界面的其他选项,例如主机重定向、SSL证书、客户端请求拦截、服务器响应拦截、页面属性和请求头修改等。

  3)打开你最习惯的浏览器(例如Firefox),并设置HTTP/HTTPS 协议的代理服务器为本地代理(127.0.0.1, 8080)。代理服务器能够拦截、检查并修改浏览器发往目标Web应用程序之间的客户端请求,并且能够记录服务器发回的所有响应。在这种设置中,Burp Suite 的功能类似中间人代理服务器。

  4)浏览目标网站,您可在Burp Suite 的Proxy Intercept选项卡中看到浏览器发送的请求数据(http request)。在本例中,我们不对浏览器请求进行任何修改,直接转发这个请求。如需修改请求,可以在Raw、Headers或者Hex选项卡中修改。清注意,在访问索引页(index)等网页时,浏览器会对网页中的各种资源(例如图像、Flash文件)发送单独的获取请求。

  5)在此,强烈建议访问尽可能多的网页,以帮助Burp Suite列出可用页的GET和POST 请求。当然,也可以使用程序的 Spider 功能自动完成分析过程。如需使用 Spider的爬虫功能,可在菜单中选中 Target|Site Map,右键点击目标网址,然后选择spider this host。此后,程序将会自动发现、扫描可用页面;当遇到需要递交数据的页面(例如登录)时,程序将提示您进行人工干预。此操作结束后,可在Target|Site map选项卡右侧的面板中査看可访问网页清单和页面属性(方法、URL、参数、响应码等)。

  6)您可选择一个采用GET或POST 模式传递参数的页面,用Intruder 进行测试。关键是要找到可能的参数标识符,获取有用数据,并对这些参数进行模糊测试,以检测已知。右键单击选定的请求,并选择 send to intruder。程序将以不同长度的字符替代2,以找到已知的。

  7)接下来,我们要指定攻击类型以及有效载荷(payload)的位置(Intruder Positions),以进行自动测试。有效载荷的位置有§2§标识。然后,我们通过菜单进入 Intruder Payloads,从预定义字符块列表中选择预定义的有效载荷(payload),本例选择Character blocks。当然,您还可以指定自定义的有效载荷。设置完毕后,选择菜单Intruder Start 执行测试任务。此时,程序将会在弹出的窗口里显示测试目标应用程序时发送的全部请求。待程序处理完所有指定的有效载荷之后,我们可通过远程响应的比较结果判断Web应用程序的意外行为。使用鼠标右键点击选定的请求并选择send response to comparer,即可对响应进行比较。Burp Suite 可以对两个(或更多)的请求或响应进行逐字逐节(bytes和words)的比较。

  8)在比较响应的过程中,我们发现其中一个有效载荷请求存在漏洞。为了验证其真实性,我们决定使用 Repeater 重现该请求。即使用鼠标右键点击该请求,然后选择 send request to repeater,之后单击 Repeater 选项卡中的 go 按钮,将会立即获取指定请求的远程响应。在本例中,我们注意到响应页面中的下述错误信息。

  9)上述信息是漏洞的典型特征。除了检验这种类型的安全问题,我们还可以使用Burp Suite 的sequencer 测试应用程序session tokens的散化程度,检测session的可预测问题。

  Burp Suite 是款多功能的Web 应用程序安全工具。它是应用广泛、功能强大的Web应用程序攻击平台。

  Nikto2是一款基础的Web服务器安全扫描工具。它可以扫描、检测由下述问题引起的的安全:服务器的配置不当问题、默认和不安全的文件、过旧的服务端应用程序。Nikto2程序完全是LibWhisker2的再开发版。因此,它支持跨平台部署、SSL、常见的主机身份验证方式(NTLM/Basic)、多代理,并采用了多种 IDS 规避技术。它还支持子域名枚举、应用程序安全检査(、等),并能够使用字典的攻击方法猜测认证信息。

  上述指令将显示其所有选项及其扩展特性。在本例中,我们使用-T选项对目标主机执行一组特定的测试。

  Paros Proxy 是一款名不见经传的深入分析安全的评估工具。它能以爬虫方式分析整个网站的网址,并执行各种测试。同时,审计人员还可以利用它的代理服务器功能拦截本机浏览器和目标应用程序服务器之间的Web流量(支持HTTP/HTTPS协议)。审计人员可以利用这种机制修改本机发往目标服务程序的特定请求,从而进行手工测试。因此, Paros Proxy不仅是Web 应用程序安全评估的主动评估工具,而且还是它的被动评估工具。

  上述指令将加载Paros Proxy程序的图形窗口。在开始测试前,你需要在浏览器中设置本地代理,即设置代理的 IP 为 127.0.0.1,端口为 8080。如需调整默认设置,可在菜单Tools Options中调整连接设置、本地代理的设置、HTTP认证和其他相关设置。在设置好浏览器之后,就可以访问目标网页了。使用Paros Proxy进行漏洞测试的具体步骤如下。

  1)在本例中,我们访问。此后,Paros Proxy的Sites选项卡里显示这个网址。

  2)使用鼠标右键单击并选择Spider,以爬虫方式分析整个网站的网址。扫描网址的时间取决于网站的页面数量。

  3)在程序抓取完网址之后,您可通过底部的Spider 标签査看所有抓取到的网址信息。此外,也可以通过在Sites选项卡中选择特定网站的网页,以跟踪其请求和响应。

  4)您在右侧面板中的 Trap 选项卡中,调查特定的请求和响应的响应。在对目标应用程序进行手动测试时,这项功能尤其有用。此外,您可通过菜单 Tools Manual Request Editor,手工构建一个HTTP请求。

  5)在 Sites 选项卡里选中目标网站,然后在菜单中选择 Analyze Scan All,可对选定网站进行自动化的漏洞测试。另外,您还可以在 Analyze Scan Policy 指定安全测试的特定类型,然后使用单独的 Analyze Scan 功能进行特定类型的安全测试(而不是Scan All 进行的那种全面测试)。

  6)在程序完成测试之后,您可在底部的Alerts 选项卡中看到大量的安全警告。依照其危害程度,这些被分为High、Low和Medium三种级別。

  W3AF是一款功能丰富的Web应用程序攻击和审计框架,它主要用于探测和利用Web。它实现了全自动化的应用程序安全评估过程。整个框架的设计理念遵循了下述三个主要的操作步骤:识别、审计和攻击。在进行毎个操作步骤时,审计员都可使用其提供的注重特定测试标准的功能插件。W3AF 的这些插件实现了互相之间的通信和数据共享,有助于协同完成测试任务。它可检査、利用的Web应用程序包括、跨站脚本、远程和本地文件包含、、XPath 注入、命令、错误的应用配置等。

  上述命令将进入到W3AF特有的控制台模式(提示符为w3af)。虽然在桌面菜单里也有这个程序的GUI版本,但是考虑到操作灵活性,我们倾向于使用它的控制台版本。

  上述指令将显示配置w3af测试所需的基本选项。在需要查看帮助时,可随时使用help命令查看特定选项的说明信息。本例首先配置output 插件,然后启用特定的audit 测试选项,设置target并对目标网站进行扫描。相关指令如下。

  我们通过上述指令调整好了各项参数。然后,我们将通过下述指令,评估目标的 、跨站脚本、命令、htaccess错误配置等的安全问题。

  上述信息表明,W3AF发现该Web应用程序存在多个严重的安全。我们已经在配置中指定好了测试报告的文件名,该文件位于/pentest/web/w3af/testreport. html。扫描报告会列出所有的全部细节,其中包括 W3AF 程序和目标 Web 应用程序之间每个请求信息、相应响应、所传递的数据以及调试信息等。本例没有使用别的的插件(plugins)、配置文件(profiles)和(exploit)选项。

  WafW00f是检测Web应用程序(WAF)的Python脚本程序。在评估WAF保护的目标主机时,许多评估技术都难以奏效;而这正是WafW00f程序擅长的测试环境。部署于应用服务器和Internet流量之间的WAF,不仅提高了测试策略的难度,同时还使人员开发的高级规避技术面临了新的挑战。

  上述指令将在显示器上显示简单的使用说明,以及几个典型的指令范例。本例中,我们将通过下述指令,分析目标网站是否使用WAF系统。

  上述信息表明,目标应用程序服务器处于防火墙的保护之下(例如,dotDefender)。通过这些信息,我们可以进一步地调查规避WAF规则的方法。这可能涉及一些如HTTP参数污染、空字节替换、规范化处理、使用十六进制字符或Unicode字符对恶意URL进行编码等技术。

  WebScarab 是一款功能强大的 Web 应用程序的安全评估工具。它有多种操作模式,主要模式为拦截代理。将WebScarab代理部署于终端用户浏览器和目标Web应用程序之间,可监控、修改二者之间的请求和回应。审计人员可以手动构造连接请求,然后检査目标Web应用程序返回的响应信息。WebScarab 集成了诸多工具,这些工具包括 fuzzer、session ID analysis、spider、web services analyzer、XSS 和 CRLF 漏洞扫描器和 transcoder等程序。

  上述指令将执行精简版的 WebScarab。根据本例的需要,我们通过菜单 Tools Use full-featured interface 令程序显示全部的功能选项。程序将询问您是否启用这项功能,然后会重启该应用程序。再次启动之后,WebScarab的界面上将新增很多工具的选项卡。在开始评估工作之前,我们应调整浏览器程序,使其使用本地代理服务器(127.0.0.1, 8080),以使得浏览器通过WebScarab 的拦截代理访问目标主机。另外,您可以在Proxy Listeners选项卡中调整本地代理服务器的有关设置(IP地址或端口)。使用WebScarab程序分析目标应用程序的session ID 的步骤如下。

  1)设置好浏览器的代理服务器选项之后,您可使用浏览器访问目标网站(例如),并访问尽可能多的链接。浏览的页面越多,发现已知和未知漏洞的机会也就越大。除了这种方法,您还可在Summary选项卡中使用鼠标右键点击目标网站,然后选择Spider tree;此后,程序将自动査找目标应用程序的所有可用链接。

  2)如果想检查特定页面的请求和响应数据,可单击底部的Summary标签。程序将表格的形式显示原始的和解析过的浏览器请求。此外,您还可以看到以 HTML、XML、TEXT和Hex格式显示的响应信息。

  3)在测试过程中,我们决定对目标应用程序链接中的某个参数(例如,artist=l)以 GET 请求进行模糊测试。这种测试有助于找到未被发现的漏洞。我们使用鼠标右键点击选定的链接,并选择Use as fuzz template。然后转到Fuzzer 选项卡,点击Parameters 附近的 Add 按钮,人工添加需要进行模糊测试的参数。在本例中,我们写了一个小型文本文件,这个文件含有已知的SQL注入数据(例如,1 AND1=2、1AND1=1、单引号[’]),然后指定这个文本文件作为模糊测试的参数值。这种指定操作可通过Fuzzer选项卡下的Sources按钮完成。准备好模糊测试数据后,我们点击 Start 开始测试。所有测试完成后,可以双击单个请求以检査其相应的响应。我们在本例中发现了

  4)最后,我们分析目标应用程序的session ID。我们选中Session ID Analysis选项卡,并在组合框中选中Previous Requests。等程序加载了特定请求之后,我们在底部设定采样次数(例如,20)。然后点击Fetch 按钮开始对session ID进行采样。之后,点击Test按钮对样本进行分析。而后,可在Analysis选项卡下看到分析结果。此外,我们可在 Visualization 选项卡屮看到相应的可视化分析。这种分析用于判断session ID 的杂化程度和不可预期性。上述指标如果不理想,就可能引发通过某session ID劫持他人session或获取他人认证信息的事故。

  WebScarab 另有大量的选项和其他的功能,它们有助于我们提髙对渗透测试的认识。

  本文通过 中的多款工具,阐述了识别和分析关键安全的具体方法。介绍了安全的三大类型:设计类、实施类和运营类,以及安全的两大种类:本地和远程。然后,简要介绍了几种安全的分类标准。这些标准依据缺陷的普遍共性对进行了总结,是安全审计人员所遵循的分类标准。为了指导评估的具体工作,列举了几款结合自动检验技术和手动检验技术的评估工具,并依据其特定的审计技术对这些工具进行了分类。介绍的工具有 OpenVAS(集合了所有功能的评估工具)、Cisco分析工具、模糊分析工具、SMB分析工具、SNMP工具和Web应用程序安全评估工具。返回搜狐,查看更多

http://katzztheva.com/xieyiyingshe/149.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有