MISP export

script

misp_export.sh

Documentation script

Ces variables sont déclarés car elles sont suceptibles de changer avec l’usage et/ou elles sont utilisés plusieurs fois dans le script.

ip_misp=192.168.2.3
token_misp=UmziuDKvNs5Bvm5OzR4jxwdfueKWgInV0Pb50q2T
path_file=snort_26418_em0

Les requêtes curl sont générés de la manière suivante.

Le premier curl trigger l’endpoint events/restSearch et demande du snort dans le champ “returnFormat” du feed APT41 dans le champ “tag”.
La clé API MISP générée sur la machine est passée dans le header Authorization.
La réponse du curl est ensuite envoyé à sed qui va remplacer dans la réponse tous les mots “alert” par des “reject”, permettant de bloquer plutot que seulement avertir.
Le résultat de sed est redirigé dans le fichier “/usr/local/etc/snort/snort_26418_em0/rules/apt41.rules”.

curl \
	 -d '{"returnFormat":"snort","tag":"APT41"}' \
	 -H "Authorization:${token_misp}" \
	   -H "Accept: application/json" \
	    -H "Content-type: application/json" \
	     -X POST https://$ip_misp/events/restSearch -k | sed "s/alert/reject/g" > /usr/local/etc/snort/$path_file/rules/apt41.rules

La deuxieme requête est globalement identique.
Nous demandons juste un “returnFormat” “yara” plutot que “snort”.
Nous redirigeons la requête dans le fichier adapté pour ClamAV.

curl \
	 -d '{"returnFormat":"yara","tag":"APT41"}' \
	  -H "Authorization:${token_misp}" \
	   -H "Accept: application/json" \
	    -H "Content-type: application/json" \
	     -X POST https://$ip_misp/events/restSearch -k > /var/db/clamav/apt41.yara

Tache cron

  • Cliquer sur “System” (1).
  • Cliquer sur “Package Manager” (2).

DM5

  • Cliquer sur “Available Packages”.

DM5

  • Chercher “cron” (1).
  • Cliquer sur “Install” (2).

DM5

  • Cliquer sur “Confirm”.

DM5

Le package a été installé avec succés.

DM5

  • Cliquer sur “Services” (1).
  • Cliquer sur “Cron” (2).

DM5

  • Cliquer sur “Add”.

DM5

Dans un premier temps, pour tester, nous allons lancer le script toute les minutes.

DM5

On supprime notre fichier YARA afin de voir si notre tache cron va bien relancer le script et importer les règles YARA sans intervention humaine.

DM5

Au bout d’une minute, le fichier réapparait et contient bien les règles YARA qui viennent de l’API MISP.

DM5

Maintenant que nous savons que la tache cron fonctionne, nous allons pouvoir la réglé pour qu’elle ne se déclenche qu’une fois par jour.
Nous décidons de lancer la tache tous les jours à 6h du matin.
En effet, cela permet aux salariés d’avoir les mise à jour installé pendant la nuit, prêtes lorsqu’ils arrivent au bureau.

DM5