渗透测试基础1本课程主要讲解了渗透测试方面的基础知识、渗透测试概念、意义、方法、分类等,还讲解了信息收集的常见方法,最重要的是使用搜索引擎。课程简介了解渗透测试基础知识学会收集信息学习目标渗透测试概述信息收集总结课程目录渗透测试完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节,能直观的让管理员知道自己网络所面临的问题。所以渗透测试是安全评估的方法之一。特点:1、渗透测试是一个渐进的并且逐步深入的过程。2、渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。渗透测试概念渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制,换一句话来说,就是证明一下之前所做过的措施是可以实现的,然后再寻找一些原来没有发现过的问题,这个就是渗透测试。许多时候,无论是网站还是系统的开发者,在开发过程中乃至结束都很难会注意到所开发的应用的安全问题,这样就造成了大量的存在瑕疵的应用暴露于外部网络之上,直接就触生了信息安全的产生;渗透测试在于发现问题、解决问题。经过专业人员渗透测试加固后的系统也会随之变得更加坚固、稳定、安全。渗透测试意义有一个常见的误解:是认为渗透测试只是使用一些时髦的自动化安全工具,并处理所生成的报告。但是,成功执行一个渗透测试并不仅仅是需要安全工具。虽然这些自动化安全测试工具在实践中扮演了重要的角色,但是它们也是有缺点的。更多的是靠人工、思维、经验。渗透测试执行渗透测试目的了解入侵者可能利用的途径了解系统及网络的安全强度入侵者可能利用的途径可能是一个问题,也可能是数个问题结合而成网络架构设计问题系统及应用程序设定问题咨询不当揭露或篡改防火墙设定问题系统及应用程序漏洞根据渗透方法和视角分类,渗透测试可以分为——A、黑盒测试“zero-knowledgetesting”/(黑盒子BlackBox)B、白盒测试C、灰盒子(GrayBox)渗透测试分类黑盒测试“zero-knowledgetesting”/(黑盒子BlackBox)渗透者完全处于对系统一无所知的状态。除了被测试目标的已知公开信息外,不提供任何其他信息。一般只从组织的外部进行渗透测试。通常,这种类型的测试,最初的信息获取来自DNS、Web、Email及各种公开对外的服务器。黑盒测试白盒测试,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站程序的代码片段,也能与单位其他员工进行面对面的沟通。通常包括从组织外部和从组织内部两种地点进行渗透测试。这类测试的目的是模拟企业内部雇员的越权操作。白盒测试灰盒测试(GrayBox)介于以上两者之间较为隐秘的进行测试。通常,接受渗透测试的单位网络管理部门会收到通知:在某些时间段进行测试。因此能够检测网络中出现的变化。但在隐秘测试中,被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。灰盒测试根据渗透目标分类,渗透测试又可以分为——1)主机操作系统渗透windows、solaris、aix、linux、sco、sgi2)数据库系统渗透mssql、oracle、mysql、informix、sybase3)应用系统渗透渗透目标提供的各种应用,如asp、cgi、jsp、php等组成的)网络设备渗透各种防火墙、入侵检测系统、网络设备渗透测试分类(2)信息收集、分析→制订渗透方案并实施→前段信息汇总、分析→提升权限、内部渗透→渗透结果总结→输出渗透测试报告→提出安全解决建议。渗透测试流程渗透测试流程图网络嗅探嗅探是用来捕捉网络中传输的数据的技术。嗅探是一个重要的信息收集技术,它能够捕获特定的信息,如密码;如果需要的话,它也能够捕获特定计算机之间的完整会话。要执行嗅探,计算机的网卡需要设置为混合模式,这样它才能够捕获网络中发送的所有数据。暴力攻击暴力攻击指的是尝试使用大量的字母组合和穷举试错法来查找合法身份认证信息。这种耗费时间的方法的根本目标是要获得目标系统的访问权限。暴力攻击可能会造成系统过载,也可能使它无法响应合法的请求。此外,如果系统启用了帐号锁定规则,那么暴力攻击可能会造成合法用户帐号的关闭。渗透测试手段漏洞扫描分析是针对目标区域的单位网络基础架构进行穷举检查,以确定它们当前的状态。扫描的目标范围可能是单个系统或一些关键系统,也可能是整个网络。它通常是使用自动化工具执行的,这些工具能够测试系统数据库已知漏洞方面的大量潜在弱点,并报告潜在的安全问题。木马攻击木马一般是通过电子邮件附件或IM聊天工具在网络中传播的一些恶意程序。这些程序是秘密运行的,并在用户不知情的情况下安装到客户计算机上。社会工程这种方法通常与盲式或双盲式测试一起使用,社会工程指的是搜索以收集信息为目的的人类本性(最主要是人的信任感和帮助姿态)的技术。这种方法是通过与单位员工、提供商和合同方的社会互动来收集信息和侵入这个组织的系统。渗透测试手段应用安全性测试代码检查:代码检查指的是分析所有应用代码来保证它们不包含任何可被入侵者利用来攻击应用的敏感信息。登录的输入验证——无效字符或过长的输入可能会产生意外结果;Cookie盗取,而合法会话可能会被未授权的用户使用;帐号锁定测试——测试应用中设置的超时和入侵锁定参数,保证合法会话不会被劫持。无线网络的渗透测试随着无线网络的出现,不管是在企业网络基础架构内还是在家里,都会造成更多的安全漏洞。一旦发现开放的无线接入端,他们就会标记下来,所以最后他就能够得到一个带有接入端属性(SSID、WEP、MAC等)的无线网络图。无线网络测试的目标是确定一个组织的无线网络的设计、实现或运营中的安全缺陷或漏洞。渗透测试手段拒绝服务(DoS)拒绝服务测试指的是尝试通过耗尽测试目标的资源来发现系统的特定弱点,这种方法会导致系统停止对合法请求的响应。资源过载——这些攻击的目的是耗尽攻击目标的资源(如,内存),从而使之停止响应。洪水攻击——是指通过发送超大数量的网络请求来达到耗尽的目的。这种攻击可以通过以下方式实现:•ICMP(InternetControlMessageProtocol),即所谓的“smurf”攻击;•UDP(UserDatagramProtocol),即所谓的“fraggle”攻击。半开放SYN攻击——是指在目标系统局部开放大量的TCP连接,这样就无法再启动合法连接。编外攻击——这些攻击试图通过破坏IP报头标准来使目标系统崩溃:•超大数据包(pingofdeath)——数据报头显示数据包所包含大于实际大小的数据。•分片(泪滴攻击)——发送很短的重叠分片数据包(数据包片断)。•IP源地址欺骗(落地攻击)——导致计算机创建连接自己的TCP连接。•畸形UDP数据报头(UDP炸弹)——UDP报头显示了不正确的长度。渗透测试手段渗透测试概述信息收集总结课程目录分析网站架构蜘蛛爬虫GoogleHackingWeb扫描信息收集查看源文件隐藏的连接注释内容JS文件网站编写语言WEB指纹探测Web架构命名规则推测敏感目录和文件addnews.php,viewnews.phpdelnews.php/2014-1-12/1.jpg,/2014-1-12/2.jpg/2014-2-14/1.jpg暴力探测敏感目录和文件探测到的目录中再探测敏感目录和文件.bak、.tmp、.svn/entries文件信息收集-分析网站架构访问不存在的文件和目录对比访问存在的目录和不存在目录的区别错误码分析收集网站的开发人员和管理维护人员信息Whios查询DNS查询社会工程学注意返回的状态码300400500HTTP响应头信息比如Server:BIG-IP暗示站点负载平衡。如果一个站点使用负载平衡,并且只有一个服务器配置不当,你可能需要请求多次去访问这个易受到危害的服务器,依赖于所使用的负载平衡的类型。信息收集-分析网站架构DNS是域名系统(DomainNameSystem)的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定只对应一个域名。DNS查询可以有两种解释,一种是指客户端查询指定DNS服务器上的资源记录(如A记录),另一种是指查询FQDN名的解析过程。查询DNS服务器上的资源记录您可以在Windows平台下,使用命令行工具,输入nslookup,返回的结果包括域名对应的IP地址(A记录)、别名(CNAME记录)等。除了以上方法外,还可以通过一些DNS查询站点如国外的国内的查询域名的DNS信息。信息收集-DNS查询://信息收集-DNS查询whois(是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的询查。Whois查询://whois.hichina.com/信息收集-Whios查询Whatweb./whatwebcimer.com.cn信息收集-WEB指纹探测网络蜘蛛/机器人/抓取工具检索的网页,然后递归遍历超链接进一步检索网页内容。在Web根目录下的robots.txt文件中是相关排除协议的详细说明。user-agent的指令指的是具体的网络蜘蛛/爬虫Disallow指令规定了蜘蛛/爬虫禁用的资源常用工具有Xenu\Wget。信息收集-蜘蛛爬虫intext:这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含动网的网页.allintext:使用方法和intext类似.intitle:和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全.将返回所有网页标题中包含安全的网页.同理allintitle:也同intitle类似.filetype:这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富。信息收集-搜索引擎inurl:搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:用来找管理员登陆的URL不错.allinurl也同inurl类似,可指定多个字符.site:这个也很有用,例如:site:搜索google里关于某些内容的缓存,有时候也许能找到一些好东西。define:搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.信息收集-搜索引擎+加上可能忽略的字-把某个字忽略~同意词.单一的通配符*通配符,可代表多个字母精确查询信息收集-搜索引擎最感兴趣的就是密码文件了.而google正因为其强大的搜索能力往往会把一些敏感信息透露给他们.用google搜索以下内容:intitle:indexofhtpasswdintitle:indexofpasswdintitle:ind