T1007 |
系统服务发现 |
攻击者可能会试图获取有关注册服务的信息。可以使用操作系统实用工具获取服务信息的命令是“sc”,使用tasklist的“tasklist /svc”,以及使用net的“net start”,但是攻击者也可以使用其他工具。攻击者可以在自动发现过程中使用“系统服务发现”中的信息来塑造后续行为,包括攻击者是否完全感染目标或尝试执行特定操作。 |
T1010 |
应用程序窗口发现 |
攻击者可能尝试获取打开的应用程序的窗口列表,窗口列表可以表达该系统的使用情况,也可以为键盘记录程序提供上下文信息。 |
T1016 |
系统网络配置发现 |
攻击者可能会寻找有关其访问的系统或通过远程系统的信息发现网络配置和设置的详细信息。有几个操作系统管理实用程序可以用来收集这些信息。例如Arp、ipconfig/ifconfig、nbtstat、route。攻击者可以在自动发现过程中使用“系统网络配置发现”中的信息来塑造后续行为,包括攻击者是否完全感染目标或尝试执行特定操作。 |
T1016.001 |
系统网络配置发现:互联网连接发现 |
攻击者可能检查受感染系统上的互联网连接。这可能在自动发现期间执行,可以通过多种方式完成,例如使用Ping、tracert和对网站的GET请求。攻击者可能使用这些请求的结果和响应来确定系统是否能够与其C2服务器通信,然后再尝试连接它们。结果还可用于识别路由、重定向器和代理服务器。 |
T1033 |
系统所有者/用户发现 |
攻击者可能试图识别主要用户、当前登录的用户、经常使用系统的一组用户,或者某个用户是否正在活跃地使用系统。例如,他们可以通过检索帐户用户名或使用操作系统凭据转储来做到这一点。可以使用其他发现技术以多种不同的方式收集信息,因为用户和用户名详细信息在整个系统中很常见,包括正在运行的进程所有权、文件/目录所有权、会话信息和系统日志。攻击者可以在自动发现过程中使用系统所有者/用户发现的信息来塑造后续行为,包括攻击者是否完全感染了目标或尝试执行特定操作。获取此信息的实用程序和命令包括whoami。在Mac和Linux中,当前登录的用户可以通过w和who来识别。 |
T1040 |
网络嗅探 |
攻击者可能会通过嗅探网络流量以捕获有关环境的信息,包括通过网络传递的身份认证信息。网络嗅探是指使用系统上的网络接口监听或捕获通过有线或无线连接发送的信息,攻击者可以将网络接口设置为混杂模式,以被动地接收通过网络传输的数据,或者使用跨端口来捕获大量数据。通过此技术捕获的数据可能包含用户的凭据,尤其是是通过不安全、未加密的协议发送的数据,例如LLMNR/NBT-NS 中毒和SMB中继之类的名称服务解析技术的毒化可以将流量重定向到攻击者所控制的主机以便捕获网站、代理和内部系统的凭据。通过网络嗅探也可知道配置信息,如正在运行服务的、版本号和其它网络特征(如IP地址、主机名和VLAN ID号),这些信息对于后续的横向移动或防御规避是必须的信息。 |
T1069 |
权限组发现 |
攻击者可能会尝试查找组和权限设置,此信息可以帮助攻击者确定哪些用户帐户和组可用,特定组中用户的成员关系,以及哪些用户和组具有更高的权限。 |
T1069.001 |
权限组发现:本地组 |
攻击者可能会尝试查找本地系统组和权限设置。了解本地系统权限组信息可以帮助攻击者确定存在哪些组以及哪些用户属于特定组。攻击者可以使用此信息来确定哪些用户具有较高的权限,例如在本地管理员组中找到的用户。例如:net实用程序的net localgroup命令,macOS的dscl . -list /Groups命令,Linux上的groups命令可以列出本地组。 |
T1069.002 |
权限组发现:域组 |
攻击者可能会尝试查找域级别的组和权限设置。域级权限组的信息可以帮助攻击者确定存在哪些组以及哪些用户属于特定组。攻击者可以使用此信息来确定哪些用户具有更高的权限,例如域管理员。例如:net实用程序的net实用程序的net localgroup命令,macOS的dscacheutil -q group 命令,Linux上的ldapsearch命令可以列出域级组。 |
T1069.003 |
权限组发现:云组 |
攻击者可能会尝试查找云组和权限设置。云权限组的信息可以帮助攻击者确定环境中用户和组的特定角色,以及哪些用户与特定组相关联。针对经过身份验证的访问,可以使用多种工具来查找权限组。PowerShell的Get-MsolRole可用于获取Exchange和Office 365帐户的角色和权限组。Azure CLI(AZ CLI)还提供了一个界面,以获取对域进行身份验证访问的权限组。命令az ad user get-member-groups可以列出与用户帐户关联的组。 |
T1082 |
系统信息发现 |
攻击者可能试图获取有关操作系统和硬件的详细信息,包括版本,补丁,修补程序,服务包和体系结构。攻击者可以在自动发现过程中使用“系统信息发现”中的信息来塑造后续行为,包括攻击者是否完全感染了目标或尝试特定操作。Systeminfo等工具可用于收集详细的系统信息。还可以通过macOS systemsetup命令收集系统数据的详细信息,但这需要管理员权限。基础设施即服务(IaaS)云提供商,如AWS、GCP和Azure允许通过api访问实例和虚拟机信息。成功通过身份验证的API调用可以返回数据,例如操作系统平台和特定实例的状态或虚拟机的模型视图。 |
T1120 |
外部设备发现 |
攻击者可能会尝试收集有关连接到计算机系统的外部设备和组件的信息。外部设备包括支持各种功能的辅助资源,如键盘、打印机、摄像头、智能卡阅读器或可移动存储器。这些信息可用于增强攻击者对系统和网络环境的了解,或可用于进一步的攻击。 |
T1135 |
发现网络共享 |
攻击者可能会寻找远程系统上共享的文件夹和驱动,以作为识别信息源的方式,并识别横向移动的潜在感兴趣的目标。网络中经常有网络驱动和文件夹的共享,使用户通过网络可以访问到系统上的文件目录。Windows网络上的文件共享是通过SMB协议进行的,Net可以使用 net view \remotesystem 命令来查询远程系统中可用的共享驱动,在本地系统上使用net share查询共享驱动。 |
T1217 |
发现浏览器书签 |
攻击者可能会枚举受害主机的浏览器书签,以了解更多的信息,浏览器书签可能会包含有关用户的个人信息(如:银行网站、兴趣、社交媒体等),以及有关内部网络资源的详细信息(如:服务器、工具、仪表盘,以及其它相关的基础架构信息)。在攻击者访问到有效凭据后,通过浏览器书签可以发现其它目标,特别是与浏览器缓存的与登录相关文件的凭据。特定的存储位置会因平台或应用程序的不同而异,但浏览器书签通常存储在本地文件或数据库中。 |
T1580 |
识别云基础设施 |
攻击者试图在IaaS环境中发现有效的可利用资源。这些资源包括计算资源,如虚拟机、快照,同时也包括存储服务与数据库。云服务商提供如API、CLI命令等方法获取相关基础设施的信息。如,AWS Amazon EC2 API提供了DescribeInstances API来获取一个甚至多个实体服务的账户信息;ListBuckets API在通过认证后,可获取所有存储信息。类似地,GCP Cloud SDK CLI提供的gcloud compute instances list命令能例举出所有环境中的Google 计算引擎实体。Azure的vm list能例举出所有虚拟机列表。攻击者利用受害者的访问秘钥获取所有可以进行下一步攻击(如持久化)的有用资源或设备。和云服务发现不同的是,该技术关注提供服务的组件而非服务。 |
T1613 |
容器和资源发现 |
攻击者可能尝试发现容器环境中可用的容器和其他资源。其他资源可能包括镜像、部署、pod、节点以及集群状态等其他信息。这些资源可以在Kubernetes仪表板等Web应用程序中查看,或通过Docker和Kubernetes API进行查询。在Docker中,日志可能泄露环境信息,例如环境配置、可用服务以及受害者可能使用的云提供商。发现这些资源可以告知攻击者在环境中的后续步骤,例如如何执行横向移动以及使用哪些方法进行执行。 |
T1615 |
组策略发现 |
攻击者可能收集组策略设置信息,以识别特权升级路径、域内应用的安全措施,并发现可被操纵或用于融入环境的域对象模式。组策略允许集中管理Active Directory (AD)中的用户和计算机设置。组策略对象(GPOs)是由存储在可预测网络路径\SYSVOL\Policies\中的文件组成的组策略设置容器。攻击者可能使用gpresult等命令或各种公开可用的PowerShell函数(如Get-DomainGPO和Get-DomainGPOLocalGroup)来收集组策略设置信息。攻击者可能使用此信息来塑造后续行为,包括确定目标网络内的潜在攻击路径以及操纵组策略设置(即域策略修改)以获取利益的机会。 |
T1652 |
设备驱动程序发现 |
攻击者可能会尝试枚举受害主机上的本地设备驱动程序。有关设备驱动程序的信息可能会突出显示影响后续行为的各种见解,例如主机的功能/用途、现有安全工具(即安全软件发现)或其他防御措施(例如虚拟化/沙盒规避),以及潜在的可利用漏洞(例如特权提升利用)。许多操作系统实用程序可能提供有关本地设备驱动程序的信息,例如Windows 上的driverquery.exeAPIEnumDeviceDrivers()函数。有关设备驱动程序(以及相关服务,即系统服务发现)的信息也可能可在注册表中获得。在 Linux/macOS 上,设备驱动程序(以内核模块的形式)可能在 和 等实用程序中可见/dev或使用 和 等实用程序lsmod。 |
T1087 |
账户发现 |
攻击者可能会尝试获取系统或环境中的账户列表,此信息可以帮助攻击者确定存在哪些账户来辅助后续行为。 |
T1087.002 |
账户发现:域账户发现 |
此信息可以帮助攻击者确定存在哪些域账号以帮助后续行为。常见命令如net user /domain和net group /domain的网络工具,MacOS的dscaheutil -q命令和Linux上的ldapsearch命令。 |
T1087.001 |
账户发现:本地账户发现 |
此信息可以帮助攻击者确定系统上存在哪些本地账户,以帮助其后续行动。net user和net localgroup的命令很常用,在macOS和Linux的id和groupson可以列举用户和组得信息,在Linux上,还可以通过/etc/passwd文件来枚举本地用户。 |
T1087.003 |
账户发现:邮箱账户发现 |
攻击者可能会尝试转储Exchange地址列表,例如全局地址列表(GALs)。在本地Exchange和Exchange Online中,可以使用Get-GlobalAddressList PowerShell cmdlet通过身份验证的会话从域中获取邮件和账户。 |
T1087.004 |
账户发现:云账户发现 |
云账户是供用户、远程支持、服务使用的账户,或用于管理云服务提供商或SaaS应用程序中的资源。通过身份验证后的访问,可以使用多种工具来查找账户,例如Get-MsolRoleMember PowerShell cmdlet可以用来获取Office 365中的角色和权限组的账户名。Azure CLI(AZ CLI)还提供了一个接口,以获取对域进行身份验证访问的用户帐户。命令az ad user list将列出域中所有用户。AWS命令aws iam list-users可以用于获取当前帐户中的用户列表,而aws iam list-roles可以获取具有指定路径前缀的IAM角色。在GCP中,可以使用gcloud iam服务帐户列表和gcloud项目get-iam-policy获取项目中服务帐户和用户的列表。 |
T1482 |
域信任披露 |
攻击者会尝试收集有关域信任关系的信息,这些信息可用于识别Windows多AD域/林环境中的横向移动机会。域信任提供了一种机制,使域可以基于另一个域的身份验证过程来访问资源。域信任允许受信任域的用户访问信任域中的资源。发现的信息可能会帮助攻击者进行SID历史记录注入,通过票证和Kerberoasting。可以使用DSEnumerateDomainTrusts()Win32 API调用,.NET方法和LDAP来枚举域信任。已知Windows实用工具Nltest被攻击者用来枚举域信任。 |
T1083 |
文件和目录发现 |
攻击者可以在自动发现过程中使用“文件和目录发现”中的信息来制定后续渗透方式,包括攻击者是否完全感染目标或者尝试执行特定利用操作。系统命令行工具中不少工具可用于获取文件和目录的信息。比如:dir,tree,ls,find和locate等。当然自定义工具通过调用API,也可用于收集文件和目录信息。 |
T1049 |
系统网络连接发现 |
攻击者可以通过查询网络上的信息来尝试获取与它们当前正在访问的受感染系统之间的网络连接的列表,或从远程系统获得的网络连接的列表。获得基于云环境系统的访问权限的攻击者可能会绘制虚拟私有云或虚拟网络,以确定连接了哪些系统和服务。根据操作系统的不同,所执行的操作可能是相同类型的发现技术,但结果信息可能包括与攻击目标相关的网络云环境的详细信息。云提供商可能具有不同的虚拟网络操作方式。获取此信息的实用程序和命令包括netstat、“net use”和使用net的“net session”。在Mac和Linux中,netstat和lsof可用于列出当前连接,who -a和w可以用来显示当前登录的用户,类似于“net session”。 |
T1497 |
虚拟化/沙箱 |
攻击者可能会检查是否存在虚拟机环境(VME)或沙箱,以避免潜在地检测到工具和活动。如果攻击者检测到VME,他们可能会更改其恶意软件以隐藏植入物的核心功能或与受害者分离。他们还可能在丢弃次要或其他有效载荷之前搜索VME工件。攻击者可能会在自动发现过程中使用从虚拟化/沙盒逃避中学到的信息来塑造后续行为。攻击者可以通过搜索安全监测工具(例如Sysinternals,Wireshark等)来使用包括安全软件发现在内的多种方法来完成虚拟化/沙盒逃避,以帮助确定其是否为分析环境。其他方法包括在恶意软件代码中使用睡眠计时器或循环,以避免在临时沙箱中进行操作 |
T1497.001 |
虚拟化/沙箱:系统探测 |
攻击者通常会从多个方面来识别虚拟化或沙箱环境,从而规避潜在的被发现的风险。甚至会根据不同的系统环境改变不同的攻击行为。攻击者如果识别出系统未VME,则可能放弃对该虚拟系统实施进一步的植入无效的攻击程序,甚至他们会根据VME的信息,查询特定的攻击工具或放弃进行下一步攻击。为获取详细的系统信息,收集系统信息的手段因人、因环境而异,包括但不限于WMI、Powershell、系统信息收集、查询注册表等。攻击者可能手动在内存、进程、文件系统、硬件或注册表等信息中判别是否是VME环境。也可能通过脚本自动化地收集系统信息,然后利用特定程序判断系统是否为VME。检查可以包括一般系统属性,如正常运行时间和网络流量样本。还包括检查网络适配器地址、CPU核心计数和可用内存/驱动器大小。其他常见检查可能会枚举这些应用程序特有的运行服务、系统上已安装的程序、与虚拟机应用程序相关的字符串的制造商/产品字段以及特定于VME的硬件/处理器指令。在VMWare等应用程序中,攻击者还可以使用特殊的I/O端口来发送命令和接收输出。硬件检查,例如风扇、温度和音频设备的存在,也可以用来收集可以指示虚拟环境的证据。攻击者利用从这些设备读取的特定信息判断环境。 |
T1497.003 |
虚拟化/沙箱:基于时间判断 |
攻击者可通过多种基于时间的手段分析系统环境或判断是否为虚拟化系统。这些手段包括时间、计时器或其它基于时间的触发器,特别是一些自动化的在一定时间内的触发器,较为方便检测虚拟化系统或沙箱。攻击者也能利用基于时间的方式规避检查,如利用编程手段延时调用系统的命令,从而延时恶意软件执行命令的频率。甚至分阶段完成恶意软件的行为。 |
T1497.002 |
虚拟化/沙箱:基于用户行为检测 |
攻击者通常会从多个用户的行为来识别虚拟化或沙箱环境,从而规避潜在的被发现的风险。甚至会根据不同的系统环境改变不同的攻击行为。攻击者如果识别出系统未VME,则可能放弃对该虚拟系统实施进一步的植入无效的攻击程序,甚至他们会根据VME的信息,查询特定的攻击工具或放弃进行下一步攻击。甚至攻击者会伪造这些行为收集其它信息或实施下一步的攻击。攻击者一般从多个方面获取用户行为,如鼠标移动和点击的速度、平率,浏览器历史记录、缓存、书签、文件名、文件目录等信息。甚至利用行为实施下一步攻击,如用户关闭某一个文件或双击启动某个文件时,执行可疑程序。 |
T1619 |
云存储对象发现 |
攻击者可能枚举云存储基础设施中的对象。攻击者可能在自动发现过程中使用此信息来塑造后续行为,包括从云存储请求所有或特定对象。类似于本地主机上的文件和目录发现,在识别可用存储服务(即云基础设施发现)后,攻击者可能访问存储在云基础设施中的内容/对象。云服务提供商提供允许用户枚举存储在云存储中的对象的API。例如AWS中的ListObjectsV2和Azure中的List Blobs。 |
T1057 |
进程发现 |
攻击者可能会尝试获取有关系统上正在运行的进程信息,这些获得的信息可用于了解网络中系统上运行的通用软件/应用程序。攻击者可能利用发现的消息来伪造后续的行为,比如尝试特定的操作,或者完全拿下目标。在Windows环境中,攻击者可以获取正在运行进程的详细信息,例如通过CMD运行Tasklist命令或通过PowerShell运行Get-Process,也可以从本机API调用的输出中提取有关进程的信息,例如CreateToolhelp32Snapshot。在Mac和Linux中,通过ps命令完成的,攻击者也可以选择通过/proc枚举进程。 |
T1654 |
日志枚举 |
攻击者可能会枚举系统和服务日志来查找有用的数据。这些日志可能会突出显示各种对攻击者有价值的信息,例如用户身份验证记录(帐户发现)、安全或易受攻击的软件(软件发现)或受感染网络中的主机(远程系统发现)。主机二进制文件可能被用来收集系统日志。例如,在 Windows 上使用wevtutil.exe或PowerShell来访问和/或导出安全事件信息。在云环境中,攻击者可能利用 Azure VM Agent 等实用程序CollectGuestLogs.exe从云托管基础设施收集安全日志。攻击者还可能将目标锁定在 SIEM 等集中式日志记录基础设施上。日志还可能被批量导出并发送到攻击者控制的基础设施进行离线分析。 |
T1201 |
发现密码策略 |
网络密码策略是一种强制执行复杂密码策略的方法,这些密码很难被暴力破解或猜解,攻击者可能尝试访问有关企业内网使用的密码策略的详细信息,这将帮助攻击者创建一个常见的密码列表,并利用遵循该密码策略的字典发起暴力破解攻击(例如:如果最小密码长度应为8位,则不去尝试诸如“pass123”之类的密码;如果锁定次数为6的账户,则不要尝试超过3-4个密码,以免账户被锁定)。在Windows、Linux和macOS系统中,可以通过各种命令shell工具(如net accounts (/domain)、Get-ADDefaultDomainPasswordPolicy、chage -l 、cat /etc/pam.d/common-password和 pwpolicy getaccountpolicies)去设置和发现密码策略。 |
T1012 |
查询注册表 |
攻击者可能会与Windows注册表进行交互,以收集有关系统、配置和已安装软件的信息。注册表包含大量关于操作系统、配置、软件和安全性的信息。尽管存在其他访问注册表的方法,但可以使用Reg实用程序轻松查询信息。一些信息可能会帮助攻击者在网络中开展下一步攻击。攻击者可以通过查询注册表的信息来形成后续的攻击行为,包括攻击者是否完全感染目标或尝试特定的操作。 |
T1614 |
系统位置发现 |
攻击者可能收集信息以尝试计算受害主机的地理位置。攻击者可能在自动发现过程中使用系统位置发现的信息来塑造后续行为,包括攻击者是否完全感染目标和/或尝试特定操作。攻击者可能尝试使用各种系统检查(如时区、键盘布局和/或语言设置)来推断系统的位置。Windows API函数(如GetLocaleInfoW)也可用于确定主机的区域设置。在云环境中,还可以通过从实例访问实例元数据服务来发现实例的可用区。攻击者还可能尝试使用IP寻址推断受害主机的位置,例如通过在线地理定位IP查找服务。 |
T1614.001 |
系统位置发现:系统语言发现 |
攻击者可能尝试收集有关受害者系统语言的信息,以推断该主机的地理位置。此信息可用于塑造后续行为,包括攻击者是否感染目标和/或尝试特定操作。恶意软件开发人员和操作者可能采用此决策来降低引起特定执法机构注意或受到其他实体起诉/审查的风险。攻击者可以使用多种数据源来推断系统语言,例如系统默认值和键盘布局。特定检查将根据目标和/或攻击者而有所不同,但可能涉及诸如查询注册表和调用原生API函数等行为。例如,在Windows系统上,攻击者可能通过查询注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language或解析Windows API函数GetUserDefaultUILanguage、GetSystemDefaultUILanguage、GetKeyboardLayoutList和GetUserDefaultLangID的输出来推断系统语言。在macOS或Linux系统上,攻击者可能查询locale以检索$LANG环境变量的值。 |
T1526 |
云服务发现 |
攻击者可能会在获取访问权限后尝试枚举系统上运行的云服务。这些方法可能会有所不同,具体取决于它是平台即服务(PaaS),基础架构即服务(IaaS)还是软件即服务(SaaS)。各种云提供商中都存在许多不同的服务,其中可能包括持续集成和持续交付(CI / CD),Lambda函数,Azure AD等。攻击者可能会尝试发现有关在整个环境中启用服务的信息。Azure工具和API(如Azure AD Graph API、Azure资源管理API)可枚举出资源和服务,包括应用、管理组、资源及策略定义、以及各模块间的访问关系。Stormspotter是一个用于枚举和构建Azure资源和服务图表的开源工具,而Pacu是一个开源AWS开发框架,支持多种发现云服务的方法。 |
T1018 |
远程系统发现 |
攻击者可能试图通过IP地址,主机名或网络上其他可用于从当前系统进行横向移动的逻辑标识符来获取其他系统的列表。远程访问工具中的功能可以实现这一点,而且操作系统上可用的实用程序也可以使用,如使用net的Ping或net view。攻击者也可以使用本地主机文件(例如:C:\Windows\System32\Drivers\etc\hosts或/etc/hosts)来发现远程系统的主机名到IP地址的映射。bonjour协议特定于macOS,用于在同一广播域中发现其他基于Mac的系统。 |
T1046 |
网络服务扫描 |
攻击者可能会尝试获取远程主机上运行服务的列表,包括可能收到远程软件利用的服务。获取这些信息的方法包括使用工具或系统自带工具进行端口扫描和漏洞扫描。在云环境中,攻击者可能会尝试去发现运行在其它云主机上的服务,此外,如果云环境连接到本地环境,则攻击者还可以确定运行在非云系统上的服务。 |
T1518 |
软件发现 |
攻击者可能会尝试获取系统或云环境中安装的软件和软件版本的列表。攻击者可以在自动发现过程中使用来自软件发现的信息来塑造后续行为,包括攻击者是否完全感染了目标或尝试了特定操作。攻击者可能出于多种原因尝试枚举软件,例如弄清楚存在哪些安全措施,或者受感染的系统是否具有易于被利用以进行特权升级的软件版本。 |
T1518.001 |
软件发现:安全软件发现 |
攻击者可能会尝试获取安装在系统或云环境中的安全软件、配置、防御性工具和传感器的列表,这可能包括诸如防火墙规则和防病毒之类的内容。攻击者可以在自动发现过程中使用来自“安全软件发现”的信息来塑造后续行为,包括攻击者是否完全感染目标或尝试采取特定行动。可用于获取安全软件信息的示例命令有netsh、带有reg的reg query、带有cmd的dir和Tasklist,但发现行为的其它指标可能更特定于攻击者正在寻找的软件或安全系统类型。macOS恶意软件对littlenitch和knock – knock软件进行检查变得越来越常见。攻击者还可以利用云API来发现环境中防火墙规则的配置。 |
T1538 |
云服务仪表板 |
攻击者可通过有效凭据访问云服务仪表板获取一些云服务商的有效资源信息,如特定服务、资源、功能等。例如,GCP 命令中心可以用于查看所有资产,发现潜在的安全信息,也包含其它的查询,如IP地址和开放端口。根据环境配置,攻击者可通过仪表板枚举更多API信息,从而根据API获取其它信息。 |
T1622 |
调试器规避 |
攻击者可能采用各种方法来检测和避开调试器。调试器通常由防御者用于跟踪和/或分析潜在恶意软件有效载荷的执行。调试器规避可能包括基于对指示调试环境的工件存在性的检查结果来更改行为。类似于虚拟化/沙箱规避,如果攻击者检测到调试器,他们可能会更改其恶意软件以脱离受害者或隐藏植入程序的核心功能。他们还可能在丢弃次要或其他有效载荷之前搜索调试器工件。特定检查将根据目标和/或攻击者而有所不同,但可能涉及原生API函数调用,如IsDebuggerPresent()和NtQueryInformationProcess(),或手动检查进程环境块(PEB)的BeingDebugged标志。其他对调试工件的检查也可能试图枚举硬件断点、中断汇编操作码、时间检查,或测量当前进程中是否引发异常(假设存在的调试器会“吞下”或处理潜在错误)。攻击者可能在自动发现过程中使用从这些调试器检查中学到的信息来塑造后续行为。调试器也可以通过分离进程或通过循环原生API函数调用(如OutputDebugStringW())产生的消息向调试日志中填充无意义数据来规避。 |
T1124 |
系统时间披露 |
系统时间是系统必备的功能之一,企业内网系统时间通常由 Windows 时间服务在域中设置和存储,以维护企业网络中系统和服务之间的时间同步。攻击者可以从本地或远程用于维护收集系统时间和时区信息。用于执行其他技术,例如执行带有计划任务 的文件,或者基于时区获取位置信息以帮助锁定目标。 |