backtrack(BT)是一套专业的计算机安全检测的Linux OS,不仅用来战争驾驶,还集成了包括metasploit等200+种安全检查工具,此外众多的RFID工具和对ARM的支持也是一个亮点;
BT经多年发展,渗透测试并接受来自安全社区前所未有的帮助,BackTrack开始于早期live linux的发行版Whoppix,IWHAX以及auditor,BackTrack被设计成一体化的旨在安全审计用的live cd,现今它是被最广泛采用的渗透测试框架并被世界各地的安全社区所使用;现在,BackTrack已被Kali Linux所代替,BT将不再维护;
BackTrack可以翻译为回溯(走回头路、撤退),因为BackTrack在其无线安全审计中主要使用了BackTrack回溯算法,比如WEP加密时是两个维度,而到WPA加密就相当于三个维度,好比把正方形变成了正方体,破解难度成几何倍数增长,而BackTrack算法则是将维度降低,正方体还原回正方形,破解难度则被降低很多,原先需要40小时甚至是40天才能破解出的密码使用回溯算法后则只需几十分钟;
BackTrack是基于Ubuntu的自启动运行光盘,它包含了一套安全及计算机取证工具;它其实是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而创建成的;
BackTrack是目前为止知名度最高,评价最好的关于信息安全的Linux发行版,它是基于Linux平台并集成安全工具而开发成的Linux Live发行版,旨在帮助网络安全人员对网络骇客行为进行评估,不论您是否把它做为常用系统,或是从光盘或移动硬盘启动,它都可以定制各种安全包,包括内核配置、脚本和补丁,以用于入侵检测;
BackTrack是一套信息安全审计专用的Linux发行版,它创造了一条可以方便用户从安全工具库寻找和更新安全工具的捷径;
BT3-->BT4-->BT5-->BT5-r1-->BT5-r2-->BT5-r3;
BT5功能:
backtrack是一套专业的计算机安全检测的linuxOS,它可破解WEP、WPA/WPA2加密方式的无线网络,但前提是要有足够强大的密码字典文件,若仅用来破解wifi就大材小用了,它还集成了众多的安全工具的BT,如弱点扫描工具nessus、MSF渗透平台、sniff、wireshark、ettercap、VOIP、injection、XSS、snort等IDS(intrusion detection system)入侵检测系统工具(假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统,一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告);
BT5中列出的RFID(radio frequency identification)工具充分展示了BT对于无线射频技术的硬件系统检测能力;
密码破解方面,在以往版本工具的基础上又加入了基于GPU的破解工具oclhashcat、oclhashcat+ATI、oclhashcat+Nvidia,破解速度理论上达到传统cpu的百倍;
集成了apache、mysql方便搭建LAMP环境进行测试;
I wish I had BT3 many years ago,It would have saved me a lot of time.——kevin mitnick
http://www.backtrack-linux.org/
渗透测试(声明:未取得授权对目标系统进行测试即为非法行为):黑盒测试、白盒测试、灰盒测试;
POC,proof of concept,观点证明,并非仅仅在漏洞报告中使用,甲方在项目招标过程中也常常要求乙方提供POC,即证明你的方案或者产品能达到声称的功能或性能,漏洞报告中的POC则是一段说明或者一个攻击的样例,使得读者能够确认这个漏洞是真实存在的;
EXP,exploit,漏洞利用,一段对漏洞如何利用的详细说明或者一个演示的漏洞攻击代码,可以使得读者完全了解漏洞的机理以及利用的方法,可对系统造成危害;
Kali Linux(前身是BackTrack(基于ubuntu))是一个基于Debian的Linux发行版,包含很多安全和取证方面的相关工具,支持 ARM架构;其设计用于数字取证、渗透测试、黑客攻防;
kali由Offensive SecurityLtd维护和资助,最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版;
Kali Linux预装了许多渗透测试软件,包括nmap (端口扫描器)、Wireshark (数据包分析器)、John theRipper (密码破解器),以及Aircrack-ng (一套用于对无线局域网进行渗透测试的软件),用户可通过硬盘、live CD或live USB运行Kali Linux;
Metasploit的Metasploit Framework支持Kali Linux,Metasploit一套针对远程主机进行开发和执行Exploit代码的工具;.
Kali Linux既有32位和64位的镜像,可用于x86 指令集,同时还有基于ARM架构的镜像,可用于树莓派和三星的ARMChromebook;
漏洞评估(Vulnerability assessment);
渗透测试(Penetration Testing,在漏洞评估的基础上再对其进行攻击测试;分类:黑盒测试(black-box不了解目标对象的具体架构;黑帽);白盒测试(white-box,白帽));
漏洞评估是通过定位那些可能造成组织资产损失的威胁元素,来评估组织内部和外部安全性的过程。这一评估技术不只是找出现有防范体系中的安全风险,同时还会提出相应的修补方案和漏洞修补的优先级顺序。内部漏洞评估保障了系统内部的安全性,而外部漏洞评估则衡量了系统外围防御体系的安全性。在内部和外部两个测试方向上,每一个存在于网络上的资产都将接受多种攻击方法的严格测试,以找出原本没有注意到的威胁元素,并量化衡量指标。根据所要实施的评估类型的不同,可以选择相应的测试流程、工具和技术,自动化地定位信息资产中存在的漏洞。使用漏洞管理平台(vulnerability management)可以做到这一点。漏洞管理平台提供了一个统一的配置和管理接口,维护了一个最新的漏洞数据库,并且可以用来测试不同类型的网络设备。
漏洞评估和渗透测试的关键不同点在于:渗透测试除了定位漏洞外,还需要进一步尝试对漏洞进行攻击利用、提权以及维持对目标系统的控制权。换句话说,漏洞评估将清楚地展示出系统中存在的所有缺陷,但是不会考虑去衡量这些缺陷对系统造成的影响。
漏洞评估和渗透测试的另一个主要不同之处在于:渗透测试的侵略性要强很多,它会试图使用各种技术手段攻击真实生产环境。相反,漏洞评估将会以一种非侵略性的方式,仔细地定位和量化系统的所有漏洞。
在安全行业里,当提及漏洞评估和渗透测试这两个概念时,可能有人会混淆或者认为它们是可以互换的,这种观点绝对是错误的。一个合格的安全顾问总是能够根据客户的实际需求做出改变,选择最合适的评估方式,而不是一味地误导客户选择这样那样的固定方案。而客户自身在做出任何最终决策之前,也有权力去了解他们所选择的安全评估方案的具体细节。
和漏洞评估相比,渗透测试是一项昂贵的服务。
渗透测试可以独立地实施,也可以作为IT安全风险管理(risk management)的一部分集成到软件开发生命周期中,比如微软的软件安全开发生命周期(Security Development Lifecycle,SDLC)。一个产品的安全性不仅仅取决于IT环境因素,还和产品开发时在安全性方面所做的努力有很大关系,理解这一点非常重要。其中会涉及一些具体操作,包括:提出合适的安全需求、进行风险评估、威胁建模、代码审计和运营安全的评估。渗透测试被看做是安全评估中最后也是最具侵略性的测试手段,由经过认证的专业人员,在事先对被测试系统有所了解或没有任何了解的情况下进行实施。渗透测试可以用来评估任何IT基础设施部件,包括应用程序、网络设备、操作系统、通信媒体、物理安全以及人员心理健康状况。通常渗透测试的最终结果中会包含一份报告,报告会分几部分来描述当前系统中存在的薄弱环节,以及相应的解决方案和评论。因此,渗透测试方法论给渗透测试人员带来的额外好处是:可以帮助他们在测试的每一步中,理解并且有重点地分析当前系统防御的完整性。
黑盒测试也称为外部测试(external testing)。在进行黑盒测试时,安全审计人员将在不了解任何被测试组织的内部结构和技术的情况下,从远程对其网络结构进行审计。通过使用真实世界中的黑客技术,并合理地组织各个测试阶段,渗透测试可以找出一些已知和未知的漏洞,如果不在测试过程中发现这些漏洞,这些漏洞就有可能暴露在整个公共网络中。负责进行黑盒测试的审计人员有时也称为黑帽子(black-hat)。安全审计人员必须能够深刻理解所发现的漏洞,并且按照风险级别(低风险、中等风险、高风险)对它们进行分类。通常,可以根据一个漏洞的类型,以及它可能造成的潜在经济损失来衡量其风险级别。一个理想的渗透测试人员应该可以找出所有可能导致测试目标被攻陷的问题点。当黑盒测试完成后,将会生成一份报告,其中包含了所有必要的信息,包括对测试目标安全性的评估、分类,以及从商业角度描述所有发现的风险。
白盒测试也称为内部测试(internal testing)。在进行白盒测试时,安全审计人员必须清楚地知道被测试环境的内部结构和技术细节。因此,这种测试方式向审计人员敞开了一扇大门,使他们能够以最小的代价来查看和评估测试目标中的安全漏洞。负责进行白盒测试的审计人员有时也称为白帽子(white-hat)。白盒测试能够消除所有存在于目标内部环境设施中的安全隐患,从而使其能够更加牢固地抵挡来自外部的恶意入侵者。从这个意义上讲,比起黑盒测试,白盒测试能够给组织带来更大的价值。进行白盒测试所需要的步骤和黑盒测试大体相同,不过白盒测试可以省去目标范围定义、信息收集和定位这些阶段。此外,可以很方便地将白盒测试集成到常规开发生命周期中,从而尽早地发现和消除安全漏洞,以避免这些漏洞被入侵者发现和攻击。查找和解决安全漏洞的时间和代价都比黑盒测试少。
如果将白盒测试和黑盒测试组合使用,就能够同时从内部和外部两个视角来深入评估目标系统的安全性。这种组合称为灰盒测试(Grey-Box)。相应的,实施灰盒测试的审计人员也叫做灰帽子(grey-hat)。灰盒测试方法同时具有黑盒测试和白盒测试的优点。但是,灰盒测试要求测试人员只能有限地了解一些系统内部结构,从而可以不用拘泥于内部细节,从系统整体着眼,找出评估其安全性的最佳方法。另一方面,在进行外部测试时,灰盒测试所使用的流程和黑盒测试流程十分相近,但是由于实施灰盒测试的审计人员对系统内部技术有一定程度的了解,因此能够更好地作出决策。
安全测试方法论:
OSSTMM,open source security testing methodology manual开源安全测试方法手册,http://www.isecom.org/research/osstmm.html,是一个被业界认可的用于安全测试和分析的国际标准,在许多组织内部的日常安全评估中都使用该标准。它基于纯粹的科学方法,在业务目标的指导下,协助审计人员对业务安全和所需开销进行量化。从技术角度来看,该方法论可以分成4个关键部分,即范围划定(scope)、通道(channel)、索引(index)和向量(vector)。
“范围划定”定义了一个用于收集目标环境中所有资产的流程。
一个“通道”代表了一种和这些资产进行通信和交互的方法,该方法可以是物理的、光学的或者是无线的。所有这些通道组成了一个独立的安全组件集合,在安全评估过程中必须对这些组件进行测试和验证。这些组件包含了物理安全、人员心理健康、数据网络、无线通信媒体和电信设施。
“索引”是一个非常有用的方法,用来将目标中的资产按照其特定标识(如网卡物理地址、IP地址等)进行分类。
一个“向量”代表一个技术方向,审计人员可以在这个方向上对目标环境中的所有资产进行评估和分析。该过程建立了一个对目标环境进行整体评估的技术蓝图,也称为审计范围(audit scope)。
在OSSTMM方法论中定义了许多不同形式的安全测试,有如下6种安全测试类型:
盲测(blind):在盲测过程中,测试人员不需要知道任何关于目标系统的前置知识。但是在开始执行一个审计范围(audit scope)之前,必须先通知被测试的目标。伦理黑客行为(ethical hacking)、入侵游戏(war game)都可以归为盲测类型。这种测试类型被广泛接受,因为它会在道德前提下,将所发生的一切告知被测试目标。
双盲测试(double blind):在双盲测试中,审计人员不需要知道任何关于目标系统的前置知识,同时被测试目标也不会在测试开始前得到通知。黑盒测试和渗透测试都可以归为这一类。当前绝大多数的安全审计采用双盲测试方法,对审计人员来说,每一个审计任务都是一项实实在在的挑战,为了达成目标,必须选用最好的工具和最佳的技术。
灰盒测试(gray box):在灰盒测试中,审计人员对被测试系统具有一定的了解,而测试开始前也会通知被测试目标。使用灰盒测试的一个例子是漏洞评估。
双灰盒测试(double gray box):双灰盒测试的过程和灰盒测试类似,只不过在双灰盒测试中,会给审计人员定义一个时限,并且不会测试任何通道和向量。白盒测试是双灰盒测试的一个例子。
串联测试(tandem):在串联测试中,审计人员对目标系统只有最低限度的了解,而在测试开始前会详细通知被测试系统。需要注意的是串联测试会做得非常彻底。水晶盒(crystal box)测试和内部审计(in-houseaudit)都属于串联测试。
反向测试(reversal):在反向测试中,审计人员拥有关于目标系统的所有知识,而在测试开始前被测试目标不会得到任何通知。红队测试(red-teaming)是反向测试的一个例子。
在OSSTMM中,哪种测试类型遵循渗透测试的规则?双盲测试
OSSTMM提供的技术评估框架具有较好的灵活性,通过该框架可以衍生出一系列测试用例,这些测试用例在逻辑上可以分成3个连续的通道、5个安全组件,就像前面介绍过的。这些测试用例会检查目标系统的访问控制安全、流程安全、数据控制、物理位置、边界保护、安全意识水平、信任级别、欺诈保护控制以及其他许多流程。整个测试流程主要关注的是:要测试什么,如何测试它们,在测试前、中、后分别需要采用何种策略,以及如何解释和关联最终结果。通过使用安全指标(security metrics)来衡量目标系统当前的受保护状况是十分有效的方法。为此,OSSTMM方法论提出了风险评估值(Risk Assessment Value,RAV)这个概念。RAV的基本功能是分析测试结果,并根据3个要素来计算目标系统的实际安全值,这3个要素分别是操作安全(operational security)、损失控制(loss control)和局限性(limitation)。最终计算出来的这个安全值称为RAV分数值(RAV score)。通过使用RAV分数值,审计人员可以很方便地根据当前系统的安全状况来抽取和定义最终衡量标准,从而实现更好的安全保护。从业务角度来看,RAV可以优化在安全方面的投资,也可以帮助选择更好的解决方案。
关键功能和益处:在实践中使用OSSTMM方法论,可以大幅降低漏报和误报,并提供更为精确的安全度量;OSSTMM框架可以被许多不同类型的安全测试所使用,例如渗透测试、白盒审计、漏洞评估等。它确保了每一次安全评估都具有彻底性,并且最终结果可以以一种一致的、可以量化的、稳定的方式进行聚合。该方法论本身遵循了一个包含4个独立阶段的流程,分别是定义阶段(definition phase)、信息阶段(information phase)、监管阶段(regulatory phase)和控制测试阶段(control test phase)。每一个阶段都会获取、评估和验证目标环境中的相关信息。可以通过RAV来评估系统安全指标。RAV从操作安全、损失控制和局限性这三方面出发来计算目标实际的安全值。最终输出代表目标当前安全状况的RAV分数值。
按照安全测试审计报告(Security Test Audit Report,STAR)模板来格式化测试报告,便于管理,并且方便技术团队审查测试目标、风险评估值,以及每一个测试阶段的输出。
根据新的安全测试趋势、法规和道德伦理考量,该方法论会不断地得到更新。
OSSTMM测试流程可以很容易地和工业法规、业务政策、政府法律进行协调。此外,一次经过认证的审计将有资格得到安全和开放方法研究所(Institute for Security andOpen Methodologies,ISECOM)的直接评审。
ISSAF,information systems security assessment framework信息系统安全评估框架,www.oissg.org/issaf,是另一个开源的安全测试和分析框架。该框架分类成数个域(domain),按照逻辑顺序进行安全评估。其中的每一个域都会对目标系统的不同部分进行评估,每个域的评估结果组成一次成功的安全评估。通过在目标组织的日常业务生命周期中集成ISSAF框架,可以准确、完全、有效地满足其安全测试需求。
ISSAF主要关注安全测试的两个领域:技术和管理。在技术方面,ISSAF建立了一系列需要遵循的核心规则和流程,和一个完备的安全评估程序。在管理方面,ISSAF定义了约束管理和测试过程中应该遵守的最佳实践。需要记住的是ISSAF把安全评估看做是一个过程,而不是一次审计。安全审计行为需要有一个更为成熟的机构来宣布必要的标准,ISSAF的评估框架包含了计划、评估、修复、评审以及维护这几个阶段。每个阶段都包含了适用于任何组织架构的灵活有效的通用指南。最后输出中包含了相关的业务活动、安全举措以及目标环境中可能存在的漏洞的完整列表。评估程序通过分析测试目标环境中可以被轻易利用的严重漏洞,来选择完成测试的最短路径。
ISSAF包含了一系列丰富的技术评估标准,用于测试各种不同的技术和流程。但是这也带来了维护上的问题,为了能够反映最新的技术评估标准,必须及时更新ISSAF框架。相比之下,面对这类框架过时的问题,OSSTMM 方法所受的影响较小,因为在OSSTMM中,审计人员可以使用同一套方法论,运用不同的工具和技术来完成不同的安全评估任务。另一方面,ISSAF的创建者声明ISSAF是一个用途广泛的框架,它包含了最新的安全工具、最佳实践以及管理问题的信息,用来完成安全评估项目。它也可以和OSSTMM或其他类似的测试方法论一起使用,从而能够组合各种方法的优点。但是,需要注意的是,和其他测试方法论和框架相比,ISSAF仍然处在初级阶段,并且有一点过时。
关键功能和益处:提出了一个很有价值的主张,即通过测试当前安全控制中是否存在严重漏洞,来保障基础设施安全。ISSAF框架关注信息安全中不同的关键领域。它涵盖了风险评估、业务架构和管理、控制评估、约束管理、安全策略开发以及良好的实践。ISSAF提供的整体技术评估流程包括了操作管理、物理安全评估、渗透测试方法论、事故管理、变化管理、业务可持续性管理、安全意识、法律和法规的遵守。
ISSAF的渗透测试方法论只是单纯检查网络、系统和应用程序的安全性。因为ISSAF框架可以很透明地专注于测试目标使用的具体技术,包括路由器、交换机、防火墙、入侵检测和防范系统、存储区域网络、虚拟私有网络、各种操作系统、Web应用服务器、数据库等。
在技术和管理两个领域实现了必要的安全控制,填补了这两个领域之间的空白。
它使得管理者能够理解存在于组织外围防御体系中的潜在安全风险,并通过找出那些可能影响业务完整性的漏洞,来主动地减少这些风险。
通过组合使用OSSTMM和ISSAF,能够提供足够的知识来有效评估企业环境的安全性。
OWASP,open web application security project开放式的web应用和安全项目https://www.owasp.org/index.php/Main_Page,https://www.owasp.org/index.php/Guide开发者指南,OWASP是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。它是一个非营利组织,不附属于任何企业或财团。因此,由OWASP提供和开发的所有设施和文件都不受商业因素的影响。OWASP支持商业安全技术的合理使用,它有一个论坛,在论坛里信息技术专业人员可以发表和传授专业知识和技能。
通过加固网络设备,不仅可以防止恶意入侵者利用公开的漏洞和攻击程序进入网络内部,也可以积极预防对网络基础设施进行未授权的、不当的更改。但是仅仅加固设备无法防止攻击者通过网络对系统中的Web应用发起上述攻击。攻击者可以先入侵目标系统的应用层(application layer),然后再伺机进入系统内部。基于上述原因,一些测试方法论提出对应用层的潜在安全隐患进行重点检测。OWASP开放社区也进行了这样的尝试,一方面推进其内部的十大安全项目,另一方面努力增强各组织对应用安全的重视程度。OWASP项目并不是集中在开发相关应用安全程序上,而是提供了一套基准,通过遵循安全的代码编写原则和实践,来提高产品的安全性。
为了验证OWASP提出的十大Web应用安全风险,下面将逐一对它们进行介绍,包括它们的简短定义、典型范例和预防手段:
A1—注入(Injection):是指攻击者通过输入恶意数据,从而达到在Web服务器环境下运行任意指令的目的。比较有名的是SQL、XML和LDAP注入。在应用程序中,通过对用户输入的特定字符进行转义,可以预防恶意数据的注入。
A2—跨站脚本(Cross-SiteScripting,XSS):是指应用程序在没有对用户输入进行正确验证的情况下,将这些输入直接输出到了Web浏览器中,而这些输入一旦被浏览器执行,将有可能导致会话劫持、cookie窃取或者Web站点数据被污染。在应用程序中,通过对HTML、JavaScript或者CSS输出中不受信任的元字符进行转义,可以预防跨站脚本。
A3—无效的验证和会话管理(BrokenAuthentication and Session Management):使用不安全的验证和会话管理程序,可能会导致用户账户被劫持,或者导致会话token可预测。开发一个健壮的验证和会话管理程序可以预防此类攻击。我们强烈建议使用加密、散列和基于SSL或者TLS的安全数据连接。
A4—不安全的直接对象引用:如果应用程序提供其内部对象的直接引用,并且没有进行正确验证,那么可能会导致攻击者操纵这些引用并访问未经授权的数据。这个内部对象可能是用户账户的参数值、文件名或者目录。在访问控制检查(access control check)完成之前,限制所有用户可访问的内部对象,可以确保对相关对象的每一次访问都是经过验证的。
A5—跨站请求伪造(Cross-SiteRequest Forgery,CSRF):是指在存在漏洞的Web应用中,强迫经过验证的用户去运行伪造的HTTP请求。这些恶意请求都是在合法的用户会话中被执行的,因此无法检测到。通过在每一个用户会话中都生成一个不可预测的token,然后每次发送HTTP请求时都绑定这个token,可以减轻CSRF攻击的危害。
A6—错误的安全配置(SecurityMisconfiguration):有时候,使用默认的安全配置可能会导致应用程序容易遭受多种攻击。在已经部署的应用、Web服务器、数据库服务器、操作系统、代码库以及所有和应用程序相关的组件中,都应该使用现有的最佳安全配置,这一点至关重要。通过不断地进行软件更新、打补丁、从严制定应用环境中的安全规则,可以实现安全的应用程序配置。
A7—不安全的密码存储(InsecureCryptographic Storage):那些没有对敏感数据(例如医保信息、信用卡交易、个人信息、认证细节等)使用密码保护机制的应用程序,都可以归到这类中。通过使用健壮的标准加密算法或散列算法,可以保障数据的安全性。
A8—失败的URL访问权限限制(Failureto Restrict URL Access):如果Web应用程序没有对URL的访问进行权限检查,那么攻击者可能可以访问未经授权的网页。为了解决这个问题,需要运用合适的身份证明和授权控制机制来限制对私有URL的访问,同时需要为那些可以访问高敏感性数据的特殊用户和角色开发一套合适的权限控制策略。
A9—薄弱的传输层保护(InsufficientTransport Layer Protection):使用低强度的加密算法、无效的安全证书以及不恰当的身份证明控制机制,会破坏数据的机密性和完整性。这些应用数据将有可能遭到流量窃听和篡改攻击。通过在传输所有敏感网页时使用SSL协议,并使用权威认证机构颁布的合法数字证书,可以解决这类安全问题。
A10—未验证的重定向和转发(UnvalidatedRedirects and Forwards):很多Web应用程序使用动态参数将用户重定向或者转到某个特定的URL上。攻击者可以通过相同的方法伪造一个恶意的URL,将用户重定向到钓鱼网站或者恶意站点上。这种攻击方式还可以用于将请求转发到本地未经授权的网页上。要想避免非法重定向和转发,只需要简单地验证请求中的参数和发出请求的用户的访问权限。
关键功能和益处:
按照OWASP十大安全风险来测试Web应用程序,可以避免那些最常见的攻击和缺陷,从而可以保障Web应用的机密性、完整性和可用性。
OWASP社区还开发了一系列的安全工具,主要用于自动和手动的Web应用测试。其中包括WebScarab、Wapiti、JBroFuzz 和SQLiX,在BackTrack操作系统中也包含了这几款工具。
在对Web基础设施进行安全评估时,OWASP测试手册提供了具体的技术性的评估细节。比如,测试Oracle数据库的流程和测试MySQL数据库的流程是不一样的。该手册对多种不同的技术,提供了广泛而又相互关联的分析,从而可以帮助审计人员选取最合适的测试流程。
OWASP提倡将安全测试集成到软件开发的每一个阶段中,从而使得开发人员能够编写出安全的代码。这种做法可以保证最终产品是健壮的、没有错误的以及安全的。
OWASP已经被整个业界所接受,并且效果显著。OWASP十大安全风险可以和其他Web应用安全评估标准结合起来使用,从而可以通过较少的花费,一次性达成不只一个安全标准。
WAS-TC,web application security consortium threat classification,web应用安全联合威胁分类,http://projects.webappsec.org/Threat-Classification,为了找出应用程序中的安全风险,需要一个完整和严格的测试流程,这个流程可以集成到软件开发生命周期中。WASC-TC是另一个用于评估Web应用安全的开放标准。和OWASP标准类似,WASC-TC也是分成一系列的攻击和弱点,但是以一种更深入的方式定义它们。要想找出和验证Web应用中的安全隐患,需要遵循一个可以迅速适应目标技术环境的标准。简单来说这就是WASC-TC诞生的原因。整个WASC-TC标准被分成3个不同的视图,使得开发者和安全审计人员能够把握Web应用安全威胁的整体面貌。
枚举视图(Enumeration View):该视图致力于提供Web应用攻击方法和Web应用薄弱环节的理论基础。这些攻击方法和薄弱环节都会单独讨论,包括它们的定义、类型、在多种编程平台上的示例。另外,它们中的每一项都拥有一个唯一的标识,方便对其进行引用。WASC-TC一共收集了49种攻击方法和薄弱环节,并且为每一项分配了一个静态的WASC-ID号码(从1到49)。需要注意的是,WASC-ID并不是用来表示相关安全风险的严重程度,而只是用来对它们进行引用。
开发视图(Development View):开发视图通过将枚举视图中总结出来的攻击方法和薄弱环节进行组合,整理出一系列有可能在项目开发的3个连续阶段(设计、实现和部署)中出现的漏洞,从而使开发人员对开发过程中可能产生的漏洞的全貌有更深入的了解。设计阶段漏洞产生的原因是:在最开始的需求收集阶段,收集到的应用需求没有满足安全性标准。实现阶段漏洞产生的原因是没有采用安全的代码编写规范。最后,部署阶段漏洞产生的原因是:没有正确地配置应用程序、Web服务器以及其他外部系统。因此,通过把开发视图作为最佳实践的一部分纳入日常项目开发的生命周期中,能够扩大安全保障工作的范围。
分类交叉引用视图(Taxonomy Cross Reference View):建立了一个包含多种Web应用安全标准的交叉引用视图,通过对该视图的引用,能够帮助审计人员和开发者将当前所使用的标准中的术语映射到其他标准中。而且只需要较少的开销,就可以做到让项目同时符合多种不同的安全标准。但是,通常每一个应用安全标准都定义了它自己的指标,用来从不同的角度评估应用程序安全,以及衡量相应的风险。因此,针对每一种安全标准,都需要做出不同的努力,才能够正确计算安全风险及其严重程度。当前WASC-TC中的攻击方法和薄弱环节可以映射到OWASP十大风险、Mitre通用缺陷列表(Common Weakness Enumeration,CWE)、Mitre通用攻击模式列表和分类(CommonAttack Pattern Enumeration and Classification,CAPEC)、SANS-CWE 25大高危软件错误列表(SANS-CWETop 25 list)。
关键功能和益处:深入探讨了通过常见的攻击方式和薄弱环节来评估Web应用环境安全这一安全评估方法。可以使用BackTrack操作系统中的一系列工具,在任意Web应用平台上测试和验证WASC-TC提出的攻击方式和薄弱环节。WASC-TC标准提供了三个不同的视图,分别是枚举视图、开发视图和交叉引用视图。枚举视图起到了一个基础数据库的作用,它包含了所有在Web应用中发现的攻击方法和薄弱环节。开发视图将这些攻击方法和薄弱环节组合成一系列漏洞,并根据它们发生在开发过程中的哪个阶段对其进行分类。这些开发阶段可以是设计阶段、实现阶段和部署阶段。交叉引用视图用于在WASC-TC标准中引用其他的应用安全标准。
WASC-TC标准已经得到了业界的广泛认可,在许多开源和商业解决方案,特别是漏洞评估和管理产品中,都能看到其身影。WASC-TC也可以和其他著名的应用安全标准兼容,比如OWASP 和SANS-CWE。因此,它也可以用于实现其他安全标准。
以上四种方法论可帮助安全专业人士选择最佳策略来满足客户需求以及确定恰当的测试方案。前两种方法提供了一套通用的安全测试方法和指导,可以适应几乎所有类型的信息评估需求。后两种方法主要关注于对应用安全领域的评估。然而,安全本身是一个不断变化的过程,认识这一点很重要。测试目标环境中任何一个微小的改变,都有可能影响整个安全测试流程,并造成最终测试结果中包含错误。因此,在选用上述的任何测试方法之前,必须先保证目标测试环境的完整性。另外,选用任何一种单独的方法论,都不能保证可以覆盖到风险评估流程中的所有方面。所以,安全审计人员需要找出测试的最佳策略,该策略能够满足所有测试关键指标,并且适合目标网络和应用环境。
现在有很多安全测试方法论,号称能完美地找到所有安全问题。但是要想从中找出最合适的方法,仍然需要经过一个仔细筛选的过程,在责任、花费和有效性上找到最优方案。因此,选择一个正确的评估策略,取决于若干因素,包括:目标环境的技术细节、可用的资源、渗透测试者的知识、商业目标以及管理上的考量。从商业角度来看,盲目的投资以及向安全测试提供不应该提供的信息,都有可能给整个商业经济带来危险。
backtrack测试方法论
它同时包含了白盒测试和黑盒测试的方法。这两种测试方法都可以根据被评估目标的具体情况进行调整。BackTrack方法论由一系列相关步骤所组成,要想成功完成安全评估项目,必须在测试的初始化阶段、测试进行阶段以及测试结束阶段遵循这些步骤:
目标范围划定target scoping;
信息收集;
目标发现;
目标枚举;
漏洞映射;
社会工程学;
漏洞利用;
提权;
持续控制目标;
文档和报告;
1.目标范围划定
在开始技术性安全评估之前,应该先观察和理解给定的目标网络环境的范围,这一点很重要。同时还要知道,范围的定义可以是单个实体,也可以是多个实体的集合。在目标范围划定阶段,可能需要定义如下纲要:要测试什么、如何测试它、测试过程中需要用到什么样的条件、测试实施过程中会有哪些限制、需要多久才能完成测试、需要达成什么样的业务目标。要想完成一次成功的渗透测试,审计人员必须清楚地理解评估过程中使用的技术,理解其基本功能,以及对被测试网络环境的影响。因此,在任何类型的安全评估项目中,审计人员的知识结构将起到至关重要的作用。
2.信息收集
在划定了测试范围之后,就需要进入信息侦查阶段。在这个阶段,渗透测试人员需要使用各种公共资源,来获取更多有关于测试目标的信息。这些信息可以从互联网上搜集到,比如论坛、公告板、新闻组、文章、博客、社交网络以及其他商业或非商业性的网站。另外,也可以从各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。再进一步,审计人员可以使用BackTrack提供的各种工具来提取测试目标的网络信息。这些工具运用数据挖掘技术收集有用信息,包括DNS服务器、路由追踪、Whois数据库、电子邮件地址、电话号码、个人信息以及用户账户。收集到的信息越多,渗透测试成功的几率就越高。
3.目标发现
这个阶段的主要任务是定位目标的网络状态、操作系统和相对网络架构。该阶段将会完整地展现目标网络当前使用的技术和连接的设备,这些信息可以帮助测试者进一步枚举目标网络中运行的各种服务。通过使用BackTrack提供的一系列先进的网络工具,可以很容易地探测到在线的网络主机以及这些主机上运行的操作系统,并根据每个设备在网络系统中的不同角色对它们进行归类。这些工具通常都提供了主动和被动的检测技术,这些技术基于上层网络协议,通过不同的方式巧妙利用这些协议,可以获取许多有用的信息,比如操作系统指纹等。
4.目标枚举
这一阶段会进一步利用前面各个阶段的成果,并找出目标系统中所有开放的端口。一旦找到了所有开放端口,就可以通过这些端口来枚举当前运行的服务。通过使用一系列端口扫描技术,如全开(full-open)扫描、半开(half-open)扫描、隐蔽式(stealth)扫描等,可以检测端口的开放情况,就算目标主机处于防火墙或者入侵检测系统的保护下也不例外。通过将主机上开放的端口对应到相应的服务程序,可以帮助进一步发掘目标网络基础设施中可能存在的漏洞。因此,该阶段为在之后的测试中发现各种网络设备漏洞打下了基础,这些漏洞都可能会造成严重危害。审计人员可以使用BackTrack中的一些自动化工具来完成这一阶段的目标。
5.漏洞映射
到前一个阶段为止,我们已经收集了足够多的关于目标网络的信息。下面就可以基于已经发现的开放端口和服务程序,来定位和分析目标系统中存在的漏洞。可以使用BackTrack系统中提供的一系列自动化的网络和应用漏洞评估工具来完成这个阶段的任务。当然也可以人工完成这些任务,只是这样做会花费庞大的时间,并且需要专家级的知识。但是,通过组合自动和手动这两种不同的测试方法,可以使审计人员有一个清楚的认识,并能够仔细地测试任何已知和未知的漏洞,否则这些漏洞将会一直存在于目标网络系统中。
6. 社会工程学
当审计人员找不到进入目标网络的突破口时,实践一下欺骗的艺术有时很重要。通过攻击目标组织中的人员,仍然有可能帮助我们渗透进入目标系统,比如可以诱使用户运行恶意代码,为我们提供一个可以进入目标系统的后门。社会工程学有很多种不同的实现形式。可以伪装成网络管理员,通过电话要求用户提供自己的账户信息;也可以发送钓鱼邮件来劫持用户的银行账户。在社会工程学中,有无数种可能的方式可以达成既定目标。需要注意的是,要想成功完成渗透任务,在对目标实施欺骗之前,有时候需要花费一些额外的时间来研究目标人员的心理。
7.漏洞利用
在仔细检查和发现目标系统中的漏洞之后,就可以通过已有的漏洞利用程序来渗透目标系统了。有时候为了让已有的漏洞利用程序能够正常工作,需要对其进行额外的研究和修改。这听起来有点困难,但是如果我们使用一个先进的漏洞利用工具来完成这项工作,就会简单很多,而BackTrack已经提供了这样的工具。此外,审计人员可以将客户端漏洞利用程序和社会工程学进行组合,来控制目标系统。这个阶段主要关注于如何拿下目标系统。整个流程可以分为3个领域,涉及攻击前、攻击、攻击后的相关行动。
8.提权
一旦控制了目标系统,渗透工作就成功完成了。接下来,审计人员就可以在系统中自由行动,这个自由程度取决于他所拥有的访问权限。审计人员也可以使用一些适合当前系统环境的本地漏洞来提升自己的权限,这些提权漏洞利用程序一旦成功执行,就可以获得超级用户权限或者系统级权限。以此为切入点,审计人员还可以进一步攻击本地网络系统。根据之前定义的目标范围,这类攻击可以是受限制的,也可以是不受限的。通过嗅探网络数据包、破解各种服务的密码、在本地网络中使用数据伪造攻击,将有可能获得更多关于被控制系统的信息。因此,提权的最终目的是获得目标系统的最高访问权限。
9. 持续控制目标
有时候审计人员需要在一段时间内维持对目标系统的访问权限。这可以用来演示非法访问目标系统的场景,而不需要再费工夫重新渗透目标系统。因此可以省去获取目标系统访问权限所需要的时间、花费和资源。通过使用一些秘密的通信隧道可以帮助审计人员在所要求的时间内维持对目标的访问权限,这些隧道可以基于特定协议、代理或者端对端的通信方法。这种对系统的访问方法可以清楚地展示,攻击者在不作出任何噪声行为的前提下,如何维持他对系统的访问权限。
10.文档和报告
BackTrack渗透测试方法论的最后一个环节是生成文档和报告,并演示在测试过程中发现的、验证过的以及成功利用的漏洞。从道德角度来看这一步十分重要,因为这使得相关的管理和技术团队能够检查渗透时使用的方法,并尝试修补所有存在的安全漏洞。针对不同的相关部门,最后生成的报告的格式可能不尽相同,以帮助他们更好地理解和分析当前IT基础架构中的薄弱环节。此外,这些报告还可以用来获取和比较渗透测试前后目标系统的完整性。
一、BT5
vmware下安装bt5r3,OS选ubuntu,用#startx进入图形界面,在桌面点“Install BackTrack”,
中文(简体),使用整个硬盘,安装
重启后进入系统,默认user/password为root/toor
#startx
配置xshell连接bt5:
#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
#sshd-generate
#vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
#service ssh restart
安装vmware-tools:
在vmware里点“虚拟机”-->点“安装VMware Tools”
root@bt:~# cp /media/VMware\Tools/VMwareTools-10.0.5-3228253.tar.gz ./
root@bt:~# tar xf VMwareTools-10.0.5-3228253.tar.gz
root@bt:~# cd vmware-tools-distrib/
root@bt:~/vmware-tools-distrib# ./vmware-install.pl #(一路回车,除此项外Would you like to enable VMware automatic kernel modules?
[no] yes)
root@bt:~/vmware-tools-distrib# cd
root@bt:~# last
root pts/1 192.168.23.1 Tue Jan 10 18:31 still logged in
root pts/0 :0.0 Tue Jan 10 18:16 still logged in
root pts/1 :0.0 Tue Jan 10 18:04 - 18:05 (00:00)
root pts/0 :0.0 Tue Jan 10 18:03 - 18:16 (00:12)
root tty1 TueJan 10 17:49 still logged in
root tty1 TueJan 10 17:49 - 17:49 (00:00)
reboot system boot 3.2.6 Tue Jan 10 17:44 - 18:48 (01:04)
reboot system boot 2.6.38-rc8 Sun Mar 13 08:15 - 08:15 (00:00)
注:BT5未完,将着重记录BT5的使用
二、kali
kali-linux-2016.2-i386.iso
使用kali的方式(vmware;live CD;Unversal USB Installer);
此处是在vmware中安装kali-linux,内存至少为768M,语言用english;
安装VMware Tools:
进入kali桌面;
在vmware中的标签栏“虚拟机”-->安装VMware Tools;
会在kali桌面生成vmware tools的文件夹,把vmware-tools*.tar.gz复制到桌面;
root@kali:~# pwd
/root
root@kali:~# cd Desktop/
root@kali:~/Desktop# ls
VMwareTools-10.0.5-3228253.tar.gz
root@kali:~/Desktop# tar xf VMwareTools-10.0.5-3228253.tar.gz
root@kali:~/Desktop# ls
VMwareTools-10.0.5-3228253.tar.gz vmware-tools-distrib
root@kali:~/Desktop# cd vmware-tools-distrib/
root@kali:~/Desktop/vmware-tools-distrib# ls
bin caf doc etc FILES INSTALL installer lib vgauth vmware-install.pl vmware-install.real.pl
root@kali:~/Desktop/vmware-tools-distrib# ./vmware-install.pl #(全部按默认)
配置网络:
root@kali:~# vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.8.175
netmask 255.255.255.0
network 192.168.8.0
broadcast 192.168.8.255
gateway 192.168.8.1
root@kali:~# /etc/init.d/networking restart
[ ok ] Restarting networking (viasystemctl): networking.service.
root@kali:~# vim /etc/resolv.conf
nameserver 114.114.114.114
使用xshell连接kali:
root@kali:~# vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
root@kali:~# /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl):ssh.service.
配置kali源:
root@kali:~# cd /etc/apt/
root@kali:/etc/apt# cp sources.listsources.list.20161116
root@kali:/etc/apt# vim sources.list
#中科大kali源
#deb http://mirrors.ustc.edu.cn/kali sana main non-free contrib
#deb http://mirrors.ustc.edu.cn/kali-security/ sana/updates main contrib non-free
#deb-src http://mirrors.ustc.edu.cn/kali-security/ sana/updates main contrib non-free
#阿里云kali源
de bhttp://mirrors.aliyun.com/kali sana main non-free contrib
deb http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free
deb-src http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free
root@kali:~# apt-get update
#apt-get upgrade
#apt-get dist-upgrade
#apt-get clean
服务开机自启:
root@kali:~# apt-get -y install sysv-rc-conf
root@kali:~# sysv-rc-conf #(使用空格选择,q退出)
root@kali:~# sysv-rc-conf --level 35 ssh on #(on or off)
信息收集:
DNS信息收集(dnsenum;dnsmap;dnsmap-bulk.sh;dnsrecon);
路由信息收集(traceroute;itrace;tcptraceroute);
其它(goorecon;theharvestrer;dmitry);
maltego:https://www.paterva.com/web7/,Maltego是一款十分适合渗透测试人员和取证分析人员的优秀工具,其主要功能是开源情报收集和取证,比起其它的情报收集工具,Maltego显得格外不同并且功能强大,因为它不仅可以自动收集到所需信息,而且可以将收集的信息可视化,用一种格外美观的方式将结果呈现给使用者;
root@kali:~# which dnsenum
/usr/bin/dnsenum
root@kali:~# dnsenum --help #(Usage: dnsenum.pl [Options] <domain>)
root@kali:~# dnsenum cisco.com
root@kali:~# dnsenum -f /path/to/dictionary_file.txt cisco.com #(Read subdomains fromthis file to perform brute force)
root@kali:~# dnsmap baidu.com
root@kali:~# which dnsmap-bulk.sh
/usr/bin/dnsmap-bulk.sh
root@kali:~# dnsmap-bulk.sh /path/to/domain.txt #(dnsmap-bulk.sh此脚本调用dnsmap循环查询多个domain,执行后要跟参数,此参数的文件中记录有多个domain)
root@kali:~# man dnsrecon #(DNS Enumueration andScanning Tool)
root@kali:~# which dnsrecon
/usr/bin/dnsrecon
root@kali:~# dnsrecon -h #(Usage: dnsrecon.py<options>)
root@kali:~# dnsrecon -d baidu.com #(-d,--domain <domain> Target domain.;-D,--dictionary <file> Dictionary file of subdomain and hostnamesto use for brute force.)
root@kali:~# which traceroute
/usr/sbin/traceroute
root@kali:~# man traceroute #(print the routepackets trace to network host)
root@kali:~# traceroute cisco.com
root@kali:~# which itrace
/usr/sbin/itrace
root@kali:~# man itrace #(similar totraceroute, yet uses ICMP echo)
root@kali:~# itrace -i eth0 -d cisco.com
root@kali:~# man tcptraceroute #(print the routepackets trace to network host)
root@kali:~# tcptraceroute cisco.com
root@kali:~# which dmitry
/usr/bin/dmitry
root@kali:~# man dmitry #(DeepmagicInformation Gathering Tool)
-i Perform an Internet Numberwhois lookup on the target IP address.
-w Perform a whois lookup onthe host target.
-n Retrieve netcraft.com dataconcerning the host, this includes operating system, web server release anduptime information where available.
-s Perform a subdomain search on thespecified target. This will use serveralsearch engines to attempt to locate subdomains in the form of sub.target. There is no set limit to the level of subdomain that can belocated, however, there is a maximum string length of 40 characters (NCOL 40)to limit memory usage. Possiblesubdomains are then reversed to an IP address, if this comes back positivethen the resulting subdomain is listed. However, if the host uses an asterisk in their DNS records allresolve subdo‐mains willcome back positive.
-e Perform an e-mail addresssearch on the specified target. Thismodules works using the same concept as the subdomain search by attempting tolocate possible e-mail addressesfor a target host. The e-mail addresses may also be forpossible subdomains of the target host. There is a limit to the length of thee-mail address set to 50 characters (NCOL50) to limit memory usage.
root@kali:~# dmitry -iwnse cisco.com
maltega:
Applications-->Social Engineering Tools-->maltegoce
左上角菜单中New-->Investigate界面Palette中选Domain,将Domain直接拖至“New graph(1)”的“Main View”区域
右键拖过来的图标-->Run Transform-->Domain owner detail,Domain name(cisco.com)
Run Transform-->DNS from Domain-->ToDNS Name-NS(name server)
Run Transform-->DNS from Domain-->TODNS Name-MX(mail)
Run Transform-->Domain ownerdetail-->To Email address [From whois info]
右键ns2.cisco.com-->Run Transform-->Convert to Domain-->ToDomains[DNS]
右键ns2.cisco.com-->Run Transform-->Info from NS-->To Domains[sharing this NS]
目标发现:
目标机器的识别:
ping;
arping;
nbtscan;
fping;
hping #(hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。Hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows);
hping2 #(#hping2 -A|F|S -p 80 www.linuxidc.com,在ping无结果时使用hping测试);
OS识别:
p0f;
xprobe2;
nmap;
root@kali:~# ping -c 3 192.168.8.162 #(send ICMPECHO_REQUEST to network hosts,-c,count)
root@kali:~# arping 192.168.8.162 #(sends arp and/or ippings to a given host)
root@kali:~# fping -c 3 192.168.8.162 #(send ICMPECHO_REQUEST packets to network hosts)
root@kali:~# nbtscan 192.168.8.0/24 #(program for scanningnetworks for NetBIOS name information,扫描网络内的存活主机,同#nmap-sn NETWORK_ADDRESS)
root@kali:~# p0f -h #(Usage: p0f [...options... ] [ 'filter rule' ])
root@kali:~# p0f -i eth0 -o log.txt #(#p0f -i eth0会在一个终端监听着,在其它终端上输入以下命令)
root@kali:~# xprobe2 192.168.8.162 #(A Remote activeoperating system fingerprinting tool.)
root@kali:~# nmap -O 192.168.8.162 #(Network explorationtool and security / port scanner,-O,Enable OS detection)
目标枚举:
nmap是一个网络探测和安全扫描程序,系统管理者可使用其扫描大型的网络,获取指定主机正在运行的服务,nmap支持很多扫描技术,如udp、tcp connect()、tcp syn半开扫描、ftp代理(bounce攻击)、反向标志、icmp、fin、ack扫描、Xmas tree圣诞树、syn扫描、null扫描;nmap还提供了一些高级特性,通过tcp/ip协议栈特征探测OS类型、秘密扫描、动态延时、重传计算、并行扫描、通过并行ping扫描探测关闭的主机、诱饵扫描、避开port过滤检测、直接RPC扫描(无需port映射)、碎片扫描、及灵活的目标和port设定;
-sT 4 #(TCP connect scan,常用扫描类型)
-sU #(UDP scans)
-sn同-sP #(No port scan,-sn wasknown as -sP,This option tells Nmap not to do a port scan after host discovery,and only print out the available hosts that responded to the host discoveryprobes,扫描在线主机)
-F #(Fast (limited port) scan,快速扫描)
-O #(Enable OS detection,OS指纹识别)
-p- #(you can specify -p- to scan ports from 1 through 65535,扫描全部port,1-65535)
-p PORT_RANGE #(Only scan specifiedports,扫描特定port)
-iL /path/to/FILE_NAME #(Input from list ofhosts/networks,导入ip扫描)
--scan-delay|--max-scan-delay TIME #(Adjust delay between probes,扫描延时)
-oN|-oX|-oS|-oG /path/to/FILE_NAME #(Output scan innormal, XML, s|<rIpt kIddi3,and Grepable format, respectively, to the givenfilename输出到文件)
-v|-vv #(Increase verbosity level (use -vv or more for greater effect))
-T<0-5> #(Set timing template(higher is faster))
-n|-R #(Never do DNS resolution/Always resolve [default: sometimes])
root@kali:~# nmap -sn 192.168.8.1/24 #(同#nbtscan192.168.8.0/24,将此句列出的结果保存至ip.txt,只截取IP地址)
root@kali:~# nbtscan 192.168.8.0/24 | awk '{print $1}' > ip.txt
root@kali:~# vi ip.txt #(稍作修改,只保留ip地址)
root@kali:~# nmap -iL ip.txt -sT 4
root@kali:~# nmap -iL ip.txt -F -oN report.txt
root@kali:~# nmap -iL ip.txt -O -oN report_os.txt
root@kali:~# nmap -p- 192.168.8.253
root@kali:~# nmap -p 80,443,3306,8009 192.168.8.253
root@kali:~# nmap -p 80,443,3306,8009 -v 192.168.8.253
root@kali:~# nmap -p 80,443,3306,8009 -vv 192.168.8.253
root@kali:~# ls /usr/share/nmap/scripts/ #(此路径下有众多脚本)
root@kali:~# nmap --script=smb-vuln-conficker 192.168.8.253 #(使用脚本扫描,脚本不需加后缀名)
#nmap -PN -T4 -p 139,445 -n -v --script smb-check-vulns,smb-os-discovery --script-args safe=1 192.168.8.0/24 > result.txt
漏洞映射(漏洞评估,漏洞挖掘):
漏洞映射是一个识别和分析目标环境中的关键安全缺陷的过程,这是漏洞管理的重要领域之一,它通过针对性的分析已知和未知的漏洞,实现对IT基础设施的安全控制,完成信息收集、发现、枚举,之后就可对目标中可能存在的漏洞进行分析,系统经常需要在加密措施、完整性、业务系统可用性之间作折衷,这往往是漏洞产生的缘由;
漏洞产生的原因:设计类;实施类;操作类;
本地漏洞;远程漏洞
工具:
sqlmap;
brupsuite;
注:Kali中集成的有,也可在win上运行
后续内容在笔记141-144页
本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1890852,如需转载请自行联系原作者