Admin User Remote Logon

Detect remote login by Administrator user depending on internal pattern

Rule Content

- title: Admin User Remote Logon
  id: 0f63e1ef-1eb9-4226-9d54-8927ca08520a
  description: Detect remote login by Administrator user depending on internal pattern
  references:
  - https://car.mitre.org/wiki/CAR-2016-04-005
  tags:
  - attack.lateral_movement
  - attack.t1078
  - car.2016-04-005
  status: experimental
  author: juju4
  logsource:
    product: windows
    service: security
    definition: 'Requirements: Identifiable administrators usernames (pattern or special
      unique character. ex: "Admin-*"), internal policy mandating use only as secondary
      account'
    category: null
  detection:
    selection:
      EventID: 4624
      LogonType: 10
      AuthenticationPackageName: Negotiate
      AccountName: Admin-*
    condition: selection
  falsepositives:
  - Legitimate administrative activity
  level: low

Querying Elasticsearch

Import Libraries


In [ ]:
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
import pandas as pd

Initialize Elasticsearch client


In [ ]:
es = Elasticsearch(['http://helk-elasticsearch:9200'])
searchContext = Search(using=es, index='logs-endpoint-winevent-security-*', doc_type='doc')

Run Elasticsearch Query


In [ ]:
s = searchContext.query('query_string', query='(event_id:"4624" AND logon_type:"10" AND logon_authentication_package:"Negotiate" AND user_name.keyword:Admin\-*)')
response = s.execute()
if response.success():
    df = pd.DataFrame((d.to_dict() for d in s.scan()))

Show Results


In [ ]:
df.head()