T1108 Google Chronicle · YARA-L

Detect Redundant Access in Google Chronicle

Adversaries may use more than one remote access tool with varying command and control protocols or credentialed access to remote services so they can maintain access if an access mechanism is detected or mitigated. If one type of tool is detected and blocked or removed as a response but the organization did not gain a full understanding of the adversary's tools and access, then the adversary will be able to retain access to the network. This deprecated technique has been superseded by T1136 (Create Account), T1505/003 (Web Shell), and T1133 (External Remote Services), but the underlying adversary behavior — establishing backup access channels in parallel — remains a critical detection target. Observable patterns include simultaneous deployment of web shells alongside account creation, installation of multiple remote access services within a short window, and evidence of access from multiple distinct toolsets or protocols to the same target environment.

MITRE ATT&CK

Tactic
Defense Evasion Persistence
Canonical reference
https://attack.mitre.org/techniques/T1108/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule redundant_access_multi_signal_24h {
  meta:
    author = "Argus Detection Platform"
    description = "Detects multiple distinct remote access mechanisms established within 24h on the same device, indicating T1108 redundant access behavior (superseded by T1136, T1505.003, T1133)"
    severity = "HIGH"
    mitre_attack_tactic = "Persistence"
    mitre_attack_technique = "T1108"
    reference = "https://attack.mitre.org/techniques/T1108/"
  events:
    // Signal A: Account creation or modification
    $e1.metadata.event_type = "USER_CREATION" or
    ($e1.metadata.event_type = "USER_CHANGE" and
     $e1.target.user.userid != /^(SYSTEM|LOCAL SERVICE|NETWORK SERVICE)$/)
    $e1.principal.hostname = $host

    // Signal B: Remote access tool process execution
    $e2.metadata.event_type = "PROCESS_LAUNCH"
    $e2.principal.hostname = $host
    (
      re.regex($e2.target.process.file.full_path, `(?i)(ngrok|frpc|frps|chisel|plink|putty|mRemoteNG|AnyDesk|TeamViewer|ScreenConnect|LogMeIn|vncviewer|vncserver|psexec|psexesvc|winscp)\.exe`) or
      (
        re.regex($e2.target.process.command_line, `(?i)(ngrok|frpc|chisel|ligolo)`) and
        re.regex($e2.target.process.command_line, `(?i)(tcp|http|tunnel|connect|proxy)`)
      )
    )

    // Correlation: same host, within 24 hours, different events
    $e1.principal.hostname = $e2.principal.hostname
    $e1.metadata.event_timestamp.seconds < $e2.metadata.event_timestamp.seconds + 86400
    $e2.metadata.event_timestamp.seconds < $e1.metadata.event_timestamp.seconds + 86400
    $e1.metadata.id != $e2.metadata.id

  condition:
    $e1 and $e2
}
high severity medium confidence

Chronicle YARA-L 2.0 rule detecting redundant access pattern by correlating account creation/modification events (Signal A) with remote access tool execution events (Signal B) on the same host within a 24-hour window. The rule uses UDM event types and principal/target field model to match across Google Chronicle's normalized event schema. A companion rule should be created for web shell file creation and registry persistence signals.

Data Sources

Google Chronicle UDM (Unified Data Model)Windows Security Event Log via Chronicle ForwarderMicrosoft Defender for Endpoint via Chronicle integrationSysmon via Chronicle Forwarder

Required Tables

UDM events: USER_CREATION, USER_CHANGE, PROCESS_LAUNCH, FILE_CREATION, REGISTRY_MODIFICATION

False Positives & Tuning

  • Managed service providers (MSPs) onboarding new client systems where they simultaneously create admin accounts and install their preferred remote management suite (e.g., ConnectWise, AnyDesk) during onboarding
  • IT asset management workflows where automated scripts create service accounts and install monitoring/remote access agents as part of provisioning scripts triggered by CMDB changes
  • Developers working on remote access tooling who test their own ngrok or frpc configurations alongside normal account management activities on development systems
Download portable Sigma rule (.yml)

Other platforms for T1108


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Install Redundant Remote Access Service via SC.exe

    Expected signal: Windows System Event ID 7045: New Service Installed with ServiceName=RemoteAccessBackup, ServiceFileName=C:\Windows\System32\calc.exe, ServiceType=user mode service, StartType=auto start. Windows Security Event ID 4697 (if auditing enabled): A service was installed in the system. Sysmon Event ID 1 for sc.exe process creation with full command line captured.

  2. Test 2Create Backup Local Administrator Account

    Expected signal: Windows Security Event ID 4720: A user account was created — TargetUserName=df00tech-svc-backup. Security Event ID 4732: A member was added to a security-enabled local group — TargetUserName=df00tech-svc-backup, GroupName=Administrators. Security Event ID 4722: A user account was enabled. Sysmon Event ID 1 for net.exe and wmic.exe process creation with full command lines.

  3. Test 3Deploy ngrok Tunnel as Redundant C2 Channel

    Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with Invoke-WebRequest command line downloading ngrok. Sysmon Event ID 11: File Create for ngrok.zip and ngrok.exe in %TEMP%. Sysmon Event ID 1: Process Create for ngrok.exe with 'http 8080' arguments. Sysmon Event ID 3: Network connection attempt from ngrok.exe to ngrok infrastructure (will fail or succeed depending on network access). Security Event ID 4688 (if command line auditing enabled).

  4. Test 4Drop Simulated Web Shell in IIS Web Root

    Expected signal: Sysmon Event ID 11: File Create with TargetFilename=C:\inetpub\wwwroot\df00tech-test-shell.aspx, Image=cmd.exe (unexpected parent for web root writes). Sysmon Event ID 1: Process Create for cmd.exe with echo/redirect command line. Security Event ID 4663 (object access, if file auditing enabled on inetpub) showing file create by cmd.exe.

  5. Test 5Add SSH Authorized Key for Persistent Backdoor Access (Linux/macOS)

    Expected signal: Linux auditd: syscall write/open on ~/.ssh/authorized_keys by the bash/sh process — generates SYSCALL and PATH audit records. Syslog/auth.log: no immediate logon event but future SSH logons using this key will generate 'Accepted publickey' entries identifying the key fingerprint. File integrity monitoring (FIM): if deployed, triggers on modification of ~/.ssh/authorized_keys.

Unlock Pro Content

Get the full detection package for T1108 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections