Skip to content

Untrusted Binary Similar to an Attack Tool

Detection windows tlsh attack.t1588.002

An untrusted process within TLSH distance 50 of a public attack tool. Needs Sysmon process events enriched with tlsh and authenticode_trusted, such as Velociraptor's Windows.EventLogs.SysmonProcessEnriched produces.

Part of: CelesTLSH fuzzy hash hunting
Requires: CelesTLSH attack tool hashes, TLSH index

Add it

In Bifract, open Exchange, find Untrusted Binary Similar to an Attack Tool and click Add. Adds an alert to the fractal, or a draft in your name when the scope reviews alert changes.

File

exchange/detections/untrusted-binary-like-attack-tool.yml

untrusted-binary-like-attack-tool.yml
# Native Bifract alert. tlsh() reads the tlsh_index model, so this rule is validated
# by lint but cannot be tested offline.
name: Untrusted Binary Similar to an Attack Tool
description: >-
  An untrusted process whose TLSH digest is within 50 of a public attack tool or C2
  framework in the CelesTLSH list. TLSH alone is too noisy to alert on; the signing filter
  is what makes it worth an analyst's time. Check Repo_Name for the family, then the
  image's path, parent and how it arrived.
alertType: event
severity: medium
labels:
  - attack.t1588.002
  - tlsh
references:
  - https://github.com/Magonia-Research/CelesTLSH-Hashes
  - https://attack.mitre.org/techniques/T1588/002/
queryString: |-
  event_id=1
  | tlsh=* authenticode_trusted=~"untrusted" user!="NT AUTHORITY\\SYSTEM"
  | NOT image=~"\\WindowsApps\\"
  | tlsh(field=tlsh, dict="celes_tlsh", threshold=50)
  | match(dict="celes_tlsh", field=tlsh_match, column=TLSH_Hash, include=[Repo_Name, File_Name])
  | table(timestamp, computer_name, user, image, tlsh_distance, Repo_Name, File_Name)
enabled: true