mardi 7 septembre 2010

Book Review: Chaines d'exploits

Ne sachant pas trop quoi lire ces derniers temps, et ne voulant pas prendre un n-ième bouquin parlant de "technique" tout en restant dans de la lecture "informatique", j'ai acheté "l'art de la supercherie" de Kevin Mitnick (je n'avais lu jusque là que "l'art de l'intrusion" du même auteur), ainsi que "chaines d'exploits", d'Andrew Whitaker, Keatron Evans et Jack Voth. C'est de ce dernier dont je vais parler.

Le principe du bouquin est simple: une dizaine de chapitres racontant chacun une histoire, n'ayant aucun lien entre elles autre qu'un individu, un "pirate informatique", qui doit compromettre une personne ou une entreprise (une banque, une entreprise pharmaceutique, un candidat à une élection, ...) pour une raison X ou Y (problèmes d'argent, menaces de la part d'une mafia s'il n'obéit pas (un peu comme dans "opération espadon" quoi), vengeance, etc ..)
Alors bien-sûr, il ne faut pas s'attendre là à un "Hacking Kit" à la sauce web 2.0. Seules les grandes lignes sont données, avec des indications sur le but d'une des attaques effectuées, ses conséquences, un tout petit peu de background technique et quelques schémas: le but ici est que quelqu'un ne s'y connaissant pas nécessairement en sécurité, mais qui comprend néanmoins l'informatique puisse s'y retrouver. Et bien évidémment, comme le titre du livre le laisse suggérer, notre ami Phénix utilise plusieurs techniques différentes pour parvenir à ses fins :-)
Chaque scénario est assez réaliste. Bien évidemment, dans certains cas, il m'est arrivé de me dire que j'aurais probablement agi différemment si j'avais été le personnage du bouquin, mais ensuite chaque cas est unique.
A la fin de chaque chapitre, notre attaquant réussit, bien-sûr, et les conséquences sont exposées (le candidat à une élection se retire, une attaque terroriste réussit, une entreprise coule, etc) et quelques tips sont donnés pour se prémunir de ces attaques, ou du moins les rendre moins dévastatrices.

Ce qui m'a pas mal marqué dans ce bouquin, c'est que le social engineering est quasi nécessaire pour le bon déroulement de chaque attaque. La sécurité physique suit de très près. Finalement, l'utilisation d'exploits n'est pas si vitale que ça: juste une ou deux références à des outils comme metasploit et core inpact).
En somme, un très bon bouquin pour montrer à des gens pas forcément sensibilisés à la sécurité informatique, comment une personne mal-intentionnée agirait pour pirater son entreprise, ou faire une quelconque mauvaise action.

vendredi 3 septembre 2010

PlayStation 3 - le Hack

Bon je vais pas donner de détails croustillants ici; mis à part donner quelques liens vers des explications bien plus poussées que celles que je pourrais donner moi-même. Juste un petit compte rendu de mon test du "hack PS3" à l'aide d'un micro-controlleur (il ne s'agit ni plus ni moins du produit du reverse engineering d'un dongle USB exploitant un heap overflow dans la gestion des devices USB de la PS3)

J'ai effectué le test de cet outil jeudi dernier; je n'ai pas eu l'occasion de re-tester depuis, donc certains détails ont probablement changé. J'ai utilisé une carte AVR-USB-162; vous pouvez en trouver chez Farnell par exemple (même s'il ne s'agit pas des prix les plus bas). Hasard ou pas, beaucoup de sites vendant des cartes d'eval avec des micro-controlleurs sont en cours de réapprovisionnement pour ces cartes là :-)

Certaines infos du README de PSGroove n'étaient à priori pas correctes, du moins pour mon type de carte. Dans mon cas de figure, avec un AT90USB162, je devais fixer la fréquence à 8000000 au lieu des 16000000 indiqués (cf. les specs)

Pour le reste, ça fonctionne plutôt bien, même s'il faut à priori respecter un certain nombre d'étapes:
- la console doit être hors tension (aucune diode allumée) pour commencer;
- rien ne doit être branché dessus en USB, pas même le microcontrolleur;
- mettre sous tension la console (la diode rouge de veille doit s'allumer)
- brancher la carte micro-controlleur sur un port USB
- démarrer la console, et appuyer sur le bouton "eject" dans la seconde qui suit (Même si les developpeurs de psgroove parlent de 200ms: "The exploit takes place while the PS3 is looking for the Jig (triggered by pressing eject within 200ms of pressing power).")
- ????
- PROFIT !

Voici un menu qui devrait apparaître après manipulation:















Ce menu permet l'installation de packages présents sur clé usb, comme par exemple le fameux "Backup Manager", qui lui, permet ensuite le lancement de dumps de jeux présents sur un disque dur USB (en fat32 pour le moment !). Alors bien sûr, si on se demande comment cela est possible ça peut se résumer en pas grand chose: ça active juste des fonctions désactivées dans le firmware grand public de la console: les features de debug. C'est grossièrement résumé, mais en gros c'est ça.
Je n'ai pas encore fait de vidéo pour montrer le fonctionnement du bouzin. De toutes façons, la LED de ma carte ne s'allume-éteint pas comme prévu à la base lorsque ça fonctionne.
Un truc à creuser maintenant: la réactivation du OtherOS sur la console, permettant l'installation d'un Linux.

Edit: Je mettrai probablement à disposition prochainement le fichier .hex utilisé (même si j'imagine que si des gens ont de quoi flasher un micro-controlleur, ils auront probablement de quoi compiler des sources)