100 MITRE ATT&CK Programming Projects for RedTeamers

由于最近的一些闭源项目需要代码审计和从0开始的漏洞挖掘,所以打算朝花夕拾将安全开发捡起,之前做了很多研究,绞尽脑汁才使用shell语言粗暴的耦合很多大佬写好的工具,除了部署比较困难之外我自诩这个工具对于一些日常的外点扫描还是有帮助的(这里恬不知耻的贴上SubDroid),不过这并不是我想要的,仅仅是将宝具一股脑的轮询传输,我并没有参与到这个工作当中,我下定决心要从0写一套我的东西,那么也就从这套列表开始

这个文章组织了一个完整的红队项目列表

待众生不盼不望 不等将军或英雄 这个世界才会真正的成长

父项目: 100 RedTeam Projects

如果你感兴趣的话,可以拉取这个中文仓库,在开发任何项目时,请考虑插入你的笔记,以帮助其他人理解开发过程中可能出现的困难。在你的提交被批准后,分享到你的社交媒体,并引用你的工作,以便其他人可以学习、帮助和参考。


侦察

描述

侦察包括对手主动或被动收集可用于支持目标定位的信息的技术。这些信息可能包括受害者组织的详细信息、基础设施或员工/人员。这些信息可以被对手用来支持对手生命周期的其他阶段,例如使用收集到的信息计划和执行初始访问,确定和优先考虑后渗透目标,或推动和引导进一步的侦察工作。


ID 标题 参考 示例
1 主动网络和指纹扫描器 链接 :x:
2 社交媒体分析和数据收集脚本 链接 :x:
3 基于Dork的OSINT工具 链接 :x:
4 网站漏洞扫描器 链接 :x:
5 WHOIS查询工具 链接 :x:
6 DNS子域名枚举工具 链接 :x:
7 鱼叉式钓鱼服务 链接 :x:
8 受害者信息收集工具 链接 :x:
9 DNS枚举和侦察工具 链接 :x:

值得注意的项目

  • 项目A by X

资源开发

描述

资源开发包括对手创建、购买或窃取/破坏资源以支持目标定位的技术。这些资源包括基础设施、账户或能力。这些资源可以被对手用来支持对手生命周期的其他阶段,例如使用购买的域名支持命令和控制,使用电子邮件账户进行钓鱼作为初始访问的一部分,或窃取代码签名证书以帮助防御规避。


ID 标题 参考 示例
10 动态网站钓鱼工具 链接 :x:
11 基于电子邮件的钓鱼传播工具 链接 :x:
12 恶意软件样本创建和分析工具 链接 :x:
13 复制公共漏洞并用于创建后门 链接 :x:
14 制作恶意文档用于社会工程攻击 链接 :x:
15 WordPress C2基础设施 链接 :x:

值得注意的项目

  • 项目A by X

初始访问

描述

初始访问包括对手使用各种入口向量在网络上获得初始立足点的技术。用于获得立足点的技术包括定向鱼叉式钓鱼和利用面向公众的Web服务器上的弱点。通过初始访问获得的立足点可能允许持续访问,如有效账户和使用外部远程服务,或者由于密码更改等原因可能是有限的使用。


ID 标题 参考 示例
16 利用易受攻击的Web应用程序 链接 :x:
17 针对Active Directory的密码喷洒攻击 链接 :x:
18 电子邮件鱼叉式钓鱼活动 链接 :x:
19 利用配置错误的网络服务 链接 :x:
20 USB设备攻击向量开发 链接 :x:
21 鱼叉式钓鱼链接 链接 :x:

值得注意的项目

  • 项目A by X

执行

描述

执行包括导致对手控制的代码在本地或远程系统上运行的技术。运行恶意代码的技术通常与所有其他战术的技术结合使用,以实现更广泛的目标,如探索网络或窃取数据。例如,对手可能使用远程访问工具运行PowerShell脚本来进行远程系统发现。


ID 标题 参考 示例
22 远程代码执行漏洞开发 链接 :x:
23 使用Shellcode创建后门 链接 :x:
24 构建命令行远程管理工具 链接 :x:
25 开发恶意宏用于基于文档的攻击 链接 :x:
26 通过内存破坏漏洞进行远程代码执行 链接 :x:
27 用于C2的命令行解释器 链接 :x:
28 基于Cron的执行 链接 :x:

值得注意的项目

  • 项目A by X

持久化

描述

持久化包括对手用于在重启、更改凭据和其他可能切断其访问的中断后保持对系统访问的技术。用于持久化的技术包括任何访问、操作或配置更改,使对手能够保持其在系统上的立足点,例如替换或劫持合法代码或添加启动代码。


ID 标题 参考 示例
29 开发Windows Rootkit 链接 :x:
30 在Web服务器中实现隐藏服务 链接 :x:
31 后门合法可执行文件 链接 :x:
32 创建计划任务以实现持久访问 链接 :x:
33 开发Linux内核级Rootkit 链接 :x:
34 LSASS驱动程序 链接 :x:
35 快捷方式修改 链接 :x:

值得注意的项目

  • 项目A by X

权限提升

描述

权限提升包括对手用于在系统或网络上获得更高级别权限的技术。对手通常可以以非特权访问进入和探索网络,但需要提升权限来实现其目标。常见的方法是利用系统弱点、配置错误和漏洞。提升权限的示例包括:

  • SYSTEM/root级别
  • 本地管理员
  • 具有类似管理员访问权限的用户账户
  • 具有访问特定系统或执行特定功能的用户账户

这些技术通常与持久化技术重叠,因为允许对手持久化的操作系统功能可以在提升的上下文中执行。


ID 标题 参考 示例
36 利用本地权限提升漏洞 链接 :x:
37 使用GPU加速进行密码破解 链接 :x:
38 Windows令牌操作以提升权限 链接 :x:
39 滥用不安全的服务配置 链接 :x:
40 利用Linux中配置错误的sudoers文件 链接 :x:
41 绕过UAC 链接 :x:
42 启动项修改 链接 :x:

值得注意的项目

  • 项目A by X

防御规避

描述

防御规避包括对手用于在整个入侵过程中避免检测的技术。用于防御规避的技术包括卸载/禁用安全软件或混淆/加密数据和脚本。对手还利用和滥用受信任的进程来隐藏和伪装其恶意软件。当这些技术包括规避防御的额外好处时,其他战术的技术也会交叉列出。


ID 标题 参考 示例
43 开发反病毒规避技术 链接 :x:
44 绕过应用程序白名单控制 链接 :x:
45 构建无文件恶意软件变体 链接 :x:
46 检测和禁用安全产品 链接 :x:
47 规避基于网络的入侵检测系统 链接 :x:
48 父进程ID欺骗 链接 :x:
49 禁用Windows事件日志记录 链接 :x:
50 HTML走私 链接 :x:
51 DLL注入 链接 :x:
52 传递哈希 链接 :x:

值得注意的项目

  • 项目A by X

凭据访问

描述

凭据访问包括窃取凭据(如账户名和密码)的技术。用于获取凭据的技术包括键盘记录或凭据转储。使用合法凭据可以使对手访问系统,使其更难检测,并提供创建更多账户以帮助实现其目标的机会。


ID 标题 参考 示例
53 密码暴力破解工具 链接 :x:
54 开发键盘记录器以捕获凭据 链接 :x:
55 创建钓鱼页面以收集登录凭据 链接 :x:
56 利用不同系统之间的密码重用 链接 :x:
57 实现传递哈希攻击技术 链接 :x:
58 操作系统凭据转储(/etc/passwd和/etc/shadow) 链接 :x:

值得注意的项目

  • 项目A by X

发现

描述

发现包括对手可能用于获取有关系统和内部网络知识的技术。这些技术帮助对手观察环境并在决定如何行动之前定位自己。它们还允许对手探索他们可以控制的内容以及他们入口点周围的内容,以发现如何有利于他们的当前目标。本机操作系统工具通常用于此渗透后信息收集目标。


ID 标题 参考 示例
59 网络服务枚举工具 链接 :x:
60 Active Directory枚举脚本 链接 :x:
61 自动化的操作系统和软件版本检测 链接 :x:
62 目标系统上的文件和目录枚举 链接 :x:
63 从内存转储中提取敏感信息 链接 :x:
64 虚拟化/沙箱检测 链接 :x:

值得注意的项目

  • 项目A by X

横向移动

描述

横向移动包括对手用于进入和控制网络上远程系统的技术。实现其主要目标通常需要探索网络以找到目标并随后获得访问权限。达到目标通常涉及通过多个系统和账户进行跳转。对手可能会安装自己的远程访问工具来完成横向移动,或者使用合法凭据和本机网络及操作系统工具,这可能更隐蔽。


ID 标题 参考 示例
65 开发远程桌面协议(RDP)暴力破解器 链接 :x:
66 创建用于横向移动的恶意PowerShell脚本 链接 :x:
67 实现传递票据攻击技术 链接 :x:
68 利用域之间的信任关系 链接 :x:
69 开发通过SMB进行横向移动的工具 链接 :x:

值得注意的项目

  • 项目A by X

收集

描述

收集包括对手可能用于收集信息的技术,这些信息与实现对手的目标相关。通常,收集数据后的下一个目标是窃取(渗透)数据。常见的目标来源包括各种驱动器类型、浏览器、音频、视频和电子邮件。常见的收集方法包括捕获屏幕截图和键盘输入。


ID 标题 参考 示例
70 键盘记录和屏幕捕获工具 链接 :x:
71 开发网络数据包嗅探器 链接 :x:
72 实现剪贴板数据窃取工具 链接 :x:
73 构建用于提取浏览器历史的工具 链接 :x:
74 创建用于提取信用卡信息的内存抓取工具 链接 :x:

值得注意的项目

  • 项目A by X

命令与控制

描述

命令与控制包括对手可能用于与受害者网络内受控系统通信的技术。对手通常试图模仿正常的预期流量以避免检测。有许多方法可以建立命令与控制,其隐蔽性取决于受害者网络的结构和防御。


ID 标题 参考 示例
75 构建自定义命令与控制(C2)服务器 链接 :x:
76 开发基于DNS的隐蔽通道用于C2通信 链接 :x:
77 实现反向Shell负载用于C2 链接 :x:
78 创建用于命令与控制的僵尸网络 链接 :x:
79 开发使用社交媒体平台的隐蔽通信通道 链接 :x:
80 多阶段通道的C2 链接 :x:

值得注意的项目

  • 项目A by X

数据渗透

描述

数据渗透包括对手可能用于从你的网络中窃取数据的技术。一旦他们收集了数据,对手通常会对其进行打包以避免检测。这可能包括压缩和加密。将数据从目标网络中取出的技术通常包括通过其命令与控制通道或备用通道传输,并且可能还包括对传输的大小进行限制。


ID 标题 参考 示例
82 构建使用各种协议(HTTP、FTP等)的文件传输工具 链接 :x:
83 开发用于在图像中隐藏数据的隐写工具 链接 :x:
84 实现用于数据渗透的DNS隧道技术 链接 :x:
85 创建通过电子邮件渗透数据的隐蔽通道 链接 :x:
86 构建使用ICMP或DNS的自定义渗透工具 链接 :x:
87 通过对称加密的非C2协议进行渗透 链接 :x:

值得注意的项目

  • 项目A by X

影响

描述

影响包括对手用于通过操纵业务和操作流程来破坏可用性或损害完整性的技术。用于影响的技术可能包括销毁或篡改数据。在某些情况下,业务流程可能看起来正常,但可能已被修改以有利于对手的目标。这些技术可能被对手用来实现其最终目标,或为保密性破坏提供掩护。


ID 标题 参考 示例
88 开发勒索软件变体 链接 :x:
89 构建破坏性擦除恶意软件 链接 :x:
90 创建拒绝服务(DoS)攻击工具 链接 :x:
91 实现基于权限提升的破坏性攻击 链接 :x:
92 内部篡改 链接 :x:
93 账户访问操纵或删除 链接 :x:
94 数据加密 链接 :x:
95 资源劫持 链接 :x:
96 用于恶意活动检测的DNS流量分析 链接 :x:
97 用于勒索软件的端点检测和响应(EDR) 链接 :x:
99 关键系统的网络分段 链接 :x:
99 内存保护机制实现 链接 :x:
100 SCADA安全评估和改进 链接 :x