mirror of
https://github.com/DISARMFoundation/DISARMframeworks.git
synced 2024-12-23 22:39:45 -05:00
c11e9d06ad
Added framework objects: - Added technique T0066 "Degrade adversary" to TA02 - Added technique T0067 "Plan to discredit credible sources" to TA02 - Added technique T0068 "respond to breaking news event" to TA02 - Added technique T0069 "respond to active crisis" to TA02 - Added technique T0070 "Analyze existing communities" to TA02 - Added technique T0071 "Find echo chambers" to TA13 - Added technique T0072 "Segment audiences" to TA13 Added STIX generator from repo DISARM-stix2, and added code to generate github files, databases, and STIX from the same Jupyter notebook.
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
# A STIX bundle generator for the DISARM Framework.
|
|
#
|
|
# Author: Roger Johnston, Twitter: @VV_X_7
|
|
# License: GPL-3
|
|
|
|
import pandas as pd
|
|
import openpyxl
|
|
from stix2 import (Bundle, AttackPattern, ThreatActor, IntrusionSet, Relationship, CustomObject, properties,
|
|
Malware, Tool, Campaign, Identity, MarkingDefinition, ExternalReference, StatementMarking,
|
|
GranularMarking, Location, MemoryStore, Filter)
|
|
from stix2.properties import (ReferenceProperty, ListProperty, StringProperty, TimestampProperty, BooleanProperty, IntegerProperty)
|
|
|
|
import helpers
|
|
from objects import tactic, technique, matrix, bundle
|
|
from helpers import xlsx, file
|
|
|
|
|
|
def generate_disarm_stix():
|
|
"""Generates a DISARM STIX bundle.
|
|
|
|
Returns:
|
|
|
|
"""
|
|
data = helpers.xlsx.load_excel_data("../DISARM_MASTER_DATA/DISARM_FRAMEWORKS_MASTER.xlsx")
|
|
|
|
tactics = tactic.make_disarm_tactics(data)
|
|
techniques = technique.make_disarm_techniques(data)
|
|
navigator_matrix = matrix.make_disarm_matrix(tactics)
|
|
|
|
stix_objects = []
|
|
stix_objects.append(tactics)
|
|
stix_objects.append(techniques)
|
|
stix_objects.append(navigator_matrix)
|
|
|
|
stix_objects = [item for sublist in stix_objects for item in sublist]
|
|
|
|
# for i in stix_objects:
|
|
# print(i)
|
|
|
|
disarm_bundle = bundle.make_stix_bundle(stix_objects)
|
|
|
|
helpers.file.clean_output_dir()
|
|
helpers.file.write_files(stix_objects)
|
|
helpers.file.write_bundle(disarm_bundle, "DISARM")
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
generate_disarm_stix() |