论一个优秀红队人员的自我修养
在攻防演练中,要想要成为一名优秀的红队人员需要掌握很多技能,不同的能力,学习和掌握起来难易程度不同。而技能的难易程度是能力定级的首要因素。从低到高依次分为基础能力、进阶能力和高阶能力。
一、基础能力
基础能力主要包含 Web 漏洞利用能力和基础安全工具利用能力两类。
Web 漏洞利用能力
即利用 Web 系统或程序的安全漏洞实施网络攻击的能力。由于 Web 系统是绝大多数机构业务系统或对外服务系统的构建形式,所以 Web 漏洞利用也是最常见、最基础的网络攻击形式之一。
基础安全工具利用能力
主要包括 Burp Suite、sqlmap、AppScan、AWVS、Nmap、Wireshark、MSF、Cobalt Strike 等基础安全工具的利用能力。熟练的工具利用能力是高效开展渗透工作的保障。
二、进阶能力
进阶能力主要包括 Web 漏洞挖掘、Web 开发与编程、编写 PoC 或 EXP 等利用、社工钓鱼四类。
Web 漏洞挖掘
主要是对 Web 系统或软件进行漏洞挖掘的能力。在挖掘的 Web 应用漏洞中,比较常见的漏洞形式有命令执行、代码执行、解析漏洞、XSS、弱口令、文件上传、SQL 注入、逻辑漏洞、信息泄露、配置错误、反序列化、权限绕过等。
Web 开发与编程
掌握一门或几门编程语言,是红队人员深入挖掘 Web 应用漏洞、分析 Web 站点及业务系统运行机制的重要基础能力。在实战攻防演练中,蓝队最常遇到、需要掌握的编程语言有 Java、PHP、Python、C/C++、Go 等。
编写 PoC 或 EXP 等基本利用
PoC 是 Proof of Concept 的缩写,即概念验证,特指为了验证漏洞存在而编写的代码。有时也被用作 0day、Exploit(漏洞利用)的别名。EXP 是 Exploit 的缩写,即漏洞利用代码。一般来说,有漏洞不一定有 EXP,而有 EXP,就肯定有漏洞。
社工钓鱼
既是实战攻防演练中经常使用的作战手法,也是黑产团伙或黑客组织最常使用的攻击方式。在很多情况下,攻击人要比攻击系统容易得多。社工钓鱼的方法和手段多种多样。在实战攻防演练中,最为常用,也是最为实用的技能主要有四种:开源情报搜集、社工库搜集、鱼叉邮件和社交钓鱼。其中,前两个属于情报搜集能力,而后两个则属于攻防互动能力。
三、高阶能力
高阶能力主要包括系统层漏洞利用与防护、系统层漏洞挖掘、身份隐藏、内网渗透、掌握 CPU 指令集、高级安全工具、编写 PoC 或 EXP 等高级利用以及团队协作八大类。
系统层漏洞利用与防护
为应对各种各样的网络攻击,操作系统内部有很多底层的安全机制。而每一种安全机制,都对应了一定形式的网络攻击方法。对于红队人员来说,学习和掌握底层的系统安全机制,发现程序或系统中安全机制设计的缺陷或漏洞,是实现高水平网络攻击的重要基础。实战攻防演练中,最实用且最常用的系统层安全机制有 7 种:SafeSEH、DEP(Data Execution Protection,数据执行保护)、PIE(Position-Independent Executable,地址无关可执行文件)、NX(No-eXecute,不可执行)、ASLR(Address Space Layout Randomization,地址空间随机化)、SEHOP(Structured Exception Handler Overwrite Protection 结构化异常处理覆盖保护 )、GS(缓冲区安全性检查)。
系统层漏洞挖掘
系统层漏洞的挖掘需要很多相对高级的漏洞挖掘方法。从实战角度看,这 6 种挖掘方法最为实用:代码跟踪、动态调试、Fuzzing 技术、补丁对比、软件逆向静态分析、系统安全机制分析。
身份隐藏
为避免自己的真实 IP、物理位置、设备特征等信息在远程入侵的过程中被网络安全设备记录,甚至被溯源追踪,攻击者一般都会利用各种方式来进行身份隐藏。在实战攻防演练中,所采用的身份隐藏技术主要有以下几类:匿名网络、盗取他人 ID/账号、使用跳板机、他人身份冒用和利用代理服务器等。
内网渗透
指在红队已经完成边界突破,成功入侵公司机构内部网络之后,在机构内部网络中实施进一步渗透攻击,逐层突破内部安全防护机制,扩大战果或最终拿下目标系统的攻击过程。在实战攻防演练中,比较实用的内网渗透能力包括工作组或域环境渗透、内网权限维持/提权、横向拓展、数据窃取和免杀等。
掌握 CPU 指令集
CPU 指令集,即 CPU 中用来计算和控制计算机系统的一套指令的集合。每一种 CPU 在设计时都会有一系列与其他硬件电路相配合的指令系统。指令系统包括指令格式、寻址方式和数据形式。一台计算机的指令系统反映了该计算机的全部功能。机器类型不同,其指令集也不同。而红队人员对 CPU 指令集的掌握程度,将直接决定蓝队进行系统层漏洞挖掘与利用的能力水平。目前,最为常见的 CPU 指令集有 x86、MIPS、ARM 和 PowerPC。
高级安全工具
只不过这些工具对于使用者有更高的基础技能要求,初学者不易掌握。在实战化环境中,最常用的工具有 IDA、Ghidra、Binwalk、OllyDbg、Peach Fuzzer 等。
编写 PoC 或 EXP 等高级利用
在实战化环境中,经常会使用的网络安全设备和系统有 IP 密码机、安全路由器、线路密码机、防火墙、安全服务器、公开密钥基础设施(PKI)系统、授权证书(CA)系统、安全操作系统、防病毒软件、网络/系统扫描系统、入侵检测系统、网络安全预警与审计系统等。网络安全设备本身也会存在各种各样的安全漏洞,在近年来的实战攻防演练中,对此类漏洞的利用越来越多。这里网络安全设备代指在各类网络安全设备中找到漏洞并利用漏洞编写 PoC 或 EXP 的能力。
团队协作
攻击队主要包含行动总指挥、情报搜集人员、武器装备制造人员、打点实施人员、社工钓鱼人员、内网渗透人员等角色。随着实战攻防演练的不断深入,防守队的整体能力持续提升,这就使得攻击队人员凭个人能力单打独斗取得胜利的希望越来越小。而由 3~5 人组成的攻击小队,通过分工协作高效完成攻击行动的模式越来越成熟。是否拥有团队协作的作战经验,团队中各成员分别扮演什么样的角色,是攻击队实战化能力的重要指标。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/f19f79bbc5198ebc4c0025cd5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论