Nuit du Hack Quals 2016 – SpaceSec – Write-Up

Le week-end dernier, j’ai participé aux qualifications de la Nuit du Hack 2016 avec l’équipe khack40. Les 10 premières équipes recevaient des places gratuites pour la Nuit du Hack (début juillet) ainsi que la possibilité de participer au CTF privé lors de l’événement , et comme l’année dernière nous n’avons malheureusement pas réussi à nous qualifier.

Nous avons tout de même atteint la 11ème place (la place ingrate) ce qui est mieux que l’année précédente où après un rush infernal des autres équipes pendant la nuit nous avions finalement fini 28ème.

Comme chaque année le guessing était présent mais cela ne m’a pas empêché de trouver des épreuves intéressantes comme l’épreuve de web que je vais vous présenter.

SpaceSec 300 pts

SpaceSec Challenge

La page est basique, un bon vieux challenge fait avec Bootstrap #jaimepaslecss.

On remarque que tous les articles proposés contiennent les mêmes descriptions, seuls les numéros de CVE et les auteurs semblent changer.

Continue reading

HackIm 2016 – Web100 / Web400 – Write-Up

J’ai dernièrement participé avec mon équipe au HackIm, un CTF organisé par la NullCon.

Malgré de nombreuses tricheries, des points mal repartis ainsi que des épreuves de type « devinette », ce CTF nous a proposé des challenges très intéressants dans les catégories Web et Exploitation.

Voici donc un write-up de deux épreuves web que j’ai trouvées enrichissantes.

Web 100 – SignServer 100 pts

Document signature is so hot right now! SignServer provides you with the most advanced solution to sign and verify your documents. We support any document types and provide you with a unique, ultra-secure signature.
http://54.174.72.79:9000

Arrivé à l’adresse indiquée nous avons accès à deux services, l’un qui nous permet de signer et l’autre de vérifier une signature.

Continue reading

Comment pirater un WordPress, ou pas…

Je ne sais pas si vous l’avez remarqué, mais il y a une semaine mon site était indisponible en raison d’une maintenance.

Tout a débuté le 1er Mai, je me rends comme chaque jour sur mon site pour les mises à jour quotidiennes et c’est alors qu’apparaît une belle deface faite par un groupe de h4x0r avec un message dans un anglais approximatif « Ure security is bad, go patch, blabla » ainsi qu’une petite mention disant que payer un hébergeur ne veut pas dire que l’on est en sécurité.

Sur le coup, j’imagine que l’un de mes plugins n’a pas été mis à jour et j’accuse le coup en me disant qu’après tout, ce n’est qu’un WordPress.

Après une analyse un peu plus approfondie des logs j’en viens à une conclusion étrange : il semblerait qu’ils se soient tous simplement connectés avec mon compte administrateur.

Hop, je lance un scan antivirus sur mon PC, rien n’est détecté, même pas le moindre logiciel espion, pas un faux positif, rien.

J’en viens à penser que c’est peut-être une 0day mais le souvenir de la tête de mort sur la deface ainsi que les pseudos du type xXxD4rkAng3lxXx me rappellent vite que la faille ne doit pas être bien compliquée.

Je reçois plusieurs messages via IRC et Skype, un de mes amis m’a même conseillé en rigolant de lancer un armitage auto_pwn, je décide de rester plus calme en lançant un scan Nikto classique ainsi qu’une analyse des plugins WordPress, peut être que quelque chose m’aurait échappé …
Continue reading

BCTF, 0CTF et BackDoorCTF

J’ai récemment participé au BCTF, au 0CTF ainsi qu’au BackDoorCTF.

À cette occasion, j’ai appris de nouvelles failles, notamment de la cryptographie, une méthode d’escape de sandbox Java et une autre forme de XXE.

Si vous souhaitez vous renseigner sur ces techniques je vous en fais une petite liste:

  • Le Bit Flipping: Une manière d’altérer un cookie peu protégé par un chiffrement CBC.
    Plus d’informations ici ou encore ici
  • Le clojure, une sorte de langage natif interprété à l’intérieur de la JVM.
    Très utile lors des escapes de sandbox
  • Les XXE into .docx
    En effet, les parsers de .docx sont sensibles au XXE comme le montre le challenge GoldenMac du 0CTF

Voilà, c’est déjà terminé, n’hésitez pas à rejoindre mon Twitter pour avoir des news sur le site et mon point de vue sur l’actualité de la sécurité informatique.
Geluchat.

La vulnérabilité RowHammer

Voici déjà une semaine que cette vulnérabilité fait parler d’elle, elle permet une élévation de privilège d’une manière très étonnante.

Le concept

Elle repose sur une erreur de conception matérielle de certaines barrettes de DRAM (Dynamic Random Access Memory).

Il y a dans ces dernières des millions de condensateurs très proches les uns des autres.

Ainsi, lorsque l’on modifie un bit, il y a des chances pour que les condensateurs adjacents soient modifiés, on appelle ça du ‘Bit flipping’
Continue reading

Les Vers XSS: Game of Life

L’apparition des premiers vers informatiques date de 1988 avec la création du ver Morris.

Celui-ci n’était pas destructeur mais à néanmoins engendré un coup estimé à 100 millions de dollars suite à plusieurs erreurs de conceptions.

En ce qui concerne notre sujet principal, à savoir les Vers XSS, leur arrivée a été plus tardive.

Le plus connu d’entre eux est sans aucun doute le ver Samy qui a infecté le réseau MySpace en 2005.

Je vous conseille d’ailleurs de lire l’histoire du créateur de ce ver qui a mis à disposition son code ainsi que ses réactions heure par heure pendant le déploiement de son ver.

Une fois de plus, ce ver n’était pas nocif et se contentait simplement de poster un message sur le profil de la personne (« But most of all, samy is my hero ») ainsi que de l’ajouter en ami.
Continue reading

Introduction et présentation de la faille GHOST

Cet article sert d’introduction à la partie actualité commentée du site.

Celle-ci sera composée de nouveautés liées aux différentes CVE actuelles ou encore sur des événements de type Capture The Flag qui comporteraient des éléments intéressants.

Ayant manqué la faille GHOST (CVE-2015-0235) qui est apparue pendant la création de ce site, je ne saurais que vous conseiller de lire les différents Papers disponibles sur le net.

Pour ceux qui ne connaitraient pas cette faille ou qui ne se seraient pas penchés sur le sujet je vais vous faire une courte description de la faille.

La faille GHOST, qui tient son nom de la fonction gethostbyname(), est présente dans la version 2.2 de glibc et permet de gagner un accès shell à une machine distante.

Il faut savoir que cette faille a été patchée en mai 2013 mais n’a pas été prise en compte par les nouvelles distributions qui n’ont pas associé la mise à jour à un danger.

On peut y compter Centos, Fedora ainsi que Ubuntu.

Elle consiste en l’exploitation d’un Heap Overflow complexe car il permet de réécrire la mémoire uniquement avec des nombres et des points.

Néanmoins, plusieurs exploits ont vu le jour et touchent des programmes importants tels que Apache, Nginx, Mysql ou encore SendMail.

Pour plus d’informations, l’excellent PoC de Qualys Security

Les NOSQL injections Classique et Blind: Never trust user input

Les bases de données NOSQL ont été créées pour répondre au problème de latence des SGBD relationnels sur de grosses bases de données.

On peut en citer plusieurs telles que:

  • DynamoDB
  • MongoDB
  • Oracle NoSQL

Néanmoins, l’apparition de ce nouveau moyen de stockage a fait émerger un type de faille innovant: La NOSQL injections.

Pour ceux souhaitant tester chez eux, je leur conseille ce tutoriel pour installer MongoDB sur Wamp, ainsi que celui ci pour l’utilisation avec PHP.
Continue reading

Les PATH truncations: The old one

Après les SQL truncations, passons à l’étude de son homologue PHP, les PATH truncations.

Pour comprendre le problème, revenons à la base de la construction du moteur PHP.
PHP est basé sur le moteur Zend engine écrit en C, il dispose donc des contraintes mémoires et de la gestion parfois chaotique de la mémoire liée à ce langage.

Il parait donc tout à fait naturel que pour palier à ce problème les créateurs de ce langage aient dû s’orienter vers une gestion simplifiée de la mémoire paradoxalement au PHP qui est lui-même un langage très faiblement typé

Passons donc au vif du sujet, les strings PHP, jusqu’à la version 5.3, peuvent supporter une chaîne de longueur maximum égal à 2^12 soit 4096 caractères.

Que se passe-t-il si l’on dépasse cette limite?
Continue reading

La Stack Smashing Protection: Un canary infaillible?

Depuis l’avènement des Buffer Overflow dans le début des années 90, les experts en sécurité informatique ont cherché de nouvelles protections contre ce type d’attaques.

Ainsi sont nées bons nombres de protections connues telles que le fameux ASLR(Address Space Layout Randomization) , le NX (Non-executable) ou encore le SOURCE FORTIFY (remplacement de fonctions dangereuses par sa version sécurisée: strcpy=>strncpy).

Mais celle qui a fait le plus parler d’elle dans le monde des failles applicatives reste la Stack Smashing Protection aussi appelée « Canary ».

Voici un petit exemple de ce à quoi ressemble la Stack dans une fonction sur un programme avec la SSP activée.

|-------------------------------|
|         Return Address        |
|-------------------------------|
|         Frame Pointer         |
|-------------------------------|
|         Padding               |
|-------------------------------|
|         Canary                |
|-------------------------------|
|         char buff[]           |
|-------------------------------|

On peut voir qu’un Canary été inséré entre notre buffer et le couple EBP (Frame Pointer) et EIP (Return Adress).
Continue reading