Extraire un champs en JSON dans Splunk pour Gophish

Bonjour à tous, aujourd’hui j’ai du réaliser un rapport d’une campagne de phishing réalisée avec Gophish. Vous me connaissez, je suis pas du genre à aimer bosser dans Excel, du coup j’ai mis les résultats directement dans Splunk. Gophish est un super outil mais il a un format de log chelou a base de CSV avec du Json dedans. Du coup, on regarder rapidement comment extraire un champs en JSON dans Splunk. Alors je ne parle pas de log en format entièrement en JSON, hein, je parle bien d’évènements de « normaux » (syslog, CSV, texte, etc) avec un champs en JSON au milieu. Par exemple, un log raw de Gophish ressemble à ça :

7,jean.dupont@geekeries.org,2020-11-03T14:36:52Z,Clicked Link,"{""payload"":{""rid"":[""fKteVMb""]},""browser"":{""address"":""12.34.56.78"",""user-agent"":""Mozilla/5.0 (Linux; U; Android 11; fr-fr; Mi MIX 2S Build/QKQ1.191828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3579.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.42.1-g""}}"

On voit bien ici que le dernier élément du CSV (colonne « details » d’un export raw de Gophish) est un bon gros JSON des familles. Du coup c’est pas idéal à extraire en field extraction classique avec le source type et transform dans Splunk puisque le Json change fortement en fonction du type d’évènement. Bref, c’est un peu relou. Par contre, en search … Lire la suite

Splunk certbot et Let’s Encrypt App

Splunk certbot et Let's Encrypt

Je continue un peu sur Splunk, ce coup-ci j’ai fait une TA Splunk certbot et Let’s Encrypt. J’en ai eu un peu marre de déboguer les enrôlements certbot sans Splunk. Donc comme la dernière fois, j’ai fait une TA supportant le format de log de certbot actuel (versions 0.28.0). J’ai appliqué la même démarche que pour VSFTPD et fail2ban avec le Splunk Add-on Builder.

CLI Packaging

A la nuance qu’au moment de publier, j’ai fait l’update vers Splunk 8 qui m’a cassé le Add-on Builder… du coup j’ai du terminer en mode fichier et faire mes dernières modifs en mode CLI et par exemple packager avec :

./splunk package app TA-certbot

TLDR, elle est où cette TA Splunk certbot et Let’s Encrypt ?

Comme d’habitude, vous la trouverez sur la Splunkbase :

https://splunkbase.splunk.com/app/4758/

Modification de Limits.conf

Notez qu’il y a un configuration spécifique pour cette app. La regex que j’utilise est « un peu violente » (cf. explications ci-dessous). Du coup pour quelle soit fonctionnelle, il se peut (mais à priori ça marche quand même sans) que vous deviez modifier votre fichier limits.conf et rajouter le stanza suivant :

[rex]
depth_limit = 100000

Ce réglages permet d’augmenter la récursivité … Lire la suite

Exemples de dashboards Splunk – Demo time

Splunk Logo

Salut à tous, j’ai joué un peu avec Splunk ces derniers temps, et j’ai fait des jolis tableaux de bord pour le site et le serveur. C’est un peu un point d’étape après toute la série d’article que je vous ai fait sur Splunk. Du coup aujourd’hui pas de notions compliquées : juste des jolies images exemples de dashboards Splunk et deux vidéos dont je suis content (et merci à Grégoire pour le coup de main !)

Exemples de dashboards Splunk

fail2ban

exemples de dashboards Splunk fail2ban
Splunk Fail2ban bashboard

Ce petit dashboard est issu des travaux pour la TA de fail2ban. Les stats affichés ici sont pour 24h. J’ai refait quelques stats, on tombe sur une moyenne d’environ 500 IP différentes bannies par jour.

Vous noterez aussi les pays sources des tentatives : Chine et USA en tête, mais que la France se place en 3ème position. Signe qu’on est pas si mauvais que ça en sécurité informatique ? je vous laisse décider…

Nginx

exemples de dashboards Splunk nginx
Splunk nginx dashboard

Celui-ci sur la partie serveur web, je trouve qu’il permet de bien voir les pages du site qui fonctionnent. On voit aussi le nombre d’IP uniques qui requêtent le site (tous ne sont pas des … Lire la suite

TA pour fail2ban, ma nouvelle App Splunk

Splunk Logo

Salut à tous, il y a quelques temps je vous ai proposé une App Splunk pour gérer les logs de VSFTPD et cette semaine j’ai réalisé une TA pour fail2ban. On va profiter de l’occasion pour s’attarder sur la structure d’un App Splunk en détaillant le contenu.

Pour ceux qui débarque la précédente App fail2ban proposée sur la splunkbase ne fonctionne pas, date de 2013, et n’est notée compatible qu’avec Splunk 6… Plus exactement, le format de log qu’elle supporte ne correspond plus du tout avec celui de fail2ban en 2019…

Du coup, j’ai fait une TA supportant le format de log de fail2ban actuel (testé sur les versions 0.9.6 et 0.10.2). J’ai appliqué la même démarche que pour VSFTPD et créé l’App via le Splunk Add-on Builder. Je vous laisse rejeter un œil à mon précédent article si vous voulez savoir comment on fait pour développer une App dans Splunk.

« TLDR », elle est où ta TA pour fail2ban ?

Comme celle pour VSFTPD, mon Technology Add-on Splunk pour Fail2ban est sur la Splunkbase. Enjoy !

Regex d’analyse des logs fail2ban

Il y a un élément dans le travail que j’ai fait pour cette App … Lire la suite