概念

渗透测试是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方式。

特点

渗透测试不等同于黑客入侵,不等于黑站
渗透测试是逐渐并且逐步深入的过程,需要耐心和时间
渗透测试是对人员综合能力的考验(OS/Database/Script/社工等)

渗透测试类型

黑盒测试

  • 对攻击目标一无所知
  • 完全模拟真实网络环境
  • 费时费力,需要具备较高技术能力
  • 对目标作出完整风险评估,包括所识别安全风险,目标团队检测与响应能力,对业务带来的影响
  • 业界普遍的渗透测试方式

    白盒测试

  • 拥有目标所有内部与底层知识

  • 最小代价发现最严重漏洞
  • 比黑盒测试消除更多漏洞与弱点
  • 无法有效测试客户应急能力
  • 特定情况下最好的选择

灰盒测试

  • 结合前两种方式,同时发挥两种渗透测试类型的优势
  • 也是从外部发起,掌握有限的知识和信息,可以选择最佳的攻击途径与策略,达到最优测试效果


  • 渗透测试模式

    主动渗透测试

  • 网络服务端软件与服务承载的上层应用程序之中的漏洞

  • 主动发送恶意网络数据请求触发
  • 传统渗透攻击方式
  • 最为普遍,最为多样,入门最为简单的是WEB应用系统渗透攻击技术

    被动渗透测试

客户端软件漏洞

  • 诱骗受害者访问恶意内容触发
  • 无视边界防护
  • 浏览器软件漏洞攻击和文件格式类漏洞攻击

渗透测试完整过程环节 image.png

安全漏洞生命周期

渗透测试流程中,找出目标的安全漏洞并实施渗透,是其核心环节。 Exploit,简称EXP,利用安全漏洞造成入侵或破坏的渗透代码,又叫漏洞利用代码
image.png

安全漏洞库

CVE(通用漏洞披露,行业标准)
CNNVD(中国国家漏洞库),
CNVD(中国国家安全漏洞共享平台),
SCAP中文社区(民间组织)
乌云(已关)
漏洞盒子
补天等等。
Exploit公开分享站点:metasploit—www. Metasploit.com,exploit db—www.exploit db.com

渗透测试常用术语

Webshell 以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。

提权

操作系统低权限账户通过各种漏洞和工具将自己提升至管理员权限。

越权

未授权账户目标通过访问控制策略不当获得资源访问权限。

APT攻击

利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。

肉鸡

被黑客通过后门或木马远程控制的机器,常被用于DDOS攻击。

DDOS

分布式拒绝服务攻击,借助于客户/服务器技术,将多个计算机或肉鸡联合起来作为攻击平台,对一个或多个目标发动流量攻击,用以把目标的网络资源及系统资源耗尽,使之无法向真正正常请求的用户提供服务。

渗透测试主流工具

域名注册信息查询: Whois在线查询目标网络信息DNS和IP,nslookup
在线漏洞搜索引擎: fofa,shodan,zoomeyes
指纹识别:CMS识别工具,操作系统识别工具
端口扫描:Nmap,masscan
网站路径扫描:御剑,WWWSCAN
主机漏洞扫描:Nessus
WEB应用漏洞扫描:AWVS,APPSCAN
抓包分析:wireshark,科来
SQL注入:Sqlmap
集成攻击平台:Burpsuite,Metasploit
反编译调试工具:IDA PRO,Onlydbg
Shell连接工具:中国菜刀,蚁剑
系统hash破解:pwdump,Shadow,LC5/JOHN,http://www.objectif-securite.ch在线破解
内网抓取hash:WCE,Mimikatz(抓取登录过主机的用户),Procdump+mimikatz
网络已公开的各类成熟exp:strusts2工具集,JBOSS反序列化工具,MS08-067等

WEB安全
WEB安全漏洞通常是指由于WEB程序本身体系结构、设计方法、开发编码的缺陷而造成的安全漏洞。
OWASP TOP 10,OWASP组织每隔数年更新10个最关键WEB应用安全问题清单


什么是道德黑客(Ethical [ˈeθɪkl] hacking)

黑客是指技术精湛的人,能发现漏洞并利用,黑客本身是中性的,没有褒贬的意思。换句话说就是一个技术精湛的人,可以做坏事也可以做好事。而道德黑客是指那些负责人的,有担当的,正义,善良,有职业荣誉感的黑客,简单的说就是做好事的黑客。

为什么需要渗透测试

We need to determine what it is we are protecting and whether our defenses can hold up to the threats that are imposed on them.

渗透测试不仅仅要评估目标的脆弱性,还要在各种防御机制基础上,验证防御机制是否有效。
渗透测试的一部分内容就是绕WAF,IDS,IPC,Anti Virus等防御机制,所以渗透测试比漏洞识别更难,所有也更耗时,资费也更贵。

威胁及漏洞

image.png

  1. 威胁主体带来威胁,这些威胁针对资产来说增加了风险,而资产所有者希望通过措施去减小风险。
  2. 威胁可以理解为一种有意识/无意识的“动机”。所有带来威胁的主体叫威胁主体。
  3. 漏洞/脆弱点可以理解为一种脆弱的状态。
  4. 利用以及后利用是一种动作/行为。
  5. 风险是威胁达成的概率。

一般而言,可以把威胁主体分为以下几类:

  1. 有组织的犯罪
  2. 黑客行为主义者
  3. 国家支持的黑客(大部分都是APT)
  4. 内部威胁
  5. 脚本小子

以一个例子来说明这些概念之间的关系:
image.png
还有一个类似的例子:
image.png
所以说威胁主体和威胁是没办法控制的,以上面的例子来说,你不能控制别人偷盗的想法,不能控制下不下冰雹。唯一能做的是减少漏洞,以及增加利用难度。

减少漏洞:检测所有门窗都是安全的; 把车停在车库中;
增加利用难度:在客厅放置全景摄像头实时监控移动侦测。增加安全红外感应有人闯入则发起警报。

这就是渗透测试的职能,首先去挖掘安全漏洞,其次验证防护机制是否完善到能抵御威胁

渗透测试方法论

渗透测试可以分为:黑盒,灰盒,白盒测试。黑->灰->白 根据测试人员获取到的信息由小到大来分类。黑盒是:啥都不知道,白盒是:啥都知道,其他都可归类为灰盒。一般由时间和预算决定采用什么方式测试。

已知的成熟的渗透测试方法论如下:

  1. PTES(Penetration Testing Execution Standard)
  2. PCI-DSS
  3. Penetration Testing Framework
  4. NIST SP 800-115
  5. OSSTMM(Open Source Security Testing Methodology Manual)
  6. ISSAF(Information Systems Security Assessment Framework)
  7. OWASP Testing Project

WHO IS THE KING?

要知道要想把产品做安全,只依赖渗透测试是完全不够的,在OWASP Testing Guide 也说了“The SDLC is King”。另外,渗透测试不只是发现漏洞并利用就足够了,渗透测试人员还需要透彻理解漏洞原理及漏洞修复/缓解方案,协助产品开发人员排查漏洞并修复。

渗透测试技能培训,给产品相关人员进行技能培训,让他们有安全漏洞意识,在开发过程能自测漏洞,并了解漏洞解决方案