Skip to main content

Extract IOCs from text.

Project description

ioc-hunter

IOC Hunter finds indicators of compromise (IOC). The parse_iocs function can extract IOCs from text.
The type_ioc function can determine the IOC type of a string that you pass in.

The IOCs that are recognized are:

  • ssdeep
  • sha256
  • sha1
  • md5
  • email
  • ipv4_public
  • ipv4_private
  • ipv6_public
  • ipv6_private
  • filename
  • domain
  • url

Parse IOCs

The parse_iocs function parses IOCs in the list above from text. There is an option to defang the IOCs that are passed back as well as an option to provide a whitelist regex. This will also return IOCs labeled as unknown when text is found to be suspicious, but doesn't match any of the IOC types.

from ioc_hunter import parse_iocs

text = "Your text goes here"
whitelist = r".*internaldomain\.com.*"
iocs = parse_iocs(text, defang=False, whitelist_regex=whitlist)
parse_iocs

Params:
    text – A string to parse.
    defang – If True, defang any IOCs we can (see DEFANGABLE). If False, return IOCs in their fanged state.
    whitelist_regex – Any IOC matching this regex will be ignored
    iocs_to_parse – A list of IOC types to look for (see IOC_TYPES_SEARCH_ORDER for options)
    whitelist_domains – A list or CSV of domains to exclude from results. Excludes domains and URLs that match
    whitelist_ip_cidr_ranges – A list or CSV of CIDR ranges to exclude from results. Excludes IPs and URLs that match
Returns:
    A dictionary with the ioc type as the key and a list of iocs for each value.

Type IOC

The type_ioc function takes in text and determines if that text matches any of the IOC types. If it does not match any, it will return unkown.

from ioc_hunter import type_ioc

suspected_ioc = "mydomain.com"
ioc_type = type_ioc(suspected_ioc)
type_ioc

Params:
    ioc – The IOC to classify.
    types_to_find – A list of types you want to look for.
Returns:
    The type of the IOC as a string, (see IOC_TYPES_SEARCH_ORDER for options)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ioc-hunter-1.2.0.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

ioc_hunter-1.2.0-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

File details

Details for the file ioc-hunter-1.2.0.tar.gz.

File metadata

  • Download URL: ioc-hunter-1.2.0.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

File hashes

Hashes for ioc-hunter-1.2.0.tar.gz
Algorithm Hash digest
SHA256 c32fe4b5863cc27a7c29b65bbb10e5481762c44c616699b852a22d2c5516e3ee
MD5 5a4b7c75a7c19b4f31671c8b2faf5719
BLAKE2b-256 b5fd02675f2ffbd8a923dedc44cba627e2200b9d0a7755b0f31948964893c2cb

See more details on using hashes here.

File details

Details for the file ioc_hunter-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ioc_hunter-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

File hashes

Hashes for ioc_hunter-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1800224bc7c276199f82682890d9739221b27bb8dbf0c5c7c73a88eff8fd945
MD5 993a22be156dddc3115911c9762e45e5
BLAKE2b-256 44343aee3e5ad72071460a4d016023b897fb206dd19e4bb88e2bb692d331e506

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page