渗透测试01

渗透测试01

0x0.介绍

  1. 渗透测试就是一种通过模拟恶意攻击者的技术&方法,挫败目标系统安全控制措施、取得访问控制权、同时发现具备业务影响后果安全隐患的安全测试与评估方式
  2. 其一般需要对系统进行目标系统进行主动探测分析,以发现潜在的系统漏洞(包括不恰当的系统配置、已知或未知的软件硬件漏洞,以及在安全计划与响应过程中的操作性弱点…)

0x1.分类

  1. 黑盒测试(外部测试),设计为模拟一个对客户组织一无所知的攻击者所进行的渗透测试。

    a.采用该方式时,渗透测试人员将从一个远程网络位置来评估目标网络基础设施。值得注意的是,他们并没有任何目标网络内部拓扑等相关信息,即完全模拟外部攻击者,采用流行的攻击技术&工具对目标组织进行逐步的渗透与入侵,揭示目标网络中的已知/未知安全漏洞,并评估这些漏洞是否能被利用来获取控制权/造成相关业务资产的损失

    b.黑盒测试比较费时费力,同时也需要具备较高的技术能力。因此,也更受推崇。

  2. 白盒测试(内部测试),设计为人员在拥有客户组织所有知识的情况下所进行的渗透测试。

    a.采用该方法时,渗透测试人员可以了解到关于目标环境的所以内部&底层知识 => 以最小代价发现&验证系统中最严重的安全漏洞。

    b.白盒测试无需进行目标定位与情报搜集(在CTF中,一般是进行黑盒测试);同时,其能够更加方便地在一次常规开发&部署计划周期中集成,避免被入侵者发现利用可能存在的安全漏洞。

    c.其无法有效测试客户组织的应急响应程序

  3. 灰盒测试(白+黑的组合)

    a.灰盒测试需要渗透测试人员能够根据对目标系统所掌握的有限知识与信息,来评估整体安全性的最佳途径

    b.简单来说,结合了黑盒测试&白盒测试的各自优点。

0x2.渗透测试阶段

  1. 前期交互:确定渗透测试的范围、目标、限制条件以及业务目标…

  2. 情报搜集(白盒测试无):获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息

    a.可以使用的方法包括公开来源信息查询、Google Hacking、社会工程学(社工,哈哈)、网络踩点、扫描探测(类似于嗅探)、被动监听、服务查点…

  3. 威胁建模:通过共同的缜密情报分析&攻击思路brainstorm,可以确定最可行的攻击通道。

  4. 漏洞分析(如何root/提权):综合分析+找出攻击点+验证

  5. 渗透攻击(真正提权):考虑系统特性+挫败防御措施(+考虑检测机制的逃逸–黑盒)

  6. 后渗透攻击:根据目标组织不同特点,自主设计攻击目标+寻找最具价值的信息&资产,达成攻击途径。

0x3.安全漏洞生命周期

  1. 利用安全漏洞来造成入侵/破坏效果的程序为渗透代码(EXP–CTF中的老朋友了啊)
  2. 安全漏洞研究&挖掘:主要利用源代码审计(白盒测试)+逆向工程(灰盒测试)+Fuzz测试(黑盒测试)等方法,挖掘可用漏洞。
  3. 渗透代码开发与测试:黑客们会开发概念验证性的渗透代码 => POC,用于验证漏洞是否存在。
  4. 安全漏洞&渗透代码在团队内流传:“白帽”会通知厂商修补,后者给出补丁后再发布;“黑帽”以及“灰帽”则会各自进行秘密共享,以充分利用其所带来的攻击价值。
  5. 安全漏洞&渗透代码开始扩散:安全漏洞和渗透代码最终被披露出来,在互联网上得以发布。
  6. 恶意程序出现+传播:“黑帽”在掌握安全漏洞&渗透代码的基础上,进一步开发更易使用、更具有自动化传播能力的恶意程序,并通过社区、组织、互联网传播,进而快速扩散。
  7. 渗透代码/恶意程序大规模扩散,造成危害:厂商发布补丁和安全警报让更多黑客了解,从而加以利用。
  8. 渗透代码/攻击工具/恶意程序=>消亡:检测&移除机制得到广泛使用。

[!IMPORTANT]

1.Patch为补丁;

2.从安全漏洞被发现到厂商发布Patch用于修补该漏洞之前的这段期间,称为0day

3.在这段时间里,黑客攻击存有“0day”漏洞的目标可达到100%成功率,同时也可以躲避检测,因此“0day”和对应的渗透代码对与黑客社区有很高价值。

0x4.安全漏洞资源库

国内:

  • CNNVD:中国国家漏洞库
  • CNVD:中国国家信息安全漏洞共享平台

国外:

  • CVE(通用漏洞与披露):已成为安全漏洞命名索引的业界事实标准
  • NVD:国家漏洞数据库,是美国政府官方根据NIST的SCAP标准协议所描述的安全漏洞管理信息库
  • SecurityFocus:起源于Bugtraq邮件列表。
  • OSVDB:开源漏洞数据库,一个独立、开源的安全漏洞信息库