City et Timezone mapping en PowerShell

Bonjour à tous, ca fait longtemps que je vous ai pas partager un petit article sur PowerShell, non ? Du coup aujourd’hui on parle de City et Timezone mapping en PowerShell. En effet, j’ai eu besoin de faire un mapping entre des villes et pays que j’avais en entrée dans un AD et la timezone associé. Pour que le support puisse appeler les utilisateurs sur les bons créneaux. Et… c’était pas direct que ca en a l’air.

Alors je vais couper cours, pas de budget à y mettre. Donc les truc tout fait via API (comme Google Map platform), c’est pas possible. Pareil, pas de coordonnée que des noms villes et pays. Donc les trucs à base coordonnées GPS pas ouf non plus. Enfin les trucs gratuit comme timezonedb, c’était jouable. Mais j’avais 80 000 objets à traiter, avec la limitation a 1 call par seconde j’en aurait eu pour 22h minimum.

Bref, au final , je me suis rabatu sur geonames.org. Les données sont en accès libre Download / Webservice et j’ai fait un croisement « en local » (bien à l’ancienne comme il faut) que je vous donne ci-dessous.

#Download geonames database https://download.geonames.org/export/dump/
$datafile = "cities500"
Lire la suite

Build DFIR-ORC

Bonjour à tous, je vous fait un tuto pour Faire un build DFIR-ORC. En effet, on m’a dit dans l’équipe que c’était « compliqué » et que ça allait « prendre des jours » à faire.

Du coup, j’étais pas trop d’accord :-), et je me suis dit que c’était l’occasion de vous documenter le truc tout en donnant un outil de plus à ma team. Au final, j’avoue que la doc de l’ANSSI est quand même pas folle, mais on est loin du compliqué pour avoir un premier binaire utilisable en quelques heure.

Étape 1 : Build DFIR-ORC

Bon alors commencez par télécharger VSStudio 16-2019 (ça ne fonctionne pas pour l’instant avec la version 2022 :-), oui j’ai testé, contrairement à ce laisse penser la doc). Bonne nouvelle, pour l’instant cette version est toujours téléchargeable encore par là :

https://learn.microsoft.com/en-us/visualstudio/releases/2019/release-notes

Installez là en mode « par Défaut » et importer le fichier .vsconfig donné dans la doc.

Build DFIR-ORC

Et go cliquez en bas à droite sur modifier.

Build DFIR-ORC

Laisser VS code faire son installation en cliquant sur modify (a peine 11Go à télécharger, une paille, j’aurais aimé que MS maintienne sa VM Developper en version 2019 :’-) plutôt que de … 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

BlockList iptable avec Splunk et d’AbuseIPDB

BlockList iptable avec Splunk et d'AbuseIPDB

Bonjour à tous, aujourd’hui je continue avec un article qui suit ce qu’on avait fait avec la Blacklist Iptables AbuseIPDB la dernière fois. Cette fois on va voir comment construire une BlockList iptable avec Splunk et d’AbuseIPDB.

Qu’est ce que j’entends derrière ce titre ? Simplement que la blacklist ma dernière fois n’est pas très « maline ». Dans le sens, où on verrouille juste 10 000 IP comme des bourrins et sans trop se demander si les vulns ou services qu’elles checkent nous concerne en effet. Alors, ça ne sert pas à rien hein. C’est une bonne base à bloquer facilement mais ce n’est pas forcément utile dans le sens où ces 10 000 ne se connecterons pas forcément à votre site ou infra au final.

En effet, ce qu’on souhaiterai plus, notamment dans une optique de CTI (Cyber threat Intelligence) : c’est de bloquer (sinon détecter au moins) celles qui se connectent effectivement sur nos services (genre à la fail2ban). Le problème c’est que fail2ban c’est bien en protection mono instance. Mais, quand vous protégez tout un système d’information, ça ne passe pas super bien à échelle. Par exemple, je vous laisse imaginez quand vous … Lire la suite