<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Edgardojose's Weblog &#187; computadoras</title>
	<atom:link href="http://edgardojose.wordpress.com/category/computadoras/feed/" rel="self" type="application/rss+xml" />
	<link>http://edgardojose.wordpress.com</link>
	<description>Lugar donde como persona puedo expresar mi pensamiento.</description>
	<lastBuildDate>Wed, 21 Jan 2009 17:51:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='edgardojose.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a3a8df650d978521d7e4395943337bfb?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Edgardojose's Weblog &#187; computadoras</title>
		<link>http://edgardojose.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://edgardojose.wordpress.com/osd.xml" title="Edgardojose&#8217;s Weblog" />
		<item>
		<title>Obteniendo la contraseña de Windows Vista con las tablas de arcoiris y entendiendo como todo funciona.</title>
		<link>http://edgardojose.wordpress.com/2008/06/02/obteniendo-la-contrasena-de-windows-vista-con-las-tablas-de-arcoiris-y-entendiendo-como-todo-funciona/</link>
		<comments>http://edgardojose.wordpress.com/2008/06/02/obteniendo-la-contrasena-de-windows-vista-con-las-tablas-de-arcoiris-y-entendiendo-como-todo-funciona/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 00:51:30 +0000</pubDate>
		<dc:creator>edgardojose</dc:creator>
				<category><![CDATA[PC]]></category>
		<category><![CDATA[computadoras]]></category>
		<category><![CDATA[Hash]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[ophcrack]]></category>
		<category><![CDATA[rainbow tables]]></category>
		<category><![CDATA[tablas arcoiris]]></category>
		<category><![CDATA[vista password]]></category>

		<guid isPermaLink="false">http://edgardojose.wordpress.com/?p=42</guid>
		<description><![CDATA[Antes que todo, antes que nada, si lo que el lector quiere es conseguir la forma de entrar en una computadora de Windows XP o Windows Vista sin saber la contraseña, lo puede lograr con diferentes utilidades como lo son:
Windows Key (Pagando).
Offline NT Password &#38; Registry Editor (gratis, pero mas difícil de entender y usar).
He [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edgardojose.wordpress.com&blog=1859090&post=42&subd=edgardojose&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Antes que todo, antes que nada, si lo que el lector quiere es conseguir la forma de entrar en una computadora de Windows XP o Windows Vista sin saber la contraseña, lo puede lograr con diferentes utilidades como lo son:</p>
<p><a href="http://www.lostpassword.com/windows.htm">Windows Key</a> (Pagando).</p>
<p><a href="http://home.eunet.no/%7Epnordahl/ntpasswd/">Offline NT Password &amp; Registry Editor</a> (gratis, pero mas difícil de entender y usar).</p>
<p>He probado ambas utilidades y les doy fe de que funcionan bien.</p>
<p>Ahora si el lector lo que quiere es averiguar la contraseña de una cuenta de usuario y entender como funciona el procedimiento, pues siga leyendo&#8230;</p>
<p>Primero debemos tener lo siguiente:</p>
<p><strong>1)</strong> Tiempo para entender el tutorial y conceptos (sobre 1 hora).</p>
<p><strong><span>2) </span><a href="http://www.slavasoft.com/zip/hashcalc.zip"><span>HashCalc 2,01</span></a>.</strong></p>
<p><strong><span><strong>3) </strong></span></strong><strong><span><strong>ophcrack</strong></span></strong><strong><span><strong> <a href="http://downloads.sourceforge.net/ophcrack/ophcrack-vista-livecd-2.0.iso">Live CD Vista</a></strong></span></strong><strong><a href="http://downloads.sourceforge.net/ophcrack/ophcrack-vista-livecd-2.0.iso"> </a>ó </strong><strong><span><strong>ophcrack <a href="http://downloads.sourceforge.net/ophcrack/ophcrack-xp-livecd-2.0.iso">Live CD XP</a>.</strong></span></strong></p>
<p><strong><a></a></strong></p>
<p><strong><span><strong>4) </strong></span></strong><a href="http://downloads.sourceforge.net/ophcrack/ophcrack-win32-installer-3.0.exe" target="_blank"><strong><span><strong>ophcrack para Windows</strong></span></strong></a><strong><a>.</a></strong></p>
<p><em></em></p>
<p>Al descargar ophcrack LiveCd lo que estaremos descargando es una imagen que se puede quemar en un cd-r utilizando Nero Burning ROM o Magic ISO . Ophcrack viene tanto en su versión para Windows como en su versión para Linux. Las versiones <span>ophcrack</span> LiveCD lo que traen adentro es el sistema operativo Linux y traen adentro la versión de ophcrack que corre en Linux. Una vez que se ingrese el CD dentro de la computadora solo tiene que apretar donde dice &#8220;Graphical Mode&#8221; y esperar un rato, todo el proceso es automatico.</p>
<p><a href="http://edgardojose.files.wordpress.com/2008/06/g.jpg"><img class="alignnone size-medium wp-image-52" src="http://edgardojose.files.wordpress.com/2008/06/g.jpg?w=300&#038;h=258" alt="" width="300" height="258" /></a></p>
<p>Todo el tutorial lo estoy desarrollando en Windows Vista 32 bits,Build 6000, con privilegios de administrador.</p>
<p><a href="http://ophcrack.sourceforge.net/download.php?type=livecd"><span><strong></strong></span></a><a href="http://edgardojose.files.wordpress.com/2008/05/foto11.png"><img class="aligncenter size-full wp-image-44" src="http://edgardojose.files.wordpress.com/2008/05/foto11.png?w=402&#038;h=533" alt="" width="402" height="533" /></a></p>
<p><a href="http://edgardojose.files.wordpress.com/2008/05/foto-4.png"><br />
</a></p>
<p>Tanto <strong>MD5</strong>, <strong>Sha128</strong>,<strong>Sha256</strong>, <a href="http://es.wikipedia.org/wiki/Control_de_redundancia_c%C3%ADclica" target="_blank"><strong>CRC</strong></a>, son algoritmos de una sola dirección, también se les conoce como funciones de HASH. Al <strong>MD5</strong> Tu le pones un Input cualquiera digamos un archivo, o un texto y el te proporciona una OUTPUT de un largo fijo. Sí a ese Input le cambias una letras te proporciona otro OUTPUT bien diferente pero también de un largo fijo. Como muestro a continuación. Muchas veces a lo que aquí yo llamo OUTPUT, tambien se le conoce como <strong>clave</strong>, <strong>llave</strong>, <strong><em>M</em></strong><strong>essage digest</strong><span style="text-decoration:underline;"> </span>o simplemente el <strong>Hash</strong>.</p>
<p><span style="text-decoration:underline;"><strong><em>INPUT </em></strong></span>-&gt; <span style="text-decoration:underline;"><strong><em>OUTPUTS </em></strong></span><span style="text-decoration:underline;"><strong><br />
</strong></span></p>
<p><strong>amor</strong> -&gt; 5da2297bad6924526e48e00dbfc3c27a</p>
<p><strong>Amor</strong> -&gt; d21f3f8a8c140e8889147a0f810d04e3</p>
<p><strong>amol</strong> -&gt; 34754f2e7d395b4b26577121aa9b03e6</p>
<p><strong>e</strong> -&gt; e1671797c52e15f763380b45e841ec32</p>
<p>El truco es que nadie nunca pueda adivinar cual es el <strong>INPUT</strong> de un <strong>OUTPUT</strong>. Que alguien con mirar 5da2297bad6924526e48e00dbfc3c27a no me pueda decir eso salio de la palabra <strong>amor</strong>. El algoritmo <strong>MD5</strong> es<em> case-sensitive</em>, eso quiere decir, que no es lo mismo un letra mayúscula que una letra minúscula. No importa que tan largo o corto sea el <span style="text-decoration:underline;"><em><strong>INPUT</strong></em></span>, el <em><span style="text-decoration:underline;"><strong>OUTPUT</strong></span></em> siempre sera del mismo largo 32 caracteres en el caso particular de MD5.</p>
<p>Podemos decir que los distintos algoritmos nos dejan representar de manera casi unívoca los diferentes INPUTS. ¿Porque digo de manera casi unívoca?</p>
<p>Sí de casualidad a dos INPUTS diferentes les diera el mismo OUTPUT, a esto se le llama una colisión, <span style="color:#000000;"><span style="font-size:x-small;"><span style="font-family:verdana;"><strong>&#8220;collision&#8221;.</strong></span></span></span></p>
<p>Sí de casualidad fueran iguales estos OUTPUTS entonces tendríamos una colisión.</p>
<p><strong>amor</strong> -&gt; 5da2297bad6924526e48e00dbfc3c27a</p>
<p><strong>sencillo</strong> &#8211; &gt; 5da2297bad6924526e48e00dbfc3c27a</p>
<p>El chance de que esto ocurra es (1/(16^32). &#8220;Bien poco probable <span style="text-decoration:underline;">pero probable</span>&#8220;.</p>
<p><span style="text-decoration:underline;">¿Que utilidad se puede obtener de esto de Hashing?</span></p>
<p>1) Se utiliza para verificar que un archivo de internet, no sea alterado de manera maliciosa.</p>
<p>2) Se utiliza para verificar que la descarga de un archivo de internet, no sea corrupta.</p>
<p>3 ) Por solo dar un ejemplo el programa llamado mirc utiliza internamente el CRC, cuando alguien intenta alterar mirc.exe (para hacer ingieneria inversa y crakearlo) , el algoritmo CRC lo detecta y no deja que se ejecute el programa.</p>
<p>4) Se utiliza para acelerar la búsqueda en un base de datos.</p>
<p>5) Se utiliza para encontrar archivos idénticos.</p>
<p>6) Por otra parte podemos utilizar el MD5 para verificar si podemos dejar entrar a alguien a un sistema (una computadora) . Simple e sencillamente se comparando los dos <em><strong><span style="text-decoration:underline;">OUTPUTS</span></strong></em>.</p>
<p><strong>IF (</strong> 5da2297bad6924526e48e00dbfc3c27a <strong>equals</strong> d21f3f8a8c140e8889147a0f810d04e3 <strong>) { </strong></p>
<p>-&gt; DEJARLO ENTRAR PERSONA EN EL SISTEMA</p>
<p><strong>} ELSE {<br />
</strong></p>
<p>-&gt; NO DEJAR ENTRAR PERSONA EN EL SISTEMA</p>
<p><strong>}</strong></p>
<p>En este caso una computadora ejecutaría <strong>NO DEJAR ENTRAR PERSONA EN EL SISTEMA </strong>porque los dos numeros no son iguales<strong>.</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>¿Porque matemáticamente hablando , no podemos revertir el <strong>OUTPUT</strong> hacia el <strong>INPUT</strong>?</p>
<p>X/8 = 10</p>
<p>en este caso sabemos que X = 80.</p>
<p>El signo %, se le conoce como el <a href="http://en.wikipedia.org/wiki/Modulo_operation">modulo</a>.</p>
<p>35/6 = 5.8333333333333333333333333333333</p>
<p><strong>X</strong> % 6 = 5 <strong>&lt;- Para esta ecuación tenemos muchas respuestas</strong>.</p>
<p>35 % 6 = 5 <strong>&lt;- Respuesta correcta</strong></p>
<p>34 % 6 = 5 <strong>&lt;- Respuesta correcta</strong></p>
<p>33 % 6 = 5 <strong>&lt;- Respuesta correcta</strong></p>
<p>32 % 6 = 5 <strong>&lt;- Respuesta correcta</strong></p>
<p>En este caso <strong>X</strong> puede ser un infinidad distinta de valores. <strong>X</strong> puede ser 32,33,34,35.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Cada vez que creas un cuenta de usuario en Windows 2000, 2003, XP o Vista y le pones una contraseña, Windows procesa tu contraseña por un algoritmo (función Hash) y crea un <strong>OUTPUT</strong>. Ese <strong>OUTPUT</strong> de tu contraseña se guarda en un archivo llamado sam (sin extensión). Que por lo general se encuentra en C:\Windows\System32\config\.</p>
<p>Cada vez que miras la pantalla del <strong>Logon de Windows</strong> y entras tu username y tu contraseña, el sistema operativo lo que hace es verificar los dos <strong>OUTPUTS</strong> internamente, de esa forma se sabe si te deja entrar o sí no te deja entrar. Windows verifica el <strong>OUTPUT</strong> de la contraseña que estas entrando en el momento <strong>VS</strong> el <strong>OUTPUT</strong> que se encuentra en el archivo sam, asociado al username que entrastes.</p>
<p>Windows en vez de utilizar MD5 o CRC, utiliza <strong>LM Hash</strong> y <strong>NTLM (NTLan Manager)</strong><strong> </strong>para generar los<strong> OUTPUTS </strong>de las contraseñas. En el caso de Windows XP si la contraseña es mayor a 14 caracteres se utiliza NTLM, si la contraseña es menor de 14 caracteres se utiliza LM Hash. En el caso de Windows Vista LM Hash está desactivado por defecto y se utiliza NTLM.</p>
<p><a href="http://edgardojose.files.wordpress.com/2008/05/foto-31.png"><img class="alignleft size-medium wp-image-47" src="http://edgardojose.files.wordpress.com/2008/05/foto-31.png?w=228&#038;h=253" alt="" width="228" height="253" /></a></p>
<p>Por default Windows protege este archivo sam para que nadie lo pueda <span style="text-decoration:underline;">ver, tocar o modificar, utilizar para nada</span>. La forma mas fácil de ver esos <strong><em>OUTPUTS</em></strong> en el archivo sam es, bootenado desde un <a href="http://es.wikipedia.org/wiki/CD_aut%C3%B3nomo"><strong>XP LiveCd</strong></a> ( <a href="http://www.demonoid.com/files/details/442799/6976998/">bajar por aquí </a>) cualquiera en tu ordenador, copiando el contenido completo del directorio config en tu jump drive (reboot) y despues abriendo el mismo archivo sam con OPHCrack en su versión para Windows.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>-Para y piensa por un minuto en lo siguiente&#8230; ¿Que puede hacer un atacante &#8220;hacker&#8221; que de casualidad conosca nuestro <strong>OUTPUT &#8220;Message Digest&#8221;</strong> pero no se sepa el <strong>INPUT</strong> ? ¿Que puede hacer este para tratar de conocer nuestro <strong>INPUT</strong> ?</p>
<p><a href="http://edgardojose.files.wordpress.com/2008/06/thinking.png"><img class="alignnone size-medium wp-image-53" src="http://edgardojose.files.wordpress.com/2008/06/thinking.png?w=116&#038;h=130" alt="" width="116" height="130" /></a></p>
<p><span style="text-decoration:underline;">Existen varias alternativas:</span></p>
<p><strong>A)</strong> Primero puede tratar de generar una colisión, de esa forma no necesariamente tiene que saber la contraseña verdadera para poder entrar en un sistema. (SERIA LO IDEAL).</p>
<p><strong>B) </strong>Puede tratar de conseguir la contraseña por fuerza bruta.</p>
<p><strong>C) </strong>Puedes tratar de hacer un ataque por diccionario.</p>
<p><strong>D)</strong> Podemos calcular todos los Message Digest posibles de antemano y ponerlos a todos en una gran base de datos. ( Que de hecho esto ,es lo que se a echo en <a href="http://gdataonline.com/">esta web</a> ).</p>
<p><a href="http://edgardojose.files.wordpress.com/2008/05/113308897248-copy.jpg"><img class="alignnone size-medium wp-image-49" src="http://edgardojose.files.wordpress.com/2008/05/113308897248-copy.jpg?w=200&#038;h=150" alt="" width="200" height="150" /></a></p>
<p><strong>E)</strong> Por ultimo podemos utilizar lo que se conoce como Rainbow Tables, que solo es una variación, (digamos una mejora) de la técnica anterior. Y cuando hablo de arcoiris no me refiero al de uno literal.</p>
<p>Sí seguimos con el punto D entonces nos encontramos con que:</p>
<p><strong>1)</strong> El tiempo en hacer los cálculos de antemano no es un gran problema hoy en día con las computadoras existentes. GREAT!</p>
<p><strong>2)</strong> El espacio necesario para almacenar toda la información generada puede que sí represente un problema. Estamos hablando de trillones y trillones de posibles combinaciones. ¿Tienes 1,000,000,000,000,000,000,000 de GB disponibles?</p>
<p>Entonces Philippe Oechslin propuso una optimización basada en lo que se conoce como función de reducción. En vez de almacenar toda la información, almacenemos la información de tal forma que se pueda deducir las que no está almacenada a partir de las que si lo está. <a href="https://www.isc2.org/cgi-bin/content.cgi?page=738">Según él</a> podemos decir que de cada 10,000 <strong>OUTPUTS</strong>, solo almacenemos 1.</p>
<p>&#8212;&#8211;&gt;&gt;&gt;&gt;&gt; IMPORTANTE</p>
<p>QUE QUEDE CLARO, EL PROPÓSITO DE LA ALTERNATIVA <strong>E </strong>vs la alternativa <strong>D</strong>, es la de literalmente ahorrar espacio a la hora de almacenar data. Pero si tuviéramos el espacio disponible, el tiempo de búsqueda seria bien parecido (prácticamente el mismo).</p>
<p>&#8212;&#8211;&gt;&gt;&gt;&gt;&gt;</p>
<p>Esto se logra con la función de reducción. Recuerden que al MD5, CRC, SHA256 se les conoce como funciones de Hash.</p>
<p style="margin-bottom:0;font-style:normal;"><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;"><strong>hash() -</strong> Generara un <strong>OUTPUT</strong> a partir de un <strong>INPUT</strong> cualquiera.</span></span></p>
<p style="margin-bottom:0;font-style:normal;"><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;"><strong>reduction() &#8211; </strong>Aceptara un <strong>OUTPUT</strong> y generara una <span style="text-decoration:underline;">numero especial</span> a partir de este.</span></span></p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">Ejemplo<strong> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
</strong></p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(amor)</strong> = 5da2297bad6924526e48e00dbfc3c27a</p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(5da2297bad6924526e48e00dbfc3c27a)</strong> = 522976</p>
<p style="margin-bottom:0;font-style:normal;">En este caso el numero especial 522976 sale de los primeros 6 números del <strong>OUTPUT</strong>.</p>
<p style="margin-bottom:0;font-style:normal;">Se le conoce como función de reduction porque lo que sale (522976) es menor que lo que entra (5da2297bad6924526e48e00dbfc3c27a).</p>
<p style="margin-bottom:0;font-style:normal;">Debemos de tener claro que la función de reduction puede ser cualquier otra cosa, como por ejemplo la propia función de hash CRC.</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(amor)</strong> = 5da2297bad6924526e48e00dbfc3c27a</p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>5da2297bad6924526e48e00dbfc3c27a<strong>)</strong> = 522976</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(</strong>522976<strong>)</strong><strong> = </strong>7e90472c2010eaf9bebdcb203bf95102<strong> </strong></p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>7e90472c2010eaf9bebdcb203bf95102<strong>)</strong> = 790472</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(</strong>790472<strong>) = </strong>9e9450dd108ff890ec692a4a01b7ac2d</p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>9e9450dd108ff890ec692a4a01b7ac2d<strong>)</strong> =994501</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(</strong>994501<strong>) = </strong>942a866a400d4add7eaf7cdd7dd3a512</p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>942a866a400d4add7eaf7cdd7dd3a512<strong>)</strong> =942866</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(</strong>942866<strong>) = </strong>a8af735b67116c40eee3f94a35923eb2</p>
<p style="margin-bottom:0;font-style:normal;">y así sucesivamente pudo haber sido hasta 10,000 veces.</p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;"><span style="text-decoration:underline;">Desechamos lo del medio y nos quedamos con esta cadena : (Que seria lo que guardariamos en la tabla)</span></p>
<p style="margin-bottom:0;font-style:normal;">Supongamos que cada cadena alberga la representación de 10,000 OUTPUTS.</p>
<p style="margin-bottom:0;font-style:normal;">-<strong>COLUMNA1</strong>&#8212;<strong>COLUMNA2 de OUTPUTS finales</strong> &#8212;</p>
<p style="margin-bottom:0;font-style:normal;">1) amor <img class="alignnone size-medium wp-image-54" src="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=45&#038;h=45" alt="" width="45" height="45" />a8af735b67116c40eee3f94a35923eb2 &lt;-(10,000)</p>
<p style="margin-bottom:0;font-style:normal;">2) ZZZ <img class="alignnone size-medium wp-image-54" src="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=45&#038;h=45" alt="" width="45" height="45" /> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX &lt;-(10,000)</p>
<p style="margin-bottom:0;font-style:normal;">3) ZZZ <img class="alignnone size-medium wp-image-54" src="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=45&#038;h=45" alt="" width="45" height="45" /> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX &lt;-(10,000)</p>
<p style="margin-bottom:0;font-style:normal;">4) ZZZ <img class="alignnone size-medium wp-image-54" src="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=45&#038;h=45" alt="" width="45" height="45" /> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX &lt;-(10,000)</p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">y así sucesivamente, nos encontramos con que tenemos una tabla que contiene muchas cadenas.</p>
<p style="margin-bottom:0;font-style:normal;">La palabra amor fue con lo que empezamos la cadena, y a8af735b67116c40eee3f94a35923eb2 fue con lo que terminamos nuestra cadena. En este caso amor y a8af735b67116c40eee3f94a35923eb2 es lo único que se guarda en nuestra tabla para poder representar los 10,000 OUTPUTS.</p>
<p style="margin-bottom:0;font-style:normal;">Sí por ejemplo tenemos un <strong>OUTPUT</strong> ( en este caso 9e9450dd108ff890ec692a4a01b7ac2d) que no conocemos su <strong>INPUT</strong>, procedemos de la siguiente manera: empezamos aplicando la reducción al <strong>INPUT</strong>.</p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>9e9450dd108ff890ec692a4a01b7ac2d) = 994501</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5</strong>(994501) = 942a866a400d4add7eaf7cdd7dd3a512 <span style="text-decoration:underline;">&lt;-NO APARECE EN LA COLUMNA2 SEGUIMOS</span></p>
<p style="margin-bottom:0;font-style:normal;"><strong>Reduction(</strong>942a866a400d4add7eaf7cdd7dd3a512) = 942866</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5</strong>(942866 ) = a8af735b67116c40eee3f94a35923eb2 <span style="text-decoration:underline;">&lt;-APARECIO &#8220;PARAMOS&#8221;</span></p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">Cuando paramos quiere significar que nuestro INPUT se encuentra en alguna parte de la Cadena#1 de la Columna #1 de nuestra tabla.</p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;">La razón por la cual son llamada tablas de arcoiris es porque cada cadena de la tabla puede utilizar una función de &#8220;reduction&#8221; diferente. Y Sí fuéramos a ponerle un color diferente a cada reduction tendríamos una tabla de arcoiris.</p>
<p style="margin-bottom:0;font-style:normal;">
<p style="margin-bottom:0;font-style:normal;"><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;">Limitaciones<strong> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
</strong></span></span></p>
<p style="margin-bottom:0;font-style:normal;"><a href="http://edgardojose.files.wordpress.com/2008/05/table_salt.png"><img class="alignnone size-medium wp-image-50" src="http://edgardojose.files.wordpress.com/2008/05/table_salt.png?w=74&#038;h=113" alt="" width="74" height="113" /></a></p>
<p style="margin-bottom:0;font-style:normal;"><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;">Cuando se le añade lo que se conoce como la sal a la función del hash el rainbow table puede que no sea tan efectivo. Digamos que en este caso la sal son los caracteres </span></span><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;">%#é</span></span><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;"> . Pues la sal aumenta la complejidad de la contraseña y se tiene que tener una &#8220;rainbow table&#8221; que contenga los caracteres que no son de uso común.<br />
</span></span></p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5(amor + </strong><span style="font-family:Verdana,sans-serif;"><span style="font-size:x-small;">%#é</span></span><strong> )</strong> = 00900a3eeabd97131443d253adc15356</p>
<p style="margin-bottom:0;font-style:normal;"><strong>MD5</strong>(password, <strong>MD5</strong>(username))</p>
<p style="margin-bottom:0;font-style:normal;">Una sal que sea de una letra (f) no tendría sentido. Se deben de usar sales que sean de bastantes caracteres y mejor si son de caracteres no ordinarios.</p>
<p style="margin-bottom:0;font-style:normal;">Se supone que cada usuario de un sistema tenga una sal diferente.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edgardojose.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edgardojose.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edgardojose.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edgardojose.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edgardojose.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edgardojose.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edgardojose.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edgardojose.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edgardojose.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edgardojose.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edgardojose.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edgardojose.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edgardojose.wordpress.com&blog=1859090&post=42&subd=edgardojose&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edgardojose.wordpress.com/2008/06/02/obteniendo-la-contrasena-de-windows-vista-con-las-tablas-de-arcoiris-y-entendiendo-como-todo-funciona/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/22d992b17a06187306f90ea3748ae3de?s=96&#38;d=identicon" medium="image">
			<media:title type="html">edgardojose</media:title>
		</media:content>

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/g.jpg?w=300" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/05/foto11.png" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/05/foto-31.png?w=228" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/thinking.png?w=259" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/05/113308897248-copy.jpg?w=200" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=120" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=120" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=120" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/06/chain_nicu_buculei_01.png?w=120" medium="image" />

		<media:content url="http://edgardojose.files.wordpress.com/2008/05/table_salt.png?w=133" medium="image" />
	</item>
	</channel>
</rss>