SSTIC 2016 - Rump Session

Bon, yen a 24, 3min par rump, va falloir s’accrocher. Comme à l’habitude, un petit mot du président du SSTIC qui fait le bilan de cette mouture.

1 Trump

Il s’agit cette année d’une Trump Session, avec une perruque blonde sur la tête du président. Comme d’habitude, si le public aime, il n’applaudit pas, s’il n’aime pas, il applaudi pour virer le speaker. Comme d’habitude, il y a un applaudimètre relié à un lance missile USB.
Quelques images sur les inscriptions, avec une vidéo des logs qui défilent à fond. Pour les chiffres, 150 places en 2″58′, la même en 1″26′, puis 70 en 1″07 dont 164 nouveaux.
37 soumissions longues, 21 courtes, 476 pages d’actes. Vous êtes invités à soumettre.

Un industriel à demandé à ce que les actes imprimées soient censurés sur certaines lignes à l’encre noire. mais on sait que ça ne marche pas. Options envisagées: un cutter par participant pour supprimer les lignes gênantes, mais c’était risqué. L’autre option c’est de publier un errata… mais finalement aucune de ces solutions n’a été retenue.

2 Pourquoi c’est flou

Plein de gens se sont plaints du flou sur le vidéo-projecteur: explication du chaînage qui permet le streaming des slides et leur projection. Et le soucis c’est que le splitteur fait perdre du signal, qui renvoie vers une carte de capture qui renvoie le signal et le dégrade. Du coup, conseil aux auteurs pas forcément suivis: taille 20 minimum, sinon c’est juste dégueulasse. sans compter les pb de couleurs. Explication du setup de stream. Environ 400 personnes sur le stream aujourd’hui.

3 Evolution de Fuddly

Fuddly fut présenté en 2015 à SSTIC, et voici une petite update sur ses évolutions. Fuddly est un framework de fuzzing python dispo sous github en GPL. Fuddly prend du .JSON et peut soit faire de la génération, soit de la dissection de fichiers. Il y a quelques formats de fichiers de modélisés. il y a eu de nouvelle releases depuis 2015 et de la doc !

4 NFB – Near Field Beer

Un matin au boulot, des collègues sont arrivé avec des cartes RFID qui permettent de tirer de la bière au bar après chargement. Bon c’est du mifare classic bien vuln, et tout les blocs de donnés étaient vides. Du coup c’est l’UID de la carte qui identifie le client et son solde (dommage). Du coup ya moyen de brute-forcer pour trouver des uid sur lesquels ya du crédit à coup de proxmark. Petite démo.

5 Analyse d’un transformer book

Analyse forensic d’un transformer book dont le disque est chiffré par bitlocker. Les gars de DFF sont parti d’un code non fonctionnel, et ils ont mis qu point un outil de dump de clefs avec edk2 (un toolkit UEFI). Bon il n’y avait rien dans le laptop, mais le tool va être releasé par Arxsys.

6 Analyse d’un disque dur lolifiant

qsdf Analyse d’un DD externe avec écran LCD et de l’AES comme chiffrement. Un renesas repackagé avec un µC VE850 supporté par IDA !!!  Après rétro du firmware, petite démo, ou le disque à été reprogrammé avec un autre code pin, on rebranche sur un autre pc, et avec un petit code qui va bien on demande au disque le code PIN, qui nous le fournit. Comme quoi le MediaLogic il est sympa avec ses commandes de dump de ram 🙂 Pour le responsible disclosure, c’était compliqué, il a fallu trouver le vrai fabricant, lui expliquer la vuln, et il a corrigé des trucs sans pour autant fournir sa datasheet. 3j d’analyse pour trouver les fonctions magiques.

7 De la difficulté des communications sécurisées

Dans la VOIP c’est pas simple. ZRTP, Z pour Zimmerman. L’implem de ZRTP dans linphone à apparament un soucis. L’échange diffie-hellman est sécurisé par un jeton connu des participants. L’orateur à fait un MITM sur le linphone et on voit passer les clefs dans la trace réseau. Du coup on peut écouter les communications. La vuln est corrigée depuis le 31 mars 2016 mais n’a pas encore été propagée dans LinPhone.

8 R2M2

Radare 2 + Miasm 2 ou comment accoupler les 2. Utilisation de R2 comme GUI, et Miasm comme backend de desassemblage. Appel de code python depuis C via cffi. 2ème étape, faire un plugin pour Radare2, en suivant le tuto ça se fait très bien. 3ème étape, secouer le tout pour voir si ça fonctionne. Après on essaye d’avoir le callgraph pour obtenir les jump à partir de leur représentation symbolique dans miasm. Et ça marche !!!.  La prochaine étape, c’est de faire de l’expression symbolique dans r2.  Pendant la nuit, les mecs de R2 ont fait une super API pour appeller ipython dans R2, en gros la même chose.

9 Comment faire sa veille sur Twitter

qsdf Yen a marre des tweet sponsorisés qui viennent perturber sa veille quotidienne. Alors soit vous utilisez une autre application. Soit vous trouvez une 0Day iphone et vous patchez le bordel, l’autre solution c’est que les gros comptes twitters n’ont pas de pub affichée s’ils dépassent les 10k folllowers. Du coup il suffit d’exploser le nombre de followers: soit en trollant, soit en faisant des contenus intéressants, soit en utilisant des bots. Du coup il est parti du principe de TweetFavy pour aller fav des comptes au hasard, et le mec quand il voit le fav, il regarde votre compte et vous follow.

10 Fighting malwares like a boss

Ya des malwares et des APT qui se cachent quand ils voient des process genre anti-Virus, virtualbox, etc…  et ils ont fait une install du malware evil-bunny. Mais ça marche pas, du coup ils ont fake la liste de tout les anti-virus dans les process. Et la magie, le malware il veut plus s’installer. L’autre solution, c’est de PTracer tout ce qui bouge pour voir… mais ça sera pour une prochaine fois.

11 SELKS et Docker

qsdf SELKS c’est une iso bootable avec Suricata Elasticsearch Kibana Logstash Scirius. Tout ça version Docker et on obtient Amsterdam. Du coup on installe tout ça et on construit ses dashboards. Pour l’install ça se fait via pip install amsterdam. L’interface d’admin boot et vous pouvez direct jouer avec ! Si tout les SIEMS étaient aussi simples à installer.

12 AJPy: AJP Python library

Une appli WEB en frontal qui renvoie à un worker AJP des requêtes à traiter. Du coup on à souvent envie de parler directement à l’AJP plutôt que de subir les filtrages du frontend. AJP c’est vieux, ça a pas bougé depuis 1998, et il y a pas mal de monde à le laisser tourner sur le net (port 8009). Toute la sécurité repose sur le frontal Apache, et n’est pas censé tourner en frontal (security fail ?).
Grâce à cette lib on peut du coup parler directement avec le backend AJP. la lib offrira bientôt le déploiement de .WAR via AJP.

13 Winning crap with Twitter’s API

Article sur le monde sur un gars qui dit avoir gagné 4 concours par jour avec un bot Twitter. Ces concours nécessite de RT et de follow le compte qui organise le concours. Du coup on filtre les flux twitter, on randomize les requêtes et on fait en sorte que ça ressemble à une vraie personne. Mais il ya pas mal de conneries pas forcément géniales, ou des goodies pourris, des cartes pokemon. Bon faut surtout pas filer son @ courrier, sinon on se retrouve avec plein de conneries dans la boite au lettre.

14 Modernisation des formats IDMEF et IODEF

Ce sont des format de description d’alertes de sécurité et d’incidents de sécurité. Les seuls formats standardisés. Ces formats sont un peut âgés, et un projet est en court pour les moderniser. Ils sont parti de la lib IDMEF prélude, et ils améliorent le tout.

15 Vos empreintes sont elles sûres ?

Comment modéliser une empreinte et la reproduire sur une imprimante 3D. Souvent l’argument c’est que c’est très compliqué à faire. Le process consiste à récupérer une empreinte, la scanner et la reproduire sur un support. Les algos existent pour passer de l’image au modèle 2D puis repartir sur la version 3D. Les présentateurs se sont arrêtés juste avant l’impression.

16 Objets connectés

Géolocalisation par broadcast bluetooth. Il y a des gens qui se sont amuser à créer des bananes connectés qui affichent la fréquence cardiaque de l’utilisateur. Ou encore des tampons connectés, voir le test de grossesse connecté. Tout ces objets broadcastent un signal bluetooth. Il existe aussi une bouteille connectée qui vérifie que vous ne vous vous déshydratez pas trop. Le fabricant fournit une API  pour enrichir les fonctionnalités de cette bouteille. Du coup démo ce soir au social.

17 Développer sa bibliothèque de signature sur courbes ….

Dev de la crypto from scratch, c’est risqué, sauf si vous avez des bon collègues forts en crypto et en système. Des types, des fonctions de hashage, des truc crypto que j’comprend pas, et bientôt release BSD/GPLv2 une fois que l’analyse et la doc sera faite. Petit mot sur les normes qu’on essaye d’obtenir, comme celle de ckcdsa qui est écrite en coréen. Coté IETF ya pas grand chose, ECDSA fait des redirect sur la norme ANSSI de 1998 qui redirige vers une norme ISO qui redirige vers une autre norme dont la peinture n’est pas encore fraîche, et la partie normative est pourrie, du coup c’est foireux pour l’implem. Les vecteurs de test sont faux, bref faut corriger la norme !

18  Manalizer

Analyse d’exécutables PE pour automatiser des tâches répétitives, et pour la perf, les libs de parsing python sont pas très adaptés. Du coup c’est une lib C++11 GPLv3 capable de faire de la détection crypto, du PEiD, de la détection de packer, envoie de hash VT, etc…  Frontend sur Manalyzer.org ou sinon vous sortez le source.

19 Analyse d’un Exploit Kit

Quand on wget un site d’EK on à un index.html, quand on uilise un vieil IE, on obtient un tout petit fichier, c’est du JS légèrement obfusqué avec des tests. On desobfusque tout ça, on arrive sur des tests et un autre layer d’obfuscation. Mise en place d’un cookie de session pourri, et on tombe enfin sur le bon code. Attention aux cookies PHP_SESSION_PHP.

20 Just do it the HARD way

qsdf Même si vous êtes mal outillé, vous pouvez vous aussi faire de l’analyse hardware. Bon la taille compte, parce que sans Pin, on ne peut pas s’accrocher et récupérer de l’info sur les composants. Comme par exemple le port JTAG, ou le port Console/Serie. On peut regarder les bus de donnée lents s’ils sont droits. Rapides s’ils font des S.  Analyse d’un composant avec un SOC, une nand etc. Bon comme c’est des composants avec des formats chiant, du coup faut utiliser du flux, on décolle le composant, et après faut poncer pour arriver à la Flash. On se soude sur un composant de 4mm de coté, faut pas bouger, du coup avec du vernis ça évite que ça cache parce que ça durcit tout. Après on dump avec un Arduino.

21 Vous n’êtes pas seuls

qsdf  Bon un projet ça commence par une expression de besoin ou éventuellement si vous avez de la chance, vous pouvez parler au marketing et sauver le projet du fail sécurité. On prend les specs, on les relit, et on voit des trucs rigolo comme: « je ne crois pas que le kernel soit indispensable ». ou « vous ne voulez tout de même pas qu’on suive toutes les CVE sur notre projet ». Bon forcément les devs ils veulent aller vite, et le quick n dirty c’est pas ça.  Puis forcément quand ça marche pas c’est la faute de la sécurité. Puis un auditeur passe root sur le produit. Puis au lancement du projet, ya des warning rouge sécurité qui font peur aux chefs. Après on remercie les SOC CERT et consorts qui vont devoir gérer les merdes de sécurité du produit en production.

22 IVRE: more

Nouvelle fonctionnalité de IVRE qui permet de faire de la cartographie réseau passive (https://ivre.rocks/). Faire de la cartographie réseau, c’est à la mode. En actif, c’est fait par Nmap, et en passif c’est l’objet de cette Rump. En fait, on ne connait jamais un réseau, ça vit, et on ne sait pas forcément tout ce qui vient s’y greffer volontairement ou non. IVRE agrège des information type netflow, remontés Bro , Nagios, et au final on obtient un gros tas de points avec des arcs (un graph quoi) et ça permet d’explorer cette carto et les statistiques associés comme la volumétrie, la fréquence des échanges ou les requêtes DNS. 

23 Comment bypasser de l’android FaceLock

Bon bah sur un téléphone il y a souvent une carte SD avec des photos dedans, donc on récupère les photos, on utilise un LCD pour afficher la photo et on les affiche devant la caméra pour que ça déverrouille. La connexion USB sert à détecter le déverrouillage.

24 Die Hard !

qsdf  Reverse hardware d’un token qui se connecte sur un bus SPI. l’émulation de SPI ça se fait avec 4 fils de communication. On met tout ça sur une carte, on attend que le Master envoie des commandes et on lui répond. Le master demande au slave le code pin qui va bien, et là on lui envoie une tartine de codes PIN et c’est gagné.

25 Les fails de la GREHack:

Tous les problèmes de l’organisation d’une conf en associatif. Le CFP est jusqu’au 1er juillet.