6 bonnes façons de rendre votre programme vulnérable

Magazine
Marque
MISC
Numéro
65
Mois de parution
janvier 2013
Domaines


Résumé
Stripe, une solution de paiement en ligne, est à l'origine d'un Capture The Flag à la fois ludique et instructif. Les six niveaux de ce challenge offrent un joli tour d'horizon des grandes catégories d'erreur de programmation à ne pas commettre. Nous proposerons dans cet article une analyse de chacun de ces niveaux afin de comprendre la vulnérabilité qui y a été introduite, la façon de l'exploiter et surtout les bonnes pratiques à adopter pour éviter de reproduire ces erreurs dans vos futurs programmes.

Les règles du jeu sont simples et classiques pour ceux qui sont coutumiers de ce genre d'exercice. Les identifiants de l'utilisateur du premier niveau nous permettent de nous connecter en SSH sur un serveur GNU/Linux. Chaque niveau renferme un exécutable vulnérable (et son code source) possédant le droit SUID de l'utilisateur du niveau suivant. Il faut donc exploiter successivement ces programmes pour escalader les privilèges et accéder au secret final.

Bien que le serveur initial de Stripe ne soit plus ouvert [1], ceux qui désirent effectuer ce CTF en conditions réelles pourront récupérer l'image disque du serveur [2]. De plus, Stripe a mis en ligne le code source des différents niveaux [3] ainsi que des preuves de concept pour les exploiter [4].

Les niveaux sont de difficulté croissante. Commençons donc en douceur avec le premier d'entre eux.

1. Niveau 1 : Prenez le bon chemin

1.1. Comprendre

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char **argv)

{

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Répondez aux problématiques de sécurité d’accès avec OpenSSH

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Notre infrastructure est désormais stable et sécurisée tant au niveau système que réseau. Nous allons pouvoir étudier de manière un peu approfondie un logiciel particulier : OpenSSH. Ce démon réseau nous permet de nous connecter en toute sécurité sur nos serveurs via le protocole SSH. Son développement a commencé il y a plus de 20 ans chez nos amis d’OpenBSD. La liste de ses fonctionnalités est d’une longueur impressionnante. Nous allons en parcourir ensemble quelques-unes qui, je l’espère, nous permettront d’améliorer tant notre sécurité que notre productivité quotidienne.

Les lolbas, des amis qui vous veulent du bien

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

Il existe des fichiers nativement présents sur Windows pouvant être détournés par un attaquant et ainsi être utilisés lors des différentes phases de compromission. Dans cet article, nous présenterons quelques cas d’utilisations de ces fichiers par des attaquants, ainsi que des solutions de prévention contre ces attaques.

Sécurité réseau dans un cluster Kubernetes

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

En introduisant le concept de micro-services, Kubernetes lance un nouveau défi aux solutions d’isolation et de filtrage réseau : comment gérer les droits d’accès réseau dans une infrastructure en constante mutation et dans laquelle une machine n’a plus un rôle prédéterminé ?

Définissez l'architecture de vos serveurs et installez-les

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Dans cet article, nous réfléchirons aux besoins de sécurité auxquels nos serveurs devront répondre. Il sera d’ailleurs plus question d’architecture que de serveur personnel. Pourquoi cela ? Car nos besoins vont à coup sûr évoluer dans le temps. L’approche la plus pérenne sera donc de mener une réflexion basée sur des services et non sur un serveur unique. Nous allons aussi nous attacher à assurer la résilience de nos services de base. Nos choix d’architecture auront pour objectif de pouvoir mieux détecter, contrer et éventuellement réparer les dommages causés par une attaque informatique. Nous pourrons par exemple restaurer nos services si un attaquant réussissait à prendre le contrôle du serveur. Notre plan de bataille commencera par la définition des grandes lignes de notre infrastructure, puis par la sélection de nos fournisseurs. Nous déploierons ensuite le serveur avec un premier palier de sécurisation système.

Migrez de iptables vers nftables

Magazine
Marque
Linux Pratique
Numéro
122
Mois de parution
novembre 2020
Domaines
Résumé

Il y a cinq ans, je lisais un premier article sur nftables [1] : l’outil semblait intéressant, mais il n’était pas disponible sur ma machine. En 2019, une distribution majeure, Debian, a basculé sur nftables avec sa version 10 (Buster) [2] : il est donc temps de voir comment migrer du vénérable pare-feu iptables vers son successeur.