PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Comment scanner le code de votre infrastructure (IaC) à la recherche d’erreurs ?

samedi 31 juillet 2021 à 09:00

Si vous avez pour habitude de déployer du code dans Docker, Kubernetes, Terraform (pour AWS, Google Cloud Platform ou encore Azure)…etc., vous connaissez peut-être l’IaC.

IaC pour « infrastructure as code » consiste à gérer votre infrastructure technique à l’aide de fichiers de configuration. En gros plutôt que de créer ou modifier manuellement ou au travers de scripts, la configuration de vos serveurs, vous codez tout simplement l’infrastructure dont vous avez besoin dans des fichiers descriptifs de type IaC.

Ce fichier peut ensuite être placé sur un Git ou tout autre outil de versioning. Et c’est au moment de la création de l’infrastructure ou de sa modification qu’il sera utilisé pour automatiser tout le processus. Il existe différents services permettant de déployer de l’IaC parmi lesquels :

Cette pratique déjà mise en place dans pas mal de boites permet tout d’abord d’aller beaucoup plus vite dans les déploiements de prod, de QA, de staging…etc. Évidemment, comme on est sur du code qui est versionné, on peut suivre chaque changement au niveau de la config et revenir en arrière ou corriger plus efficacement d’éventuels problèmes de paramétrage.

Et surtout, ça permet d’éviter les étapes manuelles, donc les erreurs humaines et s’assurer que la config est identique ou correcte partout.

Toutefois, les fichiers IaC peuvent parfois contenir des erreurs. Et c’est là qu’entre en jeu Checkov.

Checkov est un outil d’analyse de code permettant de rechercher dans les fichiers IaC, les erreurs de configuration susceptibles d’entraîner des problèmes de sécurité ou de conformité. Checkov s’assure également de la conformité des standards en vigueur dans le domaine (ceux de CIS et AWS notamment)

Checkov comprend plus de 750 règles prédéfinies pour vérifier les problèmes de configuration courants. Et bien sûr, vous pouvez également y ajouter vos propres règles spécifiques si besoin.

Et vous pouvez bien sûr intégrer Checkov dans vos process CI/CD Jenkins, Github Actions, Gitlab…etc

Cet outil supporte le code de déploiement IaC des plateformes :

plateformes IaC

Pour installer Checkov vous pouvez utiliser pip :

pip install checkov

Puis scanner un fichier spécifique comme ceci :

checkov --file /user/korben/example.tf

Ou tout un répertoire :

checkov --directory /user/path/to/iac/code
code checkov

Pour en savoir plus, c’est par ici que ça se passe.

Merci à Laurent

Comment gérer une base de données comme un fichier Excel ?

vendredi 30 juillet 2021 à 09:00

fashion man people woman

Si vous suivez un peu ce qui se fait dans l’univers du No Code, vous connaissez sans doute le service payant Airtable.

Cet outil permet de gérer des bases de données super facilement, comme on gère un document Excel. Seulement, c’est du centralisé chez eux et même si l’outil est gratuit si votre base de données ne dépasse pas les 1200 enregistrements, au-delà, vous devrez passer sur du forfait payant.

Toutefois j’ai une excellente nouvelle pour vous.

Il existe un outil qui s’appelle NocoDB qui fonctionne comme Airtable en vous offrant la possibilité de transformer n’importe quel serveur MySQL, PostgreSQL, SQL Server, SQLite ou MariaDB en une feuille de calcul intelligente. Et cet outil est sous licence libre, gratuit et installable sur votre propre serveur.

Ainsi, sans débourser un centime, vous pourrez gérer votre base de données comme un tableau Excel, afficher des galeries d’images, créer des automatisations (compatible avec Zapier), collaborer à plusieurs, créer des pages de saisie de données, ou encore interagir avec vos données au travers d’une API.

Génial non ? Si vous voulez tester, ça peut se déployer en un clic sur Heroku ou alors en utilisant…

Docker…

docker run -d --name nocodb -p 8080:8080 nocodb/nocodb

Npm…

npx create-nocodb-app

ou encore Git…

git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start

Ensuite, il suffit d’accéder à l’interface avec un navigateur en vous rendant sur l’URL suivante :

http://localhost:8080/dashboard

A vous de jouer maintenant !

Devenez un champion de golf avec Mario

jeudi 29 juillet 2021 à 09:00

Article rédigé par Remouk. Merci à lui !

Après Mario, Mario Kart, Mario Tennis, Mario Party, Mario revenu… Voici Mario Golf: Super Rush pour votre Nintendo Switch préférée !

Vous connaissez la recette de ce genre de spin-off : un gameplay classique mais efficace + un enrobage « Mario et ses potes » avec ses objets, ses bonus et quelques originalités.

D’ailleurs l’originalité du jeu se trouve dans le titre : on va vous faire courir ! Oui oui, il faut rusher ! En effet, outre les modes de golf « classiques » où l’on joue chacun son tour, ce Mario Golf nous propose le speed golf et le golf mêlée dans lesquels tout le monde joue en même temps et se bouscule en courant pour rejoindre sa balle après chaque tir.

Dans le speed golf, on doit tous atteindre le même trou (parcours classiques en somme), alors qu’en mêlée, il y a plusieurs trous et il faut les « capturer » le plus vite possible (on est dans une arène). Débile ? Oui. Rigolo ? Oui. 😁

On dispose d’un éventail de personnages assez sympa et fourni, de pas mal de terrains de jeux, on peut s’amuser avec les contrôles gyroscopiques (si vous aviez aimé le golf dans Wii Sports, ça vous rappellera de bons souvenirs), et même partir dans une aventure solo scénarisée !

Donc sur le papier, plein de choses cools.

Alors on y va, et manette en main, là aussi c’est cool ! Le gameplay est super chouette, l’habillage est simpliste mais propre, bref, tout va bien. Sauf qu’on tourne vite en rond.

Malgré le contenu proposé et la montagne d’options disponibles, on a l’impression que le développement du jeu a été Super Rushé lui aussi.

Par exemple en solo, l’Aventure Golfique nous embarque dans un scénario, certes, mais il est très très minimaliste, on se contente de suivre une grosse flèche rouge dans des décors un peu tristes, remplis de personnages immobiles qui ne disent rien d’utile ou d’intéressant.

On achète des objets, on gagne de l’expérience et des points qui ne changent que très peu nos caractéristiques. Puis ça se termine assez rapidement. Ça a le mérite de nous faire découvrir tous les parcours…

Dans les autres modes de jeu, c’est un peu pareil : on s’amuse, on se prend au jeu, mais y a rien qui nous donne vraiment envie d’y revenir. Pas de challenges à relever, de trophées à débloquer, de secrets à découvrir… Il y avait pourtant du potentiel !

Comprenez bien, c’est un bon jeu de golf, bien fait et agréable, il vaut quand même le coup, mais on aurait voulu en avoir plus. 🤷‍♀️

Un client HTTP pour accélérer le développement de ses APIs

mercredi 28 juillet 2021 à 09:00

Ah les API, qu’est-ce que c’est cool ! Ça permet de récupérer des infos et d’en renvoyer d’autres, simplement avec des URLs. Oui de simples URLs. Merveilleux n’est-ce pas ?

Mais pour bien développer ses propres APIs ou utiliser les APIs d’un tiers, il faut comprendre comment ça fonctionne et il faut pouvoir les tester. Alors pour cela, la plupart des documentations préconisent d’utiliser Curl dans un terminal, mais bon, ce n’est pas ce qu’il y a de plus pratique pour des tests.

D’autres optent pour des services en ligne comme Insomnia ou Postman. Puis il y a vous qui lisez cet article et qui vous apprêtez à découvrir Prestige.

Prestige est un client HTTP en mode texte, destiné à être utilisé comme outil de développement d’API. Il dispose pas vraiment d’interface utilisateur structurée, mais ressemble plus à un notepad dans lequel vous lanceriez les URL en faisant des CTRL + ENTRÉE (ou CMD + ENTRÉE).

Cela procure beaucoup plus de flexibilité puisqu’on ne perd pas de temps avec des fenêtres de saisie pour les URL, de listes déroulantes pour les méthodes, etc. Ça peut vous dérouter si vous êtes habitué aux outils avec interface, mais c’est extrêmement simple à utiliser et ça vous permettra d’aller beaucoup plus vite.

Prestige fournit également des outils comme la possibilité de créer des modèles, de générer le corps de vos requêtes POST en JavaScript, ou encore la préexécution des callbacks.

Je ne vais pas aller plus loin dans les détails puisque tout le fonctionnement de ces outils est extrêmement bien expliqué dans leur documentation.

Prestige est sous licence Apache 2.0 (libre) et vous pouvez récupérer les sources ici si vous souhaitez le mettre en place sur votre propre machine.

Comment faire une analyse forensic d’un smartphone pour y détecter des signes d’infection ?

mardi 27 juillet 2021 à 09:00

Il y a quelques jours éclatait le scandale Pegasus. Un genre de trojan commercial qui utilise des failles 0day pour s’installer sur des smartphones Android et iOS afin d’espionner leurs utilisateurs.

Le problème ? Il s’agit d’un outil commercial édité par la société NSO Group qui est revendu à plein de services de renseignement et de sociétés privées.

Et vous connaissez la fourberie de l’humain… Pegasus a surtout été utilisé pour espionner des journalistes, des activistes…etc., ce qui est contraire aux droits de l’homme.

Bref, une saloperie de plus. Alors évidemment, sont sorties ensuite les méthodes pour « détecter » la présence de Pegasus sur les smartphones, car oui ce n’est pas simple.

Alors je ne vais pas spécialement vous expliquer comment détecter Pegasus, car vous ne l’avez probablement pas sur votre smartphone. Moi je l’ai pas en tout cas. Personne l’a en fait. Faut être président ou titilleur de gouvernement pour se retrouver avec ça sur son téléphone.

Mais n’empêche que grâce à ça, j’ai découvert un outil open source super cool qui s’appelle MVT pour Mobile Verification Toolkit. Développé et publié par le laboratoire de sécurité d’Amnesty International en juillet 2021 dans le cadre du projet Pegasus, il s’agit d’un outil destiné à faciliter l’analyse forensics des appareils Android et iOS, dans le but d’identifier les traces de compromission et accessoirement d’en sortir de la donnée.

Il faut bien sûr l’accord du propriétaire du smartphone pour faire ça. Ou au moins un accès déverrouillé au smartphone.

Je vais vous présenter ça. Maintenant si c’est Pegasus qui vous intéresse et que vous cherchez à déterminer si vous êtes infecté, installez simplement l’application Tehtris MTD qui vous dira si votre smartphone est compromis. Dispo sous Android et iOS.

Mais revenons à MVT.

MVT permet de :

Pour résumer, MVT est un outil d’investigation qui permet de rechercher des signes d’infection dans les smartphones.

Installer MVT

Avant de l’utiliser, faut l’installer. Si vous êtes sous mac, vous aurez besoin de Xcode et de homebrew et d’installer la dépendance suivante :

brew install python3 libusb

Si vous êtes sous Linux, vous aurez besoin des paquets suivants :

sudo apt install python3 python3-pip libusb-1.0-0

Et après il suffit de l’installer avec pip comme ceci :

pip install mvt

Ou si vous préférez partir des sources du projet sur Github comme ceci :

git clone https://github.com/mvt-project/mvt.git
cd mvt
pip3 install .

À présent, vous disposez de deux outils : mvt-ios et mvt-android.

Analyser un smartphone iOS

Avant de vous lancer dans l’acquisition et l’analyse des données d’un appareil iOS, vous devez déterminer quelle est la méthodologie d’analyse la plus efficace pour vous, à savoir partir d’un backup ou d’un dump complet du système.

Le backup

Cela consiste à générer une sauvegarde iTunes ou avec libmobiledevice. Il faut savoir que les sauvegardes ne fournissent qu’un sous-ensemble des fichiers stockés sur l’appareil, mais dans de nombreux cas, cela peut être suffisant pour au moins détecter certains artefacts suspects. Les sauvegardes chiffrées avec un mot de passe contiennent des enregistrements supplémentaires intéressants qui ne sont pas disponibles dans les sauvegardes non chiffrées, comme l’historique de Safari…etc. Donc pensez à chiffrer votre sauvegarde.&

Le dump


Même s’il n’est pas toujours possible de jailbreaker certains modèles d’iPhone, c’est cet accès au système de fichiers complet qui vous permettra d’extraire des données qui ne seraient pas disponibles autrement. Mais c’est assez invasif comme méthode alors je ne vous la recommande pas, sauf si vous n’avez pas prévu de rendre le smartphone ensuite, et que vous pouvez bourriner.

Étape 1 : Installer libimobiledevice

Cet utilitaire est utile lors de l’extraction des journaux de crash et de la génération de sauvegardes iTunes.

Pour l’installer sous mac :

brew install --HEAD libimobiledevice

Pour l’installer sous Linux (ubuntu, debian comme d’hab) :

sudo apt install libimobiledevice-utils

Et pour voir si ça fonctionne, entrez simplement la commande suivante dans votre terminal. Ça va sortir un tas d’infos sur votre iPhone / iPad, ce qui est déjà très sympa :

ideviceinfo

Étape 2 : Faire la sauvegarde

On va devoir faire une sauvegarde chiffrée du smartphone. Avec un Mac et iTunes (ou l’équivalent dans le Finder d’Apple) c’est possible mais je trouve ça long et un peu buggé chez moi. J’ai donc procédé à une sauvegarde complète. Tout d’abord, vous devez vous assurer que le chiffrement des sauvegardes est activé, car comme ça elles contiendront plus de données.

idevicebackup2 backup encryption on

Après vous pouvez si vous ne l’avez pas encore fait, spécifier un mot de passe pour le chiffrement des sauvegardes comme ceci :

idevicebackup2 backup changepw

Et dès que c’est bon, vous pouvez lancer la sauvegarde comme ceci :

idevicebackup2 backup --full /répertoire/de/sauvegarde/

Étape 3 : Analyser la sauvegarde

Viens ensuite l’analyse de cette sauvegarde. Pour cela, il suffit d’indiquer à l’outil le mot de passe utilisé pour le chiffrement ainsi que le répertoire où se trouve la sauvegarde (/répertoire/de/sauvegarde/).

mvt-ios decrypt-backup -p password -d /repertoire/des_fichiers/déchiffrés /répertoire/de/sauvegarde/

Voilà, y’a plus qu’à attendre et vous obtiendrez une série de fichiers JSON contenant plein d’infos sympas comme des listes de contacts, les appels, l’historique de Chrome / Safari, les SMS, les pièces jointes des SMS, les données Whatsapp…etc.

Étape 4 : Facultative – Appliquer un indicateur de compromission (IOC)

Pour savoir si on a Pegasus, il faut relancer l’outil avec un paramètre supplémentaire –iocs comme ceci

mvt-ios decrypt-backup -p password -d /repertoire/des_fichiers/déchiffrés --iocs /répertoire/de/pegasus.stix2 /répertoire/de/sauvegarde/

Et voilà… Ainsi vous saurez si Pegasus est dans la place.

Analyser un smartphone Android

Bizarrement, c’est plus complexe de faire une analyse technique d’un téléphone Android et MVT permet simplement de télécharger les APKs installés afin de les analyser et d’extraire la sauvegarde Android afin de rechercher les SMS suspects.

Étape 1 : Vérifier les APK

Pour récupérer tous les APK en place, on va donc utiliser mvt-android. Connectez le smartphone à l’ordinateur, activez le débogage USB puis lancez la commande suivant avec le chemin du répertoire où vous voulez stocker les APK :

mvt-android download-apks --output /répertoire/de/sortie

Si vous suspectez la présence d’un malware, vous pouvez également envoyer les empreintes des APK à des services comme VirusTotal ou Koodous comme ceci :

mvt-android download-apks --output /répertoire/de/sortie --virustotal (ou --koodous)

Ou si vous voulez solliciter les 2 services simultanément, ajoutez le paramètre all-checks :

mvt-android download-apks --output /répertoire/de/sortie --all-checks

Étape 2 : Vérifier la sauvegarde

Comme certaines attaques contre les téléphones Android se font par l’envoi de liens malveillants par SMS, la fonction de sauvegarde d’Android peut être utilisée pour extraire les SMS et les vérifier avec MVT.

Pour cela, vous devez connecter votre appareil Android à votre ordinateur et activer le débogage USB.

Vous pouvez ensuite utiliser adb pour extraire la sauvegarde pour les SMS uniquement avec la commande suivante :

adb backup com.android.providers.telephony

La sauvegarde sera alors stockée dans un fichier backup.ab.

Vous devrez alors utiliser Android Backup Extractor pour convertir ce fichier en un format lisible avec la commande suivante (il vous faut java) :

java -jar ~/Download/abe.jar unpack backup.ab backup.tar
tar xvf backup.tar

Vous pouvez ensuite extraire les SMS contenant des liens avec MVT comme ceci :

mvt-android check-backup --output /répertoire/des_fichiers/déchiffrés /répertoire/de/sauvegarde/

Étape 3 : Facultative – Appliquer un indicateur de compromission (IOC)

Grâce au paramètre iocs, vous pouvez spécifier un fichier STIX2 définissant une liste d’indicateurs malveillants à comparer aux enregistrements extraits de la sauvegarde par mvt.

mvt-android check-backup --output /répertoire/des_fichiers/déchiffrés --iocs /répertoire/de/pegasus.stix2 /répertoire/de/sauvegarde/

Et voilà !