Crowdsec

Bonjour à tous. Oui, je sais, cela fait presque deux ans que je n’ai rien écrit sur le blog, mais je ne suis pas encore mort, et ce n’est pas faute d’avoir des brouillons plein les placards… Bref, la vie de Head of CERT est bien remplie ! Tout ça pour vous dire que j’ai migré le serveur geekeries.org vers un nouveau. Debian 12 se rapprochait doucement de sa fin de vie, et comme dirait Marc Fred, je n’avais pas envie de mériter de m’en prendre une. Donc on ne réfléchit pas, on patch 😉 Bref, quelques heures plus tard, et le temps de tout bien reconfigurer (iptables, fail2ban, docker, etc.), je vais pouvoir vous parler de CrowdSec et de la version free que vous pouvez déployer sur vos machines.

CrowdSec, c’est quoi déjà ?

CrowdSec se présente lui-même comme un IPS open source et participatif. Vous vous souvenez de mes posts sur AbuseIPDB? Eh bien CrowdSec, c’est globalement le même principe qu’un AbuseIPDB en mode “boosté aux hormones”. Je m’explique : comme pour AbuseIPDB, CrowdSec s’installe en tant qu’agent sur votre ou vos serveurs. Il surveille les journaux d’événements locaux à la recherche d’événements en … Lire la suite

Dynamic file name rsyslog

Bonjour à tous, allez je dépile mon backlog. Aujourd’hui je vous partage une configuration de dynamic file name rsyslog. Elle m’a bien servis y’a 1 an et demi pour diminuer le volume de log dans mon SIEM et configurer une plateforme de relais syslogs devant ce dernier. En effet, pour ceux qui auront écouté mon podcast No Limit Sécu sur les dix commandements du SIEM se rappelerons que le 1er commandements est de mettre en place une infrastructure de relais syslog .Celle ci permet le retraitement des logs, la diffusion et la conservation d’un buffer local.

En gros si on parle Splunk, le schéma retenu pour l’arrivée des logs n’est pas d’utiliser l’universal forwarder en reception « directe » des syslog. Mais bien de configurer un serveur RSYSLOG (ou Syslog-ng) intermédiaire qui écrit les logs dans des fichiers sur le serveur et l’universal forwarder surveille alors ces dossiers. Cette pratique présente de nombreux avantage :

  1. Les serveurs de collecte syslog « frontaux » avec les clients sont indépendant de la technologie de SIEM utilisé derrière. En cas de changement de SIEM, ces serveurs peuvent être maintenu.
  2. L’utilisation de fichier permet de conserver un cache local sur le serveur qui permet d’avoir un tampon de quelques
Lire la suite

Déplacer le curseur de la souris en PowerShell

Déplacer le curseur de la souris en PowerShell

Bonjour à tous, aujourd’hui je voulais vous partager un bout de script qui permet de déplacer le curseur de la souris en PowerShell. Ça parait bête, mais c’est bien pratique pour faire des blagues potaches à vos collègues, combiner avec des ruber ducky, ou faire des pièces jointes piégées à base de Macro Office. Voir simplement placer la souris à un endroit particulier dans un script avec une IHM…

Add-Type -AssemblyName System.Windows.Forms
while ($true){
  $Pos = [System.Windows.Forms.Cursor]::Position
  $x = ($pos.X % 500) + 10
  $y = ($pos.Y % 500) + 10
  [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
  Start-Sleep -Seconds 10
}
Déplacer le curseur de la souris en PowerShell

D’ailleurs et dans la même veine, vous pouvez utiliser les objets COM pour simuler la saisie de touches au clavier hein. C’est bien pratique quand vous voulez faire des démonstrations de charges malveillantes dans des macros piégés.

Par exemple, vous créez une Macro « moisie » comme je le fait dans mon livre mais au lieu d’ouvrir un canal de contrôle-commande vers un PowerShell Empire, vous ouvrez un notepad.exe, changez le focus pour mettre le bloc note devant, et faite écrire un texte de sensibilisation dedans. Effet garantie.

$wshell = New-Object -ComObject wscript.shell
$wshell.AppActivate('Bloc-note')
Sleep 1
$wshell.SendKeys('Geek!!!')
Simuler des frappes clavier en PowerShell

Voilà, maintenant vous … Lire la suite

Transferts FTPS en PowerShell

Bonjour à tous, aujourd’hui je vous repartage quelques morceaux de PowerShell dont j’ai dû me servir récemment pour faire des transferts FTP et FTPS en PowerShell au taf. C’est un peu plus propre que mon hack de transfert reverse HTTP de la dernière fois… Ça peut vous servir pour automatiser des transferts, ou sauvegarde, faire de l’exfiltration en offensif ou collecter des données depuis des machines en live-forensics par exemple. Aller sans transition je vous passe les différents bout de code que j’ai eu à faire.

Upload de fichier en FTP

Le premier bout de code est tiré de ce Stack Overflow et permet d’uploader facilement un fichier vers un serveur FTP :

$File = "Fichier.zip";
$ftp = "ftp://etienene:Passw0rd1234!@ftp.geekeries.org/testps1/somefilename.zip";
$webclient = New-Object -TypeName System.Net.WebClient;
$uri = New-Object -TypeName System.Uri -ArgumentList $ftp;
$webclient.UploadFile($uri, $File);

C’est tout con, ça tient en 5 lignes, et on peut faire l’exfiltration ou du backup facilement avec ça. Je vous renvoie vers la création d’un serveur FTP avec docker pour monter un serveur qui reçoit les données. N’oubliez pas l’existence de la fonction DownloadFile qui existe dans le même objet WebClient pour télécharger vos fichiers ensuite.

Transferts FTPS en PowerShell : upload

Bon c’est joli … Lire la suite