samedi 24 novembre 2012

Signer et encrypter un document sur un téléphone

Signer et chiffrer un document que l’on souhaite envoyer par mail est une chose bien connue (voir l’article Signer vos mails à la maison, c’est possible!), mais faire la même chose à partir de son téléphone, c’est une autre affaire!

Eh bien c’est aussi possible avec la société Nerd et à leur application mobile Mobile-ID!

Pour cela il est nécessaire de posséder un certificat permettant de chiffrer et de signer. La procédure pour obtenir un tel certificat est décrite dans l’article Créer votre propre certificat avec Openssl.

La première étape consiste à télécharger l’application de Nerd: ce que vous pouvez faire ici.

Une fois l’application installée vous devez créer un compte local en utilisant votre certificat.

Dans la vidéo ci-dessous vous pouvez voir comment utiliser l’application pour signer et chiffrer un document puis l’envoyer par mail.



Cependant l’utilisation d’un certificat comme décrit dans la vidéo correspond à l’utilisation d’un certificat logiciel. Ce certificat est présent dans le téléphone en permanence, et n’est protégé que par un code PIN. Un logiciel malveillant dispose de tout le temps nécessaire pour récupérer ce certificat (et plus précisément la clef privée).

Pour éviter un tel désagrément il devrait être possible d’utiliser un certificat stocké sur un support cryptographique. Une précision s’impose:  le certificat est publique et contient la clef publique tandis que l’information à protéger est la clef privée. C'est cette clef privée que l’on doit stocker sur un support cryptographique. Une fois stockée la clef privée ne peux plus sortir du support. Un compteur de ratification permet de protéger son utilisation: généralement au bout de 3 mauvais codes PIN le support cryptographique peut être bloqué (la valeur du compteur de ratification est bien entendu paramétrable).

La carte à puce fait partie des supports cryptographiques.

Cependant le problème est le suivant: comment connecter la carte à puce et le téléphone (ou la tablette)? Plusieurs solutions existent:
Mais même si les accessoires existent il nous manque encore les couches d’accès au certificat stocké dans la carte à partir des applications standards comme un client “mail” par exemple.

Nous ne devrions pas attendre trop longtemps car de nombreuses personnes semblent travailler d’ ”arrache-pied” sur ces couches d’accès.

Note: sur mon téléphone il n’est pas possible d’envoyer un mail signé et chiffré via l’option de Mobile-ID. Merci pour vos retours!

samedi 3 novembre 2012

Near Field Communication 101 (NFC)

Une façon simple de faire ses premiers pas dans le monde du NFC consiste à utiliser votre téléphone portable NFC et à télécharger quelques applications gratuites qui peuvent vous rendre quelques services.

Si comme moi, vous ne supportez plus de devoir activer le Bluetooth de votre téléphone à chaque fois que vous prenez votre voiture pour utiliser votre “kit mains libres”, ou bien si vous êtes énervé de devoir activer le Wifi de votre téléphone lorsque vous arrivez à la maison pour  utiliser “Allshare”, alors cet article est pour vous.

Bien entendu, le premier pré-requis est de posséder un téléphone “NFC”. Sachez par exemple que Samsung propose le NFC sur certains de ces téléphones comme le Galaxy S II Cityzi ou le Galaxy S III.

Le deuxième pré-requis est d’acheter des tags '”NFC” accessibles en lecture et en écriture. Personnellement j’ai acheté les tags chez RapidNFC (http://rapidnfc.com/). J’ai pris le tag NTAG203 Round 38mm (dans la section “White NFC Tags”) au prix de £0.65 (ce sont des livres anglaises, soit environ 0,8 euros par tag).

ntag203_round_38mm

La photo représente un rouleau de tags, le tag en lui-même est la partie ronde et blanche qui peut facilement se coller sur le tableau de bord de la voiture ou sur le mur près de la porte d’entrée de votre maison.

Le troisième pré-requis consiste à installer l’application “NFC Task Launcher” disponible sur “Google Play Store” de votre téléphone
Dans la vidéo ci-dessous je montre les étapes permettant de configurer les tags et leur utilisation:



Remarque: la vidéo a pu être réalisé en utilisant la technique décrite dans l’article précédent du blog intitulé “Afficher l’écran de votre téléphone sur votre ordinateur”

D’un point de vue purement sécurité, vous voyez immédiatement ce qu’un individu malveillant peut faire via la canal NFC! Bien entendu l’activation ou la désactivation du Wifi ou de Bluetooth ne semble pas présenter de danger immédiat (bien que cette action puisse être la première d’une série plus dangereuse), mais il est aussi possible de réaliser des actions plus complexes (ce sujet devrait faire l’objet d’un autre article).

Rappelez-vous l’effacement à distance des téléphones Samsung Galaxy S III (Samsung Galaxy S III remote data-wipe hack reportedly discovered) qui était réalisé à partir d’une ligne de code dans la page d’un site web! Cet effacement aurait pu (pourrait) être fait via NFC ou via un QRCode!

Source: Merci Lolo pour les conseils!

samedi 27 octobre 2012

Afficher l’écran de votre téléphone sur votre ordinateur

Si vous êtes l’heureux possesseur d’un téléphone Android alors vous avez la possibilité d’afficher l’écran de votre téléphone sur votre ordinateur. Pourquoi me direz-vous? Eh bien si vous souhaitez faire un présentation ou une démonstration à un groupe de personnes en affichant l’écran de votre téléphone sur votre ordinateur vous pouvez aisément le faire au travers d’un rétro-projecteur. Vous pouvez aussi enregistrer une vidéo de vos actions sur votre téléphone. La procédure ci-dessous est écrite pour un « Samsung Galaxy S2 ». Mais elle est aisément applicable aux autres téléphones « Android ».

Pré-requis : Java doit être installé sur votre ordinateur (au moins Java 6). Dans notre cas, Java 6 Update 35 est installé.

1ère étape : Configurer le téléphone pour permettre le débogage via USB

Aller dans « Paramètres » / « Options de développement » / « Débogage USB » et activer l’option
 !cid_image001_jpg@01CDAAED

2ème étape : Installer les drivers USB du téléphone

Une manière de faire consiste à installer l’application « Samsung Kies PC Sync » (cette étape varie d’un téléphone à l’autre):
  • Aller sur http://www.samsung.com
  • Choisir Assistance / Manuel et téléchargements
  • Sélectionner votre téléphone : type, sous-type et numéro de modèle (dans notre cas le modèle est le GT-I9100P)
  • Cliquer sur « Manuels et téléchargements » puis « Logiciels »
  • Télécharger et installer l’application « Samsung Kies PC Sync »

Cette étape effectuée, vous pouvez vérifier l’installation de la manière suivante:
  • Aller dans « My Computer » / « Manage » / « Device Manager »
  • Vérifier que votre téléphone est reconnue (voir l’image ci-dessous)

!cid_image002_jpg@01CDAAED

3ème étape : Télécharger et installer le SDK Android

Aller sur http://developer.android.com/sdk/index.html
  • Télécharger et installer le SDK
  • Lancer « Start » / « All Programs » / « Android SDK Tools » / « SDK Manager »
Si votre accès internet se trouve derrière un proxy il est nécessaire de le configurer de la manière suivante
  • Aller dans « Tools » / « Options »
  • Entrer le « HTTP Proxy Server » et le « HTTP Proxy Port » et cocher l’option « Force https://... »
image

Installer les packages du SDK:
  • Choisir « Package » / « Reload »
  • Sélectionner les packages à installer comme indiqué dans l’image ci-dessous
  • Cliquer sur « Install packages… »
!cid_image003_png@01CDAAED 
4ème étape : Télécharger et configurer l’application permettant de visualiser l’écran du téléphone sur l’ordinateur

Aller sur http://blog.ribomation.com/droid-at-screen/
  • Télécharger « droidAtScreen-1.0.1.jar »
Modifier les variables d’environnement :
  • Aller dans « My Computer » / « Properties » / « Advanced » / « Environment variables »
  • Créer une nouvelle variable « système » appelé « ANDROID_HOME » pointant sur le répertoire d’installation du SDK « [votre_répertoire]\Android\android-sdk »
Lancer l’application « Droid@Screen » :
  • Double-cliquer sur le fichier « droidAtScreen-1.0.1.jar »
  • Lors du premier lancement « Droid@Screen » nécessite de faire pointer ADB (Android Device Debugger) sur l’exécutable « adb.exe ». L’exécutable se trouve sous « [votre_répertoire]\Android\android-sdk\platform-tools\adb.exe»

!cid_image004_png@01CDAAED !cid_image005_png@01CDAAED

Connecter votre téléphone à la prise USB de votre PC (si ce n’est pas déjà fait).

Si votre téléphone n’apparait pas dans la liste des « Devices »
  • Cliquer sur « Restart ADB »
  • Cliquer sur « Reload devices »
Vous obtenez alors :

!cid_image006_png@01CDAAED

et enfin
 !cid_image007_jpg@01CDAAED

Source: cette article ne présente rien de nouveau mais il agrège différentes informations éparses disponibles sur internet
 

samedi 6 octobre 2012

Damn Vulnerable Web App…

Au cours de mes ballades dans le web profond, ma route a croisé une vielle VM qui semblait avoir eu un certain succès en son temps! C’était bien avant l’arrivée de Backtrack, enfin je crois!

Cette vielle VM c’est celle de Web Security Dojo de chez Maven Security (http://www.mavensecurity.com/web_security_dojo/)! Et j’ai découvert quelques applications intéressantes que je ne connaissais pas comme par exemple Google’s Gruyere, Hacme Casino et Damn Vulnerable Web App.

A l’instar de Webgoat, ces applications permettent d’apprendre en trouvant et corrigeant les failles de sécurité parsemées çà et là au travers de ces applications web.

Nous allons nous intéresser plus particulièrement à Damn Vulnerable Web App (DVWA) au travers de l’injection SQL à l’aveugle proposée (Blind SQL Injection ou Blind SQLi).

Certains puristes disent qu’une “Blind SQL Injection” se base uniquement sur le temps de traitement de la requête qui indique une réponse positive (e.g. le traitement est plus long) ou négative. Mais certains parlent aussi de “Blind SQLi” lorsque l’affichage change en fonction des résultats. Avec DVWA nous sommes dans ce deuxième cas de figure.

La vidéo ci-dessous détaille la démarche que l’on peut suivre pour ce type d’injection:



C’est fini! Mais nous devrions retrouver les applications de Web Security Dojo dans de prochains articles!

dimanche 9 septembre 2012

Quand cryptologie rime avec pédagogie!

Bon en fait nous allons plutôt parler de cryptographie! Mais bon, j’aimais bien la rime en “gie”.
Je viens de découvrir un petit outil bien sympathique que j’aurais aimé avoir en ma possession depuis longtemps. Il m’aurait permis de gagner du temps dans la compréhension de certains concepts comme par exemple la signature numérique ou bien Diffie-Hellman.
Et cet outil existe pourtant depuis un certain temps! Les experts, les vrais, chercheraient-ils à ne pas divulguer leurs trucs et astuces! Non, bien sûr que non!
L’outil dont je vous parle est CrypTool (http://www.cryptool.com), développé par des universités allemandes Siegen et Darmstadt avec Deutsche Bank et Secude comme sponsors.
CrypTool ne s’adresse pas à la communauté d’experts qui connait tout cela sur le bout des doigts depuis bien longtemps, mais plutôt aux étudiants ou aux amateurs “éclairés” souhaitant mieux comprendre la cryptographie, voire même aux professeurs voulant expliquer des notions de cryptanalyse à leurs étudiants.
CrypTool a deux principales facettes: la cryptographie et la cryptanalyse.
En cryptographie, il permet de jouer avec:
  • le chiffrement/déchiffrement moderne (e.g. Triple DES-CBC) et classique (e.g. ROT-13), symétrique et asymétrique
  • les protocoles (e.g. S/MIME)
ScreenShot024
  • la génération des hashs (e.g. SHA-512)
  • la signature numérique et sa vérification
En cryptanalyse, il permet de jouer avec:
  • e.g. quelques attaques comme l’attaque sur le “hash” d’une signature
ScreenShot025
  • e.g. des mesures d’entropie ou de périodicité
Et en plus de tout cela on peut trouver des animations excessivement bien faites permettant de comprendre par exemple comment fonctionne la génération d’une signature numérique étape par étape:
ScreenShot026
Cet outil est indispensable! Si vous avez un doute sur le fonctionnement de Diffie-Hellman! Eh bien CrypTool est là pour vous donner l’information manquante!
Un grand merci aux étudiants de Siegen et Darmstadt!

samedi 8 septembre 2012

Comprendre Esapi de l'OWASP, en s’amusant

Enfin je trouve le temps de vous présenter "Swingset interactive 1.0.1" de l'OWASP, et j’en suis ravi!
L'OWASP propose de APIs très bien faites permettant de gérer vos problèmes de  sécurité sans avoir à réinventer la roue (généralement on fait moins bien…). Pour faciliter l'adoption et la formation des développeurs, l'OWASP propose une interface interactive appelée "Esapi Swingset" permettant de comprendre et d'implémenter les fonctions de sécurité en se basant sur les APIs d'Esapi.
La marche à suivre pour mettre en œuvre ce serveur est la suivante:
  1. Télécharger le “zip” sur le site de l'OWASP sur https://www.owasp.org/index.php/ESAPI_Swingset
  2. Télécharger Eclipse sur http://www.eclipse.org/downloads/. Dans mon cas je dispose d'une version de Webgoat fonctionnant avec Eclipse et je vais donc réutiliser cette version pour y ajouter le projet Esapi (plus d’informations dans l’article Modifier le source de Webgoat, oui c’est possible!)
  3. Lancer Eclipse via Webgoat
  4. Configurer Esapi dans Eclipse. Pour cela il est nécessaire de suivre tranquillement la procédure décrite dans le fichier:
    ”.../Swingset_Interactive_1.0.1/README.txt”. Si vous avez des problèmes avec les directives de ce fichier, n'hésitez pas à me contacter.
On note le déplacement du ficher ".keystore" et du répertoire ".esapi" dans le répertoire de l'utilisateur avec lequel vous vous êtes connecté (par exemple "C:\Documents and Settings\votre_utilisateur"). Cela signifie que les fichiers générés au cours de vos tests et les fichiers de configuration se trouvent probablement à cet emplacement.
Comme décrit dans la documentation, le lancement du serveur Esapi se fait dans la vue "Serveurs" d’Eclipse. Faire un clic droit sur "Tomcat v6 Server at localhost" et choisir "Start".
ScreenShot026
Une fois que le status de ce serveur est dans l'état "Started", on peut commencer à jouer avec Esapi dans votre browser préféré (mais il est conseillé d'utiliser Firefox). Entrer l'URL suivante:
https://localhost:8443/SwingSet/main
ScreenShot023
Puisque l’objectif de cet article est de vous aider à prendre en main l'outil, nous allons le faire avec le premier exemple proposé qui est l'"Authentification".
On note que chaque thème est scindé en 3 parties:
  • un tutoriel
ScreenShot024
  • un “lab” vous permettant de réaliser votre propre implémentation en vous basant sur le tutoriel
ScreenShot025
  • la solution
Après avoir lu le tutoriel on comprend qu'il est nécessaire de créer un utilisateur puis de s'authentifier avec ce même utilisateur en suivant les règles des APIs.
Dans le “lab” on apprend que le fichier "jsp" à modifier se trouve sous:
”\WebContent\WEB-INF\jsp\LoginLab.jsp”
On ouvre le fichier dans Eclipse et on découvre que les parties du code à modifier sont signalées par "//TODO 1" pour la création de l'utilisateur et "//TODO 2" pour la phase d'authentification avec ce même utilisateur.
En observant le code on note que les paramètres suivants sont utilisés:
  • create_username
  • create_password1
  • create_password2

1ère phase: la création de l'utilisateur (TODO1)
Le code à modifier est le suivant (c’est un exemple fonctionnel mais perfectible):
User user = null;
Authenticator instance = ESAPI.authenticator();
   
try {
    if (request.getParameter("create_username")!=null){           
       // TODO 1: Use ESAPI to Create a User Account
       instance.createUser(request.getParameter("create_username"), request.getParameter("create_password1"), request.getParameter("create_password2"));
       instance.getUser(request.getParameter("create_username")).enable();
       instance.getUser(request.getParameter("create_username")).unlock();

Il faut noter qu'un utilisateur créé est par défaut désactivé et bloqué. Dans la vraie vie l'activation et le déblocage nécessiterait une intervention d'un administrateur par exemple.
Pour tester il est simplement nécessaire de sauvegarder le fichier "jsp" et de recharger la page dans le browser (Firefox dans notre cas).
Si votre utilisateur ”john” est créé vous obtenez le message "User Created : john". Vous pouvez ensuite consulter le fichier pour voir quelles sont les informations générées pour la création d'un utilisateur dans “C:\Documents and Settings\votre_utilisateur\.esapi\users.txt”
Notez en passant le chiffrement du mot de passe.

2ème phase: l'authentification avec ce même utilisateur (TODO2)
Le code à modifier est le suivant:
//user = ESAPI.authenticator().login();
//TODO 2: Login using ESAPI                    
user = ESAPI.authenticator().login(request, response);

Rien à dire. La solution est assez simple.

Optionnel: ajout du bouton "logout"
On peut en plus de l’exercice s’amuser à gérer le bouton “logout”.
On trouve le fichier "jsp" à modifier:
”\WebContent\WEB-INF\jsp\LogoutLab.jsp”
On y ajoute:
<%
Authenticator instance = ESAPI.authenticator();
instance.logout();

%>
User logout

Il est également nécessaire de modifier le fichier:
”\WebContent\WEB-INF\jsp\LoginLab.jsp”
On remplace la ligne:
<a href="main?function=Login&logout&lab">logout</a>par
<a href="main?function=Logout&lab">logout</a>


Puis après l'authentification, lorsque l'on clique sur le lien "logout",
l'utilisateur est déconnecté.
Enfin on peut corriger avec la version proposée par l'OWASP. Le code source se trouve sous:
”\WebContent\WEB-INF\jsp\LoginSolution.jsp”
Remarque: si vous sortez de votre session alors toutes vos données peuvent être perdues et vous devrez alors recommencer depuis la création de l'utilisateur (le fichier "users.txt" peut être est vide). Ce comportement semble aléatoire!
Amusez-vous bien! Et surtout utilisez Esapi dans vos implémentations!

dimanche 2 septembre 2012

Jouer aux cartes… “sans-contact” sous Windows

L’objectif de cette article est de vous montrer comment utiliser le lecteur Gemalto Prox-DU avec l’outil RFIDiot sous Windows.

Le lecteur Gemalto Prox-DU est un lecteur permettant d’utiliser à la fois des cartes “contact” et “sans-contact”. Vous pourrez trouver la description du produit à l’URL suivante: http://www.gemalto.com/france/entreprise/prox_du.html

Les “drivers”, la documentation et quelques outils peuvent également être trouvés à l’URL suivante: http://support.gemalto.com/index.php?id=prox-du_prox-su

RFIDiot est une librairie Python “open-source” permettant d’explorer les périphériques RFID. Pour ceux d’entre nous qui se posent la question, RFIDiot signifie ”RFID IO Tools”

Pour mes tests je dispose d’un PC sous Windows 7 64 bits.

Pour l’installation :

  1. Le lecteur est reconnu par défaut sous Windows 7. Il n’est donc pas nécessaire d’installer un “driver”. C’est appréciable!
  2. Installer RFIDiot pour Windows. RFIDiot peut être téléchargé sur http://rfidiot.org/ (fichier “RFIDIOt-Windows-1.0a”)
  3. Installer Python 2.7 en 32 bits. Python peut être téléchargé sur   http://www.python.org/download/releases/2.7.3/. Il est obligatoire de choisir une version 32 bits pour assurer la compatibilité avec certains des modules ci-dessous; et  il est aussi préférable de choisir la version 2.7 pour la même raison.
  4. Ajouter le module Pyscard. Pyscard peut être téléchargé sur http://sourceforge.net/projects/pyscard/ (fichier “pyscard-1.6.12.win32-py2.7.msi”)
  5. Ajouter le module Pycrypto. Pycrypto peut être téléchargé sur http://pypi.python.org/pypi/pycrypto/2.0.1 (fichier “pycrypto-2.0.1.tar.gz”). Pour finaliser l’installation, il est nécessaire d’extraire le contenu et de lancer “C:\Python27\python.exe setup.py”)
  6. Ajouter Pyreadline. Pyreadline peut être téléchargé sur https://launchpad.net/pyreadline/+download (fichier « pyreadline-2.0-dev1.win32.exe »)

Pour le test :

  1. Choisir par exemple une carte “Mifare Ultralight” et la poser sur le lecteur
  2. Dans une « invite de commandes », lancer « C:\Python27\python.exe readmifareultra.py » (si votre carte sans contact est une carte “Mifare Ultralight” bien entendu)
  3. On obtient alors le contenu de la carte:

image 

RFIDiot propose de nombreuses autres fonctionnalités que je n’ai pas encore testé sous Windows. C’est pourquoi vos commentaires, remarques ou suggestions sont les bienvenus.

samedi 1 septembre 2012

Dropbox entre dans le monde de l'authentification forte

Bien que je ne confierais pas mes secrets à Dropbox (confer MISC n°60 avec l’article intitulé “Le nuage Dropbox vu de la terre ferme”), je suis en partie rassuré par le passage de Dropbox à l'authentification 2 facteurs, rejoignant ainsi Google avec son célèbre "Google Authenticator" (voir l'article Quand Google se met à l’authentification forte…).

Comme vous pourrez le constater dans le vidéo ci-dessous, le passage au 2ème facteur se fait en souplesse.



Ce passage est facilité si vous possédez déjà l'application mobile de Google permettant de générer des OTPs, appelée Google Authenticator, et c'est mon cas! Sinon vous devez l’installer sur votre téléphone, et ce n'est pas bien compliqué (voir l'article Quand Google se met à l’authentification forte…).

Dropbox est donc complètement intégré à Google Authenticator, et c'est tant mieux!
Mais vous n'êtes pas obligé de générer les OTPs avec une application mobile. Vous pouvez également demander l’envoi d'un SMS contenant un OTP. Léger inconvénient, vous devez avoir un accès au réseau GSM!

Bravo Dropbox!

Quelques questions restent cependant en suspens:
  • Qu'en est-il du chiffrement de mes données sur les serveurs de Dropbox?
  • Quid de la garantie de suppression définitive de mes données (et des backups éventuels) après la suppression de mon compte?

Une solution, chiffrez vos données avec un bon AES 256 avant de les stocker sur Dropbox! Surtout si vous l'utilisez dans un contexte professionnel!

Moi j'ai fait mon choix!

dimanche 1 juillet 2012

Gérer son PRA à la maison, comme les pros

Dans l’idée d’appliquer des solutions professionnelles aux particuliers, ou, formulé autrement, dans l’idée de professionnaliser mon “home network”, j’ai décidé de mettre en place un “backup” de mes données prenant en compte les intempéries (incendie, tremblement de terre, pluie de sauterelles géantes) et les vols. Il ne vous a pas échappé, en passant, que je suis un brin paranoïaque. Il parait que cela va de pair avec la sécurité.

Donc l’idée est de mettre en place une sauvegarde sécurisée de mes données dans un endroit de confiance suffisamment éloigné de chez moi pour les raisons citées plus haut.

Plusieurs options s’offrent à moi:

  • soit je m’offre un service de type “cloud
  • soit je gère moi-même la sauvegarde

Les inconvénients de la première solution, l’achat d’un service de sauvegarde sur internet, sont les suivants:

  • il est difficile de savoir réellement où sont archivées les données (dans quel pays ,dans quelles conditions de sécurité,…)
  • il est aussi difficile de connaitre la politique de sécurité en ce qui concerne par exemple la suppression des données: (sont-elles réellement supprimées?) et la suppression du compte
  • et finalement les meilleurs services sont assez chers quand on les compare aux avantages de la deuxième solution

L’avantage de la deuxième solution est, hormis un prix d’entrée plus important (surtout si vous partez de “0” en terme de matériel), est le contrôle total de l’hébergement et de la sécurité. Et cette solution peut être rentabilisée sur quelques années!

Quelles sont les pré-requis pour la mettre en œuvre?

  • posséder deux NAS (un pour la maison et un pour le site de sauvegarde)
  • disposer de la fonctionnalité “rsync” ou équivalente sur chacun des NAS
  • et avoir un ami (ça c’est pas simple), de confiance (ça c’est encore plus dur) et habitant à une distance raisonnable de la maison ( ça c’est quasi impossible, mais j’ai quand même fini par en trouver un, merci “Glando”)

Donc, l’idée consiste comme vous l’avez compris à configurer un NAS (Network Access Server) en “maitre” pilotant la sauvegarde (compressée et chiffrée, la sécurité c’est important), et l’autre NAS en esclave (capable d’accepter la sauvegarde). Puis de définir une fréquence de sauvegarde en fonction de la criticité de vos données.

Voici comment le NAS '”esclave” est configuré (au fait j’utilise des NAS Synology, du matériel quasi pro à mon avis):

Dans “Panneau de configuration / Sauvegarde réseau”:

image

Et voilà la configuration du NAS “maitre”:

Dans “Sauvegarder et restaurer”:

ScreenShot019

Dans “Obtenir des informations”:

ScreenShot020

Bien entendu vous devez configurer les firewalls (local et distant). La configuration choisie est la suivante (elle peut certainement être optimisée):

ScreenShot022

La bonne nouvelle, à part que cela marche bien entendu, est que votre bande passante internet n’est quasiment pas affectée. Oui, oui, vous pouvez continuer à jouer à BF3 en réseau!

Remarque: en fonction de la quantité de données que vous souhaitez sauvegarder, le premier “backup” peut prendre longtemps, très longtemps! Mais on s’en fiche, c’est en “background”, et sans réel impact sur votre bande passante (ca je l’ai déjà dit!), et cela même si vous avez pris la précaution au préalable, de synchroniser vos NAS sur votre réseau local.

Note: vos commentaires permettant pour améliorer la solution sont les bienvenus.

Merci à “Uzy” pour son précieux retour sur la faisabilité.

Passe-moi le “hash”, s’il te plaît…

Dans la série, “Vidéos avec Metasploit”, en voici une sur l’exploitation d‘une faille '”Microsoft SQL Server” et d’une faille SMB.

Comme toujours l’objectif est d’obtenir un “shell” sur la machine de la victime.

La particularité de cette vidéo, au-delà de l’exploitation de la faille “Microsoft SQL Server” liée à une mauvaise configuration de la base de données, est  de réaliser un “pass the hash”. Mais qu’est-ce donc qu’un “pass the hash”?

Une fois que l’on a “dumper”, le contenu du fichiers des mots de passe de Windows, une alternative se présente:

  • soit on “craque” le mot de passe de l’administrateur, à l’ancienne, avec un outil comme “john the ripper”. Mais cela demande généralement un peu de temps, proportionnel à la longueur du mot de passe
  • soit on utilise directement le hash pour s’authentifier sur la machine cible en tant qu’administrateur: c’est la technique du “pass the hash”. Solution qui, cela va sans dire, est beaucoup plus rapide

C’est cette deuxième approche que l’on utilise dans cette vidéo.

Mais je vous laisse juger par vous même.

Dans la seconde partie de la vidéo, on s’attarde sur l’exploitation du “shell” que l’on vient d’obtenir en tant qu’administrateur sur la machine cible (cette partie est assez habituelle).

Remarque: dans cette exemple la longueur du mot de passe est de 7 caractères. Un de mes camarades, merci “Uzy”, m’a remonté un problème avec des mots de passe de plus de 7 caractères. Vos commentaires sont donc les bienvenus.

vendredi 11 mai 2012

Hydra, pour auditer vos services “web”

Si comme moi vous souhaitez “auditer” la sécurité des services que vous déployez sur Internet alors Hydra doit faire partie de votre boite à outils.

Hydra permet de tester le niveau de sécurité des noms d’utilisateurs et des mots de passe associés à vos services.

Pour tester votre service SSH, vous pouvez soit utiliser la version graphique de Hydra (appelé hydra-gtk)

ScreenShot016

ou bien, pour les puristes, saisir la commande suivante

> hydra –s port_service –L /pentest/logins.txt –P /pentest/passwords.txt –t 16 –f www.votreurl.fr ssh

où:

  • -s est le port du service
  • -L est le fichier des noms d’utilisateurs
  • -P est le fichier des mots de passe
  • -t est le nombre de tâches en parallèle
  • -f permet d’arrêter en cas de succès
  • www.votreurl.fr est l’URL du serveur
  • ssh est le protocole

Pour tester l’authentification de votre site web, vous pouvez utiliser la commande:

> hydra -L /pentest/logins.txt -P /pentest/passwords.txt -t 16 -f -m /repertoire www.votreurl.fr http-get

où:

  • -L est le fichier des noms d’utilisateurs
  • -P est le fichier des mots de passe
  • -t est le nombre de tâches en parallèle
  • -f permet d’arrêter en cas de succès
  • -m est le répertoire à tester
  • www.votreurl.fr est l’URL du serveur
  • http-get est le protocole

Bon audit!

Source: Téléchargement d’Hydra disponible sur http://www.thc.org/thc-hydra/

dimanche 29 avril 2012

Un fichier peut en cacher un autre

Il y a quelques jours je suis tombé sur une fonctionnalité de Windows pour le moins déconcertante.

Figurez-vous qu’il est possible de cacher un fichier derrière un autre fichier! On peut par exemple cacher un exécutable derrière un fichier texte existant déjà. Et seul celui qui a caché le fichier sait le retrouver.

Ce type de fonctionnalité pourrait être très utile pour le “visiteur” d’une machine qui souhaite y laisser quelques données car il a bien envie d’y revenir plus tard pour continuer son travail!

Quelques éclaircissements s’imposent!

Cette astuce est permise par l’utilisation de ADS (Alternate Data Stream). ADS est une fonctionnalité native de Windows NTFS permettant la compatibilité avec le système de fichiers d’Apple.

1ère étape:sur un Windows 7, cachons un fichier texte derrière un autre fichier texte
C:\Test>type wanttohide.txt > normal.txt:hidden.txt
C:\Test>del wanttohide.txt
C:\Test>notepad.exe normal.txt:hidden.txt

Bien que supprimé, le fichier “wanttohide.txt” s’ouvre.

2ème étape: sur un Windows XP SP3, cachons un fichier “exécutable” derrière un fichier texte
C:\Test>type notepad.exe > exec.txt:hidden.exe
C:\Test>del notepad.exe
C:\Test>start C:\Test\exec.txt:hidden.exe

Bien que supprimé, l’exécutable “notepad.exe” s'ouvre.

Cependant il faut noter que n’importe quel “kit de forensics” permet de vérifier la présence d’ADS.

Source: livre “CEH” de Matt Walker aux éditions Mc Graw Hill

samedi 28 avril 2012

La bio, c’est beau…

En cette période mouvementée pendant laquelle j’ai de plus en plus de mal à consacrer du temps à l’activité qui m’intéresse le plus, je parle bien entendu de la sécurité...donc en cette période mouvementée disais-je, je m’autorise à réutiliser une vidéo que j’ai faite il y a quelque temps dans un contexte professionnel et qu’il me semble intéressant de partager ici avec vous.

Cette vidéo montre, au delà de la présentation des solutions de Gemalto, comment intégrer une carte à puce et son PIN code avec la vérification d’une empreinte biométrique réalisant ainsi une authentification à base de 3 facteurs: ce que je possède (la carte à puce), ce que je sais (le PIN code) et ce que je suis (l’empreinte de mon doigt).

Cette vidéo décrit rapidement quelques principes de la biométrie, les différents types de lecteurs biométriques et explique surtout les avantages du “Match On Card”.

Le “Match On Card“ consiste à stocker l’empreinte biométrique dans la carte à puce (afin de la vérifier localement). Le “Match On Card” s’oppose au “Match On Server” dans lequel les empreintes biométriques sont stockées du côté du serveur (solution qui, soit dit en passant, n’est pas sans présenter quelques problèmes d’ordre légal au regard des lois de certains pays, dont la France).

Assez bavardé! Voici la vidéo!


dimanche 4 mars 2012

La face cachée de Twitter !

Bien sûr vous connaissez Twitter! Vous pouvez envoyer des messages courts, des “tweets”, qui seront lus par ceux qui vous suivent, vos “followers”. Quant à vous vous recevez les messages de ceux que vous suivez, vos “following”.

twitter_newbird_boxed_whiteonblue

Jusqu’ici rien de rien de bien nouveau!

Mais qu’adviendrait-il si un de vos concurrents avait la possibilité de récupérer la liste de vos “followers” afin d’organiser une campagne marketing dont l’objectif est de vendre son nouveau produit directement en compétition avec le vôtre! Le cauchemar, non?

Eh bien c’est possible et je vous le montre!

Hypothèse de départ vous disposez d’un compte Twitter personnel ou créée pour l’occasion afin de rendre vos actions un peu plus discrètes.

La première étape consiste à obtenir un compte “Twitter Developers”:

  1. Aller sur https://dev.twitter.com/
  2. Créer une application

ScreenShot002

Vous obtenez alors une clef et un secret appelés “Access Token”  et “Access Token Secret” qui vous permettront d’utiliser l’API de Twitter.

La deuxième étape consiste à charger ce document en utilisant Google Docs et votre compte Google (par exemple).

ScreenShot004

Ce fichier “Excel” décrit très clairement les étapes à réaliser pour permettre d’extraire les “followers” (ou autres choses) d’un compte Twitter.

ScreenShot003

Suivez les différentes étapes décrites par l’auteur du script, Martin Hawksey, et donner les informations concernant votre “Access Token”. Et c’est gagné!

Source: Export Twitter Followers and Friends using a Google Spreadsheet de Martin Hawksey

samedi 3 mars 2012

Microsoft et l’authentification par SMS (suite et fin)

Comme précédemment dit dans l’article “Microsoft et l’authentification par SMS!”, cette nouvelle méthode d’authentification apporte un nouveau facteur d’authentification qui est “ce que je possède”, le téléphone, me permettant de recevoir un mot de passe à usage unique pour m’authentifier sur mon compte Windows Live.

Voici la marche à suivre:

  • Se connecter sur Hotmail en utilisant votre passeport Microsoft puis aller dans la section “Votre Compte

ScreenShot001

  • Puis sélectionner “Sécurité du compte / Infos de sécurité / Gérer

ScreenShot002

  • Saisir votre numéro de téléphone mobile, cliquer sur “Enregistrer” puis sur “Terminé

ScreenShot003

Vous pouvez maintenant tester cette nouvelle méthode d’authentification.

  • Aller sur la page de connexion à Hotmail et cliquer sur “Obtenir un code à usage unique pour se connecter avec

ScreenShot004

  • Cliquer sur “Obtenez-en un ici” si vous ne possédez pas de code

ScreenShot005

  • Saisir votre identifiant “Windows Live ID” ainsi que votre numéro de téléphone mobile (celui que vous avez renseigné dans la phase d’enregistrement) et cliquer sur “Envoyer un SMS

ScreenShot008

  • Une fois le SMS reçu, vous pouvez utiliser le code fourni pour vous authentifier

ScreenShot009

Ca marche!

L'avantage de cette solution est que l'utilisateur a la possibilité de choisir le mode d'authentification qu'il souhaite utiliser en fonction de l'endroit où il se trouve: dans un endroit sûr, à la maison via un réseau câblé, ou dans un endroit qui ne l’est pas, à l’hôtel via le réseau Wifi gratuit.

Bravo Microsoft!

Pour rappel, voir l'article sur Google Authenticator (voir Quand Google se met à l’authentification forte…) qui lui, à la différence de Microsoft, ajoute un deuxième facteur d'authentification (l’utilisateur saisit son login, son mot de passe et son code à usage unique généré par l’application mobile). Dans ce case l'utilisateur n'a pas le choix d'adapter la méthode d'authentification en fonction du risque qu'il croit encourir.

Pour finir, la solution de Microsoft nécessite une couverture GSM, pas celle de Google qui utilise une application fonctionnant sur le téléphone.

Je suis personnellement agréablement surpris par la solution de Microsoft.

samedi 11 février 2012

Social Engineering: le livre…

Social Engineering, The art of Human Hacking” de Christopher Hadnagy (en anglais) permet de découvrir ce qu'est réellement le "Social Engineering" et ainsi de mieux s'en prémunir. Sa lecture devrait être obligatoire pour tout bon RSSI.

chrishagdany

Tout d’abord il faut noter le petit mot de Kevin Mitnick sur la page de couverture qui nous donne une idée du sérieux de l’auteur pour ceux, rares je l’espère, qui ne le connaissent pas déjà.

En quelques mots, Christopher Hadnagy participe activement à www.social-engineer.org, le premier site mondial sur le « Social Engineering ». Il a aussi collaboré avec l’équipe de www.backtrack-linux.org et  est actuellement formateur pour « Offensive Security ». Impressionnant non ! Chris (je me permets cette familiarité bien amicale), Chris, disais-je, est convaincu que la sécurité passe par l’éducation. Moi aussi ! (mais ce n’est pas le sujet!)

Chris décrit les différentes méthodologies pour rassembler des informations sur une cible potentielle et les outils associés. Ses principales sources d’information sont internet bien sûr (l’émergence des réseaux sociaux facilitant grandement cette étape),  l’observation directe, et également celle du contenu des poubelles. Oui, oui , j’ai bien dit « poubelles » et les informations que l’on y trouve sont toujours surprenantes (selon Chris bien sûr; cette activité est totalement illégale en France).

Selon Chris toujours, l’élicitation (activité chère à nos agents très spéciaux) est un art très difficile à maitriser. Elle consiste (entre autres choses) à user de stratagèmes comportementaux pour manipuler votre cible afin qu’elle vous donne  les informations dont vous avez besoin pour mener à bien votre mission.

Mais pour établir le contact avec votre cible, il est souvent nécessaire de créer un scénario et un personnage très crédibles. C’est ce que Chris appelle le « pretexting », on pourrait dire « prétexter » en français. Cette technique nécessite une préparation très importante comportant une recherche d’informations en amont, l’intégration d’intérêts personnels pour augmenter votre propre crédibilité et de nombreuses répétitions (n’oubliez pas qu’il est obligatoire de rester dans la légalité).

Bien entendu Chris ne peut pas échapper à la description de quelques principes psychologiques fondamentaux dont la PNL (Programmation Neuro Linguistique). La sécurité rejoint la communication !

Mais pour influencer et surtout persuader, il est parfois nécessaire de manipuler (toujours avec intégrité). Pour cela Chris nous donne quelques techniques dont le « framing » permettant d’altérer la réalité. En d’autres termes le « framing » consiste à présenter des faits d’une manière légèrement différente permettant de transformer quelque chose généralement considéré comme mauvais en quelque chose de bon. Ca fait peur, non ?

Mais le « social engineer » a également besoin d’une boite à outils techniques parmi lesquels on trouve l’incontournable « Maltego » permettant de rassembler des informations via internet sur une personne ou une entreprise, et le fameux SET (Social Engineering Toolkit) pour entre autres choses créer automatiquement un site web de phishing afin de récupérer des mots de passe. Mais on y trouve aussi les bons vieux outils de « lock-picking » ou comment ouvrir une porte sans en avoir la clef, et les bonnes vielles caméras « espions ».

Chris termine son livre en disséquant ses propres études de cas et celles de Kevin Mitnick. C’est passionnant !

On échappe évidemment pas à quelques bonnes références sur l’art de la guerre de Sun Tzu qui jalonnent le livre. Un vrai régal !

Bonne lecture!

PS: vous trouverez plus d’informations sur SET dans les articles suivants:

samedi 4 février 2012

Microsoft et l’authentification par SMS!

Microsoft a lancé pendant l’été, l’authentification par SMS pour les heureux possesseurs d’un passeport Windows Live! La démarche est excellente et suit le mouvement initié par Google avec l’authentification par OTP généré par une application mobile appelée Google Authenticator (voir l’article à ce sujet dans ce blog: Quand Google se met à l'authentification forte...)

C’est pourquoi j’ai eu très envi de tester cette nouvelle fonctionnalité pour apporter plus de sécurité à mon passeport Windows Live.

Cette nouvelle méthode d’authentification apporte un nouveau facteur d’authentification qui est “ce que je possède”, le téléphone, me permettant de recevoir un mot de passe à usage unique pour m’authentifier sur mon compte Windows Live

Jusqu’ici tout parait simple! Mais c’est là que ça se complique!

En effet lorsqu’une modification est faite sur votre compte Windows Live, avant qu’elle ne soit effective, il est nécessaire de la confirmer à partir de l’ordinateur que vous avez défini comme votre ordinateur de confiance. Sage précaution me direz-vous? Oui effectivement c’est une belle mesure de sécurité! Le problème se présente si votre ordinateur de confiance n’existe plus, et c’est mon cas (mon pauvre ordinateur de confiance a rejoint le cimetière des ordinateurs. Paix à son âme!)

Après avoir discuté sur les forums de Microsoft, les experts m’ont présenté la solution suivante: supprimer les informations obsolètes de mon compte (dans mon cas le nom de mon ordinateur de confiance), attendre 30 jours, oui oui 30 jours pour que la modification soit effective, puis saisir les nouvelles informations! Ce n’est qu’à partir de ce moment là que je pourrai profiter de l’authentification par SMS!

La sécurité a un prix que je trouve personnellement un peu fort!

Qu’a cela ne tienne, vous trouverez ci-après les différentes étapes à suivre.

Pour permettre l’activation de la fonctionnalité d’authentification par SMS, connectez-vous sur votre compte Windows Live et faites un click-droit sur votre nom d’utilisateur en haut à droite, puis sélectionner l’option “Votre compte

ScreenShot201

Sélectionnez ensuite l’option “Gérez” dans la catégorie “Sécurité du compte

ScreenShot202

Et enfin choisissez l’option “Supprimer” pour les éléments que vous souhaitez

ScreenShot203

Et vous devez alors attendre 30 jours pour pouvoir paramétrer de nouveau votre compte. Arrgh…!

Bon d’accord le service est gratuit et on ne peut pas être trop exigeant, comme l’affirment certains de mes camarades. Mais j’ai un avis différent, Google Authenticator fonctionne lui parfaitement et je l’utilise quotidiennement!

dimanche 8 janvier 2012

La tête dans le “cloud”

Après avoir décrit les services d’Amazon dans le “cloud” (voir l’article sur ce sujet dans le blog: Du nouveau dans le "cloud" d'Amazon!), continuons notre promenade dans les nuages avec Office365, la suite Office selon le “cloud” de Microsoft.

Microsoft propose d’utiliser pendant 30 jours Outlook , Powerpoint, Excel, Word et même Lync.

Pour commencer vous devez posséder un passeport Windows Live pour pouvoir vous connecter sur Microsoft Windows Online à l’URL suivante: https://login.live.com

La vidéo ci-dessous présente les différentes étapes nécessaires à l’activation d’Office365 pendant 30 jours et plus pour ceux qui aiment.

How to use Microsoft Office 365 in the “cloud” ?

Personnellement je trouve l’approche intéressante pour les petites et moyennes entreprises disposant d’un bon accès internet et ne gérant pas de données “trop” confidentielles.

Cependant l’activation de l’authentification par SMS permet de renforcer la sécurité de cette solution (la sécurisation de la phase d’authentification étant indispensable pour tous les fournisseurs de services hébergés digne de ce nom).

samedi 7 janvier 2012

Comment obtenir un compte administrateur sous Windows?

C’est malheureusement très simple à mettre en oeuvre! Et bien que cela ne date pas d’hier l’expérience est toujours probante sur un Windows 7 Ultimate comme le montre la vidéo ci-dessous:




Il vous suffit d’avoir une clef USB bootable ou un “Live CD” avec Backtrack ou toutes autres distributions Linux selon vos préférences. Dans notre cas nous utilisons une Backtrack 5.

Pour obtenir le “Live CD” nous avons utiliser l’outil “remastersys” pour Ubuntu avec lequel nous avons généré un fichier “iso” bootable de notre VM Backtrack 5 préféré.

La première étape consiste à booter la machine cible sur notre “Live CD”.

Puis on remplace le fichier “Windows/System32/sethc.exe” par “Windows/System32/cmd.exe”. Pour information le fichier “sethc.exe” correspond à l’éxecutable qui est lancé lorsque l’on clique 5 fois sur la touche “shift” de notre PC (vous savez, ce sont les fameuses “sticky keys” de Microsoft).

Après avoir rebooter la machine cible et clique 5 fois sur la touche “shift”, une fenêtre “DOS” s’ouvre avec les droits “SYSTEME”. On crée alors un nouvel utilisateur en lui donnant les droits “administrateur”.

Enfin on reboote une dernière fois et on se connecte avec l’utilisateur précédemment créé.

Comme contournement il est possible de désactiver les “sticky keys” de la manière suivante
  • Ouvrir “Démarrer” / “Panneau de configuration
  • Ouvrir “Options d’ergonomie” / “Rendre le clavier plus facile à utiliser
  • Désactiver “Souligner les raccourcis clavier et les touches d’accès rapide
A bon entendeur!

Partager avec...