<?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>H4CKarandas &#187; c0de</title>
	<atom:link href="http://hackarandas.com/blog/category/c0de/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackarandas.com/blog</link>
	<description>Donde las ideas se dispersan en bytes...</description>
	<lastBuildDate>Wed, 30 Jun 2010 15:00:47 +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>Fast MAC Address Changer in Linux</title>
		<link>http://hackarandas.com/blog/2010/04/02/fast-mac-address-changer-in-linux/</link>
		<comments>http://hackarandas.com/blog/2010/04/02/fast-mac-address-changer-in-linux/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 20:01:49 +0000</pubDate>
		<dc:creator>Ch0ks</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[c0de]]></category>
		<category><![CDATA[Adrian Puente Z.]]></category>
		<category><![CDATA[backtrack]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[hackarandas]]></category>
		<category><![CDATA[pentest]]></category>

		<guid isPermaLink="false">http://hackarandas.com/blog/?p=205</guid>
		<description><![CDATA[ When you are making a pentest sometimes you need to be sneaky and have some tricks in your arsenal to cloak yourself in the network. But some sysadmins are skillfull in their incident response and, sometimes (not many in my experience) they found you and try to block your access creating some ACLs for [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://hackarandas.com/blog/wp-content/uploads/2010/03/APtext3RWBCol-150x150.jpg" style="margin: 10px 10px 0pt 0pt; float: left; width: 120px; height: 134px;" title="Fractal" alt="" /> When you are making a pentest sometimes you need to be sneaky and have some tricks in your arsenal to cloak yourself in the network. But some sysadmins are skillfull in their incident response and, sometimes (not many in my experience) they found you and try to block your access creating some ACLs for the IP you are using, maybe for your MAC Address.</p>
<p>This script runs on linux and helps you changing your MAC Address in a blink of an eye, this is how it works: you invoke the command and automatically see if you are root, if not it sudo itself to get the needed priviledges, generates a new random mac and installs it in the interface.</p>
<div class="dean_ch" style="white-space: wrap;">-=:<span class="br0">&#41;</span>&gt; changemacrandom.<span class="me1">sh</span> &lt;interface&gt;</div>
<p>For example:</p>
<div class="dean_ch" style="white-space: wrap;">
-=:<span class="br0">&#41;</span>&gt; changemacrandom.<span class="me1">sh</span> eth0<br />
Only root can <span class="kw1">do</span> that! sudoing&#8230;<br />
<span class="me1">eth0</span> &nbsp; &nbsp; &nbsp;Link encap:Ethernet &nbsp;HWaddr <span class="nu0">00</span>:<span class="nu0">15</span>:c5:3d:e9:<span class="nu0">82</span> &nbsp;<br />
Interface eth0 has new mac:<br />
eth0 &nbsp; &nbsp; &nbsp;Link encap:Ethernet &nbsp;HWaddr <span class="nu0">70</span>:e7:<span class="nu0">84</span>:ca:b2:c5 &nbsp;<br />
Restart dhcp client to get a new IP.</div>
<p>The code is really simple:</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="re3">#!/bin/bash</span><br />
<span class="re3"># Script by Adrian Puente Z. apuente _AT_ hackarandas _dot_ com</span><br />
<span class="re3"># Powered by Hackarandas www.hackarandas.com</span><br />
<span class="re3"># Licensed by GNU GPLv3</span><br />
<span class="re3"># http://www.gnu.org/licenses/gpl<span class="nu0">-3.0</span>.txt</span></p>
<p>
<span class="br0">&#91;</span> <span class="re4">$#</span> -eq <span class="nu0">0</span> <span class="br0">&#93;</span> &amp;&amp; <span class="kw3">echo</span> &nbsp;<span class="st0">&quot;Sintax: `basename $0` &lt;interface&gt;&quot;</span> &amp;&amp; <span class="kw3">exit</span> <span class="nu0">0</span></p>
<p><span class="br0">&#91;</span> `<span class="kw2">id</span> -u` -ne <span class="nu0">0</span> <span class="br0">&#93;</span> &amp;&amp; <span class="kw3">echo</span> <span class="st0">&quot;Only root can do that! sudoing&#8230;&quot;</span> <br />
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="st0">&quot;$EUID&quot;</span> != <span class="nu0">0</span> <span class="br0">&#93;</span>; <span class="kw1">then</span> <span class="kw2">sudo</span> `<span class="kw2">which</span> $<span class="nu0">0</span>` $<span class="nu0">1</span>; <span class="kw3">exit</span>; <span class="kw1">fi</span></p>
<p><span class="re2">INT=</span>$<span class="nu0">1</span></p>
<p><span class="kw1">function</span> gennewmac<br />
<span class="br0">&#123;</span><br />
<span class="kw2">hexdump</span> &nbsp;/dev/urandom | <span class="kw2">head</span> <span class="nu0">-3</span> |\<br />
&nbsp; &nbsp; &nbsp;<span class="kw2">cut</span> -d<span class="st0">&#8216; &#8216;</span> -f2 | <span class="kw1">while</span> <span class="kw2">read</span> -n <span class="nu0">2</span> i<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">do</span> <span class="kw3">echo</span> -n <span class="re1">$i</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">done</span> | <span class="kw2">sed</span> <span class="st0">&#8217;s/::/:/g;s/:$//g&#8217;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">if</span> &nbsp;ifconfig <span class="re0">$<span class="br0">&#123;</span>INT<span class="br0">&#125;</span></span> <span class="nu0">2</span>&gt; /dev/null <span class="nu0">2</span>&gt;&amp;<span class="nu0">1</span> | <span class="kw2">head</span> <span class="nu0">-1</span> <br />
<span class="kw1">then</span><br />
&nbsp; &nbsp; <span class="re2">NEWMAC=</span>`gennewmac`<br />
&nbsp; &nbsp; <span class="kw2">sleep</span> <span class="nu0">3</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> &nbsp;ifconfig <span class="re0">$<span class="br0">&#123;</span>INT<span class="br0">&#125;</span></span> down hw ether <span class="re0">$<span class="br0">&#123;</span>NEWMAC<span class="br0">&#125;</span></span> <span class="nu0">2</span>&gt;/dev/null<br />
&nbsp; &nbsp; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> Interface <span class="re0">$<span class="br0">&#123;</span>INT<span class="br0">&#125;</span></span> has new mac: <br />
&nbsp; &nbsp; &nbsp; &nbsp; ifconfig <span class="re0">$<span class="br0">&#123;</span>INT<span class="br0">&#125;</span></span> <span class="nu0">2</span>&gt; /dev/null <span class="nu0">2</span>&gt;&amp;<span class="nu0">1</span> | <span class="kw2">head</span> <span class="nu0">-1</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ifconfig <span class="re0">$<span class="br0">&#123;</span>INT<span class="br0">&#125;</span></span> up<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> Restart dhcp client to get a new IP.<br />
&nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Error changing MAC to ${NEWMAC}!&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Try again with the same command.&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">exit</span> <span class="nu0">1</span><br />
&nbsp; &nbsp; <span class="kw1">fi</span><br />
<span class="kw1">else</span><br />
&nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;Interface ${INT} doesn&#8217;t exists!&quot;</span><br />
&nbsp; &nbsp; <span class="kw3">exit</span> <span class="nu0">1</span><br />
<span class="kw1">fi</span><br />
<span class="kw3">exit</span> <span class="nu0">0</span></div>
<p>You can <a href="http://hackarandas.com/hacking-projects/changemacrandom.sh.gz">download the script</a> or <a href="http://hackarandas.com/hacking-projects/">check other projects</a> i&#8217;ve made.</p>
<p>So that&#8217;s it. Leave your comments please and happy hacking!</p>
<p><em>Adrián Puente Z.</em></p>
<p><a href="http://www.technorati.com/tag/hackarandas" rel="tag">hackarandas</a>, <a href="http://www.technorati.com/tag/hacker" rel="tag">hacker</a>, <a href="http://www.technorati.com/tag/mac+changer" rel="tag">mac changer</a>, <a href="http://www.technorati.com/tag/Adrian+Puente+Z." rel="tag">Adrian Puente Z.</a>, <a href="http://www.technorati.com/tag/Linux" rel="tag">Linux</a>, <a href="http://www.technorati.com/tag/backtrack" rel="tag">backtrack</a>, <a href="http://www.technorati.com/tag/pentest" rel="tag">pentest</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hackarandas.com/blog/2010/04/02/fast-mac-address-changer-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habemus Galería</title>
		<link>http://hackarandas.com/blog/2007/03/15/habemus-galeria/</link>
		<comments>http://hackarandas.com/blog/2007/03/15/habemus-galeria/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 22:18:42 +0000</pubDate>
		<dc:creator>Ch0ks</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[c0de]]></category>

		<guid isPermaLink="false">http://hackarandas.com/blog/2007/03/15/habemus-galeria/</guid>
		<description><![CDATA[ Pues ya por fin pude crear la galería y es que quería ponerla de cierta forma en particular, ya saben, soy de esos que si no cuestan uno y la mitad del otro no me sabe. Quería poner la galería de forma que no usara un servicio externo como Flicker, que se  crearan [...]]]></description>
			<content:encoded><![CDATA[<p><img  align=left id="image47" src="http://hackarandas.com/blog/wp-content/uploads/2007/04/mona-lisa-monalisa.miniatura.jpg" alt="Monalisa" /> Pues ya por fin pude crear la galería y es que quería ponerla de cierta forma en particular, ya saben, soy de esos que si no cuestan uno y la mitad del otro no me sabe. Quería poner la galería de forma que no usara un servicio externo como <a href="http://www.flicker.com/">Flicker</a>, que se  crearan los thumbs de forma dinámica y que no tuviera que usar el MySQL.</p>
<p>Encontré el <a href="http://www.tinywebgallery.com/index.php?twg_lang=en">Tiny Web Gallery</a> que sobrepasó mis expectativas, aparte de que es realmente fácil de utilizar y administrar. ¿No te ha pasado que tienes cientos de pics pero el problema es que hiciste respaldo en multiples directorios en diferentes partes de tu sistema? En fin, hice un script que me automatiza la creación de la galeria escalando las imágenes a 800&#215;600, ordenándolas y etiquetándolos con una leyenda que describa la situación del evento, para muestra un botón:</p>
<p><center><a  class="imagelink" href="http://hackarandas.com/blog/wp-content/uploads/2007/04/lentes.jpg" title="Adrian con lentes"><img id="image48" src="http://hackarandas.com/blog/wp-content/uploads/2007/04/lentes.miniatura.jpg" alt="Adrian con lentes" /></a></center></p>
<p>En mi caso me bajé el <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> que es un excelente proyecto de que incluye Apache, PHP 4 o 5 y MySQL extremadamente amigable para administrar. Vamos a <a href="http://www.apachefriends.org/en/xampp-linux.html#374">descargarlo aqui</a> y <a href="http://http://www.apachefriends.org/en/xampp-linux.html#377">seguimos las instrucciones</a>, es importante cambiarle las contraseñas a los servicios de XAMPP para un servidor en producción sino luego no chilles si te cambian la página de inicio. Recuerda que el TWG funciona con PHP4 al menos yo no lo he probado con el PHP5 asi que cambiamos con el siguiente comando:</p>
<p><code>sudo /opt/lampp/lampp security<br />
sudo /opt/lampp/lampp php4<br />
sudo /opt/lampp/lampp  restart<br />
</code></p>
<p>Ahora descargamos el <a href="http://www.tinywebgallery.com/en/index.htm">TWG de aqui</a> lo descargamos en <em>/tmp </em>y lo ponemos en la siguiente carpeta <em>/opt/lampp/htdocs</em>. Es importante cambiarle el grupo y darle permisos de escritura al apache pues de otra forma no podremos administar e TWG.</p>
<p><code>cd /opt/lampp/htdocs/<br />
unzip -a /tmp/twg*.zip<br />
mv twg* galeria<br />
chgrp -R nobody galeria<br />
chmod -R g+w galeria<br />
</code></p>
<p>Listo! ya tenemos instalado el Apache con el PHP4 y el TWG en nuestra máquina y podemos verlo andar en la siguiente direccion <a href="http://localhost/galeria">http://localhost/galeria</a> . Debes de poder ver la galería de prueba, cosa que queremos pues significa que el &#8220;juguete&#8221; está andando, después puedes borrar esta galeria para sólo dejar la tuya. Ahora vamos a administrarla, RECUERDA CAMBIAR LOS PERMISOS. entramos a la siguiente dirección <a href="http://localhost/galeria/admin/index.php">http://localhost/galeria/admin/index.php</a> con el usuario <em>admin</em> y la contraseña <em>twg_admin</em> y nos llevará a la primera página de administración donde no exhorta cambiar el passwd cosa que recomiendo ampliamente así como cambiar el login del usuario por defecto por uno menos convencional, ya sabes, vivo en la paranoia.</p>
<p>  Para irnos directo: en el menú izquierdo vemos una liga que dice &#8220;<em>Configure TWG</em>&#8221; la pulsamos y en la opción &#8220;<em>Enable session caching of directorys and files</em>&#8221; le damos <em>false</em>. Cuando estamos actualizando la galeria es bueno tenerlo en <em>false</em> así regenera el caché y podemos ver la galeria terminada. Cuando acabemos no olvides poner en <em>true</em> esta opción, es mucho mas óptimo tenerlo habilitado cuando ya se encuentra en producción. Las imágenes se guardan en carpetas en la siguiente dirección <em> /opt/lampp/htdocs/galeria/pictures</em> Cada galeria le puedes poner una carpeta y dentro de cada carpeta puedes poner una imagen llamada <em>folder.png</em> para que sea el ícono de la Galeria así como un archivo foldername.txt para la descripción donde puedes poner HTML y hacerlo mas &#8220;<em>eye candy</em>&#8220;.</p>
<p>Vamos al famoso Script que nos automatizará la tarea de procesamiento de imágenes. Es importente tener el comando convert del <a href="http://www.imagemagick.org/">Imagemagick</a>. El <a id="p50" rel="attachment" href="http://hackarandas.com/blog/2007/03/15/habemus-galeria/script-dogallery/" title="Script doGallery">script doGallery</a></p>
<blockquote><pre>#!/bin/bash
# Script hecho por Adrian Puente.

if [ $# -lt 2 ]
then
        echo -e "Sintaxis: `basename ${0}` [Prefix Pics] ["Desc"]"
        echo -e "Ejemplo: `basename ${0}` navidad.familia.2007 \\"Navidad con la Familia 2007\\".\\n"
        echo -e "Es importante poner las descripciones con espacios entre comillas."
        echo -e "Terminando el script una carpeta 800x600 contendra las imagenes procesadas."
        exit 0
fi

[ -f PROCESADO.TXT ] \&#038;\&#038; cat PROCESADO.TXT \&#038;\&#038; echo "Borrar el archivo PROCESADO.TXT" \&#038;\&#038; exit 

PREF=${1}
DESC=${2}
OK="\\033[5;32;1mHECHO\\033[0m"
NO="\\033[5;31;1mERROR\\033[0m"

[ ! -d 800x600 ] \&#038;\&#038; mkdir 800x600
# Renombramos las pics para mayor comodidad.
CTR=0;
for i in `ls -1 *.jpg *.JPG`
do
        if [ ${CTR} -lt 10 ]
        then
                NUM=00${CTR}
        else if [ ${CTR} -lt 100 ]
        then
                        NUM=0${CTR}
                else
                        NUM=${CTR}
                fi
        fi
        CTR=`expr ${CTR} + 1`
        echo -en "Convirtiendo ${i} --> ${PREF}-${NUM}.jpg "
        convert ${i} -scale 800x600 -fill white \\
                     -box \\#00000080 -gravity South \\
                     -pointsize 25 -annotate +0+5 "${DESC}" \\
                     800x600/${PREF}-${NUM}.jpg \&#038;\&#038; echo -e [${OK}] || echo -e [${NO}]
done

echo ${DESC} > 800x600/foldername.txt
echo -e "Directorio procesado para galeria el "`date +%F` > PROCESADO.TXT
</pre>
</blockquote>
<p>El script te crea un archivo <em>foldername.txt</em>  con la descripción que escogimos que es compatible con el TWG, también crea un archivo llamado PROCESADO.TXT que guarda la fecha en que esa carpeta fue procesada para no tener múltiples instancias de las carpetas procesadas. Ahora renombramos la carpeta 800&#215;600 con un nombre que describa la situación, no sé, <em>mi_cumple_2007</em>, cuando termino restauro la opción del cache y en mi caso sincronizo los directorios con rsync, así puedo tener la galeria &#8220;en desarrollo&#8221; en mi máquina y cuando queda como quiero la subo, así tengo respaldo y no consumo el ancho de banda de mi site, ok muy ñoño pero no hay porqué ser ineficientes.   </p>
<p><code>rsync --progress -avz -e ssh /opt/lampp/htdocs/galeria usuario@sitioweb:camino/a/los/htdocs<br />
</code></p>
<p>Si tienes algún problema extraño recuerda los permisos . En mi caso mi usuario y grupo en el sitio web es diferente al que tengo en mi máquina así que es bueno verificar los permisos de los grupos. Si quieres aumentarle la seguridad a tu sitio cambia el nombre de la carpeta admin por algún nombre difícil de adivinary accesa por la misma carpeta /index.php. Listo! la galeria ha sido creada. Enjoy</p>
<p>La galería de este su Blog es: <a href="http://http://www.hackarandas.com/galeria">http://www.hackarandas.com/galeria</a></p>
<p><em>Adrián Puente Z.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://hackarandas.com/blog/2007/03/15/habemus-galeria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hex 2 ASCII y viceversa</title>
		<link>http://hackarandas.com/blog/2007/02/13/hex-2-ascii-y-viceversa/</link>
		<comments>http://hackarandas.com/blog/2007/02/13/hex-2-ascii-y-viceversa/#comments</comments>
		<pubDate>Tue, 13 Feb 2007 19:10:23 +0000</pubDate>
		<dc:creator>Ch0ks</dc:creator>
				<category><![CDATA[c0de]]></category>

		<guid isPermaLink="false">http://hackarandas.com/blog/2007/02/22/hex-2-ascii-y-viceversa/</guid>
		<description><![CDATA[He estado jugando un poco con redes inalámbricas y cuando logras romper alguna de 64 bits la llave te sale en Hexadecimal. Se me ocurrió que a lo mejor podría significar algo en ASCII asi que pensé en hacerme un pequeño script para convertirlo rápidamente.  Encontrar un ejemplo práctico fue difícil asi que comparto [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" id="image30" src="http://hackarandas.com/blog/wp-content/uploads/2007/02/hex.miniatura.gif" alt="Hexadecimal." />He estado jugando un poco con redes inalámbricas y cuando logras romper alguna de 64 bits la llave te sale en Hexadecimal. Se me ocurrió que a lo mejor podría significar algo en ASCII asi que pensé en hacerme un pequeño script para convertirlo rápidamente.  Encontrar un ejemplo práctico fue difícil asi que comparto este script para el deleite de otro g33k.</p>
<p><strong>ascii2hex.pl</strong></p>
<blockquote><div class="dean_ch" style="white-space: wrap;"><span class="co1">#!/usr/bin/perl</span><br />
<span class="co1"># Script editado por Adrian Puente Z.</span></p>
<p><span class="kw2">use</span> strict;<br />
<span class="kw2">use</span> warnings;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span> $<span class="co1">#ARGV == -1 )</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;Sintaxis: ascii2hex.pl [cadena ASCII]<span class="es0">\\</span>n&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a>;<br />
<span class="br0">&#125;</span></p>
<p>
<span class="kw1">my</span> <span class="re0">$testchars</span> = <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>;<br />
<span class="kw1">my</span> <span class="re0">$hexchars</span> = <span class="st0">&#8221;</span>;<br />
<span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$c</span> <span class="br0">&#40;</span><a href="http://perldoc.perl.org/functions/split.html"><span class="kw3">split</span></a><span class="br0">&#40;</span>//,<span class="re0">$testchars</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$hexchars</span> .= <a href="http://perldoc.perl.org/functions/sprintf.html"><span class="kw3">sprintf</span></a> <span class="st0">&quot;%x&quot;</span>, <a href="http://perldoc.perl.org/functions/ord.html"><span class="kw3">ord</span></a><span class="br0">&#40;</span><span class="re0">$c</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;$hexchars<span class="es0">\\</span>n&quot;</span>;</div>
</blockquote>
<p>Este Script hace lo contrario pero con otra aproximación:</p>
<p><strong>hex2ascii.pl</strong></p>
<blockquote><div class="dean_ch" style="white-space: wrap;"><span class="co1">#!/usr/bin/perl</span><br />
<span class="co1"># Script editado por Adrian Puente Z.</span></p>
<p><span class="kw2">use</span> strict;<br />
<span class="kw2">use</span> warnings;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span> $<span class="co1">#ARGV == -1 )</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;Sintaxis: hex2ascii.pl [cadena HEX]<span class="es0">\\</span>n&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a>;<br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">my</span> <span class="re0">$s</span> = <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>;<br />
<span class="re0">$s</span> =~ <a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a>/://g;<br />
<span class="re0">$s</span> =~ <a href="http://perldoc.perl.org/functions/s.html"><span class="kw3">s</span></a>/ //g;<br />
<span class="kw1">my</span> <span class="re0">$l</span>=<a href="http://perldoc.perl.org/functions/length.html"><span class="kw3">length</span></a> <span class="re0">$s</span>;<br />
<span class="kw1">my</span> <span class="re0">@a</span>=<a href="http://perldoc.perl.org/functions/pack.html"><span class="kw3">pack</span></a> <span class="st0">&quot;H$l&quot;</span>,<span class="re0">$s</span>;<br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;@a<span class="es0">\\</span>n&quot;</span></div>
</blockquote>
<p>El truco del hex2ascii es que cuando tienes una cadena de tipo <em>AE:34:DF:12</em> quita los caracteres <em>:</em> y lo convierte con la función <em>pack</em> de <em>perl</em>. Es cosa de checar la documentación para poder cambiar de otros formatos como binario a ASCII o HEX.</p>
<p>Ah, y no, no significan nada en ASCII, los que yo encontré. Normalmente en los routers <em>2WIRE</em> de <em>Prodigy</em> tienen una clave en la parte inferior del dispositivo que, por lo que he visto, son siempre números facilitando <em>mucho</em> el rompimiento de la llave de la red.</p>
<p><strong><em>Adrián Puente Z.</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://hackarandas.com/blog/2007/02/13/hex-2-ascii-y-viceversa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La chinche del FTP.</title>
		<link>http://hackarandas.com/blog/2007/01/27/la-chinche-del-ftp/</link>
		<comments>http://hackarandas.com/blog/2007/01/27/la-chinche-del-ftp/#comments</comments>
		<pubDate>Sat, 27 Jan 2007 08:04:01 +0000</pubDate>
		<dc:creator>Ch0ks</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[c0de]]></category>

		<guid isPermaLink="false">http://hackarandas.com/blog/2007/01/27/la-chinche-del-ftp/</guid>
		<description><![CDATA[Imaginemos que eres sysadmin de una empresa con una red clase B, tus becarios están en exámenes finales, te acaba de llegar una notificación de la BSA amenazándote de una auditoría de software y encima es cierre y contabilidad te tiene azorado con preguntas repetitivas de los usaurios (no, no está mal escrito).
Obvio no tienes [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" alt="Chinche del FTP" id="image9" title="Chinche del FTP" src="http://hackarandas.com/blog/wp-content/uploads/2007/01/chinche.miniatura.jpg" />Imaginemos que eres <a target="_blank" title="Sysadmin" href="http://es.wikipedia.org/wiki/Administrador_de_sistemas">sysadmin</a> de una empresa con una red <a target="_blank" href="http://es.wikipedia.org/wiki/Dirección_IP">clase B</a>, tus becarios están en exámenes finales, te acaba de llegar una notificación de la BSA amenazándote de una auditoría de software y encima es cierre y contabilidad te tiene azorado con preguntas repetitivas de los usaurios (no, no está mal escrito).</p>
<p>Obvio no tienes el tiempo de revisar cuales son los espontáneos con servicios arriba compartiendo <a target="_blank" href="http://es.wikipedia.org/wiki/Mp3">MP3s</a>, <a target="_blank" href="http://es.wikipedia.org/wiki/Warez">warez</a> y <a target="_blank" href="http://es.wikipedia.org/wiki/Pr0n">pr0n</a> (lo peor es que no te avisan por ser el sysadmin).</p>
<p>Este pequeño script en perl te permite automatizar la búsqueda de información dentro de servidores <a target="_blank" href="http://es.wikipedia.org/wiki/FTP">FTP</a> sin tener que estar pegado al cliente.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#!/usr/bin/perl -w</span><br />
<span class="co1">#</span><br />
<span class="co1"># Script hecho por Adrián Puente Z.</span><br />
<span class="co1"># Script hecho para Sm4rt Security Services</span><br />
<span class="co1"># Dudas y comentarios a:</span><br />
<span class="co1"># adrian [AT] sm4rt.com</span><br />
<span class="co1"># ch0ks [AT] hackarandas.com</span><br />
<span class="co1">#</span><br />
<span class="co1"># Este script recibe los parámetros de usuario, contraseña</span><br />
<span class="co1"># y host (IP o nombre) por línea de comando y se conecta</span><br />
<span class="co1"># al host creando un archivo con el listado del directorio</span><br />
<span class="co1"># raiz y muestra una salida con el estatus del proceso.</span></p>
<p><span class="kw2">use</span> Net::<span class="me2">FTP</span>;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span> $<span class="co1">#ARGV != 2 )</span><br />
<span class="br0">&#123;</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;Sintáxis: ftpdirgrepable.pl [Usuario] [Password] [Host] <span class="es0">\\</span>n&quot;</span>;<br />
<a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a>;<br />
<span class="br0">&#125;</span></p>
<p><span class="kw1">my</span> <span class="re0">$username</span> = &nbsp;<span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>;<br />
<span class="kw1">my</span> <span class="re0">$password</span> = &nbsp;<span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>;<br />
<span class="kw1">my</span> <span class="re0">$host</span> = &nbsp;<span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span>;<br />
<span class="kw1">my</span> <span class="re0">$directory</span>=<span class="st0">&quot;/&quot;</span>;<br />
<span class="kw1">my</span> <span class="re0">$newerr</span> = <span class="nu0">0</span>;</p>
<p><a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;$host<span class="es0">\\</span>t$username<span class="es0">\\</span>t$password&quot;</span>;</p>
<p><span class="re0">$ftp</span>=Net::<span class="me2">FTP</span>-&gt;<span class="me1">new</span><span class="br0">&#40;</span><span class="re0">$host</span>,Timeout=&gt;<span class="nu0">60</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="re0">$newerr</span>=<span class="nu0">1</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\\</span>tno_conexion&quot;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
myerr<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\\</span>tsi_conexion&quot;</span>;</p>
<p><span class="re0">$ftp</span>-&gt;<span class="me1">login</span><span class="br0">&#40;</span><span class="re0">$username</span>,<span class="re0">$password</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="re0">$newerr</span>=<span class="nu0">1</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\\</span>tno_login&quot;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
<span class="re0">$ftp</span>-&gt;<span class="me1">quit</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
myerr<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\t</span>si_login&quot;</span>;</p>
<p><span class="re0">@files</span>=<span class="re0">$ftp</span>-&gt;<span class="me1">dir</span> <span class="kw1">or</span> <span class="re0">$newerr</span>=<span class="nu0">1</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\\</span>tno_dir&quot;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
myerr<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">if</span> <span class="re0">$newerr</span>;<br />
<a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@ERRORS</span>, <span class="st0">&quot;<span class="es0">\\</span>tsi_dir&quot;</span>;</p>
<p><span class="kw1">if</span> <span class="br0">&#40;</span> <span class="re0">$newerr</span> != <span class="nu0">1</span> <span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<a href="http://perldoc.perl.org/functions/open.html"><span class="kw3">open</span></a><span class="br0">&#40;</span>DAT,<span class="st0">&quot;&gt;ftpdir-&quot;</span>.<span class="re0">$username</span>.<span class="st0">&quot;:&quot;</span>.<span class="re0">$password</span>.<span class="st0">&quot;_AT_&quot;</span>.<span class="re0">$host</span>.<span class="st0">&quot;.txt&quot;</span><span class="br0">&#41;</span> || <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="st0">&quot;Error al abrir el archivo&quot;</span><span class="br0">&#41;</span>;<br />
<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">@files</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> DAT <span class="st0">&quot;$_n&quot;</span>; <span class="br0">&#125;</span><br />
<a href="http://perldoc.perl.org/functions/close.html"><span class="kw3">close</span></a><span class="br0">&#40;</span>DAT<span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="re0">$ftp</span>-&gt;<span class="me1">quit</span>;<br />
myerr<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="kw2">sub</span> myerr <span class="br0">&#123;</span><br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="re0">@ERRORS</span>;<br />
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;n&quot;</span>;<br />
<a href="http://perldoc.perl.org/functions/exit.html"><span class="kw3">exit</span></a> <span class="nu0">0</span>;<br />
<span class="br0">&#125;</span></div>
<p>Esto lo podemos integrar a una salida de <a target="_blank" href="http://es.wikipedia.org/wiki/Nmap">Nmap</a> procesada de forma que sólo nos devuelva las IPs de las máquinas.Con este comando obtenemos una lista de IPs ordenaditas y sin repetirse con un puerto 21 (ftp) abierto a partir de un scaneo Nmap con una salida tipo  gnmap.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw2">grep</span> -e <span class="st0">&#8216;Ports:.*21/open&#8217;</span> *.gnmap | <span class="kw2">awk</span> <span class="st0">&#8216;{print $2}&#8217;</span> | <span class="kw2">sort</span> -n | <span class="kw2">uniq</span> &gt; lst.IPs.txt</div>
<p>Y para integrar nuestro script usamos el siguiente comando:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">for</span> i <span class="kw1">in</span> `<span class="kw2">cat</span> lst.IPs.txt` ; <span class="kw1">do</span> &nbsp;ftpdirgrepable.pl anonymous algo@algo.com <span class="re0">$<span class="br0">&#123;</span>i<span class="br0">&#125;</span></span> ; <span class="kw1">done</span></div>
<p>Terminado el comando nos generará varios archivos con el contenido del servidor y el directorio raiz. Para muestra un botón:</p>
<div class="dean_ch" style="white-space: wrap;">-=:<span class="br0">&#41;</span>&gt; ftpdirgrepable.pl anonymous algo@algo.com kernel.org<br />
kernel.org &nbsp; &nbsp; &nbsp;anonymous &nbsp; &nbsp; &nbsp; algo@algo.com &nbsp; si_conexion &nbsp; &nbsp; si_login &nbsp; &nbsp; &nbsp; si_dir<br />
-=:<span class="br0">&#41;</span>&gt; <span class="kw2">cat</span> ftpdir-anonymous:algo@algo.com_AT_kernel.org.txt<br />
drwxrwx&#8212; &nbsp; &nbsp;<span class="nu0">2</span> <span class="nu0">536</span> &nbsp; &nbsp; &nbsp;<span class="nu0">528</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">4096</span> May <span class="nu0">21</span> &nbsp;<span class="nu0">2001</span> for_mirrors_only<br />
drwx&#8212;&#8212; &nbsp; &nbsp;<span class="nu0">2</span> <span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">16384</span> Oct <span class="nu0">02</span> &nbsp;<span class="nu0">2005</span> lost+found<br />
drwxrwsr-x &nbsp; &nbsp;<span class="nu0">9</span> <span class="nu0">536</span> &nbsp; &nbsp; &nbsp;<span class="nu0">536</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">4096</span> Aug <span class="nu0">21</span> <span class="nu0">23</span>:<span class="nu0">21</span> pub<br />
lrwxrwxrwx &nbsp; &nbsp;<span class="nu0">1</span> <span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">1</span> Oct <span class="nu0">03</span> &nbsp;<span class="nu0">2005</span> usr -&gt; .<br />
lrwxrwxrwx &nbsp; &nbsp;<span class="nu0">1</span> <span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">0</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">10</span> Oct <span class="nu0">03</span> &nbsp;<span class="nu0">2005</span> welcome.msg -&gt; pub/README</div>
<p>Si vemos bien podemos observar que tiene una salida que nos permite aplicar un filtro con <em>grep </em>y al estar separado por <em>tabs</em> lo podemos redirigir a un archivo <em>csv</em> y abrirlo en <em>excel</em>.</p>
<p>A mi me sirvió mucho en el último <em>pentest</em>, sólo hubo que descartar los servidores cuyo contenido tenía un directorio <em>JetDirect</em> para descartar las impresoras. Puedes descargarlo de <a target="_blank" title="c0d3" href="http://hackarandas.com/blog/c0d3/">aqui</a>.</p>
<div align="center">
<address>Adrián Puente Z.</address>
</div>
]]></content:encoded>
			<wfw:commentRss>http://hackarandas.com/blog/2007/01/27/la-chinche-del-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
