CVE-2019-12757, on fait le point…

CVE-2019-12757

Salut à tous, aujourd’hui je vous redirige vers une lecture intéressante sur la dernière grosse CVE du client Symantec, poétiquement nommée CVE-2019-12757.

Je vous la fait courte c’est un bon gros « local to root » basé sur une mauvaise affectation des droits sur dans une clé de registre utilisé par SEP pour lancer un programme. Au final un utilisateur peut modifier cette clé et faire exécuter en SYSTEM un programme arbitraire par SEP.

Et du coup, c’est specterops qui à découvert et documenté la vuln et c’est par ici que ça se passe pour le détail :

https://posts.specterops.io/cve-2019-12757-local-privilege-escalation-in-symantec-endpoint-protection-1f7fd5c859c6

Et le code de l’exploit est lui ici :

https://gist.github.com/enigma0x3/5dbb9a72b592992b27dd703edb4c20b1

Pour ceux qui auront été voir, C’est pas bien compliqué a exploiter (mais beaucoup plus à trouver). Du coup, je vous incite vivement à mettre à jour les clients SEP (de vos parcs d’entreprises ?) si nécessaire. Et si vous n’avez pas peur des méchants pirates, craignez au moins vos utilisateurs qui vont y trouver enfin un moyen facile de passer admins local sur leur poste « sécurisé ».

Voilà, j’ai pas grand chose de plus à vous dire sur la CVE-2019-12757. Aller voir les deux liens c’est de la … Lire la suite

API REST en PowerShell – développez avec Polaris !

API REST en PowerShell

Salut à tous, on va se faire un joli morceau aujourd’hui. On va voir comment développer une API REST en PowerShell et du comment coup piloter des scripts via du CURL sur linux, ou avec Invoke-RESTMethod en PowerShell.

Notez que cet article a été rédigé en collaboration avec ArnaudPETITJEAN de PowerShell-Scripting.com. Merci à lui !

C’est quoi une API REST ?

C’est un peu complexe à définir entièrement, d’ailleurs la définition de Wikipédia est floue au possible, mais je pense qu’on peut faire simple en disant que c’est simplement une API (bravo Sherlock… et si vous ne savez pas ce qu’est une API, je pense que c’est pas la peine d’aller plus loin 😉 ). Une API REST s’appelle non pas en important une bibliothèque dans un script (comme en C ou Python par exemple) mais en faisant une simple requête Web HTTP(S). L’action sera exécutée par le serveur qui expose l’API et vous pourrez exploiter le résultat directement dans votre script.

Les API REST sont à la mode depuis quelques années, notamment chez les DevOps. Elles présentent souvent les avantages d’être simples, interopérables, légères et accessibles à distance. Si vous cherchez des alternatives à REST, vous … Lire la suite

Intégration continue de scripts PowerShell (CI)*

Intégration continue de scripts PowerShell

*avec Azure Pipelines et GitHub

Salut à tous, vous rappelez la semaine dernière on avait parlé du module Pester pour faire des tests en PowerShell ? Cette semaine je vais vous montrer comment on fait de l’intégration continue de scripts PowerShell et l’automatisation des tests dans Azure DevOps. Notez que vous entendrez aussi parler de CI, pour Continuous Integration en anglais.

C’est quoi l’intégration continue ?

Les mots clés qui vont avec intégration continue sont :

  • automatiser ;
  • sa gestion de versions ;
  • ses tests ; et
  • être notifié de tout ça.

Pour ceux qui développent souvent, je dois enfoncer des portes ouvertes là. Pour les autres, il s’agit de d’industrialiser le déploiement de son code, sans passer forcément (mais on peut) par les lourds processus traditionnels de développement : qualification, alpha, bêta, release candidate, version de prod, etc.

Les avantages de mettre de la « CI » dans vos cafés dev sont multiples : meilleure qualité du code, suivi des développements, reporting automatisé pour les managers, diminution des délais de mise en prod, et j’en passe.

GitHub, et Azure Pipeline

Dans le dernier article, je vous ai montré comment on écrit des tests en PowerShell avec le module PesterLire la suite

Tests des scripts PowerShell : arrêter de « Pester »

tests des scripts PowerShell

Salut à tous ! aujourd’hui on va se pencher à l’intégration continue en PowerShell et plus particulièrement les tests des scripts PowerShell avec le module PowerShell Pester.

Les tests ? on s’en fou… yolo, non?

Alors, non… les tests on s’en passe, certes, bien sur les petits SI, ou pour les bout de scripts en read-only à usage unique. Mais dès que vous commencez à vouloir maintenir votre code dans le temps… Les tests ça devient bel investissement, car si effectivement c’est pas passionnant à écrire, ils permettent quand même de spécifier clairement les entrées et les sorties attendus de vos scripts et donc de s’assurer que celles-ci ne seront pas modifiée lors de vos futures mise à jour.

Donc, pour répondre à la question : dois-je écrire un jeu de tests pour mon code ? j’aurais tendance à dire :

  1. Si votre code est destiné à avoir une durée de vie supérieure à quelques mois : oui.
  2. Sinon, c’est à évaluer en fonction de la « criticité » du script que vous comptez exécuter. Exemple : un script qui modifie 150 000 comptes utilisateurs de manière d’un côté, ou de l’autre côté celui test si le port
Lire la suite