p. 1
Julien Cayssol, Certilience, Juin 2013
Hacking: sécurité avec les logiciels libres
p. 2
Agenda
• Les vulnérabilités dans les produits
• Présentation des attaques
– XSS (Réfléchi, Permanente, ...)
– Injecti...
p. 3
Des Vulnérabilités dans l'Opensource
• Dans les CMS :
– En Mai sur Wordpress Core + plugins > 25
vulnérabilités
– En ...
p. 4
Les Attaques
p. 5
XSS ( Cross Site Scripting )
• Réfléchi
– Exemple : Echange d'un lien
• Www.banque.com/?msg='Erreur Mot de passe'
• E...
p. 6
XSS ( Cross Site Scripting )
• Permanente
– Exemple : Un Forum.
• Une personne dépose un commentaire
« <script>alert(...
p. 7
Injection SQL
• Détourner une requête
– Portail d'authentification
– Fiche Article
• Conséquences :
– Bypass d'authen...
p. 8
Injection SQL (Fonctionnement)
• Authentification
– Requête :
• SELECT * from users where username='$username'
and pa...
p. 9
Injection SQL
• Fiche article :
– Requête :
• http://url/fiche.php?id=1
–Select titre,description from articles where...
p. 10
Pas uniquement SQL
• Détourner des requêtes sur LDAP
– ( ) | * &
–
• Détourner des commandes systèmes
– &, ;, |
p. 11
Démonstration
p. 12
Scénario
• Recherche d'informations sur le site pour
identifier les technologies.
– Php ? MySQL ? Linux ? Firewall ?...
p. 13
Scénario
• Dépose du code adapté (Normalement
des privilèges limités : apache,tomcat, …)
• Elévation de privilèges :...
p. 14
Scénario
• Dépose du code adapté (Normalement
des privilèges limités : apache,tomcat, …)
• Elévation de privilèges :...
p. 15
Scénario
• La machine est compromise.
• Dépose d'une backdoor sur la machine
– Rootkit dans les couches du noyau
– R...
p. 16
Préconisations
p. 17
Correction de code
• Utilisation de guides,
– OWASP (Projet Opensource) www.owasp.org
TOP 10 2013, version française...
p. 18
Architecture
• Firewall
• DMZ de services
• Limiter les flux in/out du serveur
p. 19
Architecture
Syslog/Logstash+kibana/Apache/pfsense/
p. 20
Hardening système
• Bonne configuration du serveur
– Restriction des services
– Minimum de privilèges
– Restrictions...
p. 21
Hardening système
• Bonne configuration du serveur
– Restriction des services
– Minimum de privilèges
– Restrictions...
p. 22
Hardening Apache
• Directive
– ServerTokens
– ServerSignature
• Désactiver le listage des répertoires
• Désactivatio...
p. 23
Hardening de l'application (ex : php)
• Désactivation des erreurs PHP
• Bannière expose_php
• Restriction des includ...
p. 24
Ajoutons une couche
• mod_security :
Le WAF OpenSource
– Validation des variables
– Détection d'erreurs
• Fail2ban :...
p. 25
Veille sécurité
• Tracking sur vos produits
• Procédure de mise à jour :
– Sur le système
– Sur les CMS (Attention a...
p. 26
Des Questions ?
Merci,
Www.certilience.fr
Upcoming SlideShare
Loading in …5
×

Hacking Open source et Sécurité, préconisations

813 views

Published on

Présentation des techniques de hacking et préconisations en OpenSource

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
813
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hacking Open source et Sécurité, préconisations

  1. 1. p. 1 Julien Cayssol, Certilience, Juin 2013 Hacking: sécurité avec les logiciels libres
  2. 2. 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
  3. 3. 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...
  4. 4. p. 4 Les Attaques
  5. 5. 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
  6. 6. 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.
  7. 7. 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
  8. 8. 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'
  9. 9. 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' •
  10. 10. p. 10 Pas uniquement SQL • Détourner des requêtes sur LDAP – ( ) | * & – • Détourner des commandes systèmes – &, ;, |
  11. 11. p. 11 Démonstration
  12. 12. 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, ...)
  13. 13. 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 ?
  14. 14. 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 ?
  15. 15. 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
  16. 16. p. 16 Préconisations
  17. 17. 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. •
  18. 18. p. 18 Architecture • Firewall • DMZ de services • Limiter les flux in/out du serveur
  19. 19. p. 19 Architecture Syslog/Logstash+kibana/Apache/pfsense/
  20. 20. p. 20 Hardening système • Bonne configuration du serveur – Restriction des services – Minimum de privilèges – Restrictions sur le SSH ( root / password / users)
  21. 21. p. 21 Hardening système • Bonne configuration du serveur – Restriction des services – Minimum de privilèges – Restrictions sur le SSH ( root / password / users)
  22. 22. p. 22 Hardening Apache • Directive – ServerTokens – ServerSignature • Désactiver le listage des répertoires • Désactivation de certains modules
  23. 23. p. 23 Hardening de l'application (ex : php) • Désactivation des erreurs PHP • Bannière expose_php • Restriction des include • ...
  24. 24. 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...
  25. 25. p. 25 Veille sécurité • Tracking sur vos produits • Procédure de mise à jour : – Sur le système – Sur les CMS (Attention aux plugins)
  26. 26. p. 26 Des Questions ? Merci, Www.certilience.fr

×