PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Analyser les vulnérabilités de vos conteneurs Docker avec Grype

mardi 26 décembre 2023 à 09:00

On est en plein hiver et tous les petits vieux normalement constitués sont maintenant vaccinés contre la grippe. C’est cool, Raoult Raoul !

Mais avez-vous pensé à la santé de vos images Docker ? Et bien oui, parce qu’à force de télécharger tout un tas de conteneurs anciens et pas maintenus, vous avez sans le savoir des vulnérabilités dans vos conteneurs.

Mais alors, comment savoir ? Et bien grâce à Grype qui n’est pas un virus, mais un incroyable scanner de vulnérabilités qui peut analyser les images de conteneurs Docker, OCI et Singularity et les systèmes de fichiers.

Cet outil est ainsi capable de débusquer des vulns sur les systèmes d’exploitation containérisés tels que Alpine, Amazon Linux, BusyBox, CentOS, Debian, Ubuntu, mais également tout ce qui est vulnérabilités relatives à des langages de dev tels que Ruby, Java, JavaScript, Python, Dotnet, Golang, sans oublier PHP !

Pour l’installer, vous pouvez récupérer le binaire sur Github ou lancer la commande Curl suivante :

curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

Si vous êtes sous Mac, en plus d’être un beau gosse, vous pouvez aussi l’installer avec Brew :

brew tap anchore/grype
brew install grype

Ensuite, pour le lancer, rien de plus simple, vous appelez la commande, suivi du nom de l’image Docker telle qu’on la trouve sur le hub.docker.com par exemple. Voici un exemple de scan avec cette image de l’éditeur Balena :

./grype balena/open-balena-vpn

Et pour ne voir que les vulnérabilité existantes pour lesquelles il existe un fix, vous pouvez également ajouter le paramètre suivant :

./grype balena/open-balena-vpn --only-fixed

Par défaut Grype scanne uniquement les vulnbérabilités visibles du conteneur, mais si vous voulez faire un truc plus en profondeur et scanner toutes les couches de ce même conteneur, ajoutez le paramètre suivant :

./grype balena/open-balena-vpn --scope all-layers

Au niveau des exports, vous pouvez sortir tout ça sous la forme d’un tableau dans le terminal, ou d’un rapport JSON ou XML pour ensuite l’interroger avec des outils comme jq.

L’utilisation de Grype vous permet également un niveau élevé de personnalisation. Vous pouvez ainsi définir la portée de la recherche avec des expressions permettant d’inclure ou exclure certains fichiers ou répertoires.

Un autre atout majeur de Grype est sa capacité à intégrer des sources de données externes pour une meilleure correspondance des vulnérabilités. Ainsi, il peut analyser les données provenant de bases telles que Alpine Linux SecDB ou Debian Linux CVE Tracker pour vous fournir des informations encore plus précises sur les failles potentielles que votre image pourrait présenter.

En parlant d’intégration, si vous travaillez avec GitHub et utilisez les Actions GitHub, Grype s’intègre parfaitement pour exécuter des analyses de vulnérabilités lors de vos workflows CI, assurant ainsi la sécurité de votre code et de vos conteneurs à chaque étape du processus.

Bref, dans l’ensemble, Grype est un outil essentiel pour tous ceux qui souhaitent garantir la sécurité et l’intégrité de leurs images Docker et pas que. Que ce soit pour identifier les vulnérabilités ou tirer parti des fonctionnalités avancées telles que les sources externes et l’intégration des actions GitHub, Grype est un allié de taille dans la lutte continuelle contre les failles potentielles qui peuvent compromettre votre infrastructure.

À découvrir ici

Chisel – Le tunnel sécurisé TCP/UDP via HTTP et SSH en un clin d’œil

lundi 25 décembre 2023 à 09:00

Si vous voulez traverser des firewalls comme la banane magique traverse les murs, ou si vous voulez exposer à l’extérieur de votre réseau, l’un de vos services web ou projet de dev quelconque, il vous faut la même chose qu’El Chapo, à savoir un bon tunnel !

Et pas n’importe lequel : un tunnel HTTP / Socks !

Et pour ça, je vous présente aujourd’hui Chisel : un tunnel TCP/UDP, écrit en Go, rapide et sécurisé via SSH et fonctionnant au travers de HTTP. Vous pouvez donc l’utiliser pour passer à travers un firewall, pour accéder à des services à vous qui ne sont pas disponibles via le web, ou l’utiliser dans vos missions de pentest.

Pour faire un test rapide, vous pouvez lancer Chisel sur un serveur équipé de Docker comme ceci :

docker run --name chisel -p 9312:9312 -d --restart always jpillora/chisel server -p 9312 --socks5

Le socks5 permet d’y accéder en websockets quand les proxys HTTP ne sont pas supportés par vos outils. Ensuite, il faut installer Chisel également côté client. Vous pouvez donc l’installer avec la commande suivante (ou en récupérant le binaire ici) :

curl https://i.jpillora.com/chisel! | bash

Une fois que c’est fait, y’a plus qu’à appeler Chisel en mode client comme ceci en remplaçant IP_SERVER par l’adresse IP de votre machine qui héberge Chisel lancé en mode serveur :

chisel client -v IP_SERVER:9312 socks

Ensuite, le tunnel sécurisé va s’établir et y’a plus qu’à configurer vos outils, par exemple votre navigateur pour passer à travers votre serveur et accéder par exemple à tous vos services dispo sur votre réseau local distant.

Mettez 127.0.0.1 et le port 1080 comme serveur Socks et le tour est joué !

À découvrir ici

Et en bonus, une vidéo grâce aux Patreons qui me soutiennent !

Chob – Pour rechercher des applications Linux (Flatpack, Snap et AppImage)

dimanche 24 décembre 2023 à 09:00

Maintenant que Linux c’est devenu main-stream, il faut des outils adaptés aux gens qui s’habille normalement, prennent des douches et ont des amis.

Et Chob, même s’il est en ligne de commande, en fait partie puisqu’il permet de chercher un outil dont vous auriez besoin sous la forme d’un paquet facile à installer. Ce genre de paquets, vous les connaissez, c’est du Flatpack, Snap ou encore AppImage et c’est pratique car ça bave moins sur votre système puisque ça encapsule toutes les dépendances.

Alors comment l’utiliser ?

Et bien téléchargez le fichier exécutable pour votre distribution Linux depuis les Releases. Puis accordez les permissions d’exécution au fichier téléchargé en utilisant la commande

chmod +x chob-linux.

Lancez ensuite Chob en exécutant la commande suivante en remplaçant « PROGRAMME » par le nom du paquet que vous cherchez.:

./chob-linux PROGRAMME

Comme ça, plus besoin d’aller sur un site ou un autre pour trouver le bon truc. Vous avez tout sous la main pour récupérer du Snap, du Flatpak ou du AppImage en une simple commande.

Nosey Parker – L’outil incontournable pour détecter les secrets dans vos dépôts Git

samedi 23 décembre 2023 à 09:00

On a tous des secrets à cacher… Mais ça n’empêche pas certains développeurs un poil tête en l’air de placer ces secrets sur leurs dépôts Git. Vous l’aurez compris, quand je parle de « secrets » je parle surtout d’identifiants et de clés API qui pourraient malencontreusement se retrouver en clair dans des fichiers de code ou des textes qui seraient embarqués sur Github lors d’un git push.

Alors que faire pour éviter cela ?

Et bien que ce soit sous un aspect défensif ou offensif, Nosey Parker est l’outil qui vous faut pour dénicher les petits secrets cachés dans les coins sombres des codes et des fichiers textes de Github.

L’outil est capable de scanner des fichiers, des répertoires et l’historique entier de dépôts Git et de les passer au peigne fin à l’aide d’expressions régulières et quand il trouve quelque chose, hop l le mets de côté dans un datastore.

Cela va donc vous permettre de faire des audits de code ou tout simplement de vérifier que vous n’êtes pas ce développeur distrait dont je parlais en introduction d’article.

Pour utiliser Nosey Parker, vous pouvez le lancer via Docker ou récupérer l’outil pour macOS ou Linux ici.

Ensuite, pour scanner un dépôt git local, et mettre les résultats dans un datastore, il faut faire comme ceci :

noseyparker scan --datastore cpython cpython.git

Si vous voulez carrément scanner un dépôt Git, rien de plus simple :

noseyparker scan --datastore noseyparker --git-url https://github.com/praetorian-inc/noseyparker

Pour afficher à nouveau les trouvailles d’un Scan depuis son datastore :

noseyparker summarize --datastore noseyparker

Et pour avoir le rapport détaillé :

noseyparker report --datastore noseyparker

Et voilà, vous connaitrez en détail toutes vos fuites de données. Évidemment, c’est à utiliser avec intelligence pour sécuriser votre propre code, ou dans des missions d’audit sur lesquelles vous avez été validé.

Nosey Parker est à découvrir ici.

X-Pipe – Le hub pour vos connexions shell et votre gestion de fichiers à distance

vendredi 22 décembre 2023 à 09:00

Vous êtes tranquille sur votre ordinateur, en mode « c’est moi le boss du shell » mais à chaque fois que vous voulez vous connecter à distance sur un serveur ou transférer un fichier, c’est parti pour quelques minutes de lignes de commande à taper et de chemins d’accès, d’adresse IP et d’identifiants à retrouver.

Et si on se simplifiait un peu la vie ?

Avec X-Pipe, un logiciel gratuit si vous l’utilisez uniquement avec des outils non commerciaux, vous allez pouvoir centraliser dans une espèce de hub, toutes les connexions à vos machines distantes. Les informations de connexion conservées par Pipe-X sont évidemment chiffrées et stockées uniquement sur votre ordinateur et ce hub va vous permettre de rapidement vous connecter et de rapidement passer d’un environnement à l’autre. Il permet même de créer des raccourcis à mettre sur votre bureau, qui une fois cliqués ouvriront instantanément les connexions d’un groupe dans un terminal.

La particularité d’XPipe est qu’il s’intègre parfaitement avec nos outils existants en déléguant toutes les tâches à nos éditeurs de texte/code préférés et autres outils en ligne de commande.

Mais ce n’est pas tout puisque X-Pipe est également un gestionnaire de fichiers à distance. Cela veut dire que vous pouvez interagir avec le système de fichiers de n’importe lequel de vos serveurs, directement depuis l’outil. En un clic, vous pourrez même lancer une session ou encore éditer des fichiers. Et si un script n’est pas accessible pour des questions de droits, vous pouvez même le lancer directement via sudo.

Et le plus beau là-dedans; c’est qu’il y a même un système de scripting assez évolué qui permet de créer des script réutilisables ou des templates de scripts à lancer sur les systèmes distants.

Pour installer XPipe, il existe des versions d’installation pour les systèmes d’exploitation les plus populaires comme Windows, Linux et MacOS.

Mais aucun souci si vous préférez utiliser des versions portables…

Ou l’installer à l’aide d’une simple ligne de commande sous Windows :

powershell -ExecutionPolicy Bypass -Command iwr "https://raw.githubusercontent.com/xpipe-io/xpipe/master/get-xpipe.ps1" -OutFile "$env:TEMP\get-xpipe.ps1" ";"  "&" "$env:TEMP\get-xpipe.ps1"

ou sous macOS (vous pouvez faire aussi un brew : brew install –cask xpipe-io/tap/xpipe) :

bash <(curl -sL https://raw.githubusercontent.com/xpipe-io/xpipe/master/get-xpipe.sh)

À découvrir ici