Skip to content

Discover

Joshua Hiller edited this page Apr 26, 2022 · 24 revisions

CrowdStrike Falcon Twitter URL

Using the Discover service collection

Uber class support Service class support Documentation Version Page Updated Samples Available

This service collection has code examples posted to the repository.

Table of Contents

Operation ID Description
get_accounts
PEP8 get_accounts
Get details on accounts by providing one or more IDs.
get_hosts
PEP8 get_hosts
Get details on assets by providing one or more IDs.
get_logins
PEP8 get_logins
Get details on logins by providing one or more IDs.
query_accounts
PEP8 query_accounts
Search for accounts in your environment by providing a FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.
query_hosts
PEP8 query_hosts
Search for assets in your environment by providing a FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.
query_logins
PEP8 query_logins
Search for logins in your environment by providing a FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.

get_accounts

Get details on assets by providing one or more IDs.

PEP8 method name

get_accounts

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
ids
Service Class Support

Uber Class Support
query string or list of strings One or more account IDs. (Max: 100)

Find account IDs with query_accounts.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.get_accounts(ids=id_list)
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.command("get_accounts", ids=id_list)
print(response)

get_hosts

Get details on assets by providing one or more IDs.

PEP8 method name

get_hosts

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
ids
Service Class Support

Uber Class Support
query string or list of strings One or more asset IDs. (Max: 100)

Find asset IDs with query_hosts.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.get_hosts(ids=id_list)
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.command("get_hosts", ids=id_list)
print(response)

get_logins

Get details on assets by providing one or more IDs.

PEP8 method name

get_logins

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
ids
Service Class Support

Uber Class Support
query string or list of strings One or more login IDs. (Max: 100)

Find login IDs with query_logins.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.get_logins(ids=id_list)
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.command("get_logins", ids=id_list)
print(response)

query_accounts

Search for accounts in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.

PEP8 method name

query_accounts

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
filter
Service Class Support

Uber Class Support
query string Filter accounts using a FQL query.

A complete list of available filters can be found here.
limit
Service Class Support

Uber Class Support
query integer The number of account IDs to return in this response (Max: 100, Default: 100).

Use with the offset parameter to manage pagination of results.
offset
Service Class Support

Uber Class Support
query string An offset used with the limit parameter to manage pagination of results. On your first request, don’t provide an offset. On subsequent requests, provide the offset from the previous response to continue from that place in the results.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.
sort
Service Class Support

Uber Class Support
query string Sort accounts by their properties. A single sort field is allowed. Common sort options include:
  • username|asc
  • last_failed_login_timestamp|desc
Available FQL Filters

Common filters include:

  • account_type:'Local'
  • admin_privileges:'Yes'
  • first_seen_timestamp:<'now-7d'
  • last_successful_login_type:'Terminal server'

The following table lists acceptable values for the filter keyword described above.

id last_successful_login_timestamp
cid last_successful_login_hostname
user_sid last_successful_login_remote_ip
login_domain last_successful_login_host_country
account_name last_successful_login_host_city
username last_failed_login_type
account_type last_failed_login_timestamp
admin_privileges last_failed_login_hostname
first_seen_timestamp password_last_set_timestamp
last_successful_login_type  

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

response = falcon.query_accounts(offset=integer,
                              limit=integer,
                              sort="string",
                              filter="string"
                              )
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

response = falcon.command("query_accounts",
                          offset=integer,
                          limit=integer,
                          sort="string",
                          filter="string"
                          )
print(response)

query_hosts

Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.

PEP8 method name

query_hosts

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
filter
Service Class Support

Uber Class Support
query string Filter assets using a FQL query.

A complete list of available filters can be found here.
limit
Service Class Support

Uber Class Support
query integer The number of asset IDs to return in this response (Max: 100, Default: 100).

Use with the offset parameter to manage pagination of results.
offset
Service Class Support

Uber Class Support
query string An offset used with the limit parameter to manage pagination of results. On your first request, don’t provide an offset. On subsequent requests, provide the offset from the previous response to continue from that place in the results.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.
sort
Service Class Support

Uber Class Support
query string Sort assets by their properties. A single sort field is allowed. Common sort options include:
  • hostname|asc
  • product_type_desc|desc
Available FQL Filters

The following table lists acceptable values for the filter keyword described above.

agent_version kernel_version
aid last_discoverer_aid
bios_manufacturer last_seen_timestamp
bios_version local_ips_count
cid machine_domain
city network_interfaces
confidence network_interfaces.interface_alias
country network_interfaces.interface_description
current_local_ip network_interfaces.local_ip
discoverer_aids network_interfaces.mac_address
discoverer_count network_interfaces.network_prefix
discoverer_platform_names os_version
discoverer_product_type_descs ou
discoverer_tags platform_name
entity_type product_type
external_ip product_type_desc
first_discoverer_aid site_name
first_discoverer_ip system_manufacturer
first_seen_timestamp system_product_name
groups system_serial_number
hostname tags
id  

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

response = falcon.query_hosts(offset=integer,
                              limit=integer,
                              sort="string",
                              filter="string"
                              )
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

response = falcon.command("query_hosts",
                          offset=integer,
                          limit=integer,
                          sort="string",
                          filter="string"
                          )
print(response)

query_logins

Search for accounts in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria.

PEP8 method name

query_logins

Content-Type

  • Produces: application/json

Keyword Arguments

Name Service Uber Type Data type Description
filter
Service Class Support

Uber Class Support
query string Filter logins using a FQL query.

A complete list of available filters can be found here.
limit
Service Class Support

Uber Class Support
query integer The number of login IDs to return in this response (Max: 100, Default: 100).

Use with the offset parameter to manage pagination of results.
offset
Service Class Support

Uber Class Support
query string An offset used with the limit parameter to manage pagination of results. On your first request, don’t provide an offset. On subsequent requests, provide the offset from the previous response to continue from that place in the results.
parameters
Service Class Support

Uber Class Support
query string Full query string parameters payload in JSON format.
sort
Service Class Support

Uber Class Support
query string Sort logins by their properties. A single sort field is allowed. Common sort options include:
  • account_name|asc
  • login_timestamp|desc
Available FQL Filters

Common filters include:

  • account_type:'Local'
  • login_type:'Interactive'
  • first_seen_timestamp:<'now-7d'
  • admin_privileges:'No'

The following table lists acceptable values for the filter keyword described above.

id login_timestamp
cid login_domain
login_status admin_privileges
account_id local_ip
host_id remote_ip
user_sid host_country
aid host_city
account_name is_suspicious
username failure_description
hostname login_event_count
account_type aggregation_time_interval
login_type  

Usage

Service class example (PEP8 / Operation ID syntax)
from falconpy import Discover

falcon = Discover(client_id="API_CLIENT_ID_HERE",
                  client_secret="API_CLIENT_SECRET_HERE"
                  )

response = falcon.query_logins(offset=integer,
                              limit=integer,
                              sort="string",
                              filter="string"
                              )
print(response)
Uber class example
from falconpy import APIHarness

falcon = APIHarness(client_id="API_CLIENT_ID_HERE",
                    client_secret="API_CLIENT_SECRET_HERE"
                    )

response = falcon.command("query_logins",
                          offset=integer,
                          limit=integer,
                          sort="string",
                          filter="string"
                          )
print(response)

CrowdStrike Falcon

Clone this wiki locally