SOC
Le centre d'opération de cyberdéfense est là pour vous protéger !
[SOC] Outils de cyber défense
Introduction
Cette page répertorie une base d'outils de cyber défense utile à un SOC ou même à un administrateur aguéri et conscient des enjeux cyber.
Scanner d'URL
Une multitude d'outils existent pour scanner les URL grâce à leur réputation.
Voici une liste d'outils :
- VirusTotal
- MetaDefender Cloud - OPSWAT
- URLscan.io
- URLhaus
- WhoIs
- Cisco Talos Intelligence
- ThreatMiner
- Brightcloud
Scanner d'adresse IP
Voici une liste d'outils en ligne pour analyser la réputation des adresses IP :
- AbuseIPDB
- MetaDefender Cloud - OPSWAT
- Cisco Talos Intelligence
- Feodo Tracker
- Threatbook
- Pulsedive
- Shodan
- XForceIBM
- Alienvault
- GreyNoise
Scanner de fichier et de hash
Voici une liste d'outils en ligne pour analyser des fichiers et des hashs de fichiers :
- VirusTotal
- MetaDefender Cloud - OPSWAT
- MalwareBazaar
- Malshare
- Cisco Talos Intelligence
- HybridAnalysis
Règles de détection
Blacklist d'empreintes de certificats SSL
Scanner de mail
Pour se protéger du phishing, il peut être utile d'utiliser des outils qui vont décortiquer le mail afin de potentiellement trouver des IOC.
Sandbox
Les sandboxs permettent de tester le comportement de fichier ou de site web afin de détecter un comportement malveillant dans un environnement protégé.
- Browserling : Accéder à un site web dans une sandbox.
- AnyRun : Lancer un exécutable Windows dans une sandbox.
- Wannabrowser : Accéder à un site web dans une sandbox.
Matrice MITRE ATT&CK
Framework permettant notamment de lister les TTPs et les APT.
Liste d'IOC multiples
- ThreatFox : MISP events, Suricata IDS Ruleset, Domain Host files, DNS Response Policy Zone, JSON files and CSV files.
PS - Obtenir le hash d'un fichier
Get-FileHash <FILE> -Algorithm MD5
[SOC] Afficher l'empreinte d'un fichier
Introduction
Dans le cadre du travail d'analyste, il peut être intéressant d'obtenir l'empreinte d'un fichier sous ses différentes formes (MD5, SHA-1 ou SHA-256).
Ce tutoriel traitera la méthodologie à suivre sous Linux exclusivement.
Manuel
MD5
md5sum <FILE>
SHA-1
sha1sum <FILE>
SHA-256
sha256sum <FILE>
[SOC] YARA
Introduction
Le YARA est un langage pour écrire des règles de détection de malware.
Il s'agit d'un langage simple et descriptif qui est adopté par le grand public.
Il est découpé par section qui ont chacune leur utilité.
Source
- TryHackMe - Yara
- Cuckoosandbox - Sandbox pour tester vos règles Yara
- PEfile - Scan les exécutables Windows PE
Annexes
Anatomie d'une règle
Manuel
Installation
apt install -y yara
Meta
Cette section permet de donner des informations complémentaires qui ne seront pas interprêtés comme le ferait un commentaire dans du code.
Par exemple on peut utiliser le mot-clé desc, pour donner une description à notre règle afin qu'elle soit plus explicite pour les utilisateurs.
Strings
Cette section permet de détecter des chaînes de caractères présente dans les fichiers.
Voici un exemple d'utilisation :
rule helloworld_checker{
strings:
$hello_world = "Hello World!"
condition:
$hello_world
}
On peut aussi détecter des chaînes multiples :
rule helloworld_checker{
strings:
$hello_world = "Hello World!"
$hello_world_lowercase = "hello world"
$hello_world_uppercase = "HELLO WORLD"
condition:
any of them
}
Opérateurs
Comme dans les langages de programmation traditionnels, on peut utiliser des opérateurs pour nos conditions :
rule helloworld_checker{
strings:
$hello_world = "Hello World!"
condition:
#hello_world <= 10
}
Opérateurs |
Descriptions |
<= |
Plus petit ou égal |
>= |
Plus grand ou égal |
!= |
Différent de |
Combinaisons
On peut utiliser les mot-clés suivants pour combiner nos conditions :
Mot-clés |
Descriptions |
and |
Les deux conditions doivent être valides |
or |
Au moins l'une des deux conditions doit être valide |
not |
Inverse la condition (true devient false et false devient true) |
Voici un exemple pour vérifier si la chaîne est présente et si la taille du fichier est inférieure à 10KB :
rule helloworld_checker{
strings:
$hello_world = "Hello World!"
condition:
$hello_world and filesize < 10KB
}
Lancer le scan
yara <RULE>.yar <FILE_TO_SCAN>
Si la règle match, la commande renverra le nom de la règle qui a matchée ainsi que le nom du fichier qui a matché.
Scanners d'IOC basés sur Yara
Loki
Mettre à jour la base de signature
python loki.py --update
Lancer un scan d'un dossier
python loki.py -p <DIR>
YarGen
Cet outil permet de créer une règle Yara à partir d'un ou plusieurs fichiers connus pour être malveillants.
Il va se baser sur les chaînes de caractères et les informations pour générer la règle qui va détecter le ou les fichiers.
Téléchargement
Mettre à jour l'outil
python3 yarGen.py --update
Cela va mettre à jour la base avec les chaînes et les opcodes.
Créer une règle
python3 yarGen.py -m <FILE_PATH> --excludegood -o <OUTPUT.yar>
Bien que l'outil soit fonctionnel, il est recommandé d'éditer la règle pour supprimer les chaînes qui pourraient lever des faux-positifs.
[SOC] Dettect
Introduction
Le projet Dettect a pour objectif d'identifier les TTPs couvertes (et non-couvertes) par vos règles de détection.
Le projet vous aidera à générer un fichier avec vos datasources couvertes et à convertir ce fichier en un fichier importable dans le MITRE Navigator afin d'afficher les TTPs.
DeTT&CT
Voici le lien du projet :
Lancez le conteneur :
docker run -p 8080:8080 -v $(pwd)/output:/opt/DeTTECT/output -v $(pwd)/input:/opt/DeTTECT/input --name dettect -it rabobankcdc/dettect:latest /bin/bash
Puis lancez le serveur web en écoute :
python3 dettect.py e
Vous pouvez ouvrir un navigateur web et vous rendre sur http://localhost:8080 .
- Après avoir créer vos datasources et télécharger votre configuration, déplacez-le dans le dossier input du projet.
- Ensuite ouvrez un shell dans le conteneur :
docker exec -it dettect bash
Puis convertissez pour obtenir un fichier de configuration importable dans le MITRE Navigator :
python3 dettect.py ds -fd input/data-sources-new.yaml -l
Et importez dans le MITRE Navigator :