Using Python to unearth a goldmine of threat intelligence from leaked chat logs

Author: Thomas Roccia |@fr0gger_

Introduction

Dealing with a great amount of data can be time consuming, thus using Python can be very powerful to help analysts sort information and extract the most relevant data for their investigation. The open-source tools library, MSTICpy, for example, is a tool dedicated to threat intelligence. It aims to help threat analysts acquire, enrich, analyze, and visualize data. In this notebook, we will explore the data in depth using Python. We will dissect the available information and learn more about their process and operation. Eventually, we will see how we can take advantage of the available information to pivot and hunt for additional context and threat intelligence using the MSTICpy library.

This notebook will allow analysts to reuse the code and continue to search for the extracted information on their own. Additionally, it offers an out-of-the-box methodology for analyzing chat logs, extracting indicators of compromise, and improving threat intelligence and defense process using Python.

What is the goal of this Notebook?

Through this notebook, we will explore the Conti Jabber leaks and provide a workflow of analysis using Python.

The notebook is composed of the following parts:

  • The first part of this notebook will provide details of the available data as well as how to transform them for using it with Python and for Interpretation.
  • The second part will provide details about the Jabber logs as well as some visualization.
  • The third part will be dedicated to threat intelligence, extracting relevant IOCs and pivoting with the extracted data.

Configuration

To use this notebook several library must be installed here is the list of the module, you can install them using pip.

  • pandas
  • msticpy
  • bokeh
  • pyvis
  • matplotlib
  • treelib
  • textsearch
  • ipywidgets
  • GoogleTranslator

Exploring the Jabber Logs

Compiling and translating the data

The leaked chat logs are written in the Russian language, requiring the data to be translated to English for analysis. We adopted the translation methodology published here..

Since raw Jabber logs are saved using a file per day, they will need to be compiled in one JSON file so they can easily be manipulated with Python. cat *.json | jq -cr > ../merged.json

Once the data is merged, they can be translated using the deep translator library.

In [ ]:
# Code borrowed and adapted from @azobec
import json
from deep_translator import GoogleTranslator

# Creating the list
chatList = []

# opening the file merged.json
with open('merged2.json', encoding="utf8") as f:
    for jsonObj in f:
        logs = json.loads(jsonObj)
        chatList.append(logs)

# Creating and adding the translated logs into translated_log.json.
with open('translated_log3.json', 'a+', encoding="utf8") as outfile:
    outfile.write("[")    
    for line in chatList:
        try:
            translation = GoogleTranslator(source='auto', target='en').translate(line["body"])
            line["LANG-EN"] = translation
            
        # When a translation is not possible we handle the error and write a message
        except Exception as e:
            line["LANG-EN"] = "Error during Translation"
    
        outfile.write(json.dumps(line, ensure_ascii = False).encode('utf8').decode())
        outfile.write(",")
    outfile.write("]")    

After the logs are translated and loaded into a new file, it’s then possible to load the data into a dataframe for manipulation and exploration.

Loading the translated logs into a dataframe

In [1]:
# Loading the data in a dataframe
import codecs
import pandas as pd
from IPython.display import Image

df = pd.read_json(codecs.open('translated_Log2.json', 'r', 'utf-8'))
In [2]:
# Print some information about the loaded dataframe
df.head()
Out[2]:
ts from to body LANG-EN
0 2021-01-29T00:06:46.929363 mango@q3mcco35auwcstmt.onion stern@q3mcco35auwcstmt.onion про битки не забудь, кош выше, я спать) don't forget about cue balls, kosh is higher, ...
1 2021-01-29T04:04:39.308133 mango@q3mcco35auwcstmt.onion stern@q3mcco35auwcstmt.onion привет Hey
2 2021-01-29T04:04:43.474243 mango@q3mcco35auwcstmt.onion stern@q3mcco35auwcstmt.onion битков не хватит на все.. bits are not enough for everything ..
3 2021-01-29T04:32:02.648304 price@q3mcco35auwcstmt.onion green@q3mcco35auwcstmt.onion привет!!! Hey!!!
4 2021-01-29T04:32:16.858754 price@q3mcco35auwcstmt.onion green@q3mcco35auwcstmt.onion опять прокладки сменились??? нет связи! have the pads changed again? no connection!

Slang translation

Russian slang words not properly translated by the automated process can be translated by creating a dictionary. A dictionary off a list proposed here was used in this case to correctly translate the slang:

In [3]:
# Creating a dictionnary with the translated slang words
slang = {"Hell": "AD", "YES": "DA", "wheelbarrow": "host", "cars": "hosts", "cue balls": "bitcoin", "credits":"credentials", "vmik":"WMIC", "grid":"network", "facial expressions":"mimikatz", "firework":"firewall", "whining":"SQL", "school":"SQL", "balls":"shares", "zithers":"Citrix", "food":"FUD", "silkcode":"shellcode", "kosh":"cash", "toad":"jabber", "booze":"Emotet", "the trick or trick": "Trickbot", "BC":"BazarBackdoor", "backpack":"Ryuk", "lock":"ransomware"}

# Replacing the words in the translated column
df['LANG-EN'] = df['LANG-EN'].replace(slang, regex=True)
df['LANG-EN'].head(10)
Out[3]:
0    don't forget about bitcoin, cash is higher, I'...
1                                                  Hey
2                bits are not enough for everything ..
3                                               Hey!!!
4          have the pads changed again? no connection!
5                                                  Hey
6    hello sn today I'm waiting for cash and the am...
7                                                  Hey
8    bc1qy2083z665ux68zda3tfuh5xed2493uaj8whdwv - 0...
9                                               moment
Name: LANG-EN, dtype: object

Analyzing the chat activity timeline

In [4]:
# Static graph, you can double click on the graphic to get more details
df['ts'] = pd.to_datetime(df['ts']).dt.date
df['ts'] = pd.to_datetime(df['ts'])

# Sorting the data by datetime
data = df.groupby(df['ts'])['from'].count()
data.plot(kind='bar',figsize=(100,10),legend=True, title="Number of discussion per day")
Out[4]:
<AxesSubplot:title={'center':'Number of discussion per day'}, xlabel='ts'>
In [5]:
# Dynamic graph using Bokeh
import pandas_bokeh
from bokeh.models import ColumnDataSource, HoverTool
from bokeh.plotting import figure, show

df['ts'] = pd.to_datetime(df['ts']).dt.date
df['ts'] = pd.to_datetime(df['ts'])

pandas_bokeh.output_notebook()
pd.set_option('plotting.backend', 'pandas_bokeh')

# Filter the result to manipulate only timestamp and number of discussion per day
data2 = pd.DataFrame(df.groupby(df['ts'])['from'].count().reset_index())
Loading BokehJS ...
In [6]:
# Loading the filtered dataset into ColumnDataSource
source = ColumnDataSource(data2)

# Creating the figure with the size
p = figure(x_axis_type='datetime', plot_width=900, plot_height=500)

# Adding the hover tools
p.add_tools(HoverTool(tooltips=[('Date', '@ts{%F}'), ('Nb of discussion','@from{int}')],
                      formatters={'@ts':'datetime'}, mode='mouse'))

# Legend
p.title.text ='Activity discussion per day'
p.xaxis.axis_label = 'Date'
p.yaxis.axis_label = 'Number of discussion'

# diagram
p.line(x='ts', y='from', line_width=2, color='#851503', source=source)

# print the diagram
show(p)

Searching in the logs

Reading all the leak can be a bit time consuming so it could be interesting to build a simple search engine to search for specific occurence of a string into the chat logs. That way we can filter to specific data of interest such as bitcoin, usernames, malware name, exploit, CVE... to name a few.

In [7]:
# Import lib 
import ipywidgets as widgets
from textsearch import TextSearch
from IPython.display import display

pd.set_option('display.max_colwidth', None)

#configure widget
keyword = widgets.Text(
    value='',
    placeholder='Enter your search',
    description='Search:',
    disabled=False
)
display(keyword)

# Configure click button
button = widgets.Button(description="search", icon='check') # (FontAwesome names without the `fa-` prefix))
display(button)

output = widgets.Output()

# Searching for the input word
@output.capture()
def userInput(b):
    
    # store the search result in a list
    result = []
    print("[+] Searching the chat for occurence of: " + keyword.value)
    
    # look for the string into the translated column
    for i in df['LANG-EN']:
        ts = TextSearch(case="ignore", returns="match")
        words = keyword.value
        ts.add(words)
        
        # store the result into the list
        if ts.findall(str(i)):
            result.append(i)
    
    # Filter and print the result
    result = list(dict.fromkeys(result))    
    print('\n'.join(map(str, result)))

# get the input word
button.on_click(userInput)
display(output)

Analyzing the level of user activity

When analyzing chat logs, identifying the number of users and analyzing the most active ones can provide insight into the size of the group and roles of users within it. Using Python, the list of users can be extracted and saved in a text file.

In [8]:
# Extracting all the users
userfrom = df['from']
userto = df['to']

# Dropping duplicate and concatenate dataframe
user = pd.concat([userfrom.drop_duplicates(), userto.drop_duplicates()], ignore_index=True)
user = user.drop_duplicates()

# Save userlist to txt for additional hunting
user.to_csv(r'IOC\userlist.txt', header=None, index=None, sep='\t', mode='a')
In [9]:
# Static graphic
%matplotlib inline
df.groupby('from').count().ts.sort_values(ascending=False).iloc[:50].plot.barh(figsize=(15,10), title="Most active users")
Out[9]:
Figure(
id = '1218', …)
In [10]:
# Filtering and extracting the 10 most active users
user = pd.DataFrame(df.groupby('from').count().ts.sort_values(ascending=False).reset_index())
user.columns = user.columns.str.replace('ts', 'count')
user.head(10)
Out[10]:
from count
0 defender@q3mcco35auwcstmt.onion 8246
1 stern@q3mcco35auwcstmt.onion 4323
2 driver@q3mcco35auwcstmt.onion 3968
3 bio@q3mcco35auwcstmt.onion 3196
4 mango@q3mcco35auwcstmt.onion 3194
5 ttrr@conference.q3mcco35auwcstmt.onion 3122
6 veron@q3mcco35auwcstmt.onion 2955
7 hof@q3mcco35auwcstmt.onion 2389
8 bentley@q3mcco35auwcstmt.onion 1810
9 bloodrush@q3mcco35auwcstmt.onion 1798

Mapping the users’ connections

In [11]:
# Transforming the data, the weight corresponding to the number of message send between 2 users. 
df_weight = df.groupby(["from", "to"], as_index=False).count()
df_weight = df_weight.drop(['body','LANG-EN'], axis = 1)
df_weight.columns = df_weight.columns.str.replace('ts', 'weight')
df_weight.head(5)
Out[11]:
from to weight
0 admin@expiro-team.biz qwerty@q3mcco35auwcstmt.onion 1
1 admin@q3mcco35auwcstmt.onion demon@q3mcco35auwcstmt.onion 10
2 admin@q3mcco35auwcstmt.onion wind@q3mcco35auwcstmt.onion 1
3 admin@q3mcco35auwcstmt.onion zevs@q3mcco35auwcstmt.onion 6
4 admintest@q3mcco35auwcstmt.onion revers@q3mcco35auwcstmt.onion 15
In [14]:
# Importing the pyvis lib
from pyvis.network import Network

# Configuring the graph option
conti_net = Network(height='800px', width='100%', bgcolor='#222222', font_color='white', notebook = True)

# set the physics layout of the network, here we used the barnes hut
conti_net.barnes_hut()
conti_data = df_weight

# Split the data
sources = conti_data['from']
targets = conti_data['to']
weights = conti_data['weight']

edge_data = zip(sources, targets, weights)

# Browsing the data to construct the network graph
for e in edge_data:
    src = e[0]
    dst = e[1]
    w = e[2]
    
    conti_net.add_node(src, src, title=src)
    conti_net.add_node(dst, dst, title=dst)
    conti_net.add_edge(src, dst, value=w*10)
        
neighbor_map = conti_net.get_adj_list()

# add user data to node hover data
for node in conti_net.nodes:
    node['title'] += ' <br> - Discussion with:<br>' + '<br>'.join(neighbor_map[node['id']])
    node['value'] = len(neighbor_map[node['id']])
    
conti_net.show('conti_leak.html')
Out[14]:

Using MSTICPy to extract and analyze IOCs

Besides processing chat logs to analyze user activity and connections, Python can also be used to extract and analyze threat intelligence. This section shows how the MSTICPy library can be used to extract IOCs and how it can be used for additional threat hunting and intelligence.

Loading MSTICpy

In [15]:
# Imports and configuration
from IPython.display import display, HTML
from msticpy.sectools import IoCExtract
import matplotlib.pyplot as plt
import sys
import warnings
from msticpy import init_notebook
init_notebook(namespace=globals());

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 50)
pd.set_option('display.max_colwidth', 100)

Starting Notebook initialization...


msticpy version installed: 1.7.5 latest published: 1.8.1
A newer version of msticpy - 1.8.1 is available.
Upgrade with 'pip install --upgrade msticpy'

Processing imports....
Imported: pd (pandas), IPython.get_ipython, IPython.display.display, IPython.display.HTML, IPython.display.Markdown, widgets (ipywidgets), pathlib.Path, plt (matplotlib.pyplot), matplotlib.MatplotlibDeprecationWarning, np (numpy), sns (seaborn), msticpy, msticpy.data.QueryProvider, msticpy.nbtools.foliummap.FoliumMap, msticpy.common.utility.md, msticpy.common.utility.md_warn, msticpy.common.wsconfig.WorkspaceConfig, msticpy.datamodel.pivot.Pivot, msticpy.datamodel.entities, msticpy.nbtools.nbmagics, msticpy.vis.mp_pandas_plot
Checking configuration....

The following configuration errors were found:
-----------------------------------------------
Missing or empty 'Workspaces' key in 'AzureSentinel' section
No warnings found.

No valid configuration for Microsoft Sentinel found.
Azure CLI credentials not detected. (see Caching credentials with Azure CLI)
Setting notebook options....
This library uses services provided by ipstack. https://ipstack.com


Notebook setup completed with some warnings.

One or more configuration items were missing or set incorrectly.

Please run the Getting Started Guide for Azure Sentinel ML Notebooks notebook. and the msticpy configuration guide.

This notebook may still run but with reduced functionality.

Notebook initialization complete


Extracting IOCs

MSTICPy is a Python library used for threat investigation and threat hunting. The library can connect to several threat intelligence providers, as well as Microsoft tools like Microsoft Sentinel. It can be used to query logs and to enrich data. It’s particularly convenient for analyzing IOCs and adding more threat contextualization.

In [16]:
# We clean the dataframe to remove None value
df['LANG-EN'] = df['LANG-EN'].fillna('').apply(str)

# Initiate the IOC extractor
ioc_extractor = IoCExtract()
ioc_df = ioc_extractor.extract(data = df, columns = ['LANG-EN'])

display(HTML("<h4>IoC patterns found in chat logs.</h4>"))
display(ioc_df.head(10))

IoC patterns found in chat logs.

IoCType Observable SourceIndex Input
0 dns qaz.im 23 https://qaz.im/load/Tb6rNh/dYkYy2
1 url https://qaz.im/load/Tb6rNh/dYkYy2 23 https://qaz.im/load/Tb6rNh/dYkYy2
2 dns qaz.im 25 https://qaz.im/load/hzkQTQ/BTa6Ze
3 url https://qaz.im/load/hzkQTQ/BTa6Ze 25 https://qaz.im/load/hzkQTQ/BTa6Ze
4 dns qaz.im 29 https://qaz.im/load/Tb6rNh/dYkYy2
5 url https://qaz.im/load/Tb6rNh/dYkYy2 29 https://qaz.im/load/Tb6rNh/dYkYy2
6 dns qaz.im 52 https://qaz.im/load/hzkQTQ/BTa6Ze
7 url https://qaz.im/load/hzkQTQ/BTa6Ze 52 https://qaz.im/load/hzkQTQ/BTa6Ze
8 ipv6 09:54:30 54 [09:54:30] <22> throw it right away. until March 1, whatever. and then you waste it on trifles a...
9 ipv6 09:55:17 54 [09:54:30] <22> throw it right away. until March 1, whatever. and then you waste it on trifles a...
In [17]:
# Extracting BTC addresses
# Adding the regex
extractor = IoCExtract()
extractor.add_ioc_type(ioc_type='btc', ioc_regex='^(?:[13]{1}[a-km-zA-HJ-NP-Z1-9]{26,33}|bc1[a-z0-9]{39,59})$')

# Check that it added ok
print(extractor.ioc_types['btc'])

# Use it in our data set and create a new df
btc_df = ioc_extractor.extract(data=df, columns=['LANG-EN']).query('IoCType == \'btc\'')

display(HTML("<h4>BTC addresses found in chat logs.</h4>"))
display(btc_df.head(10))
IoCPattern(ioc_type='btc', comp_regex=re.compile('^(?:[13]{1}[a-km-zA-HJ-NP-Z1-9]{26,33}|bc1[a-z0-9]{39,59})$', re.IGNORECASE|re.MULTILINE|re.VERBOSE), priority=0, group=None)

BTC addresses found in chat logs.

IoCType Observable SourceIndex Input
152 btc bc1q3efl4m2jcr6gk32usxnfyrxh294sr8plmpe3ye 806 bc1q3efl4m2jcr6gk32usxnfyrxh294sr8plmpe3ye
213 btc 1MxtwUpH4cWAz4en4kqVNzAdx5gpk9etUC 1131 hello, the bitcoins are over, in total 6 new servers, two vpn subscriptions, an ipvanish subscri...
214 btc 1MxtwUpH4cWAz4en4kqVNzAdx5gpk9etUC 1136 hello, the bitcoins are over, in total 6 new servers, two vpn subscriptions, an ipvanish subscri...
296 btc bc1qnf6drcfl786d70wlhfytyr5xg3qqgknlsh8dc3 1606 bc1qnf6drcfl786d70wlhfytyr5xg3qqgknlsh8dc3
297 btc 17mc4Qm7ka9jhQEUB5LTxP3gW3tsDYUJGQ 1608 hello, the cue ball is over, in total 8 new servers, two vpn subscriptions, and 18 renewals have...
307 btc bc1qnf6drcfl786d70wlhfytyr5xg3qqgknlsh8dc3 1617 bc1qnf6drcfl786d70wlhfytyr5xg3qqgknlsh8dc3
308 btc 17mc4Qm7ka9jhQEUB5LTxP3gW3tsDYUJGQ 1619 hello, the cue ball is over, in total 8 new servers, two vpn subscriptions, and 18 renewals have...
329 btc bc1qy2083z665ux68zda3tfuh5xed2493uaj8whdwv 1669 bc1qy2083z665ux68zda3tfuh5xed2493uaj8whdwv
330 btc 172KVKhMqL5CU1HN884RbArzu5DDL5hwE3 1680 172KVKhMqL5CU1HN884RbArzu5DDL5hwE3\n\n0.01523011
335 btc bc1qc39qwc3nl2eyh2cu4ct6tyh9zqzp9ye993c0y2 1716 bc1qc39qwc3nl2eyh2cu4ct6tyh9zqzp9ye993c0y2
In [18]:
display(HTML("<h4>Merging, filtering and sorting</h4>"))
# Merging dataframe

ioc_df = pd.concat([ioc_df, btc_df], axis=0).drop_duplicates(subset='Observable').reset_index(drop=True)
#ioc_df = ioc_df.drop_duplicates(subset='Observable', inplace=True)

# Removing IPV6 rows because they are false positive
ioc_df = ioc_df[ioc_df["IoCType"].str.contains("ipv6") == False]

ioc_df

Merging, filtering and sorting

Out[18]:
IoCType Observable SourceIndex Input
0 dns qaz.im 23 https://qaz.im/load/Tb6rNh/dYkYy2
1 url https://qaz.im/load/Tb6rNh/dYkYy2 23 https://qaz.im/load/Tb6rNh/dYkYy2
2 url https://qaz.im/load/hzkQTQ/BTa6Ze 25 https://qaz.im/load/hzkQTQ/BTa6Ze
6 url https://qaz.im/load/3EZGA7/4SEstA 103 https://qaz.im/load/3EZGA7/4SEstA
21 ipv4 54.183.140.39 228 yep, they all worked\nexcept\nbot\n54.183.140.39
... ... ... ... ...
4241 btc 1G5LWXMN42ueD2eWvm4zMrhXGihghHDgMq 59405 1G5LWXMN42ueD2eWvm4zMrhXGihghHDgMq\nAmount $1000
4242 btc bc1qr8fw0xj28emurqhu8k7gj4llzgnxf4dejhl04h 59913 hello, I turned to the defender to clarify the situation with the salary, he replied that now it...
4243 btc bc1qxxe0uz8dp820mnl7q5w3a2z9y4zgq9cr6smlf6 60385 bc1qxxe0uz8dp820mnl7q5w3a2z9y4zgq9cr6smlf6
4244 btc 33hiG13GTHTV2G8aZxzBJHBPBpDNevcK2B 60542 33hiG13GTHTV2G8aZxzBJHBPBpDNevcK2B
4245 btc 3351LRF9NrFH5v2CMZWsCv66tv5UAjX5Gn 60559 3351LRF9NrFH5v2CMZWsCv66tv5UAjX5Gn

2227 rows × 4 columns

In [19]:
# Save IOC to CSV
ioc_df.to_csv("IOC\\full_ioc.csv")

# Overview of the IOC in the dataset
ioc_df["IoCType"].value_counts()
Out[19]:
url            1137
dns             474
ipv4            317
btc             175
md5_hash        106
sha256_hash      16
sha1_hash         2
Name: IoCType, dtype: int64

Cleaning the extracted IOCs

In [20]:
ioc_df = ioc_df[ioc_df["Observable"].str.contains("privnote.com")==False ]
ioc_df = ioc_df[ioc_df["Observable"].str.contains("qaz.im")==False ]
In [21]:
ioc_df
Out[21]:
IoCType Observable SourceIndex Input
21 ipv4 54.183.140.39 228 yep, they all worked\nexcept\nbot\n54.183.140.39
24 dns 2Fwwwapps.ups.com 335 1Z9918AW3591558812 <https://hura.me/no-ref.php?url=http%3A%2F%2Fwwwapps.ups.com%2FWebTracking%2F...
25 dns hura.me 335 1Z9918AW3591558812 <https://hura.me/no-ref.php?url=http%3A%2F%2Fwwwapps.ups.com%2FWebTracking%2F...
26 url https://hura.me/no-ref.php?url=http%3A%2F%2Fwwwapps.ups.com%2FWebTracking%2Ftrack%3FHTMLtrackVer... 335 1Z9918AW3591558812 <https://hura.me/no-ref.php?url=http%3A%2F%2Fwwwapps.ups.com%2FWebTracking%2F...
27 url https://hura.me/no-ref.php?url=http://wwwapps.ups.com/WebTracking/track?HTMLtrackVersion=5.0&loc... 335 1Z9918AW3591558812 <https://hura.me/no-ref.php?url=http%3A%2F%2Fwwwapps.ups.com%2FWebTracking%2F...
... ... ... ... ...
4241 btc 1G5LWXMN42ueD2eWvm4zMrhXGihghHDgMq 59405 1G5LWXMN42ueD2eWvm4zMrhXGihghHDgMq\nAmount $1000
4242 btc bc1qr8fw0xj28emurqhu8k7gj4llzgnxf4dejhl04h 59913 hello, I turned to the defender to clarify the situation with the salary, he replied that now it...
4243 btc bc1qxxe0uz8dp820mnl7q5w3a2z9y4zgq9cr6smlf6 60385 bc1qxxe0uz8dp820mnl7q5w3a2z9y4zgq9cr6smlf6
4244 btc 33hiG13GTHTV2G8aZxzBJHBPBpDNevcK2B 60542 33hiG13GTHTV2G8aZxzBJHBPBpDNevcK2B
4245 btc 3351LRF9NrFH5v2CMZWsCv66tv5UAjX5Gn 60559 3351LRF9NrFH5v2CMZWsCv66tv5UAjX5Gn

1760 rows × 4 columns

IP Addresses Intelligence

In [22]:
df_ip = ioc_df.loc[ioc_df["IoCType"] == "ipv4"]
df_ip['IoCType'].count()
Out[22]:
317
In [23]:
# load all configured providers
ti_lookup = TILookup(providers = ["VirusTotal", "GreyNoise", "OTX"])
ti_lookup.provider_status
Out[23]:
['GreyNoise - GreyNoise Lookup. (primary)',
 'OTX - AlientVault OTX Lookup. (primary)',
 'VirusTotal - VirusTotal Lookup. (primary)']
In [24]:
# Don't forget to reload the providers once you specified the api key in the config file. 
ti_lookup.reload_providers()
Settings reloaded. Use reload_providers to update settings for loaded providers.
In [25]:
ip_intel = ti_lookup.lookup_iocs(data = df_ip["Observable"])
ip_intel.head(10)
Out[25]:
Ioc IocType SafeIoc QuerySubtype Provider Result Severity Details RawResult Reference Status
0 54.183.140.39 ipv4 54.183.140.39 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/54.183.140.39 404
1 5.139.220.204 ipv4 5.139.220.204 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/5.139.220.204 404
2 138.124.180.94 ipv4 138.124.180.94 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/138.124.180.94 404
3 45.14.226.47 ipv4 45.14.226.47 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/45.14.226.47 404
4 193.203.203.101 ipv4 193.203.203.101 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/193.203.203.101 404
5 173.163.176.177 ipv4 173.163.176.177 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/173.163.176.177 404
6 75.151.48.49 ipv4 75.151.48.49 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/75.151.48.49 404
7 71.105.126.26 ipv4 71.105.126.26 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/71.105.126.26 404
8 96.70.44.17 ipv4 96.70.44.17 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/96.70.44.17 404
9 96.93.217.253 ipv4 96.93.217.253 None GreyNoise False information Not found. <Response [404 Not Found]> https://api.greynoise.io/v3/community/96.93.217.253 404
In [26]:
# Saving the IP into a csv file.
ip_intel.to_csv("IOC\\ipintel.csv")
In [27]:
# Removing the ip with severity == information
ip_intel = ip_intel[ip_intel["Severity"].str.contains("information")==False ]
In [28]:
# You can also make a request for a single IP.
result = ti_lookup.lookup_ioc(observable="203.76.105.227")
ti_lookup.result_to_df(result).T
Out[28]:
GreyNoise OTX VirusTotal
Ioc 203.76.105.227 203.76.105.227 203.76.105.227
IocType ipv4 ipv4 ipv4
QuerySubtype None None None
Provider GreyNoise OTX VirusTotal
Result False True True
Severity information high information
Details Not found. {'pulse_count': 3, 'names': ['IoC Ransomware CONTI', 'Conti Ransomware | CISA', 'Conti Ransomwar... {'verbose_msg': 'IP address in dataset', 'response_code': 1, 'positives': 0, 'detected_urls': []...
RawResult <Response [404 Not Found]> {'whois': 'http://whois.domaintools.com/203.76.105.227', 'reputation': 0, 'indicator': '203.76.1... {'asn': 23688, 'undetected_urls': [], 'undetected_downloaded_samples': [{'date': '2021-05-25 16:...
Reference https://api.greynoise.io/v3/community/203.76.105.227 https://otx.alienvault.com/api/v1/indicators/IPv4/203.76.105.227/general https://www.virustotal.com/vtapi/v2/ip-address/report
Status 404 0 0

Browsing the result

In [29]:
from msticpy.nbtools.ti_browser import browse_results
ip_intel = pd.read_csv("IOC\\ipintel.csv")

ti_selector = browse_results(data = ip_intel, height="200px")
ti_selector

103.101.104.229

Type: 'ipv4', Provider: OTX, severity: high

Details

{'pulse_count': 50, 'names': ['Network IOCs', 'feodotracker-0-20220511', 'feodotracker-0-20220504', 'feodotracker-0-20220510', 'feodotracker-0-20220503', 'feodotracker-0-20220509', 'feodotracker-0-20220502', 'feodotracker-0-20220501', 'feodotracker-0-20220507', 'feodotracker-0-20220430', 'feodotracker-0-20220506', 'feodotracker-0-20220429', 'feodotracker-0-20220428', 'feodotracker-0-20220427', 'feodotracker-0-20220426', 'feodotracker-0-20220425', 'feodotracker-0-20220424', 'feodotracker-0-20220422', 'feodotracker-0-20220420', 'feodotracker-0-20220419', 'feodotracker-0-20220418', 'feodotracker-0-20220417', 'resteex_blacklist_(ipset|hash:ip)_20220423_LVL0', 'feodotracker-0-20220415', 'IoC Ransomware CONTI', 'feodotracker-0-20220413', 'feodotracker-0-20220412', 'feodotracker-0-20220410', 'feodotracker-0-20220410', 'feodotracker-0-20220409', 'feodotracker-0-20220407', 'feodotracker-0-20220406', 'feodotracker-0-20220405', 'feodotracker-0-20220404', 'Conti Ransomware | CISA', 'feodotracker-0-20220403', 'Conti Ransomware IOC', 'feodotracker-0-20220402', 'feodotracker-0-20220402', 'feodotracker-0-20220401', 'feodotracker-0-20220331', 'feodotracker-0-20220330', 'feodotracker-0-20220329', 'feodotracker-0-20220328', 'feodotracker-0-20220327', 'feodotracker-0-20220326', 'feodotracker-0-20220323', 'feodotracker-0-20220322', 'feodotracker-0-20220321', 'feodotracker-0-20220320'], 'tags': [['msi file', 'tuesday', 'malspam email', 'headers', 'anna paula', 'utf8', 'currc3adculo', 'from email', 'associated', 'zip archive'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], ['uscert', 'csirt', 'cert', 'cybersecurity', 'cyber security', 'computer security', 'u. s. computer emergency readiness', 'cyber risks', 'conti', 'technique title', 'id use', 'trickbot', 'remote desktop', 'protocol', 'cisa', 'kerberos', 'admin hash', 'ta0004', 'cobalt strike', 'icedid', 'zloader', 'service'], [], ['span', 'path', 'header dropdown', 'link', 'script', 'product', 'explore', 'footer', 'github', 'button', 'template', 'meta', 'form', 'team', 'enterprise', 'contact', 'code', 'copy', 'reload', 'body', 'star', 'open', 'desktop', 'main'], [], [], [], [], [], [], [], [], [], [], [], [], []], 'references': [['2021-09-21-Curriculo-IOCs.txt'], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], ['blacklist_ip.backup'], [], [], [], [], [], [], [], [], [], [], [], ['https://www.cisa.gov/uscert/sites/default/files/publications/AA21-265A.stix.xml', 'https://www.cisa.gov/uscert/ncas/alerts/aa21-265a', 'https://www.breachquest.com/conti-leaks-insight-into-a-ransomware-unicorn/'], [], ['https://github.com/whichbuffer/Conti-Ransomware-IOC/blob/main/Conti%20IOC.txt'], [], [], [], [], [], [], [], [], [], [], [], [], []]}

Reference:

https://otx.alienvault.com/api/v1/indicators/IPv4/103.101.104.229/general

Raw Results

Raw results from provider...
("{'whois': 'http://whois.domaintools.com/103.101.104.229', 'reputation': 0, "
 "'indicator': '103.101.104.229', 'type': 'IPv4', 'type_title': 'IPv4', "
 "'base_indicator': {'id': 3011530694, 'indicator': '103.101.104.229', 'type': "
 "'IPv4', 'title': '', 'description': '', 'content': '', 'access_type': "
 "'public', 'access_reason': ''}, 'pulse_info': {'count': 50, 'pulses': "
 "[{'id': '614e0dc583aa90bf2dd4ec91', 'name': 'Network IOCs', 'description': "
 "'Network-based IOCs', 'modified': '2022-05-12T00:04:24.089000', 'created': "
 "'2021-09-24T17:41:25.461000', 'tags': ['msi file', 'tuesday', 'malspam "
 "email', 'headers', 'anna paula', 'utf8', 'currc3adculo', 'from email', "
 "'associated', 'zip archive'], 'references': "
 "['2021-09-21-Curriculo-IOCs.txt'], 'public': 1, 'adversary': '', "
 "'targeted_countries': [], 'malware_families': [], 'attack_ids': [], "
 "'industries': [], 'TLP': 'white', 'cloned_from': None, 'export_count': 87, "
 "'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': 0, 'locked': False, "
 "'pulse_source': 'web', 'validator_count': 0, 'comment_count': 0, "
 "'follower_count': 0, 'vote': 0, 'author': {'username': 'cnoscsoc@att.com', "
 "'id': '81627', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'domain': 3314, 'hostname': 610, 'URL': 16, 'email': 1, 'IPv4': 1893}, "
 "'indicator_count': 5834, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 102, 'modified_text': '13 minutes ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': True, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '627b45f5c02acb8a3eaee0db', "
 "'name': 'feodotracker-0-20220511', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-11T05:13:25.029000', 'created': "
 "'2022-05-11T05:13:25.029000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 2977}, 'indicator_count': 2977, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 340, 'modified_text': '19 hours "
 "ago ', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'627220e0f24ae0a0864f5a9c', 'name': 'feodotracker-0-20220504', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-11T00:02:13.446000', 'created': "
 "'2022-05-04T06:44:48.234000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '1 day ago ', 'is_modified': True, "
 "'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6279ee8ce28a19e0aaf5353c', "
 "'name': 'feodotracker-0-20220510', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-10T04:48:12.315000', 'created': "
 "'2022-05-10T04:48:12.315000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 5, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 2977}, 'indicator_count': 2977, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 340, 'modified_text': '1 day ago "
 "', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'6270d430bf9c2d34f0f370e3', 'name': 'feodotracker-0-20220503', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-10T00:02:48.350000', 'created': "
 "'2022-05-03T07:05:20.872000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '2 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6278f04cce1a4c290610a27e', "
 "'name': 'feodotracker-0-20220509', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-09T10:43:24.661000', 'created': "
 "'2022-05-09T10:43:24.661000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 2977}, 'indicator_count': 2977, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 339, 'modified_text': '2 days "
 "ago ', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'626f7ad3d15c591e25689db0', 'name': 'feodotracker-0-20220502', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-09T00:00:19.127000', 'created': "
 "'2022-05-02T06:31:47.984000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '3 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '626ee671ecd2054b5f340414', "
 "'name': 'feodotracker-0-20220501', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-08T00:03:14.586000', 'created': "
 "'2022-05-01T19:58:41.206000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '4 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '627611c2149b9e5c3de4a4a2', "
 "'name': 'feodotracker-0-20220507', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-07T06:29:22.630000', 'created': "
 "'2022-05-07T06:29:22.630000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 2974}, 'indicator_count': 2974, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 339, 'modified_text': '4 days "
 "ago ', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'626ccbd12c593dc8f62f452a', 'name': 'feodotracker-0-20220430', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-07T00:03:18.570000', 'created': "
 "'2022-04-30T05:40:33.936000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '5 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6274f3ff64c4e483c4259859', "
 "'name': 'feodotracker-0-20220506', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-06T10:10:07.620000', 'created': "
 "'2022-05-06T10:10:07.620000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 2973}, 'indicator_count': 2973, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 339, 'modified_text': '5 days "
 "ago ', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'626b83311b4d4fa0370ade43', 'name': 'feodotracker-0-20220429', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-06T00:03:41.989000', 'created': "
 "'2022-04-29T06:18:25.182000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '6 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '626a0e35c35f2f018f5ff6b2', "
 "'name': 'feodotracker-0-20220428', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-05T00:01:02.977000', 'created': "
 "'2022-04-28T03:47:01.193000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '7 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6268e0c9a4d3824a4433a4e1', "
 "'name': 'feodotracker-0-20220427', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-04T00:05:07.263000', 'created': "
 "'2022-04-27T06:20:57.338000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '8 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6267902ba01c16e11b513360', "
 "'name': 'feodotracker-0-20220426', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-03T00:01:26.398000', 'created': "
 "'2022-04-26T06:24:43.961000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '9 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62664beab3e7e1f843d4ed7f', "
 "'name': 'feodotracker-0-20220425', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-02T00:00:42.176000', 'created': "
 "'2022-04-25T07:21:14.984000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '10 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6264df9ed4858e43a43aee5d', "
 "'name': 'feodotracker-0-20220424', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-05-01T00:02:33.075000', 'created': "
 "'2022-04-24T05:26:54.855000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '11 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62623dde3f37fb753d715f80', "
 "'name': 'feodotracker-0-20220422', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-29T00:05:19.794000', 'created': "
 "'2022-04-22T05:32:14.297000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '13 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '625f95960531c82bac8ad4fb', "
 "'name': 'feodotracker-0-20220420', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-27T00:03:12.448000', 'created': "
 "'2022-04-20T05:09:42.428000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '15 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '625e3a21f48c0e3dd7fbfbb4', "
 "'name': 'feodotracker-0-20220419', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-26T00:01:30.700000', 'created': "
 "'2022-04-19T04:27:13.116000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '16 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '625d934f029f45492a6edc19', "
 "'name': 'feodotracker-0-20220418', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-25T00:00:49.923000', 'created': "
 "'2022-04-18T16:35:27.393000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '17 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '625bb92c0e105f8c0537b1b2', "
 "'name': 'feodotracker-0-20220417', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-24T00:01:15.470000', 'created': "
 "'2022-04-17T06:52:28.817000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '18 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62637949a39428085f129938', "
 "'name': 'resteex_blacklist_(ipset|hash:ip)_20220423_LVL0', 'description': "
 "'', 'modified': '2022-04-23T03:58:01.062000', 'created': "
 "'2022-04-23T03:58:01.062000', 'tags': [], 'references': "
 "['blacklist_ip.backup'], 'public': 1, 'adversary': '', 'targeted_countries': "
 "[], 'malware_families': [], 'attack_ids': [], 'industries': [], 'TLP': "
 "'green', 'cloned_from': None, 'export_count': 10, 'upvotes_count': 0, "
 "'downvotes_count': 0, 'votes_count': 0, 'locked': False, 'pulse_source': "
 "'web', 'validator_count': 0, 'comment_count': 0, 'follower_count': 0, "
 "'vote': 0, 'author': {'username': 'resteex0', 'id': '175858', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'IPv4': 63022, 'URL': 1429}, 'indicator_count': 64451, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 23, 'modified_text': '18 days "
 "ago ', 'is_modified': False, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 1}, {'id': "
 "'6258f4c92dafeb4c4d2df77e', 'name': 'feodotracker-0-20220415', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-22T00:03:50.614000', 'created': "
 "'2022-04-15T04:30:01.275000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '20 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '626186a215fc527fe850e655', "
 "'name': 'IoC Ransomware CONTI', 'description': 'IoC related with Ransomware "
 'CONTI. \\nRelated to the security event that occurred in Costa Rica on April '
 "20, 2022', 'modified': '2022-04-21T16:30:26.680000', 'created': "
 "'2022-04-21T16:30:26.680000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 7, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'web', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'soc_columbus', 'id': '2084', 'avatar_url': "
 "'/otxapi/users/avatar_image/media/avatars/user_2084/resized/80/avatar_804adb6fc4.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'FileHash-SHA1': 8, 'IPv4': 423, 'URL': 3, 'domain': 55, 'hostname': 2}, "
 "'indicator_count': 491, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 139, 'modified_text': '20 days ago ', 'is_modified': "
 "False, 'groups': [], 'in_group': False, 'threat_hunter_scannable': True, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 1}, {'id': '625698919820c39fcc32e838', "
 "'name': 'feodotracker-0-20220413', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-20T00:02:21.571000', 'created': "
 "'2022-04-13T09:32:01.671000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '22 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62550f0309fdf2231d0b9642', "
 "'name': 'feodotracker-0-20220412', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-19T00:01:05.210000', 'created': "
 "'2022-04-12T05:32:51.853000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '23 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6252630e40240989d59c3173', "
 "'name': 'feodotracker-0-20220410', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-17T00:01:27.728000', 'created': "
 "'2022-04-10T04:54:38.069000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '25 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6252672b086133e496b3dce4', "
 "'name': 'feodotracker-0-20220410', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-17T00:01:27.728000', 'created': "
 "'2022-04-10T05:12:11.861000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 0, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '25 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6251565b64f47ac1b7e6ec07', "
 "'name': 'feodotracker-0-20220409', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-16T00:04:53.479000', 'created': "
 "'2022-04-09T09:48:11.334000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '26 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624e61bd1ce9fb5b0e6334df', "
 "'name': 'feodotracker-0-20220407', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-14T00:01:40.805000', 'created': "
 "'2022-04-07T03:59:57.344000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 11, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '28 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624d36cef231bdea72ac18e5', "
 "'name': 'feodotracker-0-20220406', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-13T00:01:48.292000', 'created': "
 "'2022-04-06T06:44:30.129000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 6, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '29 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624bdd422428575554ddd772', "
 "'name': 'feodotracker-0-20220405', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-12T00:02:34.248000', 'created': "
 "'2022-04-05T06:10:10.204000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 341, 'modified_text': '30 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624adf0a9ea1216235242137', "
 "'name': 'feodotracker-0-20220404', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-11T00:04:29.819000', 'created': "
 "'2022-04-04T12:05:30.840000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 3, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 342, 'modified_text': '31 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62290bead9aa05af6158671f', "
 "'name': 'Conti Ransomware | CISA', 'description': '', 'modified': "
 "'2022-04-10T00:02:49.890000', 'created': '2022-03-09T20:19:54.752000', "
 "'tags': ['uscert', 'csirt', 'cert', 'cybersecurity', 'cyber security', "
 "'computer security', 'u. s. computer emergency readiness', 'cyber risks', "
 "'conti', 'technique title', 'id use', 'trickbot', 'remote desktop', "
 "'protocol', 'cisa', 'kerberos', 'admin hash', 'ta0004', 'cobalt strike', "
 "'icedid', 'zloader', 'service'], 'references': "
 "['https://www.cisa.gov/uscert/sites/default/files/publications/AA21-265A.stix.xml', "
 "'https://www.cisa.gov/uscert/ncas/alerts/aa21-265a', "
 "'https://www.breachquest.com/conti-leaks-insight-into-a-ransomware-unicorn/'], "
 "'public': 1, 'adversary': '', 'targeted_countries': [], 'malware_families': "
 "[], 'attack_ids': [{'id': 'T1016', 'name': 'System Network Configuration "
 "Discovery', 'display_name': 'T1016 - System Network Configuration "
 "Discovery'}, {'id': 'T1021', 'name': 'Remote Services', 'display_name': "
 "'T1021 - Remote Services'}, {'id': 'T1021.002', 'name': 'SMB/Windows Admin "
 "Shares', 'display_name': 'T1021.002 - SMB/Windows Admin Shares'}, {'id': "
 "'T1027', 'name': 'Obfuscated Files or Information', 'display_name': 'T1027 - "
 "Obfuscated Files or Information'}, {'id': 'T1049', 'name': 'System Network "
 "Connections Discovery', 'display_name': 'T1049 - System Network Connections "
 "Discovery'}, {'id': 'T1055', 'name': 'Process Injection', 'display_name': "
 "'T1055 - Process Injection'}, {'id': 'T1057', 'name': 'Process Discovery', "
 "'display_name': 'T1057 - Process Discovery'}, {'id': 'T1059', 'name': "
 "'Command and Scripting Interpreter', 'display_name': 'T1059 - Command and "
 "Scripting Interpreter'}, {'id': 'T1059.003', 'name': 'Windows Command "
 "Shell', 'display_name': 'T1059.003 - Windows Command Shell'}, {'id': "
 "'T1078', 'name': 'Valid Accounts', 'display_name': 'T1078 - Valid "
 "Accounts'}, {'id': 'T1080', 'name': 'Taint Shared Content', 'display_name': "
 "'T1080 - Taint Shared Content'}, {'id': 'T1083', 'name': 'File and Directory "
 "Discovery', 'display_name': 'T1083 - File and Directory Discovery'}, {'id': "
 "'T1106', 'name': 'Native API', 'display_name': 'T1106 - Native API'}, {'id': "
 "'T1110', 'name': 'Brute Force', 'display_name': 'T1110 - Brute Force'}, "
 "{'id': 'T1133', 'name': 'External Remote Services', 'display_name': 'T1133 - "
 "External Remote Services'}, {'id': 'T1135', 'name': 'Network Share "
 "Discovery', 'display_name': 'T1135 - Network Share Discovery'}, {'id': "
 "'T1140', 'name': 'Deobfuscate/Decode Files or Information', 'display_name': "
 "'T1140 - Deobfuscate/Decode Files or Information'}, {'id': 'T1486', 'name': "
 "'Data Encrypted for Impact', 'display_name': 'T1486 - Data Encrypted for "
 "Impact'}, {'id': 'T1489', 'name': 'Service Stop', 'display_name': 'T1489 - "
 "Service Stop'}, {'id': 'T1490', 'name': 'Inhibit System Recovery', "
 "'display_name': 'T1490 - Inhibit System Recovery'}, {'id': 'T1558', 'name': "
 "'Steal or Forge Kerberos Tickets', 'display_name': 'T1558 - Steal or Forge "
 "Kerberos Tickets'}, {'id': 'T1558.003', 'name': 'Kerberoasting', "
 "'display_name': 'T1558.003 - Kerberoasting'}, {'id': 'T1566', 'name': "
 "'Phishing', 'display_name': 'T1566 - Phishing'}, {'id': 'T1566.001', 'name': "
 "'Spearphishing Attachment', 'display_name': 'T1566.001 - Spearphishing "
 "Attachment'}, {'id': 'T1566.002', 'name': 'Spearphishing Link', "
 "'display_name': 'T1566.002 - Spearphishing Link'}], 'industries': [], 'TLP': "
 "'white', 'cloned_from': None, 'export_count': 16, 'upvotes_count': 0, "
 "'downvotes_count': 0, 'votes_count': 0, 'locked': False, 'pulse_source': "
 "'web', 'validator_count': 0, 'comment_count': 0, 'follower_count': 0, "
 "'vote': 0, 'author': {'username': 'VertekLabs', 'id': '168455', "
 "'avatar_url': "
 "'/otxapi/users/avatar_image/media/avatars/user_168455/resized/80/avatar_3b9c358f36.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'CVE': 2, 'domain': 98, 'BitcoinAddress': 202, 'FileHash-MD5': 24, "
 "'FileHash-SHA1': 24, 'FileHash-SHA256': 72}, 'indicator_count': 422, "
 "'is_author': False, 'is_subscribing': None, 'subscriber_count': 85, "
 "'modified_text': '32 days ago ', 'is_modified': True, 'groups': [], "
 "'in_group': False, 'threat_hunter_scannable': True, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62494787cf39b823ff8f7afe', "
 "'name': 'feodotracker-0-20220403', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-10T00:02:49.890000', 'created': "
 "'2022-04-03T07:06:47.463000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 341, 'modified_text': '32 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6229d84f86d99550fa73e1fa', "
 "'name': 'Conti Ransomware IOC', 'description': '', 'modified': "
 "'2022-04-09T00:00:32.009000', 'created': '2022-03-10T10:51:59.898000', "
 "'tags': ['span', 'path', 'header dropdown', 'link', 'script', 'product', "
 "'explore', 'footer', 'github', 'button', 'template', 'meta', 'form', 'team', "
 "'enterprise', 'contact', 'code', 'copy', 'reload', 'body', 'star', 'open', "
 "'desktop', 'main'], 'references': "
 "['https://github.com/whichbuffer/Conti-Ransomware-IOC/blob/main/Conti%20IOC.txt'], "
 "'public': 1, 'adversary': '', 'targeted_countries': [], 'malware_families': "
 "[], 'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 8, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'web', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'bluewatcher', 'id': '174522', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': "
 "{'URL': 8, 'FileHash-MD5': 5, 'FileHash-SHA1': 1, 'FileHash-SHA256': 52, "
 "'domain': 111, 'email': 169}, 'indicator_count': 346, 'is_author': False, "
 "'is_subscribing': None, 'subscriber_count': 47, 'modified_text': '33 days "
 "ago ', 'is_modified': True, 'groups': [], 'in_group': False, "
 "'threat_hunter_scannable': True, 'threat_hunter_has_agents': 1, "
 "'related_indicator_type': 'IPv4', 'related_indicator_is_active': 0}, {'id': "
 "'6248002ceb67f57c92e0cf57', 'name': 'feodotracker-0-20220402', "
 "'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-09T00:00:32.009000', 'created': "
 "'2022-04-02T07:50:04.421000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '33 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624804aac57a56b6d6f439ff', "
 "'name': 'feodotracker-0-20220402', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-09T00:00:32.009000', 'created': "
 "'2022-04-02T08:09:14.305000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '33 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6246a992168dfa61b62e0743', "
 "'name': 'feodotracker-0-20220401', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-08T00:05:40.239000', 'created': "
 "'2022-04-01T07:28:18.183000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 3, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '34 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624557c656e4f6be5ee26782', "
 "'name': 'feodotracker-0-20220331', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-07T00:04:02.553000', 'created': "
 "'2022-03-31T07:27:02.349000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '35 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6243f3a2785e5607272c8999', "
 "'name': 'feodotracker-0-20220330', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-06T00:02:16.312000', 'created': "
 "'2022-03-30T06:07:30.478000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 2, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 343, 'modified_text': '36 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6242af0eb5b55b34f2281d71', "
 "'name': 'feodotracker-0-20220329', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-05T00:01:21.136000', 'created': "
 "'2022-03-29T07:02:38.114000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 341, 'modified_text': '37 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '624155ab63c04888ff86f565', "
 "'name': 'feodotracker-0-20220328', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-04T00:01:44.993000', 'created': "
 "'2022-03-28T06:28:59.582000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 2, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 341, 'modified_text': '38 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6240085db6c53cbc0ab1b4eb', "
 "'name': 'feodotracker-0-20220327', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-03T00:00:55.161000', 'created': "
 "'2022-03-27T06:46:53.652000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '39 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '623efad4d76871ab1edad105', "
 "'name': 'feodotracker-0-20220326', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-04-02T00:04:50.405000', 'created': "
 "'2022-03-26T11:36:52.602000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '40 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '623afb5ef6276fc9b737b2c9', "
 "'name': 'feodotracker-0-20220323', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-03-30T00:00:10.458000', 'created': "
 "'2022-03-23T10:50:06.252000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '43 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6239ff37cda86ba9dabbe1cc', "
 "'name': 'feodotracker-0-20220322', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-03-29T00:03:34.773000', 'created': "
 "'2022-03-22T16:54:15.293000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '44 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '62382a0b212a53ecbb03abf5', "
 "'name': 'feodotracker-0-20220321', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-03-28T00:01:22.803000', 'created': "
 "'2022-03-21T07:32:27.129000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 1, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 340, 'modified_text': '45 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}, {'id': '6236a7e441bade8a29c72d3f', "
 "'name': 'feodotracker-0-20220320', 'description': 'Data from "
 "https://feodotracker.abuse.ch/downloads/ipblocklist_aggressive.csv', "
 "'modified': '2022-03-27T00:00:39.057000', 'created': "
 "'2022-03-20T04:04:52.565000', 'tags': [], 'references': [], 'public': 1, "
 "'adversary': '', 'targeted_countries': [], 'malware_families': [], "
 "'attack_ids': [], 'industries': [], 'TLP': 'white', 'cloned_from': None, "
 "'export_count': 4, 'upvotes_count': 0, 'downvotes_count': 0, 'votes_count': "
 "0, 'locked': False, 'pulse_source': 'api', 'validator_count': 0, "
 "'comment_count': 0, 'follower_count': 0, 'vote': 0, 'author': {'username': "
 "'ZENDataGE', 'id': '94417', 'avatar_url': "
 "'https://otx.alienvault.com/assets/images/default-avatar.png', "
 "'is_subscribed': False, 'is_following': False}, 'indicator_type_counts': {}, "
 "'indicator_count': 0, 'is_author': False, 'is_subscribing': None, "
 "'subscriber_count': 339, 'modified_text': '46 days ago ', 'is_modified': "
 "True, 'groups': [], 'in_group': False, 'threat_hunter_scannable': False, "
 "'threat_hunter_has_agents': 1, 'related_indicator_type': 'IPv4', "
 "'related_indicator_is_active': 0}], 'references': "
 "['https://www.breachquest.com/conti-leaks-insight-into-a-ransomware-unicorn/', "
 "'2021-09-21-Curriculo-IOCs.txt', "
 "'https://github.com/whichbuffer/Conti-Ransomware-IOC/blob/main/Conti%20IOC.txt', "
 "'https://www.cisa.gov/uscert/ncas/alerts/aa21-265a', 'blacklist_ip.backup', "
 "'https://www.cisa.gov/uscert/sites/default/files/publications/AA21-265A.stix.xml'], "
 "'related': {'alienvault': {'adversary': [], 'malware_families': [], "
 "'industries': []}, 'other': {'adversary': [], 'malware_families': [], "
 "'industries': []}}}, 'false_positive': [], 'validation': [], 'asn': 'AS55699 "
 "pt. cemerlang multimedia', 'city_data': True, 'city': 'Bandung', 'region': "
 "'JB', 'continent_code': 'AS', 'country_code3': 'IDN', 'country_code2': 'ID', "
 "'subdivision': 'JB', 'latitude': -6.9217, 'postal_code': None, 'longitude': "
 "107.6071, 'accuracy_radius': 1, 'country_code': 'ID', 'country_name': "
 "'Indonesia', 'dma_code': 0, 'charset': 0, 'area_code': 0, 'flag_url': "
 "'/assets/images/flags/id.png', 'flag_title': 'Indonesia', 'sections': "
 "['general', 'geo', 'reputation', 'url_list', 'passive_dns', 'malware', "
 "'nids_list', 'http_scans']}")

Type: 'ipv4', Provider: VirusTotal, severity: high

Details

{'verbose_msg': 'IP address in dataset', 'response_code': 1, 'positives': 3, 'detected_urls': ['https://103.101.104.229/'], 'detected_downloaded_samples': [], 'detected_communicating_samples': []}

Reference:

https://www.virustotal.com/vtapi/v2/ip-address/report

Raw Results

Raw results from provider...
("{'asn': 55699, 'undetected_urls': [], 'undetected_downloaded_samples': "
 "[{'date': '2020-08-11 18:53:02', 'positives': 0, 'total': 76, 'sha256': "
 "'121b87095769137ba3fe1d689efe8af43088ab95d1c9cf5669188fde2e9d5fab'}, "
 "{'date': '2021-05-25 16:43:33', 'positives': 0, 'total': 74, 'sha256': "
 "'78342a0905a72ce44da083dcb5d23b8ea0c16992ba2a82eece97e033d76ba3d3'}, "
 "{'date': '2021-02-17 11:39:22', 'positives': 0, 'total': 73, 'sha256': "
 "'0649170d63ef807fcca55a7e225518cda7310e15f559ad29882ebd421cf1d757'}], "
 "'detected_downloaded_samples': [], 'response_code': 1, 'as_owner': 'PT. "
 "Cemerlang Multimedia', 'detected_referrer_samples': [], 'verbose_msg': 'IP "
 "address in dataset', 'country': 'ID', 'undetected_referrer_samples': "
 "[{'date': '2022-04-04 09:13:29', 'positives': 0, 'total': 73, 'sha256': "
 "'66afc65465caf9f41dd93812284419cba60cb4d3d608d6b77f37842de7a5f5a3'}], "
 "'detected_urls': [{'url': 'https://103.101.104.229/', 'positives': 3, "
 "'total': 92, 'scan_date': '2022-05-03 15:12:47'}, {'url': "
 "'http://103.101.104.229:443/', 'positives': 3, 'total': 93, 'scan_date': "
 "'2022-04-08 06:02:57'}, {'url': 'http://103.101.104.229/', 'positives': 6, "
 "'total': 93, 'scan_date': '2022-01-04 04:47:05'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.BBC33AC9D1F14F9D3B2D30F78F7E2337/5/file', "
 "'positives': 11, 'total': 91, 'scan_date': '2021-10-08 18:40:17'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.BBC33AC9D1F14F9D3B2D30F78F7E2337/5/file/', "
 "'positives': 11, 'total': 91, 'scan_date': '2021-10-08 18:00:01'}, {'url': "
 "'https://103.101.104.229/sat1/FJLSEDAUV_W617601.DCE7336137D8E3B3B80B3BACBB3613B9/5/file', "
 "'positives': 10, 'total': 90, 'scan_date': '2021-09-03 23:10:06'}, {'url': "
 "'https://103.101.104.229/sat1/FJLSEDAUV_W617601.DCE7336137D8E3B3B80B3BACBB3613B9/5/file/', "
 "'positives': 10, 'total': 90, 'scan_date': '2021-09-03 22:44:25'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.B383523BCAF4474453EBB9379CF35FC2/5/file', "
 "'positives': 10, 'total': 90, 'scan_date': '2021-09-02 07:10:06'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.B383523BCAF4474453EBB9379CF35FC2/5/file/', "
 "'positives': 10, 'total': 90, 'scan_date': '2021-09-02 06:43:31'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.0379BB767548B14B97BF79F8BB75F087/5/file', "
 "'positives': 8, 'total': 88, 'scan_date': '2021-06-21 04:20:10'}, {'url': "
 "'https://103.101.104.229/mod2/ANALYST0-2D1671_W512600.0379BB767548B14B97BF79F8BB75F087/5/file/', "
 "'positives': 7, 'total': 88, 'scan_date': '2021-06-21 03:59:55'}], "
 "'detected_communicating_samples': [{'date': '2021-09-01 02:13:54', "
 "'positives': 50, 'total': 74, 'sha256': "
 "'dc084e88f377ddd7ee21424f94f1f94b409b26ebfbfb6b8566654cc9ce71472e'}, "
 "{'date': '2021-06-20 12:51:53', 'positives': 48, 'total': 75, 'sha256': "
 "'be98cf40b1ba5dafde4834ba50fb1dc697e456b9f93cb437842f5177160c9fad'}], "
 "'undetected_communicating_samples': [], 'resolutions': []}")

Creating a Map with the IP addresses

In [30]:
# Getting the geo result for one ip
msticpy.settings.refresh_config()
iplocation = GeoLiteLookup()

loc_result, ip_entity = iplocation.lookup_ip(ip_address = '203.76.105.227')
display(ip_entity[0])
Latest local Maxmind City Database present is older than 30 days. Attempting to download new database to C:\Users\thomasroccia\.msticpy
Downloading and extracting GeoLite DB archive from MaxMind....
Extraction complete. Local Maxmind city DB: C:\Users\thomasroccia\.msticpy\GeoLite2-City.mmdb.19544.tar.gz

ipaddress

{ 'Address': '203.76.105.227',
  'Location': { 'City': 'Dhaka',
                'CountryCode': 'BD',
                'CountryName': 'Bangladesh',
                'Latitude': 23.7908,
                'Longitude': 90.4109,
                'State': 'Dhaka Division',
                'TimeGenerated': datetime.datetime(2022, 5, 12, 0, 22, 45, 503996),
                'Type': 'geolocation'},
  'TimeGenerated': datetime.datetime(2022, 5, 12, 0, 22, 45, 503996),
  'Type': 'ipaddress'}
In [31]:
# Creating the map using the folium module
iploc = []

for ip in ip_intel["Ioc"]:
    loc_result, ip_entity = iplocation.lookup_ip(ip_address = ip)
    iploc += ip_entity

folium_map = FoliumMap(zoom_start = 2)
folium_map.add_ip_cluster(ip_entities = iploc, color = 'red')
folium_map.center_map()
folium_map
Out[31]:
Make this Notebook Trusted to load map: File -> Trust Notebook