--- tags: Stages Arthur/Léo --- # Préparation entretiens stages ### Questions entretien RH #### Que conaissez vous de nous ? ``` - leader de la cybersécurité en Europe - CA de plus de 768 M€ en 2020 - Plus de 3700 clients - SOC CERT partout dans le monde - 2500 experts dans 160 pays ``` #### Présentez vous: ``` - bac - prépa épita: - projet C#, OCR - semmestre étranger - ING1, C, C++, java, SQL, python - Stage blabla - SRS: ARS, FIC - CTF - je cherche un stage... ``` #### Avez vous des questions ? ``` - suite du process - questions sur le sujet de stage - questions sur l'entreprise: - types de préstas ? (pentest, redteam, audit) - composition / organisation des équipes - poles de competences ? - nb de personnes par mission - durée des missions ``` #### veille ``` - routeurs BGP - twitch ``` ### Question entretien Technique #### PORTS principaux: TCP 20 FTP transfert de données TCP 21 FTP signalisation TCP 22 SSH TCP 23 Telnet TCP 25 SMTP (Simple Mail Transfer Protocol) UDP/TCP 53 DNS UDP 67 BOOTPs (DHCP server) UDP 68 BOOTPc (DHCP client) UDP 69 TFTP (Trivial File Transfer Protocol) TCP 80 HTTP TCP 110 POP3 (Post Office Protocol: Récupération de courriel) UDP 123 NTP (Network Time Protocol: synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs) TCP 139 SMB UDP 161 SNMP (Simple Network Management Protocol: permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à distanc ) TCP 179 BGP (Border Gateway Protocol: changer des informations de routage et d'accessibilité de réseaux entre Autonomous Systems) TCP 443 HTTPS TCP 445 SMB (Microsoft File Sharing) UDP/TCP 514 Syslog (Service de journaux d'événements d'un système informatique) TCP 1433 open mssqls TCP 3306 MySQL TCP 3389 MS-RDP (Remote Desktop Protocol) 5432 Posgresql #### NMAP commands -p ports -O os scan -sS TCP SYN scan -sT TCP connect scan -sU UDP scans -sY SCTP INIT scan -sN TCP NULL -sV Get version of services -Pn Don't send ping -n Disable the DNS resolution –script vuln vulnerability check -oN output.txt -oX output.xml ### Escalde de privileges Cron SUID Capabilities Sudo NOPASSWD Sudoers/etc/passwd writable Groupe docker Exploit kernel (version de l'OS) ### RESEAU #### QRES – Que signifient les acronymes suivants : LAN = Local Area Network WLAN = Wireless Local Area Network WAN = Wide Area Network DNS = Domain Name System #### Modèle OSI? Le modèle OSI est une norme qui préconise comment les ordinateurs devraient communiquer entre eux. La couche 1 ou couche physique : Rôle : offrir un support de transmission pour la communication. Matériel associé : le hub, ou concentrateur en français. La couche 2 ou couche liaison : Rôle : connecter les machines entre elles sur un réseau local. Rôle secondaire : détecter les erreurs de transmission. Matériel associé : le switch, ou commutateur. Ethernet La couche 3 ou couche réseau : Rôle : interconnecter les réseaux entre eux. Rôle secondaire : fragmenter les paquets. Matériel associé : le routeur. IP La couche 4 ou couche transport : Nom : transport. Rôle : gérer les connexions applicatives. Rôle secondaire : garantir la connexion. Matériel associé : RAS. TCP/UDP La couche 5 ou couche session : on s'en fiche ! La couche 6 ou couche Présentation : on s'en fiche ! La couche 7 ou couche application : Rôle : RAS. Matériel associé : le proxy. #### Switch niveau 2/Routeur? Un switch permet de relier plusieurs segments d'un réseau informatique entre eux. Niveau 2: fonctionne uniquement avec les adresses MAC. Un routeur est connecté au moins à deux réseaux. En utilisant ses caractéristiques spécifiques, le routeur détermine le meilleur trajet pour le transfert des paquets. ### Routeur Un routeur assure le routage des paquets. Son rôle est de faire transiter des paquets d'une interface réseau vers une autre, au mieux, selon un ensemble de règles Couche 3 du odèle OSI (IPs). ### Firewall Appareil de sécurité réseau qui surveille le trafic réseau entrant et sortant et autorise ou bloque les paquets de donnés en se basant sur un ensemble de règles de sécurité. ## VLAN Virtual Local Area Network Regroupe, de façon logique et indépendante, un ensemble de machines informatiques. ### TCP/UDP -TCP: services d’établissement et de fin de dialogue ainsi que des messages de maintenance de la communication en mode fiable et connecté des accusés de réception, du séquençace, de l’ordonnancement, de la reprise sur erreur, du contrôle de congestion, de la temporisation -UDP: s’occupe uniquement du transport non fiable. Il est conseillé pour les applications pour du trafic en temps réel à taille fixe et régulier (voix, vidéo). Il supporte des protocoles simples (TFTP, SNMP) ou souffrant des délais (DHCP, DNS, NTP). ### DNS Traduire les noms de domaine Internet en adresse IP ou autres enregistrements ### DHCP Configuration automatique des adresses IP d'un réseau informatique #### Active Directory Services d'annuaire LDAP pour les systèmes d'exploitation Windows Permet de fournir des services centralisés d'identification et d'authentification à un réseau d'ordinateurs. ### Sécu ### Se connecter à distance: SSH,RDP,VPN ### XSS? Comment s'en prémunir? - stored XSS attacks: L’attaquant va envoyer un message ou un commentaire contenant le contenu malicieux. Lorsque les autres utilisateurs vont se rendre sur le forum ou le blog, ce contenu sera là, à chaque fois qu’ils afficheront la page. - reflected XSS attacks Ne stocke pas le contenu malicieux sur le serveur web. L'exploit envoyé à la victime via une URL qui le contient. ex: www.victim.com/meteo?ville=Lyon<script>a</script> - DOM based XSS XSS sans échange avec le serveur. Tout est exécuté localement sur le navigateur de la victime. (js par exemple) Tout le contenu doit être “échappé” (nettoyé) et “validé” afin de pouvoir être utilisé de manière sûre sur la page. Pour les attaques de type DOM, le contenu doit également être encodé, avant d’être utilisé par l’application. Utiliser un par-feu Headers: X-XSS-Protection, CSP ### SQLi? Comment s'en prémunir? Permet d'injecter dans la requête SQL en cours un morceau de requête non prévu par le système et pouvant en compromettre la sécurité. - SQL Union utilise l’operateur UNION SQL pour extraire les informations requises de la base de données ciblée. - Injection SQL error-based permet aux pirates de pondérer les messages d’erreur retournés par les serveurs pour obtenir des informations sur la structure du serveur ciblé. Les pirates saisissent volontairement des demandes invalides pour déclencher des messages d’erreur. Ces messages contiennent cependant souvent soit le résultat complet de la demande, soit des informations sur la manière d’améliorer la demande pour obtenir les résultats désirés - Injection SQL blind time-based Repose sur l’envoi d’une demande SQL à une base de données pour évaluer les résultats d’une demande. La demande en question force la base de données à patienter avant de retourner un résultat, qui sera soit TRUE soit FALSE. En fonction du temps de réponse et de la réponse elle-même, un pirate peut voir si sa charge active a bien été transmise. - Injection SQL blind boolean-based Les pirates envoient une commande SQL à la fois pour tenter d’énumérer la base de données. En fonction de la réponse qu’ils reçoivent, ils vérifient si leur charge utile a été envoyée correctement. Mais plutôt que de temporiser leurs commandes, ils combinent des expressions TRUE et FALSE. – filtrer les données rentrées dans l’application (nettoyage des données) – gérer les données avec précaution pour éviter des risques (requêtes paramètres, procédures stockées) – mettre en place une liste blanche (whitelist) des caractères acceptés. – appliquer une politique de moindre privilège, afin de réduire les risques en cas d’attaque partiellement réussie (le personnel d’accueil de la banque n’a pas accès à l’argent). -requêtes préparées. Ce sont des requêtes dans lesquels les paramètres sont interprétés indépendamment de la requête elle-même. De cette manière, il est impossible d'effectuer des injections. ### L/RFI? Comment s'en prémunir? Objectif de l’attaquant sera de lire des fichiers sensibles, contenant des informations critiques comme des fichiers de configuration par exemple. Inclure un fichier distant sur le serveur de la victime (remote = distant). Pour ce faire l’attaquant va inclure l’URL menant à son fichier malveillant dans un paramètre vulnérable. Valider les entrées Exclure les séparateurs comme "/, .." Désactiver `allow_url_fopen` Mettre à jour le serveur web, PHP Inclure direct les fichiers sans passer par l'url (if page== "accueil" or if page == "contact"...) ### CSRF? Comment s'en prémunir? Transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. Utilisation de jetons anti-CSRF (jeton spécifique a l'utilisateur qui est envoyé dans tt les submitions de formulaires) Demander un ré-auth 2FA ### XXE? Comment s'en prémunir? XML External Entity Permet de lire des fichiers sur le serveur cible. Ne pas utiliser de données dynamiques dans les documents XML. Interdire la définition d’entités ou d’entités externes. ### Quels Security Flag pour les cookies? secure and HttpOnly ### Open Redirect? https://www.monsite.com?redirectURL=https://www.siteMalicieux.com ### Pentest vs vulnerability test Vulnerability test = ensemble de test automatisés Pentest: plus rigoureux, effectué par un humain ### Black vs White vs Grey box Black: on connait rien de l'aplication pas de code source etc Gray: On a des accès users classique White: Gray + le code source, la doc... ### Quels type de pentests existe? ? ### Qu'est ce que du sel? Le salage, est une méthode permettant de renforcer la sécurité des informations qui sont destinées à être hachées (par exemple des mots de passe) en y ajoutant une donnée supplémentaire afin d’empêcher que deux informations identiques conduisent à la même empreinte ### Différence entre attaquer une web app et une API? ? #### Sécuriser un site web? Certificat SSL Mise a jour régulières Hébergeur réputé Mot de passe complexe Mettre un fire-wall / proxy ### Tools utilisé en pentest scanner de ports: nmap Enumération de dir: dirb, dirbuster rejouer des requêtes: Burp, postman sql: sqlmap casage de mdp: hydra, john, hashcat exploit: metasploit, exploitdb bdd d'exploits: exploitdb, owasp, mitre att&ck ### Ou tu fais ta veille? Twitter, Hacker news, Discord de la promo ### Ou as besoin de t'améliorer? Rédaction de rapport de pentest -> Jamais fait Sécu mobile, Android + IOS Faire de la R&D ### 0 day? Comment s'en prémiunir Faille de sécurité informatique dont l'éditeur du logiciel ou le fournisseur de service n'a pas encore connaissance, ou qui n'a pas encore reçu de correctif Mise à jour, R&D, installer uniquement les app indispensables, par-feu, antivirus ### Attaque de mot de passe? Social enginering, Bruteforce (raimbow table, dictionaire, pure bruteforce), MITM, keylogger ### Phising? Comment se protéger Se faire passer pour un autre pour récupérer des donnés perso. Ne pas cliquer sur les pj/liens louche, antivirus, filtre anti-pourriel... ### Acronymes - IAAS: Infrastructure as a service Les services d'infrastructure, tels que le stockage et la virtualisation, sont fournis par un tiers lorsque vous en avez besoin par l'intermédiaire d'un cloud sur Internet. Ces services sont facturés selon votre utilisation. - PAAS: Platform-as-a-Service Le fournisseur héberge le matériel et les logiciels sur sa propre infrastructure et met à disposition de l'utilisateur une plateforme via Internet, sous la forme d'une solution intégrée, d'une pile de solutions ou d'un service. - SAAS: Software-as-a-Service Le fournisseur, fournit une application complète gérée par un fournisseur par l'intermédiaire d'un navigateur web. - NTP: Network Time Protocol Permet de synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs sur une référence d'heure - SNMP: Simple Network Management Protocol Permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à distance - SMTP: Simple Mail Transfer Protocol Utilisé pour transférer le courrier électronique vers les serveurs de messagerie électronique. - BGP: Border Gateway Protocol Permet d'échanger des informations de routage et d'accessibilité de réseaux entre Autonomous Systems. - NAT: Network address translation Un routeur fait du NAT lorsqu'il fait correspondre des adresses IP à d'autres adresses IP. - PAT:Port address translation Complète le NAT en changeant le port. - GPO: Group Policy Fonctions de gestion centralisée de la famille Microsoft Windows. Elles permettent la gestion des ordinateurs et des utilisateurs dans un environnement Active Directory. - DOS: Denial of Service attack Attaque informatique ayant pour but de rendre indisponible un service, d'empêcher les utilisateurs légitimes d'un service de l'utiliser (Un seul point de départ) ex: 10 Gb/s depuis une même adresse IP - DDOS: Distributed Denial of Service Same mais depuis plusieurs ordinateurs ou serveurs différents. ex: 1 Gb/s depuis 10 serveurs différents pour totaliser 10 Gb/s ### Routage asymétrique Un paquet emprunte un chemin différent selon le sens du trafic. ### Authentification forte Procédure d’identification qui requiert la concaténation d’au moins deux facteurs d’authentification Ce que je sais (mdp), Ce que je suis (empreinte), ce que je possède (yubikey) ### chiffrement symétrique et asymétrique Symétrique quand il utilise la même clé pour chiffrer et déchiffrer. Chiffrement asymétrique quand il utilise des clés différentes : une paire composée d'une clé publique, servant au chiffrement, et d'une clé privée, servant à déchiffrer. ### Différence entre déchiffrement et décryptage ? nous avons la clé, dans ce cas nous pouvons DECHIFFRER le message. nous n’avons pas la clé, dans ce cas il va falloir DECRYPTER le message. ### Contourner un proxy/firewall VPN, TOR, setup un tunel SSH ---