Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
infosec-interview-questions — 🗒️ Une collection [en cours de réalisation] de questions d'entretien pour les postes en sécurité de l'information. | Kitploit
Si vous deviez à la fois chiffrer et compresser des données lors d'une transmission, que feriez-vous en premier, et pourquoi ?
La compression vise à utiliser les motifs présents dans les données pour réduire leur taille.
Le chiffrement vise à randomiser les données afin qu'elles soient ininterprétables sans une clé secrète.
Si vous chiffrez d'abord, puis compressez, votre compression sera inutile. La compression ne fonctionne pas sur des données aléatoires.
Si vous compressez d'abord, puis chiffrez, un attaquant peut trouver des motifs dans la longueur des messages (taux de compression) pour apprendre quelque chose sur les données et potentiellement déjouer le chiffrement (comme CRIME)
Que pourraient faire des attaquants avec une vulnérabilité d'injection d'en-têtes HTTP ?
Les retours chariot et les sauts de ligne (ou %0D et %0A) sont des moyens permettant aux attaquants de contrôler les en-têtes HTTP
Les attaquants pourraient injecter du XSS via l'en-tête Referer
Les attaquants pourraient définir un cookie à une valeur connue de l'attaquant (fixation de session)
Les attaquants pourraient rediriger vers un serveur malveillant
Décrivez le dernier programme ou script que vous avez écrit. Quel problème résolvait-il ?
On cherche simplement à voir si le candidat a une compréhension de base des concepts de programmation et est au moins capable d'écrire des programmes simples
Comment implémenteriez-vous un champ de connexion sécurisé sur un site à fort trafic où la performance est un facteur à considérer ?
TLS (quelle que soit la performance) est indispensable
Quelles sont les différentes façons de gérer le brute force ?
Verrouillage/délais d'expiration des comptes
Limitation de débit des API
Restrictions IP
Fail2ban
...etc
Qu'est-ce que la falsification de requête intersite (CSRF) ? Et comment s'en défendre ?
C'est lorsqu'un attaquant amène le navigateur d'une victime à effectuer des requêtes avec les identifiants de la victime
Exemple : si une balise image (``) pointe vers une URL avec une action associée, par ex. https://foo.com/logout
La défense comprend, sans s'y limiter :
vérifier l'en-tête Origin et l'en-tête Referer
vérifier les jetons CSRF ou le nonce
Qu'est-ce que le Cross-Site Scripting (XSS) ? Quels sont les différents types de XSS ? Comment se défendre contre le XSS ?
Le XSS se produit lorsque des attaquants amènent le navigateur de la victime à exécuter du code (généralement du JavaScript) dans son navigateur
Traditionnellement, les types ont été classés en attaques XSS stockées (Stored) et réfléchies (Reflected).
Le XSS stocké est du code qu'un attaquant a pu persister dans une base de données et qui est récupéré et présenté aux victimes (par ex. forum)
Le XSS réfléchi se présente généralement sous la forme d'une URL malveillante qui inclut le code malveillant. Lorsque l'utilisateur clique sur le lien, le code s'exécute dans son navigateur
Récemment, il y a eu des discussions autour du XSS basé sur le DOM, qui se produit lorsque les attaquants peuvent contrôler des éléments du DOM, réalisant ainsi du XSS sans envoyer de requêtes au serveur
Les catégories de XSS ont tendance à se chevaucher ; il est donc bien préférable de décrire le XSS en termes comme XSS stocké côté serveur (Server Stored XSS), XSS réfléchi côté serveur (Server Reflected XSS), XSS stocké côté client (Client Stored XSS) (par ex. XSS stocké basé sur le DOM) ou XSS réfléchi côté client (Client Reflected XSS) (par ex. XSS réfléchi basé sur le DOM)
La défense comprend :
Encodage de sortie (plus important)
Validation des entrées (moins important)
Comment HTTP gère-t-il l'état ?
HTTP est sans état
L'état est stocké dans les cookies
Architecte
Avez-vous conçu des mesures de sécurité couvrant des domaines d'information qui se chevauchent ?
Pouvez-vous me donner quelques exemples d'exigences d'architecture de sécurité ?
Avez-vous conçu une solution de sécurité intégrant des composants SaaS ? À quels défis avez-vous fait face ?
Avez-vous travaillé sur un projet dans lequel les parties prenantes ont choisi d'accepter des risques de sécurité identifiés qui vous inquiétaient ? Comment avez-vous géré la situation ?
Comment gérez-vous les demandes de différentes parties prenantes ayant des exigences contradictoires ?
Comment vous assurez-vous que les architectes de solutions développent des solutions sécurisées ?
Comment vous assurez-vous qu'une solution continue d'être résiliente face à des menaces en évolution ?
Quelle est, selon vous, la technologie la plus importante actuellement ? Comment allons-nous la sécuriser ?
Blue Team
Étant donné un journal du trafic HTTP entre une machine de votre réseau et un site web tiers (par ex. Google), à quoi ressembleraient les ports source et destination ?
Le port source pourrait être un nombre supérieur au port 1024 (aussi appelé port éphémère)
Le port destination pourrait être 80 (HTTP) ou 443 (HTTPS)
Chiffrement
Quelle est la différence entre l'encodage, le chiffrement et le hachage ?
L'encodage assure l'intégrité du message. Il peut être facilement réversible. Exemple : base64
Le chiffrement garantit la confidentialité du message. Réversible uniquement avec les clés de déchiffrement appropriées. Exemple : AES256
Le hachage est une fonction à sens unique. Il ne peut pas être inversé. La sortie a une longueur fixe et est généralement plus petite que l'entrée.
Est-ce que TLS utilise un chiffrement symétrique ou asymétrique ?
Les deux.
L'échange initial est effectué avec un chiffrement asymétrique, mais le chiffrement des données en volume est effectué avec un chiffrement symétrique. Voir la question suivante pour plus d'informations.
Décrivez le processus d'établissement d'une session TLS lorsqu'une personne visite un site web sécurisé.
Le client envoie un message hello qui liste les informations cryptographiques, telles que la version SSL/TLS et l'ordre de préférence des suites de chiffrement du client. Le message contient également une chaîne d'octets aléatoire utilisée dans les calculs ultérieurs. Le client peut également inclure des méthodes de compression des données dans le message hello.
Le serveur répond avec un message hello qui contient la suite de chiffrement choisie par le serveur, le certificat numérique du serveur et une autre chaîne d'octets aléatoire. Si le serveur exige une authentification par certificat client, le serveur enverra également client certificate request au client.
Le client vérifie le certificat numérique du serveur.
Forensique
Général
Les projets open source sont-ils plus ou moins sécurisés que les projets propriétaires ?
Les deux modèles ont des avantages et des inconvénients.
Il existe des exemples de projets non sécurisés issus des deux camps.
Le modèle open source encourage « de nombreux regards » sur un projet, mais cela ne se traduit pas nécessairement par des produits plus sécurisés
Ce qui importe n'est pas open source vs propriétaire, mais le contrôle qualité du projet.
Qui admirez-vous dans le domaine de la sécurité de l'information ? Pourquoi ?
D'où tirez-vous vos actualités en sécurité ?
Réponse aux incidents
Réseaux
Red Team
Gestion des vulnérabilités
Quelle classification de vulnérabilités est la plus exploitée ?
À quelle fréquence devez-vous scanner ?
Quelle est la différence entre un scan externe et un scan interne ?
Quelle est la différence entre un scan authentifié et non authentifié ?
Comment un scan peut-il identifier l'empreinte d'un système d'exploitation ?
Qu'est-ce qu'un score CVSS ?
Comment devriez-vous répartir les scans ?
Comment conseilleriez-vous aux différentes organisations sur ce qu'elles devraient corriger en premier ?
Qu'est-ce qu'une vulnérabilité ?
Connaissez-vous l'une des méthodes standard de l'industrie pour suivre les vulnérabilités ?
Qu'est-ce que CVE et pourquoi la normalisation qu'elle apporte est-elle importante ?
Où iriez-vous pour trouver des informations supplémentaires sur une vulnérabilité ?
Quelle est la différence entre un exploit et une vulnérabilité ?
S'il y a une menace, mais pas de vulnérabilité, diriez-vous qu'il y a toujours un risque ? Et s'il y a une vulnérabilité, mais pas de menace ?
Pouvez-vous lister des vulnérabilités dont vous avez entendu parler récemment ?
Connaissez-vous des outils utilisés pour scanner les vulnérabilités ? Si non, pouvez-vous en nommer ?
Pouvez-vous lister des outils utilisés pour corriger les vulnérabilités au sein d'une entreprise ?
Qu'est-ce que SCCM ?
Connaissez-vous des outils open source couramment utilisés pour exploiter des vulnérabilités ?
Pouvez-vous lister des logiciels connus pour avoir constamment des vulnérabilités ?
À quelle fréquence les correctifs Microsoft sont-ils publiés (hors urgence ?
Le client envoie une chaîne d'octets aléatoire chiffrée avec la clé publique du serveur pour permettre au client et au serveur de calculer la clé secrète utilisée pour le chiffrement ultérieur entre le client et le serveur.
Si le serveur a demandé un certificat client, le client envoie une chaîne d'octets aléatoire chiffrée avec la clé privée du client accompagnée de son certificat numérique ou d'une « alerte d'absence de certificat numérique ». Cette alerte n'est qu'un avertissement, mais certaines implémentations feront échouer la poignée de main si l'authentification du client est obligatoire.
Le serveur vérifie le certificat numérique du client.
Le client envoie un message finished chiffré avec la clé secrète calculée
Le serveur envoie un message finished chiffré avec la clé secrète calculée
Pendant toute la durée de la session TLS, le serveur et le client peuvent désormais échanger des messages chiffrés symétriquement avec la clé secrète partagée
Qu'est-ce que la confidentialité persistante (Forward Secrecy) ?
La confidentialité persistante est un système qui utilise des clés de session éphémères pour effectuer le chiffrement réel des données TLS, de sorte que même si la clé privée du serveur était compromise, un attaquant ne pourrait pas l'utiliser pour déchiffrer des données capturées qui avaient été envoyées à ce serveur dans le passé.