<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Segmentation fault &#187; XeeK</title>
	<atom:link href="https://www.segmentationfault.fr/tag/xeek/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.segmentationfault.fr</link>
	<description>Projets d’un consultant en sécurité informatique</description>
	<lastBuildDate>Fri, 15 Feb 2019 08:02:10 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Release de XeeK v0.1b</title>
		<link>https://www.segmentationfault.fr/projets/release-de-xeek-v0-1b/</link>
		<comments>https://www.segmentationfault.fr/projets/release-de-xeek-v0-1b/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 16:15:21 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Nuit du hack]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[conférence]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[XeeK]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=833</guid>
		<description><![CDATA[Comme promis, voici la toute première release de XeeK, en direct de la Nuit Du Hack 2010. Comme son numéro de version le suggère, il s&#8217;agit d&#8217;une version BETA donc potentiellement buggée . XeeK v0.1b : archive comportant le client, le serveur, ainsi que l&#8217;aide (fichiers INSTALL.txt et README.txt) Slides de la conférence (PDF) J&#8217;éditerai [...]]]></description>
			<content:encoded><![CDATA[<p>Comme promis, voici la toute première release de XeeK, en direct de la Nuit Du Hack 2010. Comme son numéro de version le suggère, il s&rsquo;agit d&rsquo;une version BETA donc potentiellement buggée <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<span id="more-833"></span></p>
<ul>
<li><a href="http://www.segmentationfault.fr/wp-content/uploads/2010/06/xeek-0.1b.zip">XeeK v0.1b</a> : archive comportant le client, le serveur, ainsi que l&rsquo;aide (fichiers INSTALL.txt et README.txt)</li>
<li><a href="http://www.segmentationfault.fr/wp-content/uploads/2010/06/XeeK.pdf">Slides de la conférence</a> (PDF)</li>
</ul>
<p>J&rsquo;éditerai ce billet prochainement pour y ajouter un petit tutorial concernant l&rsquo;installation et l&rsquo;utilisation de XeeK.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/projets/release-de-xeek-v0-1b/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Conférence sur XeeK à la NDH 2010</title>
		<link>https://www.segmentationfault.fr/projets/conference-sur-xeek-a-la-ndh-2010/</link>
		<comments>https://www.segmentationfault.fr/projets/conference-sur-xeek-a-la-ndh-2010/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 12:27:00 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Nuit du hack]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[conférence]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[XeeK]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=789</guid>
		<description><![CDATA[Comme certains ont pu le voir sur Twitter ou sur le site de la NDH, j&#8217;ai repris le développement de XeeK, un projet de framework d&#8217;exploitation de faille XSS. J&#8217;ai déjà présenté une ébauche de ce projet à la Nuit Du Hack 2009, que j&#8217;ai stoppé entre temps, faute de temps (oui, je sais, c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>Comme certains ont pu le voir sur <a href="http://twitter.com/emiliengirault" target="_blank">Twitter</a> ou sur le site de la <a href="http://www.nuitduhack.com/conferences-fr-conferences-salon-challenge-hack.htm" target="_blank">NDH</a>, j&rsquo;ai repris le développement de <a href="http://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/">XeeK</a>, un projet de framework d&rsquo;exploitation de faille XSS. J&rsquo;ai déjà présenté une ébauche de ce projet à la Nuit Du Hack 2009, que j&rsquo;ai stoppé entre temps, faute de temps (oui, je sais, c&rsquo;est mal). Mais rassurez-vous : début janvier, je me suis remis en tête de reprendre ce projet et d&rsquo;en publier une version stable à la NDH 2010. En attendant la mise en place d&rsquo;une page dédiée au projet, voici quelques informations sur les nouveautés à venir.</p>
<p><span id="more-789"></span></p>
<h3>XeeK is not dead</h3>
<p>Ainsi, je travaille activement sur le projet depuis plus d&rsquo;un mois. J&rsquo;ai profité de l&rsquo;expérience de mes collègues pour faire une petit brainstorm sur l&rsquo;état du projet, et ainsi obtenir de nouvelles idées. Comme certaines de ces idées remettaient en cause la structure mise en place, j&rsquo;ai préféré reprendre le développement du projet from scratch.</p>
<h3>Quoi de neuf depuis 2009 ?</h3>
<p>Plusieurs personnes ont développé des outils aux fonctionnalités similaires (Beef, XSS Shell, etc). Plutôt que de réinventer la roue, j&rsquo;ai préféré m&rsquo;inspirer de ces outils afin d&rsquo;intégrer leurs bonnes idées dans la plateforme. Voici quelques unes des nouvelles fonctionnalités prévues pour le moment : (cette liste est susceptible d&rsquo;évoluer dans les mois à venir)</p>
<ul>
<li>L&rsquo;architecture est désormais de type client &#8211; serveur</li>
<li>Les deux entités communiquent via une API basée sur HTTP/JSON</li>
<li>Cette architecture permettra de développer de multiples clients, un peu sur le modèle de Metasploit :
<ul>
<li>Interface console</li>
<li>Interface Web</li>
<li>Interface graphique (applicative)</li>
<li>Pourquoi pas une extension Firefox</li>
</ul>
</li>
<li>Abandon du concept de &laquo;&nbsp;scheduler&nbsp;&raquo; ; les instructions sont désormais toujours récupérées dynamiquement</li>
<li>Concept de chaine d&rsquo;exploits : suite d&rsquo;instructions qui s&rsquo;enchaînent</li>
<li>De nouveaux exploits sont prévus
<ul>
<li>Scan de port du réseau interne</li>
<li>Récupération d&rsquo;historique</li>
<li>Proxy</li>
</ul>
</li>
</ul>
<p>Au niveau technique, ce nouveau XeeK nécessitera PHP &gt;= 5.3.0 (à cause des <a href="http://php.net/manual/fr/language.oop5.late-static-bindings.php" target="_blank">Late Static Bindings</a>), MySQL ainsi que Python pour l&rsquo;interface en ligne de commande.</p>
<h3>Licence</h3>
<p>Ce projet est développé principalement dans le cadre de mon temps R&amp;D chez Sysdream. Il sera diffusé en GPL suite à la conférence que je donnerai à la prochaine <a href="http://www.nuitduhack.com/conferences-fr-conferences-salon-challenge-hack.htm" target="_blank">Nuit Du Hack</a>. Un SVN ainsi qu&rsquo;un wiki seront certainement mis en place pour permettre aux intéressés de récupérer les sources ainsi que la documentation.</p>
<p>En attendant le 19 juin, si vous avez des idées / suggestions, n&rsquo;hésitez pas <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/projets/conference-sur-xeek-a-la-ndh-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nuit Du Hack 2009 : Et les vainqueurs sont&#8230;</title>
		<link>https://www.segmentationfault.fr/securite-informatique/bilan-nuit-du-hack-2009/</link>
		<comments>https://www.segmentationfault.fr/securite-informatique/bilan-nuit-du-hack-2009/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:17:00 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Nuit du hack]]></category>
		<category><![CDATA[Publications]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[pentest]]></category>
		<category><![CDATA[XeeK]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=655</guid>
		<description><![CDATA[Tant attendue, la NDH 2009 s&#8217;est terminée ce matin même. La péniche sur laquelle se déroulait l&#8217;événement battait son plein ; nous étions quasiment 200 à bord. Pour la première fois, le challenge était un Capture The Flag  au cours duquel se sont affrontés une demi douzaine d&#8217;équipes. Mais cette année, la team de Ghosts [...]]]></description>
			<content:encoded><![CDATA[<p>Tant attendue, la NDH 2009 s&rsquo;est terminée ce matin même. La péniche sur laquelle se déroulait l&rsquo;événement battait son plein ; nous étions quasiment 200 à bord. Pour la première fois, le challenge était un Capture The Flag  au cours duquel se sont affrontés une demi douzaine d&rsquo;équipes. Mais cette année, la team de Ghosts In The Stack n&rsquo;était pas au complet car il manquait Heurs, contraint de ne pas participer au challenge vu qu&rsquo;il fait désormais partie du staff. Ma team, répondant au nom de Trollkore (un trip IRC&#8230;) était donc composée d&rsquo;Ivanlef0u, sh4ka, Pierz et Kal0n. Et c&rsquo;est notre équipe qui a remporté le challenge ! Voici, rien que pour vous, un petit résumé de cette super nuit organisée par <a href="http://www.sysdream.com">Sysdream</a>. [EDIT 15/16/09 : slides et sources mis en ligne]<span id="more-655"></span></p>
<h3>Conférences</h3>
<p>Le programme était aussi riche qu&rsquo;intense : une douzaine de conférences se déroulant sur deux plateformes ; il y avait donc toujours deux confs en simultané. L&rsquo;inconvénient était toutefois qu&rsquo;on ne pouvait assister qu&rsquo;à la moitié des confs&#8230; Pour ma part, j&rsquo;ai alterné entre les deux plateformes, et j&rsquo;ai en plus du finaliser quelques slides donc je n&rsquo;ai pas pu en profiter pleinement. Au final, voila ce à quoi j&rsquo;ai assisté :</p>
<ul>
<li><strong>SCOW &#8211; ShellCoding On Windows</strong> : Heurs présente son nouvel outil permettant de générer un shellcode générique sous Wndows à partir d&rsquo;un simple programme C. Un outil permettant de gagner un temps fou lors de la conception d&rsquo;un exploit, avec en prime une polymorphisation du shellcode en question.</li>
<li><strong>GoRing0 </strong>: Présentée par moi-même. Cette conférence se veut accessible à tous ceux qui s&rsquo;intéressent de près ou de loin au noyau et au fonctionnement des processeurs x86, en particulier le système de privilèges (ring). J&rsquo;y présente dans un premier temps toutes les bases nécessaire pour comprendre le coeur de la conférence : un rootkit que j&rsquo;ai développé et qui permet de passer un thread en ring 0, le contexte étant préservé.</li>
<li><strong>Drive by Pharming</strong> : Abc528 présente une faille XSRF des routeurs de type box (Alicebox, Livebox&#8230;) permettant de modifier leur configuration depuis une page HTML hébergée sur un site quelconque.</li>
<li><strong>XeeK </strong>: Ma deuxième conf de la soirée. Je présente XeeK, un projet dont j&rsquo;ai déjà parlé <a href="http://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/">ici</a>, mais que je n&rsquo;ai pas encore eu le temps de finir. Il s&rsquo;agit d&rsquo;un framework visant à exploiter les failles XSS très rapidement et simplement.</li>
<li><strong>Lockpicking </strong>: Cocolitos et Mr Jack nous démontrent qu&rsquo;aucun verrou n&rsquo;est vraiment sûre, en crochetant différents types de serrures, les unes à la suite des autres. On y apprend entre autres qu&rsquo;on peut crocheter certaines serrures avec un bout d&rsquo;essuie glace, et ouvrir un cadenas avec une canette. Même certaines serrures réputées haute sécurité y passent.</li>
</ul>
<p>Dommage, j&rsquo;ai loupé la conférences de Virtualabs sur les framework Web next gen, qui pourraient fortement m&rsquo;intéresser pour poursuivre XeeK.</p>
<p>Sinon, si je devais donner mon opinion sur les 3 confs que j&rsquo;ai vues, je dirai qu&rsquo;elles étaient à la hauteur de mes attentes et qu&rsquo;elles valaient vraiment le coup d&rsquo;oeil, sauf une : le Drive By Pharming. Soyons clairs : je respecte tous les conférenciers ainsi que les présentations qu&rsquo;ils ont données. Mais je pense que cette conférence, bien que s&rsquo;adressant à des débutants, manquait de préparation, de contenu (elle a duré 10 min) et contenait des erreurs assez flagrantes. Je reste enthousiaste à l&rsquo;idée d&rsquo;accueillir des confs de tous les niveaux, mais je pense toutefois que les conférenciers ne devraient pas hésiter à approfondir un peu plus leurs sujets. Enfin, pour ce qui est de la conférence sur le lockpicking, bien que je n&rsquo;ai aucune expérience en la matière, j&rsquo;ai vraiment adoré.</p>
<h3>Slides</h3>
<p>Voici les slides de mes conférences ainsi que les sources/binaires que je publie :</p>
<ul>
<li><strong>GoRing0 </strong>: <a href="http://www.segmentationfault.fr/wp-content/uploads/2009/06/goring0.pdf">Slides </a>- <a href="http://www.segmentationfault.fr/wp-content/uploads/2009/06/goring0-bin.zip">Binaires </a>- <a href="http://www.segmentationfault.fr/wp-content/uploads/2009/06/goring0-src.zip">Sources</a></li>
<li><strong>XeeK </strong>: <a href="http://www.segmentationfault.fr/wp-content/uploads/2009/06/xeek.pdf">Slides</a></li>
</ul>
<p>Pour les autres, allez sur le <a href="http://www.nuitduhack.com">site officiel</a> ou contacter directement les conférenciers.</p>
<h3>Challenge</h3>
<p>Grosse nouveauté de cette année : le challenge principal est un Capture The Flag. Le principe est simple : chaque équipe possède quelques serveurs, leur but étant de les protéger et d&rsquo;attaquer ceux des autres. En gros :</p>
<ul>
<li>Règle n°1 : pas d&rsquo;attaques physiques.</li>
<li>Règle n°2 : pas d&rsquo;attaques sur le serveur du staff.</li>
<li>Règle n°3 : tout le reste est permis. Même  le déni de service.</li>
</ul>
<p>Pour pimenter l&rsquo;affaire, aucune information n&rsquo;est donnée au préalable, pas même les IP de nos propres machines. Pas de DHCP. Il nous faut alors sniffer le traffic pour nous apercevoir qu&rsquo;une machine emmet en broadcast. Nous nous attribuons donc des IP statiques sur la même plage, et configurons la machine qui broadcast comme passerelle. A partir de là, nous découvrons le serveur de monitoring qui contient les résultats en temps réel su challenge avec le classement des équipes, ainsi que la liste de toutes les machines. Autant dire que Nmap a bien tourné&#8230;</p>
<p>On nous fait parvenir les logins/pass de notre machine Windows, mais pas ceux de celle sous Linux. Prétexte:  ils sont facile à trouver. Je m&rsquo;acharne donc à bruteforcer avec Hydra (en l&rsquo;ayant recompilé au passage avec le support pour SSH), mais rien n&rsquo;y fait. Pierz se penche sur Windows, fait tourner Metasploit, et découvre que les machines sont vulnérables au MS08_067. En quelques secondes, il roote une machine adverse et récupère les hashs à valider. Le score décolle enfin ! Décidé à faire baisser le score des autres équipes, j&rsquo;exploite la vuln à mon tour et en profite supprimer le contenu de c:\Windows\system32 ainsi que boot.ini et autoexec.bat, puis je lance un reboot. Cependant, je n&rsquo;avais pas prévu que Windows restaurerai ces 2 fichiers et que la machine booterait toujours. Dommage&#8230;</p>
<p>Pendant ce temps, sh4ka et Ivan s&rsquo;acharnent sur notre Windows en remote desktop. Ivan se fait plaisir sur les crackmes fournis et les reverse rapidement. Kal0n est quant à lui sur un exploit PhpMyAdmin. Avec Sh4ka, je me penche sur le Web. Cependant, il y a un imprévu : le challenge Web prévu est inaccessible car mal configuré. Nous allons alors sur le serveur commun que HZV a laissé pour que même les non participants puissent s&rsquo;entraîner. Nous trouvons rapidement une include locale, une injection SQL, une faille par authentification faible via cookies et une XSS qui n&rsquo;a d&rsquo;ailleurs pas été validé (non prévue à la base). Pendant ce temps, Ivan se penche sur un crackme en kernel, qui lui donne du fil à retordre mais qui fini par tomber.</p>
<p>Aux environs de 5h, on finit par nous donner les accès Linux. Dépités, nous constatons que le login/pass n&rsquo;était en effet pas bien dur à trouver (freeman:team2). En supposant que la combinaison soit similaire sur les autres machines, nous parvenons à nous connecter chez les autres équipes. Mais nous voyons que tout a été chrooté dans tous les sens, et qu&rsquo;au final n&rsquo;avons accès qu&rsquo;à cat, ls, cs, mv, mkdir et python. Nous découvrons plusieurs binaires suid root, dont un vulnérable à un buffer overflow. L&rsquo;ASLR étant activé, l&rsquo;exploitation via  ret onto ret est toujours faisable mais comme nous n&rsquo;avons pas gdb sur la machine distante, et qu&rsquo;il commence à se faire tard (ou tôt, question de point de vue), nous préférons nous arrêter là. En plus, nous sommes une des seules équipes restantes&#8230;</p>
<h3>Remise des prix</h3>
<p>Vers 6h, Crashfr annonce les résultats. Nous sommes premiers ! Jamais nous n&rsquo;aurions pensé gagner, car nous nous attendions à affronter Dvrasp, Fozzy et Artyc&#8230; Mais en fait, il étaient trop occupés au bar <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Crashfr remet les prix aux équipes : des certifications CEH pour les 1ers, et des livres pour les deuxièmes et troisièmes. Sans oublier bien sûr les super trophées en verres, réalisés pour l&rsquo;occasion. Pour ma part, comme je serai bientôt consultant chez Sysdream, je pense plutôt convertir ce CEH en LPT (Licensed Penetration Tester), une autre certification d&rsquo;EC-Council. En tout cas, si j&rsquo;ai particupé à cette nuit, c&rsquo;était uniquement pour le fun. Comme d&rsquo;habitude, la NDH est de mieux en mieux, et son ampleur augmente au fil du temps. A quand une NDH rivalisant avec le Black Hat et le Defcon ? En plus, c&rsquo;était ma dernière NDH en tant que challenger, vu que l&rsquo;année prochaine je ferai partie du staff et je pourrai à mon tour goûter aux joies de voir tout le monde s&rsquo;arracher les cheveux sur un challenge dont je suis l&rsquo;auteur <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>See you next year !</p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/securite-informatique/bilan-nuit-du-hack-2009/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Conférence NDH 2009 sur GoRing0</title>
		<link>https://www.segmentationfault.fr/projets/conference-ndh-2009-goring0/</link>
		<comments>https://www.segmentationfault.fr/projets/conference-ndh-2009-goring0/#comments</comments>
		<pubDate>Wed, 13 May 2009 22:50:50 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Nuit du hack]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Publications]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[ring 0]]></category>
		<category><![CDATA[rootkit]]></category>
		<category><![CDATA[XeeK]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=641</guid>
		<description><![CDATA[Je me suis récemment lancé sur un nouveau projet perso, nommé GoRing0. Ce projet est parti d&#8217;une question existentielle que je me suis posée concernant les processus, ou plutôt les threads. Sous Linux et Windows, ceux-ci s&#8217;exécutent normalement en ring 3 (mode processeur userland), alors que les drivers s&#8217;exécutent en ring 0 (kernelland).  Ma question [...]]]></description>
			<content:encoded><![CDATA[<p>Je me suis récemment lancé sur un nouveau projet perso, nommé GoRing0. Ce projet est parti d&rsquo;une question existentielle que je me suis posée concernant les processus, ou plutôt les threads. Sous Linux et Windows, ceux-ci s&rsquo;exécutent normalement en ring 3 (mode processeur <em>userland</em>), alors que les drivers s&rsquo;exécutent en ring 0 (<em>kernelland</em>).  Ma question était la suivante : est-ce techniquement possible de passer un thread du ring 3 vers le ring 0 ? Attention, je ne parle pas de faire un appel à un code driver depuis un programme ring 3 par le biais d&rsquo;une interruption ou d&rsquo;un IOCTL, mais bien de passer une le code du thread lui-même en ring 0. Étant convaincu que la réponse à cette question est affirmative, je me lance dans la conception d&rsquo;une preuve de concept : GoRing0.<span id="more-641"></span></p>
<h3>GoRing0</h3>
<p>GoRing0 est donc un rootkit qui a pour objectif de faire passer un thread en ring 0, et de le rebasculer accessoirement en ring 3 lorsqu&rsquo;il le souhaite. Pour cela, celui-ci devra bien évidemment charger un driver, afin de s&rsquo;élever les droits et de permettre une telle commutation. La partie utilisateur du rootkit pourrait se présenter sous la forme d&rsquo;une librairie exportant deux fonctions principales : GoRing0() et GoRing3(), permettant le basculement en ring 0 et ring 3 respectivement. N&rsquo;importe quel programme pourrait alors faire appel à ces fonctions et s&rsquo;élever les droits à volonté. Je développe pour le moment sous Windows, mais idéalement, GoRing0 devrait être capable de fonctionner aussi bien sous sous Linux, la manipulation qu&rsquo;il effectue étant surtout liée à l&rsquo;architecture x86.</p>
<p>Le principe de fonctionnement de GoRing0 repose sur les interruptions. Les fonctions GoRing0() et GoRing3() déclenchent une interruption spécifique qui est hookée par le driver et qui se charge de modifier la valeur de CS empilée automatiquement par le processeur. En effet il se trouve que le ring courant du processeur (le CPL) est encodé dans les 2 premiers bits de CS ainsi que dans le descripteur de segment (dans la GDT) auquel il correspond. Plus intéressant encore, Windows définit deux valeurs spéciales de CS : une en userland (0x1b), et une en kernelland (0&#215;8). Il suffit alors au handler d&rsquo;interruption de substituer la valeur empilée de CS par la valeur kernelland pour passer le thread en ring 0 au retour d&rsquo;interruption.</p>
<p>Pour le moment, j&rsquo;ai un prototype fonctionnel stable : j&rsquo;arrive à passer un thread en ring 0 et à le rebasculer en ring 3. Pour m&rsquo;en assurer, je peux afficher la mémoire kernel depuis ce thread (adresses supérieures à 0&#215;80000000 sous Windows). Cependant, lorsqu&rsquo;un thread est en ring 0, il est impossible d&rsquo;appeler des API Windows car celles-ci vérifient apparamment si le thread qui les appelle vient bien du ring 3. De même, il n&rsquo;est pas possible d&rsquo;appeler des fonctions du kernel depuis le thread même en ring 0, à moins d&rsquo;en connaître l&rsquo;adresse ou de la résoudre à l&rsquo;exécution.</p>
<h3>Nouvelle conférence à la Nuit Du Hack</h3>
<p>Enfin, j&rsquo;en viens à la véritable news de ce post&#8230; Au départ, je devais présenter une conférence sur XeeK et une autre sur InjecSO. Etant donné qu&rsquo;InjecSO est sorti depuis un moment maintenant (avec la doc sur ce blog), que je me suis lancé dans ce nouveau projet, et que cette année il n&rsquo;y a pour l&rsquo;instant aucune conférence orientée kernel, j&rsquo;ai pensé intéressant de remplacer la conférence sur InjecSO par une sur GoRing0. Je compte y présenter le projet et par la même occasion de présenter rapidement l&rsquo;architecture x86 et le développement en mode kernel aux débutants en la matière. Ceux pour qui les concepts d&rsquo;interruption, segments et autre GDT sont du chinois (autrement dit ceux qui n&rsquo;ont pas compris le paragraphe technique ci-dessus&#8230;) sont les bienvenus, je compte justement expliquer tout cela ! Ca sera de plus l&rsquo;occasion de releaser officiellement GoRing0 et de faire une petite démo. Sur ce, à la NDH !</p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/projets/conference-ndh-2009-goring0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Conférences Nuit du Hack 2009</title>
		<link>https://www.segmentationfault.fr/securite-informatique/conferences-nuit-du-hack-2009/</link>
		<comments>https://www.segmentationfault.fr/securite-informatique/conferences-nuit-du-hack-2009/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 17:17:10 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Nuit du hack]]></category>
		<category><![CDATA[Publications]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[XeeK]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=604</guid>
		<description><![CDATA[C&#8217;est désormais officiel : je présenterai deux conférences à la prochaine Nuit Du Hack organisée par Sysdream et l&#8217;équipe de Hackerzvoice. Ma première conférence sera l&#8217;occasion de présenter XeeK, un projet personnel en cours de développement dont le but est de fournir un framework pour exploiter facilement des failles XSS et démontrer leur puissance. L&#8217;outil [...]]]></description>
			<content:encoded><![CDATA[<p>C&rsquo;est désormais officiel : je présenterai deux conférences à la prochaine <a href="http://www.nuitduhack.com/">Nuit Du Hack</a> organisée par <a href="http://www.sysdream.com/">Sysdream</a> et l&rsquo;équipe de <a href="http://hackerzvoice.net/">Hackerzvoice</a>.</p>
<p>Ma première conférence sera l&rsquo;occasion de présenter <a href="http://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/">XeeK</a>, un projet personnel en cours de développement dont le but est de fournir un framework pour exploiter facilement des failles XSS et démontrer leur puissance. L&rsquo;outil n&rsquo;est toujours pas fini, donc il va falloir que je fasse vite pour arriver à quelque chose de présentable&#8230; :p</p>
<p>Le sujet de la deuxième conférence n&rsquo;est pas encore décidé à 100%, mais une chose est sure : il traitera d&rsquo;un domaine nettement plus applicatif et bas niveau. Je pensais au départ présenter <a href="http://www.segmentationfault.fr/projets/injecso-injection-de-so-sous-linux/">InjecSO</a>, mais je vais voir si je ne peux pas trouver un autre sujet encore plus intéressant et inédit&#8230;<span id="more-604"></span></p>
<p>Enfin, j&rsquo;en profite pour faire de la pub pour Heurs qui présentera quant à lui son dernier projet : SCOW, un outil permettant de développer des shellcodes entièrement en C sous Windows. Avec un peu de chance, on aura droit à la dernière version en avant première&#8230;</p>
<p>Retrouvez le <a href="http://www.nuitduhack.com/programme-conferences-salon-challenge-hack.htm">programme</a> complet sur le site officiel. Avec un challenge de type Capture The Flag et un lieu inédit (une péniche sur la Seine), la soirée s&rsquo;annonce mémorable d&rsquo;avance ! J&rsquo;ai déjà hâte d&rsquo;y être <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/securite-informatique/conferences-nuit-du-hack-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XeeK, framework d&#8217;exploitation pour XSS</title>
		<link>https://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/</link>
		<comments>https://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 21:27:15 +0000</pubDate>
		<dc:creator>Emilien Girault</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Sécurité informatique]]></category>
		<category><![CDATA[faille web]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[projet]]></category>
		<category><![CDATA[XeeK]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=307</guid>
		<description><![CDATA[La faille XSS, ou Cross-Site Scripting, est certainement la plus répandue sur le Web. Tous les débutants dans le domaine de la sécurité informatique ou du hacking la connaissent et savent comment voler un cookie ou afficher un message d&#8217;erreur, mais pensent trop souvent à tort que cette faille se limite à cela (j&#8217;ai déjà [...]]]></description>
			<content:encoded><![CDATA[<p>La faille XSS, ou <em>Cross-Site Scripting</em>, est certainement la plus répandue sur le Web. Tous les débutants dans le domaine de la sécurité informatique ou du hacking la connaissent et savent comment voler un cookie ou afficher un message d&rsquo;erreur, mais pensent trop souvent à tort que cette faille se limite à cela (j&rsquo;ai déjà posté un <a href="http://www.segmentationfault.fr/securite-informatique/la-xss-cette-faille-meconnue/">article</a> sur le sujet). D&rsquo;un autre côté, ceux qui programment un minimum en JavaScript/Ajax savent que ce langage permet de faire des merveilles en matière de pages dynamiques et contrôle de navigateur, mais ignorent souvent les possibilités offertes pour une personne malveillante. C&rsquo;est à partir de ces deux constats que m&rsquo;est venue une idée qui est en train de se concrétiser, et qui tient en un mot : XeeK.<span id="more-307"></span></p>
<h3>[EDIT]</h3>
<p>Le projet a subit de nombreux changements depuis la publication de ce billet. J&rsquo;ai publié la première version du projet <a href="http://www.segmentationfault.fr/projets/release-de-xeek-v0-1b/">ici</a> ; en attendant un tutorial vous pouvez retrouver des informations plus à jour <a href="http://www.segmentationfault.fr/projets/conference-sur-xeek-a-la-ndh-2010/">dans ce billet</a>. Gardez à l&rsquo;esprit que les informations qui suivent (et particulièrement le jargon associé à l&rsquo;outil ainsi que les fonctionnalités) ne sont plus complétement valides&#8230;</p>
<h3>Le projet</h3>
<p>XeeK, pour <em>XSS Easy Exploitation Kernel</em>, est un projet dont l&rsquo;objectif est le suivant : démontrer la puissance de la XSS en proposant un outil pour exploiter facilement ce type de faille. Les premières idées qui ont engendré ce projet me sont venues cet été, mais c&rsquo;est uniquement depuis quelques semaines que j&rsquo;ai vraiment commencé à y travailler.</p>
<h3>Un noyau et des modules</h3>
<p>Certains me trouveront peut-être un peu ambitieux, mais mon but serait de faire de XeeK une sorte de <em>Metasploit</em> pour la XSS. Pour dire les choses autrement, l&rsquo;objectif serait de proposer un framework, c&rsquo;est à dire un ensemble de classes, ou de modules capables d&rsquo;interagir ensemble. En fait, si le K de XeeK signifie <em>kernel</em> (noyau) c&rsquo;est parce qu&rsquo;il sera effectivement composé d&rsquo;un noyau proposant les fonctionnalités génériques de base et d&rsquo;une suite de modules qui pourront s&rsquo;y greffer. Dans l&rsquo;idéal, ces modules pourront être développés par n&rsquo;importe qui. A titre de comparaison, considérez le noyau Linux et ses modules, ou bien Firefox et ses extensions.</p>
<h3>Architecture</h3>
<p>Concrètement, XeeK se composera d&rsquo;une interface Web déployée sur un serveur appartenant à un attaquant, disons hacker.com. XeeK étant censé faciliter l&rsquo;exploitation des failles XSS, il appartient à l&rsquo;attaquant de découvrir ces failles ; je n&rsquo;envisage pour le moment pas d&rsquo;intégrer un scanner de ce type dans l&rsquo;outil. Une fois une XSS trouvée sur un site quelconque, disons victime.com, l&rsquo;attaquant pourra utiliser l&rsquo;interface de XeeK afin de générer un exploit personnalisé et paramétrable. Après avoir défini l&rsquo;exploit, celui-ci pourra être intégré à un lien piégé exploitant la XSS sur victime.com. Il ne restera plus à l&rsquo;attaquant qu&rsquo;à faire cliquer la victime sur ce lien&#8230;</p>
<p>Dans le jargon XeeK, l&rsquo;attaquant commencera par créer une <em>session</em>, choisira sa ou ses <em>victimes</em>, et sélectionnera un <em>scheduler</em>, ou ordonnanceur. C&rsquo;est ce composant qui déterminera comment les actions de l&rsquo;exploit seront exécutées sur le navigateur de la victime. J&rsquo;envisage pour le moment deux types de schedulers :</p>
<ul>
<li><em>Statique</em> — toutes les actions de l&rsquo;exploit seront définies à l&rsquo;avance et intégrées &laquo;&nbsp;en dur&nbsp;&raquo; de façon définitive.</li>
<li><em>Dynamique</em> — l&rsquo;exploit chargé sur le navigateur de la victime ne contiendra pas les actions proprement dit, mais un loader qui sera chargé de récupérer les actions sur le serveur XeeK (hacker.com) de façon dynamique et transparente. Ainsi, l&rsquo;attaquant pourra modifier l&rsquo;exploit et suivre la progression de la victime en temps réel.</li>
</ul>
<p>Les actions exécutées chez les victimes seront susceptibles de retourner des résultats qui seront visualisables directement par le biais de l&rsquo;interface. En fait, XeeK cachera l&rsquo;aspect technique de l&rsquo;exploitation et sera conçu pour simplifier au maximum les choses à l&rsquo;attaquant. Plus précisément, l&rsquo;attaquant aura devant lui une interface ressemblant à un debugger, à partir de laquelle il lance son exploit, observe sa progression et visualise les résultats. La différence avec un vrai debugger est que cet exploit sera exécuté sur les victimes et non sur sa propre machine&#8230;</p>
<h3>Une application : BotNet</h3>
<p>Puisque XeeK supportera plusieurs sessions en simultanée, chacune supportant elle-même plusieurs victimes, on en arrive à une des applications potentielles de l&rsquo;outil : faire office de BotNet. Pour ceux qui l&rsquo;ignorent, un botnet est un réseau de machines zombies contrôlable par un attaquant via un protocole quelconque. Ici, il s&rsquo;agira de simples requêtes HTTP. La différence avec les &laquo;&nbsp;vrais&nbsp;&raquo; botnets est qu&rsquo;ici, le code malveillant s&rsquo;exécutera uniquement lorsque la victime aura son navigateur d&rsquo;ouvert sur la page piégée.</p>
<p>Pour aider à la propagation du botnet, la possibilité la plus simple est d&rsquo;utiliser une XSS permanente, c&rsquo;est à dire quand l&rsquo;injection de code est enregistrée en dur sur le site et affecte tous les visiteurs. Ainsi chaque visiteur tombant sur la page piégée rejoindra automatiquement le botnet à son insu et exécutera le même exploit que ses collègues. Tout cela grâce à une malheureuse petite XSS&#8230;</p>
<p>Imaginez qu&rsquo;un site très connu et utilisé par des milliers de visiteurs soit vulnérable à une XSS permanente. Avec XeeK, il devient possible de lancer une attaque de masse contre tous les visiteurs de la page.</p>
<h3>Fonctionnalités</h3>
<p>Qu&rsquo;est-ce que XeeK saura faire ? A vrai dire, les fonctionnalités définitives ne sont pas encore décidées (vu que les modules seront extensibles), mais voici un aperçu de ce que j&rsquo;envisage.</p>
<ul>
<li>Furtivité du point de vue du visiteur (le site exploité continue à fonctionner sans problèmes).</li>
<li>Exécution de code JavaScript arbitraire.</li>
<li>Envoi de requêtes asynchrones (Ajax) vers le site vulnérable. Une des applications pourraît être d&rsquo;exploiter des éventuelles failles XSRF (<em>Cross Site Request Forgery</em>).</li>
<li>Envoi de requêtes asynchrones vers d&rsquo;autres sites.</li>
<li>Détournement de formulaire. Exemple : lorsque la victime remplit un des formulaires de la page, tout son contenu est envoyé sur hacker.com de façon transparente.</li>
<li>Récupération de cookies.</li>
<li>Récupération du contenu de la page (code HTML vu par la victime).</li>
<li>Plus généralement, récupération de n&rsquo;importe quelle variable accessible par JavaScript et DOM.</li>
<li>Traceur de visiteur. L&rsquo;exécution de l&rsquo;exploit continue même si le visiteur change de page, chaque nouvelle page visitée étant loguée et accessible directement par l&rsquo;attaquant.</li>
<li>Simulation de clic sur des liens / boutons / n&rsquo;importe quel élément graphique des pages.</li>
<li>Fonctionne aussi bien en HTTPS qu&rsquo;en HTTP ; cela ne change absolument rien.</li>
</ul>
<h3>Technologies</h3>
<p>XeeK est pour le moment développé à l&rsquo;aide de PHP, JavaScript, Ajax et MySQL. Bien entendu, les langages liés tels que CSS et HTML sont également utilisés à foison. Pour ce qui est de la compatibilité des navigateurs, pour être sincère je n&rsquo;ai encore utilisé que Firefox. Soyons honnête ; je ne suis ni designer ni un pros des subtilités de chaque navigateur. Mais je tiens à préciser qu&rsquo;avant d&rsquo;effectuer une release, je ferais mon possible pour au moins que la partie &laquo;&nbsp;victime&nbsp;&raquo; de l&rsquo;outil fonctionne sur IE qui est toujours, il faut le rappeler, le navigateur le plus utilisé. Je vise au moins IE7, peut-être IE6 mais il ne faut peut-être pas trop en demander pour une 1ère release <img src='https://www.segmentationfault.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Release</h3>
<p>Je sens venir la question &laquo;&nbsp;<em>Quand XeeK sera-t-il publié ?</em>&laquo;&nbsp;. Je n&rsquo;ai malheureusement pas encore de réponse pour le moment. XeeK est encore au stade de prototype même si plusieurs fonctionnalités marchent déjà bien. Il me reste à concevoir la partie interface de l&rsquo;outil, améliorer deux/trois petites choses, tester la partie exploitation sous IE&#8230; Comme vous pouvez vous en douter je ne travaille pas sur ce projet à plein temps, j&rsquo;ai aussi des études. Pour donner une estimation, j&rsquo;espère pouvoir publier une première release avant 2009. Mais cela ne constitue pas une garantie&#8230; En effet, je préfère prendre mon temps pour bien faire les choses, plutôt que de sortir quelque chose de bancal le plus vite possible. Au pire, je sortirais une alpha ou béta avant sa vraie sortie.</p>
<p>XeeK sera publié sous license GPL (2 ou 3). En d&rsquo;autres termes, n&rsquo;importe qui pourra utiliser, développer et améliorer l&rsquo;outil à condition qu&rsquo;il publie ses travaux également sous GPL.</p>
<h3>Click and hack</h3>
<p>Certains me reprocheront peut-être :</p>
<blockquote><p><em>Tu n&rsquo;as pas honte, de mettre à disposition des scripts kiddies un outil aussi dangereux, où il suffit de cliquer pour pirater ?</em></p></blockquote>
<p>Je leur répondrai tout simplement non pour plusieurs raisons :</p>
<ul>
<li>Il existe des outils similaires encore lus puissants et plus simples à utiliser. Exemple : Metasploit. Personne ne se plaint de cet outil (enfin pas à ma connaissance) alors qu&rsquo;il permet de rooter une machine sans aucune connaissance technique. C&rsquo;est un outil utilisé par des professionnel pour le <em>penetration testing</em>.</li>
<li>Cet outil n&rsquo;est pas plus &laquo;&nbsp;dangereux&nbsp;&raquo; que les possibilités offertes par la faille XSS. Il essaye juste d&rsquo;utiliser ces possibilités au maximum.</li>
<li>En sortant cet outil et en le faisant connaître, j&rsquo;espère faire prendre conscience à plus d&rsquo;un que les failles XSS sont vraiment dangereuses, ce qui semble ne vraiment pas encore être le cas.</li>
</ul>
<p>Sur ce, je crois que j&rsquo;ai tout dit&#8230; Je vais continuer le développement de ce projet en espérant ne pas mettre trop de temps à le publier. Si vous avez des questions ou suggestions, les commentaires sont là pour ça !</p>
]]></content:encoded>
			<wfw:commentRss>https://www.segmentationfault.fr/projets/xeek-framework-exploitation-xss/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
