Add Android forensics, IOC threat-intel DB, Compose companion; scrub secrets from configs
This commit is contained in:
38
data/ioc/spyware/mvt/cellebrite/generate_stix.py
Normal file
38
data/ioc/spyware/mvt/cellebrite/generate_stix.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import sys
|
||||
import os
|
||||
from stix2.v21 import (Indicator, Malware, Relationship, Bundle)
|
||||
|
||||
|
||||
from stix2 import CustomObservable
|
||||
|
||||
def hash_format(hash):
|
||||
if len(hash) == 32:
|
||||
return "md5"
|
||||
elif len(hash) == 40:
|
||||
return "sha1"
|
||||
elif len(hash) == 64:
|
||||
return "sha256"
|
||||
else:
|
||||
return None
|
||||
|
||||
if __name__ == "__main__":
|
||||
malware_name = "Cellebrite"
|
||||
stix2_file_name = "cellebrite.stix2"
|
||||
if os.path.isfile(stix2_file_name):
|
||||
os.remove(stix2_file_name)
|
||||
|
||||
with open("package_names.txt") as f:
|
||||
package_names = list(set([a.strip() for a in f.read().split()]))
|
||||
|
||||
res = []
|
||||
malware = Malware(name=malware_name, is_family=False, description="IOCs for Cellebrite")
|
||||
res.append(malware)
|
||||
for package_name in package_names:
|
||||
i = Indicator(indicator_types=["malicious-activity"], pattern="[app:id='{}']".format(package_name), pattern_type="stix")
|
||||
res.append(i)
|
||||
res.append(Relationship(i, 'indicates', malware))
|
||||
|
||||
bundle = Bundle(objects=res)
|
||||
with open(stix2_file_name, "w+") as f:
|
||||
f.write(bundle.serialize(pretty=True, indent=4))
|
||||
print("{} file created".format(stix2_file_name))
|
||||
Reference in New Issue
Block a user