hacking open source et sécurité, préconisations
DESCRIPTION
Présentation des techniques de hacking et préconisations en OpenSourceTRANSCRIPT
![Page 1: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/1.jpg)
p. 1
Julien Cayssol, Certilience, Juin 2013
Hacking: sécurité avec les logiciels libres
![Page 2: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/2.jpg)
p. 2
Agenda
• Les vulnérabilités dans les produits
• Présentation des attaques– XSS (Réfléchi, Permanente, ...) – Injections ( SQL, LDAP, … )
– ...
• Démonstration
• Scénario
• Les Solutions
![Page 3: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/3.jpg)
p. 3
Des Vulnérabilités dans l'Opensource
• Dans les CMS : – En Mai sur Wordpress Core + plugins > 25
vulnérabilités– En Avril sur Drupal + Modules > 5 vulnérabilités
• Nginx ? DoS (ref : CVE-2013-2028)
Focus Web...
![Page 4: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/4.jpg)
p. 4
Les Attaques
![Page 5: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/5.jpg)
p. 5
XSS ( Cross Site Scripting )
• Réfléchi– Exemple : Echange d'un lien
• Www.banque.com/?msg='Erreur Mot de passe'
• Exploitation simple :
– Www.banque.com?msg=<script>alert('Test')</script>
• Exploitation d'une vulnérabilité sur le navigateur
![Page 6: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/6.jpg)
p. 6
XSS ( Cross Site Scripting )
• Permanente– Exemple : Un Forum.
• Une personne dépose un commentaire « <script>alert('Bonjour')</script> »
• A la consultation du forum le code s’exécute sur le poste client.
![Page 7: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/7.jpg)
p. 7
Injection SQL
• Détourner une requête– Portail d'authentification– Fiche Article
• Conséquences :– Bypass d'authentification– Récupération de données d'autres tables– Exécution de code
![Page 8: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/8.jpg)
p. 8
Injection SQL (Fonctionnement)
• Authentification– Requête :
• SELECT * from users where username='$username' and password = '$password'
– Cas 1 : Username = test & password = test• SELECT * from users where username='test' and
password = 'test'– Cas 2 : Username = test & password = admin' or 1='1
• SELECT * from users where username='test' and password = 'admin' or 1='1'
![Page 9: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/9.jpg)
p. 9
Injection SQL
• Fiche article :– Requête :
• http://url/fiche.php?id=1–Select titre,description from articles where id =$id
– Cas 1 : id=1 • Select titre,description from articles where id =1
– Cas 2 : id=999999 union select user,password from users where user='admin'• Select titre,description from articles where id =999999 union
select user,password from users where user='admin'
•
![Page 10: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/10.jpg)
p. 10
Pas uniquement SQL
• Détourner des requêtes sur LDAP– ( ) | * &–
• Détourner des commandes systèmes– &, ;, |
![Page 11: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/11.jpg)
p. 11
Démonstration
![Page 12: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/12.jpg)
p. 12
Scénario
• Recherche d'informations sur le site pour identifier les technologies.– Php ? MySQL ? Linux ? Firewall ? Dmz ?
• Identification d'une vulnérabilité : – Injection SQL ? Dépose de fichiers ? Mot de
passe faible ? Recherche des répertoires.
• Dépose du code (Normalement des privilèges limités : apache,tomcat, ...)
![Page 13: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/13.jpg)
p. 13
Scénario
• Dépose du code adapté (Normalement des privilèges limités : apache,tomcat, …)
• Elévation de privilèges :– Vuln kernel?
– Backup, script ? Clef ?
![Page 14: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/14.jpg)
p. 14
Scénario
• Dépose du code adapté (Normalement des privilèges limités : apache,tomcat, …)
• Elévation de privilèges :– Vuln kernel?
– Backup, script ? Clef ?
![Page 15: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/15.jpg)
p. 15
Scénario
• La machine est compromise.
• Dépose d'une backdoor sur la machine– Rootkit dans les couches du noyau
– Rootkit pour remplacer les commandes
– On efface les traces
![Page 16: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/16.jpg)
p. 16
Préconisations
![Page 17: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/17.jpg)
p. 17
Correction de code
• Utilisation de guides, – OWASP (Projet Opensource) www.owasp.org
TOP 10 2013, version française cette semaine
• Tests pour valider le niveau de sécurité de mon application.
• Les bonnes solutions.•
![Page 18: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/18.jpg)
p. 18
Architecture
• Firewall
• DMZ de services
• Limiter les flux in/out du serveur
![Page 19: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/19.jpg)
p. 19
Architecture
Syslog/Logstash+kibana/Apache/pfsense/
![Page 20: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/20.jpg)
p. 20
Hardening système
• Bonne configuration du serveur– Restriction des services– Minimum de privilèges– Restrictions sur le SSH ( root / password /
users)
![Page 21: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/21.jpg)
p. 21
Hardening système
• Bonne configuration du serveur– Restriction des services– Minimum de privilèges– Restrictions sur le SSH ( root / password /
users)
![Page 22: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/22.jpg)
p. 22
Hardening Apache
• Directive – ServerTokens– ServerSignature
• Désactiver le listage des répertoires
• Désactivation de certains modules
![Page 23: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/23.jpg)
p. 23
Hardening de l'application (ex : php)
• Désactivation des erreurs PHP
• Bannière expose_php
• Restriction des include
• ...
![Page 24: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/24.jpg)
p. 24
Ajoutons une couche
• mod_security : Le WAF OpenSource
– Validation des variables
– Détection d'erreurs
• Fail2ban : Regex on logs– Il est possible de le coupler à mod_security
• Monitoring– Disponibilité des services
– Sécurité : fichiers modifiés, accès...
![Page 25: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/25.jpg)
p. 25
Veille sécurité
• Tracking sur vos produits
• Procédure de mise à jour :– Sur le système– Sur les CMS (Attention aux plugins)
![Page 26: Hacking Open source et Sécurité, préconisations](https://reader035.vdocuments.pub/reader035/viewer/2022062405/5586d614d8b42a96278b477b/html5/thumbnails/26.jpg)
p. 26
Des Questions ?
Merci,
Www.certilience.fr