Technique

#[non_exhaustive]
pub enum Technique {
Show 139 variants Unspecified, DataObfuscation, DataObfuscationSteganography, OsCredentialDumping, OsCredentialDumpingProcFilesystem, OsCredentialDumpingEtcPasswordAndEtcShadow, DataFromLocalSystem, AutomatedExfiltration, ObfuscatedFilesOrInfo, Steganography, CompileAfterDelivery, CommandObfuscation, ScheduledTransfer, SystemOwnerUserDiscovery, Masquerading, MatchLegitimateNameOrLocation, BootOrLogonInitializationScripts, StartupItems, NetworkServiceDiscovery, ScheduledTaskJob, ScheduledTaskJobCron, ContainerOrchestrationJob, ProcessInjection, InputCapture, InputCaptureKeylogging, ProcessDiscovery, CommandAndScriptingInterpreter, UnixShell, Python, ExploitationForPrivilegeEscalation, PermissionGroupsDiscovery, CloudGroups, IndicatorRemoval, IndicatorRemovalClearLinuxOrMacSystemLogs, IndicatorRemovalClearCommandHistory, IndicatorRemovalFileDeletion, IndicatorRemovalTimestomp, IndicatorRemovalClearMailboxData, ApplicationLayerProtocol, Dns, SoftwareDeploymentTools, ValidAccounts, DefaultAccounts, LocalAccounts, CloudAccounts, FileAndDirectoryDiscovery, AccountDiscoveryLocalAccount, Proxy, ExternalProxy, MultiHopProxy, AccountManipulation, AdditionalCloudCredentials, AdditionalCloudRoles, SshAuthorizedKeys, AdditionalContainerClusterRoles, MultiStageChannels, IngressToolTransfer, NativeApi, BruteForce, AutomatedCollection, SharedModules, DataEncoding, StandardEncoding, AccessTokenManipulation, TokenImpersonationOrTheft, CreateAccount, LocalAccount, DeobfuscateDecodeFilesOrInfo, ExploitPublicFacingApplication, SupplyChainCompromise, CompromiseSoftwareDependenciesAndDevelopmentTools, ExploitationForClientExecution, UserExecution, LinuxAndMacFileAndDirectoryPermissionsModification, DomainPolicyModification, DataDestruction, DataEncryptedForImpact, ServiceStop, InhibitSystemRecovery, FirmwareCorruption, ResourceHijacking, NetworkDenialOfService, CloudServiceDiscovery, StealApplicationAccessToken, AccountAccessRemoval, TransferDataToCloudAccount, StealWebSessionCookie, CreateOrModifySystemProcess, EventTriggeredExecution, BootOrLogonAutostartExecution, KernelModulesAndExtensions, ShortcutModification, AbuseElevationControlMechanism, AbuseElevationControlMechanismSetuidAndSetgid, AbuseElevationControlMechanismSudoAndSudoCaching, UnsecuredCredentials, CredentialsInFiles, BashHistory, PrivateKeys, SubvertTrustControl, InstallRootCertificate, CompromiseHostSoftwareBinary, CredentialsFromPasswordStores, ModifyAuthenticationProcess, PluggableAuthenticationModules, MultiFactorAuthentication, ImpairDefenses, DisableOrModifyTools, IndicatorBlocking, DisableOrModifyLinuxAuditSystem, HideArtifacts, HiddenFilesAndDirectories, HiddenUsers, ExfiltrationOverWebService, ExfiltrationToCloudStorage, DynamicResolution, LateralToolTransfer, HijackExecutionFlow, HijackExecutionFlowDynamicLinkerHijacking, ModifyCloudComputeInfrastructure, CreateSnapshot, CloudInfrastructureDiscovery, DevelopCapabilities, DevelopCapabilitiesMalware, ObtainCapabilities, ObtainCapabilitiesMalware, ObtainCapabilitiesVulnerabilities, ActiveScanning, ScanningIpBlocks, StageCapabilities, UploadMalware, ContainerAdministrationCommand, DeployContainer, EscapeToHost, ContainerAndResourceDiscovery, ReflectiveCodeLoading, StealOrForgeAuthenticationCertificates, FinancialTheft, UnknownValue(UnknownValue),
}
Expand description

MITRE ATT&CK techniques that can be referenced by Security Command Center findings. See: https://attack.mitre.org/techniques/enterprise/

§Working with unknown values

This enum is defined as #[non_exhaustive] because Google Cloud may add additional enum variants at any time. Adding new variants is not considered a breaking change. Applications should write their code in anticipation of:

  • New values appearing in future releases of the client library, and
  • New values received dynamically, without application changes.

Please consult the Working with enums section in the user guide for some guidelines.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Unspecified

Unspecified value.

§

DataObfuscation

T1001

§

DataObfuscationSteganography

T1001.002

§

OsCredentialDumping

T1003

§

OsCredentialDumpingProcFilesystem

T1003.007

§

OsCredentialDumpingEtcPasswordAndEtcShadow

T1003.008

§

DataFromLocalSystem

T1005

§

AutomatedExfiltration

T1020

§

ObfuscatedFilesOrInfo

T1027

§

Steganography

T1027.003

§

CompileAfterDelivery

T1027.004

§

CommandObfuscation

T1027.010

§

ScheduledTransfer

T1029

§

SystemOwnerUserDiscovery

T1033

§

Masquerading

T1036

§

MatchLegitimateNameOrLocation

T1036.005

§

BootOrLogonInitializationScripts

T1037

§

StartupItems

T1037.005

§

NetworkServiceDiscovery

T1046

§

ScheduledTaskJob

T1053

§

ScheduledTaskJobCron

T1053.003

§

ContainerOrchestrationJob

T1053.007

§

ProcessInjection

T1055

§

InputCapture

T1056

§

InputCaptureKeylogging

T1056.001

§

ProcessDiscovery

T1057

§

CommandAndScriptingInterpreter

T1059

§

UnixShell

T1059.004

§

Python

T1059.006

§

ExploitationForPrivilegeEscalation

T1068

§

PermissionGroupsDiscovery

T1069

§

CloudGroups

T1069.003

§

IndicatorRemoval

T1070

§

IndicatorRemovalClearLinuxOrMacSystemLogs

T1070.002

§

IndicatorRemovalClearCommandHistory

T1070.003

§

IndicatorRemovalFileDeletion

T1070.004

§

IndicatorRemovalTimestomp

T1070.006

§

IndicatorRemovalClearMailboxData

T1070.008

§

ApplicationLayerProtocol

T1071

§

Dns

T1071.004

§

SoftwareDeploymentTools

T1072

§

ValidAccounts

T1078

§

DefaultAccounts

T1078.001

§

LocalAccounts

T1078.003

§

CloudAccounts

T1078.004

§

FileAndDirectoryDiscovery

T1083

§

AccountDiscoveryLocalAccount

T1087.001

§

Proxy

T1090

§

ExternalProxy

T1090.002

§

MultiHopProxy

T1090.003

§

AccountManipulation

T1098

§

AdditionalCloudCredentials

T1098.001

§

AdditionalCloudRoles

T1098.003

§

SshAuthorizedKeys

T1098.004

§

AdditionalContainerClusterRoles

T1098.006

§

MultiStageChannels

T1104

§

IngressToolTransfer

T1105

§

NativeApi

T1106

§

BruteForce

T1110

§

AutomatedCollection

T1119

§

SharedModules

T1129

§

DataEncoding

T1132

§

StandardEncoding

T1132.001

§

AccessTokenManipulation

T1134

§

TokenImpersonationOrTheft

T1134.001

§

CreateAccount

T1136

§

LocalAccount

T1136.001

§

DeobfuscateDecodeFilesOrInfo

T1140

§

ExploitPublicFacingApplication

T1190

§

SupplyChainCompromise

T1195

§

CompromiseSoftwareDependenciesAndDevelopmentTools

T1195.001

§

ExploitationForClientExecution

T1203

§

UserExecution

T1204

§

LinuxAndMacFileAndDirectoryPermissionsModification

T1222.002

§

DomainPolicyModification

T1484

§

DataDestruction

T1485

§

DataEncryptedForImpact

T1486

§

ServiceStop

T1489

§

InhibitSystemRecovery

T1490

§

FirmwareCorruption

T1495

§

ResourceHijacking

T1496

§

NetworkDenialOfService

T1498

§

CloudServiceDiscovery

T1526

§

StealApplicationAccessToken

T1528

§

AccountAccessRemoval

T1531

§

TransferDataToCloudAccount

T1537

§

StealWebSessionCookie

T1539

§

CreateOrModifySystemProcess

T1543

§

EventTriggeredExecution

T1546

§

BootOrLogonAutostartExecution

T1547

§

KernelModulesAndExtensions

T1547.006

§

ShortcutModification

T1547.009

§

AbuseElevationControlMechanism

T1548

§

AbuseElevationControlMechanismSetuidAndSetgid

T1548.001

§

AbuseElevationControlMechanismSudoAndSudoCaching

T1548.003

§

UnsecuredCredentials

T1552

§

CredentialsInFiles

T1552.001

§

BashHistory

T1552.003

§

PrivateKeys

T1552.004

§

SubvertTrustControl

T1553

§

InstallRootCertificate

T1553.004

§

CompromiseHostSoftwareBinary

T1554

§

CredentialsFromPasswordStores

T1555

§

ModifyAuthenticationProcess

T1556

§

PluggableAuthenticationModules

T1556.003

§

MultiFactorAuthentication

T1556.006

§

ImpairDefenses

T1562

§

DisableOrModifyTools

T1562.001

§

IndicatorBlocking

T1562.006

§

DisableOrModifyLinuxAuditSystem

T1562.012

§

HideArtifacts

T1564

§

HiddenFilesAndDirectories

T1564.001

§

HiddenUsers

T1564.002

§

ExfiltrationOverWebService

T1567

§

ExfiltrationToCloudStorage

T1567.002

§

DynamicResolution

T1568

§

LateralToolTransfer

T1570

§

HijackExecutionFlow

T1574

§

HijackExecutionFlowDynamicLinkerHijacking

T1574.006

§

ModifyCloudComputeInfrastructure

T1578

§

CreateSnapshot

T1578.001

§

CloudInfrastructureDiscovery

T1580

§

DevelopCapabilities

T1587

§

DevelopCapabilitiesMalware

T1587.001

§

ObtainCapabilities

T1588

§

ObtainCapabilitiesMalware

T1588.001

§

ObtainCapabilitiesVulnerabilities

T1588.006

§

ActiveScanning

T1595

§

ScanningIpBlocks

T1595.001

§

StageCapabilities

T1608

§

UploadMalware

T1608.001

§

ContainerAdministrationCommand

T1609

§

DeployContainer

T1610

§

EscapeToHost

T1611

§

ContainerAndResourceDiscovery

T1613

§

ReflectiveCodeLoading

T1620

§

StealOrForgeAuthenticationCertificates

T1649

§

FinancialTheft

T1657

§

UnknownValue(UnknownValue)

If set, the enum was initialized with an unknown value.

Applications can examine the value using Technique::value or Technique::name.

Implementations§

Source§

impl Technique

Source

pub fn value(&self) -> Option<i32>

Gets the enum value.

Returns None if the enum contains an unknown value deserialized from the string representation of enums.

Source

pub fn name(&self) -> Option<&str>

Gets the enum value as a string.

Returns None if the enum contains an unknown value deserialized from the integer representation of enums.

Trait Implementations§

Source§

impl Clone for Technique

Source§

fn clone(&self) -> Technique

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Technique

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Technique

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Technique

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Technique

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<&str> for Technique

Source§

fn from(value: &str) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Technique

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Technique

Source§

fn eq(&self, other: &Technique) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Technique

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Technique

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,