
Reconnaître les groupes APT les plus susceptibles d'être à l'origine d'un incident
Reconnaître les groupes APT les plus susceptibles d'être responsables d'un incident
Ce programme prend un rapport d'incident de cybersécurité contenant les techniques MITRE ATT&CK qui ont été détectées comme ayant été utilisées lors de l'incident et tente de reconnaître quels groupes APT sont les plus susceptibles d'en être responsables.
Le script dépend du module enterpriseattack pour un accès facile aux
différentes techniques et groupes MITRE ATT&CK. Vous devez donc installer
ce module avant de pouvoir utiliser le script. Comme ce module requiert
Python version 3.6 ou supérieure, ce script ne fonctionne également que sous
ces versions de Python.
Clonez le dépôt :
git clone https://gitlab.com/bontchev/whodunit.git
Rendez-vous dans le répertoire du script :
cd whodunit
Installez les dépendances :
pip install -r requirements.txt
python whodunit.py [-h] [-v] [-n NUMGROUPS] [-b] [-u] [-d] techniques
Le script accepte les options de ligne de commande suivantes :
-h, --help Affiche une courte explication sur la façon d'utiliser le script et sur
les options de ligne de commande.
-v, --version Affiche la version du script et quitte.
-n NUMGROUPS, --numgroups NUMGROUPS Nombre de groupes les plus proches à lister (défaut : 10).
-b, --verbose Liste les techniques MITRE ATT&CK du rapport.
-u, --update Met à jour la copie locale des données MITRE ATT&CK.
-d, --deprecated Utilise également les techniques ATT&CK obsolètes.
techniques Un fichier texte contenant une liste des techniques MITRE ATT&CK
observées lors de l'incident de cybersécurité. Les lignes vides sont ignorées,
tout ce qui suit un caractère # sur une ligne est considéré comme un commentaire et est
ignoré. Plusieurs techniques peuvent être listées sur la même ligne, auquel
cas elles doivent être séparées par un ou plusieurs espaces.
Le dépôt contient un rapport (fictif) d'incident de cybersécurité
dans le fichier report.txt. La description en langage naturel de ce qui a été
observé se trouve dans les commentaires. Vous pouvez traiter ce rapport avec le script
comme ceci :
python whodunit.py -u -b -n 5 report.txt
Cela forcera le script à mettre à jour la copie locale des données MITRE ATT&CK
(option -u), à lister les techniques reconnues dans le rapport d'incident
(option -b) et à afficher les 5 groupes APT les plus susceptibles
d'être responsables de l'incident (option -n 5) :
Processing report file "report.txt"...
Observed techniques:
T1003.001
T1005
T1039
T1059.001
T1068
T1078.003
T1110.003
T1114.001
T1133
T1213.002
T1486
T1548.002
T1560
T1562.001
T1573.002
The 5 APT groups most likely responsible:
G0007 (APT28 ): 60.00%
G0016 (APT29 ): 53.33%
G0037 (FIN6 ): 46.67%
G0060 (BRONZE BUTLER ): 40.00%
G0114 (Chimera ): 40.00%
Le script fonctionne en trouvant l'intersection entre l'ensemble des techniques, connues pour être utilisées par chaque groupe APT, et l'ensemble des techniques listées dans le rapport d'incident, puis en signalant avec une plus grande confiance les groupes, pour lesquels cette intersection est le plus grand sous-ensemble de techniques listées dans le rapport d'incident.
La première colonne est l'identifiant du groupe APT dans le framework MITRE ATT&CK, la deuxième colonne est le nom courant de ce groupe, et la troisième colonne indique le pourcentage des techniques du rapport d'incident qui sont des techniques, connues pour être utilisées par le groupe APT correspondant.
Remarque : Seule la matrice Enterprise du framework MITRE ATT&CK est
prise en charge (et non, par exemple, les matrices Mobile ou ICS), car
c'est ce que prend en charge le module enterpriseattack.
Ce projet est sous licence GNU v3.0.