Quand la presse parle de hacker c’est toujours avec le raccourci hacker == pirate. Hors un hacker ce n’est pas cela du tout, c’est un bidouilleur, quelqu’un qui veut comprendre les choses et en repousser les limites.
Et bien Fabrice Bellard, le créateur de la machine virtuelle Qemu décrit bien ce qu’est un hacker. En effet il vient de faire quelque chose de totalement inimaginable : un Qemu écrit en javascript qui boot linux : jslinux.
Fabrice Bellard n’en est pas à son premier coup d’essai, il est aussi l’auteur de TCC, un compilateur C extrêmement rapide.
Moi je dis, chapeau bas.
L’agence de renseignement des Etats-Unis, connue aussi sous le nom de NSA, peut vous venir en aide. En effet cette agence met à disposition un document servant de guide pour sécuriser un distribution GNU/Linux Red Hat Entreprise 5.
Vous trouverez ce document sur leur site ou bien sur scribd.
Pour rappel, la NSA est aussi à l’origine du patch de durceissement du noyau Linux avec la solution SELinux.

L’ESIEA organise cette année encore la conférence IAWACS (2010, 2009). Cette année elle se déroulera les 27 et 28 mai en parallèle des RSSIL à Maubeuge.
Particularité de cette nouvelle saison : 2 challenges primés.
Le libPerseus challenge : un fichier protégé par la technologie Perseus sera proposé à l’analyse. La personne qui arrivera à retrouver le fichier non protégé recevra une récompense de 3000 Euros.
Le forensic challenge : une image iso d’un téléphone Android sera proposé à l’analyse. Le but sera alors de trouver toute trace compromentante dans un contexte d’attaque terroriste. Ici la prime au vainqueur sera de 5000 Euros. Pour ce challenge, Androguard pour surement aider ![]()
Pour faire suite à mon post précédent sur le concours de reverse organisé par ESET, l’éditeur de l’anti-virus nod32, voici mes impressions.
Tout d’abord rappelle des faits. Le but concours était d’analyser un fichier exécutable windows afin de retrouver 3 messages cachés, le dernier étant un lien vers une page Web afin de valider le challenge.
J’ai un peu galéré sur la première partie du binaire car ce dernier était packé. Ne faisant quasiment jamais de reverse je n’ai pas de méthode alors je mettais des points d’arrêts à divers endroits et je traçais sous ollydbg. Une fois cette partie achevé, on se retrouve avec le binaire non packé en mémoire et on attaque la deuxième phase, retrouver les messages cachés.
Ici pas vraiment de piège, il faut passer les protections anti-debug et elles ne sont pas bien compliquées. En effet il s’agit de contourner l’api IsDebuggerPresent ou bien de contourner un test de temps d’exécution.
Quand on analyse le code, on arrive sur des instructions de test suivuit de saut conditionné par ces tests. Si le test réussi on saute plus loin dans le code sinon le programme fait un ExitProcess, terminant l’exécution de ce dernier. Donc il suffit de faire en sorte que les tests réussissent. Pour ma part j’ai réalisé ceci en modifiant la valeur des registres du processeur.
Le challenge à commencé le samedi 26 juin à 14h00, date à laquelle le binaire fut accessible sur le site crackme.fr. J’ai donc commencé 14h00 a regardé mais sans grande conviction, le packer m’a impressionné et j’ai vite abandonné. Le dimanche je m’y suis remis au plus 10 minutes. Lundi matin je discute avec baboon et je lui demande en combien de temps il a trouvé. Là il me dit qu’il l’a fait en 30 minutes en étant pas encore remis d’une fête entre amis la veille au soir. Il reprend le challenge et le termine en 5 minutes…. La dessus il me dit que c’est un challenge vraiment facile et qu’il n’y a aucun piège.
Bon la dessus je me dit qu’il faut que j’arrive a avoir au moins un message en clair. Lundi soir je reprend l’analyse et en restant bien concentré et en comprenant bien je choses j’arrive à trouver les 3 messages cachés en 3 heures. Ce fut une satisfaction personnelle
Maintenant que je sais comment fonctionne le programme et ou mettre mes points d’arrêts, j’arrive à le casser en 5 minutes aussi :p
Donc pour conclure je dirais que c’était un challenge accessible à beaucoup de personnes pour peu que l’on sache programmer un minimum et que l’on sache commen fonctionne l’assembleur (en gros savoir comment une instruction if est traduite en asm et comment un test en asm fonctionne).
J’avoue avoir été un peu déçu par la faiblesse du challenge. En effet les 3 messages se déchiffrent de la même manière, j’étais partis avec l’idée qu’il y aurait une hausse de la difficulté suivant les messages. Par exemple niveau facile pour trouver le message n°1, niveau moyen pour le 2ème et (assez) dur pour le 3ème, afin que les personnes participant puissent arriver à quelque chose et mais qu’uniquement les meilleurs arrivent au bout. En fait non pas de granularité dans la difficulté des messages ce qui fait en gros que c’était plus une course à la rapidité qu’une course à la technique. Cela est d’autant plus étrange car le programme a été présenté comme étant un programme qui sert de test de recrutement. Alors j’espère qu’il ne s’agisse que du 1er test qu’ils font dans leur recrutement pour élaguer certain au plus vite.
Bon pour finir sur quelque chose de plus optimiste, ce fut un bon divertissement en espérant une prochaine édition mais avec un level plus élevé.
ESET organise un concours de reverse engeneering pour les étudiants alors que je suis redevenu étudiant je m’y suis inscrit.
Le 1er prix est la visite du laboratoire de cet éditeur d’antivirus, ce qui peux être très intéressant et enrichissant. A noter que le binaire qu’il faudra reverser est un binaire que la société donne à analyser aux personnes postulant chez eux donc sous le couvert d’un challenge c’est surtout une recherche de futur candidat d’embauche à mon avis.
Alors le concours commence dans un mois ce qui fait que j’ai un mois pour devenir un pro du reverse, ce qui n’est pas gagné. En effet je pratique cette discipline que rarement donc je débute à chaque fois. En plus j’ai un concourrent sérieux en la personne de baboon qui lui pratique le reverse comme d’autre pratique la chaise longue.
Enfin bon on verra bien ce que cela donnera.
Microsoft va dans les prochains mois sortir un nouvau système d’exploitation, successeur de Windows Vista, Windows 7.
Mais est ce que votre ordinateur est prêt à accueillir ce nouvel environnement ?
Et bien c’est très facile à savoir car Microsoft à développer un logiciel qui analyse votre ordinateur et ainsi vous fournit un rapport sur la compatibilité de celui-ci avec ce futur système. Dans ce rapport vous saurez si vous avez un processeur assez puissant, si vous avez suffisament de mémoire ou d’espac disque, si vos périphériques sont d’ores et déjà suportés, idem pour les logiciels installés.
Pour tester la compatibilté de votre ordinateur tester donc le programme Windows 7 Upgrade Advisor.
Bon j’ai quelque peu travailler sur mon projet d’éditeur de texte.
J’ai mis un peu le coté programmation de côté et j’ai pris le papier et le crayon pour réfléchir, c’est essentiel si je ne veux aller droit dans le mur (enfin ça ne m’empêchera pas d’y aller éventuellement).
Donc j’ai repris tout de A à Z mais comm je découvre la programmation .NET/C# en même temps, ce n’est pas dit qu’il ne faille pas que je reprennes certaines parties plus tard. Enfin pour le moment je suis capable de lire un fichier et de le transformé en structure mémoire. Cette structure n’est peut pas la meilleure, l’avenir le dira.
La lecture d’un fichier se fait ligne à ligne. Chaque ligne est décomposée en segment, c’est à dire en suite de caractères suivant quelques règles simples. Par exemple les espaces, les tabulations, les simples quotes et les doubles quotes, une chaîne (une lettre suivis de lettres/chifrres/underscore, etc. Chaque segment formant une ligne est stocké dans une liste chaînée et chaque ligne est elle même stocké dans une liste chainée.
Mon problème actuel c’est l’affichage des segments. En effet si j’affiche une ligne segment par segment, 2 segments qui se suivent sont trop séparés (exemple la chaine //). Si j’affiche la chaine // ou si j’affiche 2 segment / et /, je n’obtiens pas le même chose.
Alors apparemment quand on écris une chaine cela ajoute des espaces avant et après mais je ne sais pas comment gérer cela. Le pire c’est que même si je prends comme police de caractère une police monospace, le problème persiste.
Une fois ce problème résolu, il faudra que je m’occupe des points suivants (sans ordres précis) :
- affichage et déplacement du curseur
- insertion / suppression de caractère
- Lexer pour la coloration du code suivant le langage
- Code folding
- Undo/Redo
- Sélections
- Gestion du presse-papier
- etc.
Voila encore beaucoup de travaille sur la planche et de mal de tête à venir.
Et voila encore une année est passée alors je souhaite à tout le monde une bonne et heureuse année 2009.
En naviguant ce matin sur le net et en cherchant des infos sur ubuntu server, je suis tombé sur un blog ave un article donnant quelques conseils pour le sécuriser. Bon pour le moment vous ne voyez pas le rapport avec le titre du billet.
Et bien quand j’arrive sur un blog, je le parcourt un peu pour voir s’il peut être intéressant de le mettre de côté.
Donc sur ce blog (http://prendreuncafe.com/blog), j’ai donc découvert un article sur FirePHP. FirePHP est à php, ce que FireBug est à html/css/javascript.
Bon d’après ce que j’ai compris, il y a une extension a installé pour FireFox et une lib pour php. Il suffit après d’utiliser la lib dans ses scripts php pour logguer des messages et ceux-ci s’affichront alors dans la console FireBug dans FireFox.
Pour le moment je n’ai pas tester mais il va falloir.
Le billet source de ce billet : Debug-PHP-facile-avec-Firefox-Firebug-et-FirePHP
Et voilà la saison des cadeaux est arrivée alors je souhaite à tous ceux qui passeront par ce blog un joyeux noël.
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |