第一章渗透测试概述

一、什么是渗透测试

  1. 指可信赖的第三方通过模拟真实黑客攻击的技术和手段对目标客户网站、服务器系统进行攻击,在发现目标存在安全隐患之后给出专业的安全加固建议的一种评估计算机网络系统安全的测试方法级手段。
  2. 渗透测试就是一种模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式。
  3. 分类:
    1. 渗透测试工程师
    2. 网络安全工程师
    3. 黑客
  1. 黑客
    1. 白帽黑客
    2. 黑帽黑客

二、渗透测试执行标准(PTES)

  1. 简介:是由安全行业的领军人物及行业专家共同发起并制定的,旨在为全球非安全企业或组织与安全服务提供商设计并定制一套用来实施渗透测试的全球通用描述准则,您也可以在它的公益官网上查询到更多的相关信息。
  2. 渗透流程
    1. 前期交互阶段
    2. 情报收集阶段
    3. 威胁建模阶段
    4. 漏洞分析阶段
    5. 渗透攻击阶段
    6. 后渗透攻击阶段
    7. 报告

三、渗透测试流程

  1. 前期交互阶段
    1. 在前期交互过程中渗透测试团队要与客户(被渗透方)展开充分的交流及讨论确认在本次测试过程中的渗透测试目标、渗透测试范围、渗透测试条件限制、服务合同细节等。在进行一系列协商沟通后,就本次渗透测试服务达成一致并签订对应的合同,拿到渗透测试授权,一切未经资产所有者授权而开展的未授权测试均是不合法的。
  1. 情报收集阶段
    1. 信息收集:渗透测试人员收集到的信息越多、越全面,对之后的渗透测试越有利。渗透测试人员可以通过使用开源情报(OSINT)、Google Hacking、资产测绘平台(如Sumap、Shodan Fofa等)、资产扫描工具(如Goby、资产灯塔等)进行信息收集。在此过程中渗透测试人员不需要局限于上文中的这几种信息收集方法,可以从各个角度出发搜集一切有价值的信息。
    2. 内容
      1. 公开信息查询
      2. google hacking
      3. 社会工程学
      4. 网络工程学
      5. 网络踩点
      6. 扫描检测
      7. 被动监听
      8. 服务查点
  1. 威胁建模阶段
    1. 渗透测试团队需要对在信息收集环境所收集到的信息进行整理和分析,并进行综合考虑制定出攻击的规划,确定最高效、最有效的渗透测试攻击方案。
  1. 漏洞分析阶段
    1. 当渗透测试结合攻击方案及已知的信息,渗透测试人员需要展开漏洞分析的操作,需要挖掘当前渗透测试项目中可以用的已知漏洞来获取对应存在漏洞的服务器的访问权限
  1. 渗透攻击阶段
    1. 渗透测试人员将会利用之前已经编写好的漏洞利用脚本或者使用响应的渗透测试攻击手法来对目标服务器发起不同程度的有效攻击,最终标是拿下尽可能多的系统及服务器权限
  1. 后渗透攻击阶段
    1. 渗透测试团队需要根据被渗透方的安全防御特点、业务管理模式、资产保护流程等识别出被渗透方的核心设备及对被渗透方最有价值的信息及资产,最终规划出能够对客户组织造成最大化影响的攻击途径及方式。
  1. 渗透报告阶段
    1. 在一份完整的渗透测试报告中需涵盖:目标关键情报信息、渗透测试出的漏洞详情、成功渗透的攻击过程、造成业务影响的攻击途径,并从安全维护方的角度告知被渗透组织或企业其在安全防御体系中存在的薄弱点及风险,并给予专业的修复和改善建议。

四、渗透测试的总体思路

五、渗透测试的方法

  1. 黑盒测试
    1. 在测试过程中,测试人员对目标系统一无所知,需要从渗透测试最基础的信息收集工作开始一步步做起,慢慢熟悉这个渗透目标然后开始进行漏洞挖掘、这种测试对渗透测试人员的水平要求较高,并且耗费的时间将会比较长。当然,由于在黑盒测试过程中,企业无法预测到渗透测试人员将从哪个角度使用哪种方式发起攻击,所以往往能更好地测试企业安全应急和防御等系统、策略是否有效。
  1. 白盒测试
    1. 在测试过程中,客户提前将所有测试目标的详细信息,包括开放的端口及服务器上所运行的服务名称或是测试账户用户名及密码等告知渗透测试人员。测试者在拿到这些账户之后无须去做资产收集、账户注册等操作,可以直接上手展开测试,消耗的时间大大减少,相对于黑盒测试成本也会降低很多,可以以最小的代价发现最多有效的漏洞。
  1. 灰盒测试
    1. 将黑盒测试与白盒测试的优点结合在一起,有助于对测试目标进行更加深入及全面的安全测试。渗透测试人员在进行灰盒测试时,也需要进行类似于黑盒测试中的信息搜集等操作,但他们拥有测试目标的一切基础信息等有效信息,这些信息将会有助于他们排除一些无效的测试内容或帮助他们优化测试策略,从而达到更加快速、高效测试的效果。
  1. 总结

  1. 自动化测试
    1. 借助一些开源或商业扫描器对指定目标系统进行一个自动化测试,然后依据测试结果及报告判断目标系统是否存在特定的漏洞。
  1. 人工测试
    1. 借助一定量的工具,对目标系统采用逐一人工检测的方式来判断是否存在漏洞相较于全自动化测试,人工测试可以降低测试的误报率,并且也可以测试得更加深入,更加有效地检测扫描器无法检测的比较复杂的逻辑类型漏洞。
  1. 半自动化测试
    1. 在使用扫描器自动化测试的同时使用人工测试的方式同时寻找漏洞,这样哪怕人工测试有漏洞遗漏,借助强大的扫描器也可以将遗漏的漏洞寻找出来,让渗透测试维度更加全面。

六、渗透测试原则

  1. 规范性原则:需要按照国家标准文档,以及客户的要求和渗透测试规范流程进行规范的测试操作。
  2. 可控性原则:对目标系统展开攻击时,一切攻击测试和工具利用都必须是可控的。
  3. 最小影响性原则:使用最小的影响来完成尽可能多的漏洞测试,渗透测试人员不能在测试的同时破坏用户服务器的正常运行。
  4. 保密性原则:测试人员对客户系统所进行的渗透测试中一切内容都是需要保密的。

七、渗透测试工具

  1. Kali
  2. linux
  3. Burp Suite
  4. Nmap
  5. AWVS
  6. Nessus
  7. MetaSploit

八、linux常用的命令

九、0day攻击

1、0day漏洞:

通常是指还没有补丁的漏洞。也就是说官方还没有发现或者是发现了还没有开发出安全补丁的漏洞。

2、0day攻击:

利用0day漏洞对系统会软件应用发起的网络攻击,特点是利用简单,危害较大。

3、防范:

    1. 实时更新补丁、修复漏洞
    2. 实时监测、主动防护
    3. 加固终端系统
    4. 加强网络基础设施的安全
    5. 建立一个完善的应对零日攻击的应急响应方案

十、MetaSploit

1、使用

2、过程:

    1. msfconsoles
    2. earch 搜索模块
    3. use 模块名
    4. show options 查看选项
    5. set 设置选项
    6. run

进入“校园聚之”小程序或公众号,获取更多内容

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值