本文以
分析三十六个
Techniques
为范例,分析攻击手法后作为红队演练的训练,可以制定一套学习
Windows
的流程与进度表:
第0步:了解 Windows 历史与文件
-
Windows 版本与 Windows 服务器版本
-
各版本的差异与功能不同
-
已知弱点(如 CVE )也需要注意版本
第一步:了解基本指令的操作
分析
ATT&CK®
针对
Windows
相关的
Techniques
,可以发现
APT
组织皆以
Cmd
或
Powershell
作为攻击媒介,因此可以针对两种指令进行训练。
可以针对
ATT&CK®
所使用的指令,进行学习,作为补充指令。
-
Get-Help Command-Name :取得帮助内容。
-
Get-Command 了解目前主机安装多少 cmdlet 。
-
Invoke-WebRequest :送出请求,取得网页内容。
-
尝试了解 APT 组织所使用的 PowerShell 指令
第二步:了解 Windows File System
-
Logical drives :硬盘 C 槽
-
默认文件夹( PerfLogs 、 Program Files and Program Files ( x86 )、 Users )
-
默认文件(操作系统的代码)
了解这些预设文件夹的功能与预设档案的功能。
第三步:Windows 权限档案
权限主体分成
Users
跟
Group
,而可以设定的权限可以分成以下七个:
-
Full control :允许用户、组设置文件夹与其他人的所有权限(修改、读取、写入、执行)。
-
Modify :允许用户和群组修改、读取、写入和执行文件。
-
Read & execute :允许用户和组读取和执行文件。
-
List folders content :允许用户和群组列出文件夹内容,含子文件夹。
-
Read :仅允许用户和群组读取档案。
-
Write :允许用户和组写入指定文件夹。
-
Special permissions :特殊访问权限。
使用
icacls
检查文件权限和文件夹权限 :
-
I :从父容器继承的权限
-
F :完全控制
-
M :修改权限
-
OI :对象继承
-
IO :仅继承
-
CI :容器继承
-
RX :读取并执行
-
AD :追加子文件夹
-
WD :写入资料
第四步:Windows 身份验证
验证身份该用户的合法性。
-
身份验证账户:本地用户账户和系统管理员账户。
登入概念
-
认证:确认身份过程,认证 = 凭证 + 验证
-
授权:该用户可以做什么操作与可以访问什么资源。
-
凭证:身份证明:系统用户帐号和密码
验证阶段通过
Local Security Authority
(本地安全性验证),管理本地安全性原则,进行验证。
-
了解 Windows 验证的原理与流程
-
Windows 内建帐号与群组的关系
-
net 指令的相关应用
-
Windows 密码与哈希( NTLM )
第五步:Windows 内建功能
一、
Computer Management
:电脑管理
-
工作调度器:可以指定特定条件自动执行定义与操作。
-
事件查看器:查看 windows Log 相关事件(成功、失败登录事件与系统错误),可以将 Log 转发到 SIEM 中确认恶意动作。
-
共享文件夹:在网络上共享可以被多个用户访问的目录或文件夹。
-
本地用户和组:可以新增用户,可以管理群组。
-
效能:监视设备的 CPU 使用率、内存使用率。
-
装置管理器:硬件管理,网络接口卡、鼠标、韧体。
-
磁盘管理:可以缩小、扩展、新增分区并格式化。
-
服务和应用程序:可以检查系统上正在执行的服务,启动、停止、重新启动。
二、Local Security Policy:本机安全性原则
三、Disk Cleanup
四、Registry Editor
Win + R +
RegEdit
五、Registry Editor (Regedit)
第六步:Windows Server
了解
Windows Server
的服务器可衍生出多种功能。
第七步:Windows Log
Windows
默认路径 。
C:\Windows\System32\winevt\Logs
三种查看
Windows
事件的工具
-
Event Viewer
-
Wevtutil.exe
-
Get-WinEvent
五种
Windows
纪录的事件
-
关闭 Windows IIS HTTP Logging 的手法
C:\Windows\System32\inetsrv\appcmd.exe set config “website_name” /section:httplogging /dontLog:true
第八步:Active Directory
了解
Active Directory
与
Azure Active Directory
的差别,以及验证方式的不同。
Active Directory
-
NTLM
-
LDAP / LDAPS
-
KERBEROS
Azure Active Directory
-
SAML (安全性声明标记语言)
-
OAUTH 2.0
-
OpenID 连接
第九步:恶意脚本撰写
分析
APT
组织所撰写的恶意脚本内容,并学习该程式语言以及了解恶意脚本执行方式与内容。
-
PowerShell
-
VBScript
-
JavaScript
以上为透过分析
Techniques
初步制定红队演练的学习流程,可以再继续透过分析
Technique
了解更多攻击手法,将红队演练的知识树扩展。
参考网址