Apprenez-en les raisons!, M. Laurent Desaulniers

Download Report

Transcript Apprenez-en les raisons!, M. Laurent Desaulniers

Compromission…
ou non-compromissions
apprenez-en les raisons!
Qui suis-je
- Testeur de sécurité depuis plus de 10 ans
-
Sécurité Physique
Sécurité Applicative
- Passionné
-
Plusieurs compétitions de sécurité par année
NorthSec (www.nsec.io)
- Certifications :
-
CISSP
CISM
CISA
OSCP
Au menu
Les scénarios suivants sont réels résultant de
mandat de tests d’intrusion.
Le nom et le domaine d’affaires des
compagnies ont été modifiés.
Scénario 1
Mandat
Dans le cadre d’un mandat d’audit PCI, nous
recevons le mandat de faire un test
d’intrusion externe.
L’objectif est de compromettre la base de
données de cartes de crédit.
Test externe :
-
Seulement cinq (5) serveurs externes
Aucun mots de passe par défaut :(
Aucune vulnérabilité WEB exploitable :(
IPS agressif qui bloque les tentatives
d’attaque par force brute “brute-force” :(
Étrange...
Après quelques
minutes
d’attente ...
Blind XSS?
Un “blind XSS” est un “Cross-site scripting
(XSS)” qui n’est pas détectable par
l’attaquant avec des moyens classique.
Un second canal de communication est requis
pour le détecter.
Ceci rend un “blind XSS” très difficile à
détecter.
BEEF, à la rescousse!
BEEF (Browser exploitation framework) est un
cadriciel ... Ou “Framework” qui aide à
l’exploitation des XSS en ajoutant des
modules de :
- Keylogging
- Proxy
- Attaque automatisée
BeEF!
En utilisant BeEF, il a été possible d’utiliser le
navigateur comme “Proxy” vers l’interne.
Résultat ... J’ai donc été en mesure de
l’application client
XSS-Tunnel + Malaria
Avec BEEF,
Constat : le contexte de l’application
est une application
SilverLight.
l’application, via le xss.
Décompilation
En décompilant
Constat : l’application appelle des
services web distant.
Les web services sont authentifés NTLMv2.
WSDL vous dites?
Le “Web Services Description Language”
(WSDL prononcé "wiz'-dul") c’est ...
Une requête vers le WEB
service et de me donner le
WSDL à l’aide d’un poste
authentifié.
Pleins de cartes de crédits!
requêtes via le tunnel XSS pour obtenir
l’ensemble des données clients.
MAIS!
Cette requête retourne les mots de passes
chiffrés ET les numéros de cartes de crédit
chiffrées.
En regardant l’entropie, cela semble de la vrai
crypto.
API de déchiffrement
Quel est le problème?
Donc
Vol complète de la base de données
• Via une mauvaise méthode SOAP
• Suite à la décompilation d’un binaire
• Dans un tunnel
• Causé par un “Blind XSS”
Scénario 2
Mandat
Test annuel de sécurité. Le client a été testé
l’année passé et a investi de façon
importante pendant l’année précédente.
La portée inclut :
• A
• Le réseau interne et le réseau externe.
• Certains serveurs publics sont exclus.
Quand faire un test à large portée ?
Un test de sécurité à large portée (physique,
ingénierie sociale, etc.) est intéressant si :
• Vos processus sont matures;
• Vous voulez tester votre surveillance;
• Vous voulez modéliser une menace précise.
Description
L’externe ne comprend seulement que
quelques serveurs, très sécurisé.
Sans-Fil : WPA2-EAP avec radius bien
configuré.
L’attaque
YAY!
Bien que mon affiche soit retirée assez
rapidement (quelques heures), cela me
donne quelques comptes pour accèder au
réseau interne.
… mais il y a un NAC ...
Un NAC (Network Access Control) est un
moyen de valider que l’hôte est permis sur le
réseau, en ajoutant un certificat sur le
réseau.
Bonne idée sauf que….
• Téléphone VoIP
• Imprimante
• Internet of Things
À l’interne
Le test interne est révélateur :
• Rustines manquantes ont moins d’un mois;
• Le mot de passe Admin local varie pour chaques hôtes
• Netbios est désactivé
• EMET partout!
• Antivirus partout (même linux/unix)
• Surveillance
Objectif?
Bien que je ne sois pas administrateur, “root”
ou système, j’ai déja accès aux courriels de
plusieurs personnes et j’ai accès plusieurs
disques réseaux.
Un attaquant ne cherche pas à devenir “admin”,
il cherche un accès à des données.
Cible
Accéder à la base de données de
recherche et développement.
Cette base de données est isolée dans un
environnement contrôlé et uniquement
accessible via un terminal Citrix.
Il n’est pas possible de téléverser des
exécutables via Citrix, ni de copier-coller.
Citrix n’a pas accès à internet.
Mais….
MeterPreter?
Meterpreter est un outil fait par Rapid7. Cet
outil a plusieurs fonctionnalités :
• Permet de tunneller les connections;
• Facilite le vol de mot de passe (Requiert
Système);
• Permet la capture d’écran etc...
Tunneller via Citrix
• Ouvrir un fichier txt (dans citrix);
• Mettre le curseur sur le début du fichier, et
démarrer USB Rubber Ducky;
• Sauver le fichier en .vbs;
• Exécuter le fichier vbs ce qui produit un exe.
• Exécuter le fichier exe.
• Profit!
Syndrome du M&M
Oracle
Oracle a plusieurs pages d’exemples, utilisées
à l’installation pour valider le bon
fonctionnement du serveur.
Par exemple, la page
/demo/sql/jdbc/JDBCQuery.jsp
/demo/sql/jdbc/JDBCQuery.jsp
/demo/sql/jdbc/JDBCQuery.jsp
Conclusion
Compromission complète de la base de
données :
• Via une page par défaut;
• Via un contournement de la sécurité Citrix;
• Via un contournement du NAC;
• Via un vol de mot de passe WiFi.
Leçons apprises
Dans les deux scénarios :
• AUCUNE vulnérabilité “moyenne” ou
“élevée” n’a été exploitée;
• Beaucoup d’effort de sécurisation
(chiffrement, NAC, EMET);
• La mise en place de processus de
surveillance aurait possiblement mitigé
l’attaque.
Questions?
| 2010 09 20 | CONFIDENTIEL
49