<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
	<title><![CDATA[9u00y's Blog]]></title>
	<link><![CDATA[http://www.astalavista.com/index.php?app=blog&module=showblog&blogid=9]]></link>
	<description><![CDATA[9u00y's Blog Syndication]]></description>
	<pubDate>Sun, 13 Sep 2009 01:57:21 +0000</pubDate>
	<webMaster><![CDATA[info@astalavista.com (ASTALAVISTA.com - the hacking & security community)]]></webMaster>
	<generator>IP.Blog</generator>
	<ttl>60</ttl>
	<item>
		<title>Backup Your Hard Drive In A Image File Using Dd</title>
		<link><![CDATA[http://www.astalavista.com/index.php?app=blog&blogid=9&showentry=10]]></link>
		<category></category>
		<description><![CDATA[<span style='color: #c0c0c0'>There are a lot of tools to make a full image of your hard drive and save it to an external storage or in a remote host, but the true is we can create a image of our hard drive just with a linux live CD and the<strong class='bbc'> dd </strong>command.<br />
<br />
<strong class='bbc'><em class='bbc'>BACKUP</em></strong><br />
<br />
1. Just boot with a linux live CD, if you lack of a CD-ROM Drive, then you can create a USB bootable stick with a linux image and boot from it.<br />
2. Mount you external storage, for instance mount -t ext3 /dev/sdb1 /media/images.  <strong class='bbc'><em class='bbc'>NOTE: just the destination drive have to be mounted, not the source drive.</em></strong><br />
3. Once you are running the Linux OS, if you found that your hard drive is /dev/sda for instance, then run:<br />
</span><div class='bbc_indent'><span style='color: #c0c0c0'><strong class='bbc'>#dd if=/dev/sda of=/media/images/disksda.img<br />
#cd /media/images/<br />
#bzip2 disksda.img </strong>   &lt;- if you want to compress it.<br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'>Now if you want is to create a image just from a partition then change the<strong class='bbc'> if=/dev/sda</strong> by <strong class='bbc'>if=/dev/sdaX</strong>, where <strong class='bbc'>X</strong> is the number of the partition, for instance:<br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'><strong class='bbc'>#dd if=/dev/sda1 of=/media/images/disksda1.img<br />
#cd /media/images<br />
#bzip2 disksda1.img</strong><br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'>Sometimes we want to move this image directly to other remote host with linux and ssh running on it and a user called "user", the we can do this:<br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'><strong class='bbc'>#dd if=/dev/sda of=/dev/stdout bs=1M | bzip2 | ssh user@IPofRemoteHost "cat - &gt; disksda.img.bz2"<br />
</strong>this read the /dev/sda hard drive, the send this data to the standar output and compress it in the RAM, take the standart ouptut compressed and using the ssh write it in the remote host in a file called disksda.img.bz2<br />
<em class='bbc'><strong class='bbc'><br />
</strong></em></span></div><span style='color: #c0c0c0'><em class='bbc'><strong class='bbc'>RESTORE<br />
<br />
</strong></em>1. Just boot with a linux live CD, if you lack of a CD-ROM Drive, thenyou can create a USB bootable stick with a linux image and boot from it.<br />
2. Mount you external storage, for instance mount -t ext3 /dev/sdb1 /media/images.  <strong class='bbc'><em class='bbc'>NOTE: just the source drive have to be mounted, not the destination drive.</em></strong><br />
3. Once you are running the Linux OS, found your hard drive name and restore on it, for instance /dev/sda.<br />
<br />
</span><div class='bbc_indent'><span style='color: #c0c0c0'>to restore from the remote host do this:<br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'><strong class='bbc'>#ssh user@remotehost "cat - &gt; disksda.img.bz2" | bzip2 -dc | dd if=/dev/stdin of=/dev/sda bs=1M</strong><br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'>to restore from the external storage:<br />
</span></div><div class='bbc_indent'><span style='color: #c0c0c0'><strong class='bbc'>#dd if=/media/images/disksda.img of=/dev/sda</strong><br />
or to restore the partiton image doing:<br />
<strong class='bbc'>#dd if=/media/images/disksda1.img of=/dev/sda1</strong><br />
remember to uncommpress the bzip2 file first if it is compressed.<br />
<br />
</span></div><span style='color: #c0c0c0'>Sometimes the first hard drive is called /dev/sda, sometimes /dev/hda thats why you have to check how the linux call your hard drive.<br />
To clone a hard drive into a second one, just us <strong class='bbc'>of=/dev/sdb</strong> or whatever  the name of the second drive is,  without mount any drive.<br />
Partition table is created, MBR is created, but the external drive in size have to be equal or bigger than the drive to be copied.<br />
If you have a question about it, please first read this:<br />
<a href='http://www.linuxquestions.org/questions/linux-general-1/can-dd-restore-the-entire-hard-disk-including-partition-table-and-mbr-515060/' class='bbc_url' title='External link' rel='nofollow external'>LinuxQuestion.org, dd for backups.</a><br />
<br />
<br />
Reference:<br />
<a href='http://www.backuphowto.info/linux-backup-hard-disk-clone-dd' class='bbc_url' title='External link' rel='nofollow external'>Backup HOWTO</a><br />
<a href='http://patrick.wagstrom.net/weblog/2009/05/08/simple-full-disk-image-backups-with-dd/' class='bbc_url' title='External link' rel='nofollow external'>My delusional dream</a><br />
<a href='http://www.linuxquestions.org/questions/linux-general-1/can-dd-restore-the-entire-hard-disk-including-partition-table-and-mbr-515060/' class='bbc_url' title='External link' rel='nofollow external'>linuxquestions.org</a><br />
<br />
------------------------------------------------------------<br />
Ing. Luis A. Salas G.<br />
Network Administrator<br />
CCNA Certified<br />
Centro Internacional de Soporte Técnico<br />
---------------------------------------------------------------------------------------------------------------------------------------------<br />
Gandalf: It reads: The doors of Durin, Lord of Moria. Speak friend and enter. <br />
Merry: What d'you suppose that means? <br />
Gandalf: Oh, it's quite simple. If you are a friend, you speak the password, and the doors will open.<br />
-----------------------------------------------------------------------------------------------------------------------------------------------</span>]]></description>
		<pubDate>Sat, 12 Sep 2009 21:40:00 +0000</pubDate>
		<guid><![CDATA[http://www.astalavista.com/index.php?app=blog&blogid=9&showentry=10]]></guid>
	</item>
	<item>
		<title>Today In Spanish: Abrir Un Puerto Mediante Una Llamada Telefónica</title>
		<link><![CDATA[http://www.astalavista.com/index.php?app=blog&blogid=9&showentry=4]]></link>
		<category></category>
		<description><![CDATA[<em class='bbc'><strong class='bbc'>Mis Vacaciones:</strong></em><br />
<br />
<div class='bbc_indent'>Aún recuerdo el día de mis vacaciones en un hermoso hotel de playa en las costas de Costa Rica, valga la redundancia, y muy muy lejos del trabajo, por supuesto un día difícil de olvidar, sobre todo porque recibí una llamada de la empresa, y seguido un correo desde mí patria Panamá.</div><br />
<em class='bbc'><strong class='bbc'>La llamada:</strong></em> <br />
<br />
<div class='bbc_indent'>Necesitaban en la empresa que yo revisara urgentemente uno de los servidores de la empresa, se estaba poniendo extremadamente lento y por ende la compañía perdía dinero.</div><br />
<em class='bbc'><strong class='bbc'>El problema:</strong></em> <br />
<br />
<div class='bbc_indent'>Aunque tenía internet en el hotel no podía accesar los equipos de la empresa desde ningún otro lugar que no fuese mí casa, el firewall de la empresa no lo permitía, y el único que podía ayudarme a abrir el firewall no sabíamos a donde estaba.</div><div class='bbc_indent'>Conectarme a mí casa no era el problema, lo malo es que necesitaba conectarme a casa desde cualquier punto, y eso me causaba algo de paranoia, peor aún, no podía configurar el firewall en mí router en casa (un wrt54GL con linux) para que cerrara el ssh para ciertas direcciones IP, porque necesitaba conectarme desde cualquier lugar. </div><div class='bbc_indent'>Tampoco quería instalar un VPN en este routersito por la sencilla razón de que posee un procesador muy pequeño con escasa memoria, y aún después de hackearlo y agregarle una tarjetita SD de 256MB aún el espacio de trabajo era muy pobre, porque la idea principal es que fuese mí centralita con asterisk, para las llamadas internacionales, claro anexado a un sipura 3102 para pescar las llamadas provenientes del TELCO  (proveedor de telefonía)y poner así una contestadora.</div><div class='bbc_indent'>La única forma de conectarme era ejecutando una conexión segura con secure socket shell (ssh) a mí casa y de allí brincar a los servidores de la compañía. Como era paranoico mantenía el puerto de ssh normalmente cerrado, pero ya había pensado en como conectarme y sentir algo de tranquilidad como veremos más adelante, también pensaba en que la conexión en algún momento pudiese ser desde una máquina diferente a la mía, que el router  en casa no podía estar con firewall bloqueando el puerto de ssh si me iva de vacaciones, pues es difícil predecir con que IP podría uno salir de dicho lugar, y un vpn no era factible por falta de recursos en este router con linux.</div><br />
<em class='bbc'><strong class='bbc'>Asterisk:</strong></em><br />
<br />
<div class='bbc_indent'>Asterisk es un software para crear pequeñas centrales y muy económicas, inicialmente desarrollado para Unix (linux), con capacidad de VoIP, IVR, con el hardware correcto es capaz de manejar llamadas provenientes del telco y salientes hacia este, entre otras muchas cosas más, una opción excelente para pequeñas y medianas empresas.<br />
<br />
</div><em class='bbc'><strong class='bbc'>Asterisk AGI y SSHD (mí salvación)<br />
</strong></em><br />
<br />
<div class='bbc_indent'>Asterisk también tiene capacidad de ejecutar scripts en el sistema operativo y tomar decisiones según lo que devuelva dicho script, esto a través de AGI (Asterisk Gateway Interface), voila! esto me sirve!, podría yo levantar el SSHD con una llamada?</div><br />
<em class='bbc'><strong class='bbc'>Imagine este escenario:</strong></em><br />
<br />
<div class='bbc_indent'>Usted llama a su casa, la llamada que usted hace sale del telco y entra a su hogar, en este punto es capturada por un sipura3102 o un tarjeta con puerto FXO (puerto que captura lo que viene desde el proveedor de telefonía) pegada a su servidor con asterisk (en mí caso, un sipura 3102 conectado por red al router wrt54gl con linux openwrt y asterisk). Una ves capturada esta llamada es pasada alasterisk, el cual está configurado para aceptar un código de entrada (una extensión) que solo usted conoce, una ves digitado este código, el sistema verifica que el código sea el correcto, pero en ves de hacer sonar una extensión, asterisk a través de AGI ejecuta un script de shell, el cual levanta el servicio de ssh (sshd) y VOILA!! el puerto que para todos estuvo cerrado ahora está abierto para aceptar su conexión, una ves terminado su trabajo, puede volver a cerrar el puerto simplemente bajando el servicio mientras está conectado o si quiere con otra llamada telefónica. El asterisk además podría retornarle un mensaje pre-gravado si el puerto fue abierto exitosamente o no.<br />
</div><div class='bbc_indent'>Bueno algo así estaba configurado en casa, por lo que pude conectarme a casa después de una llamada telefónica y volver a cerrar y abrir el puerto de ssh para administración cada vez que lo necesité, no consumo muchos recursos que en su mayoría están utilizado por la centralita, no bloqueo los ips que van hacia el sshd en casa, pero al mismo tiempo me siento algo tranquilo porque se que el puerto 22 no está disponible a menos que voluntariamente lo habra a través de una llamada.</div><br />
<em class='bbc'><strong class='bbc'>OHHHHH! se me olvidaba, el correo desde Panamá:</strong></em><br />
<br />
<div class='bbc_indent'>Bueno, en resumen debía llamar a mi madre a Panamá es lo que decía el correo, pero mi asterisk además está configurado para que en caso de llamadas internacionales salga por un proveedor de VoIP en USA (enCosta Rica aún no es legal proveer VoIP) y este re-enrruta mí llamada a Panamá a 20 veces menos del costo del proveedor detelefonía local. </div><div class='bbc_indent'>Así que estando en el hotel, solo llamé a mí casa y con un código dado puedo luego re-enrrutar la llamada del celular a través de internet al proveedor de VOIP y así llamar a mi madre, podría hacerlo con mí celular pero claro me saldría más económico si el teléfono soportara SIP y wifi, pero eso es otro proyecto public/style_emoticons/default/smile.gif</div><em class='bbc'><strong class='bbc'><br />
Go Green, Verde:</strong></em><br />
<br />
<div class='bbc_indent'>Lo bueno de todo esto es que mantengo el router y el sipura siempre activos, con un consumo de energía menor de 20 watts, es decir menor a un bombillo fluorescente de 20 watts, pero con el poder de una estación de administración remota, centralita telefónica para mi casa, router, switch, firewall, wireless y VoIP para reducir los costos de las llamadas internacionales. Incluso tengo un DNAT (traslación) configurado en el router que traslada hacia mí laptop que duerme en casa y que puede ser despertada con wake on LAN desde el mismo router con el software wok, así puedo accesar mis archivos de mí laptop desde afuera de casa sin que esta este consumiendo más energía de la estrictamente necesaria, pues esta dormida hasta que yo lo desee y remotamente la despierte yo através del router.<br />
20 watts 24 horas al día sigue siendo consumo lo se, lo ideal es no consumir nada, pero compare esto con tener una computadora en casa como central telefónica para dos teléfonos, que te sirva de máquina de administración, que sea tu access point, el switch de casa, de ftp server, tu web server. Esta puede estar consumiendo alrededor de 100 a 150 watts durante 24 horas por un mes, cuanto más se puede gastar?<br />
</div>Ahhhh se que la idea del asterisk de abrir puertos no es la mejor solución, pero me pareció atractiva cuando se me ocurrio y aún lo utilizo.<br />
<br />
<br />
<br />
<a href='http://www.voiplink.com/Linksys_SPA_3102_p/linksys-spa-3102.htm' class='bbc_url' title='External link' rel='nofollow external'>Sipura3102</a><br />
<a href='http://www.asterisk.org/' class='bbc_url' title='External link' rel='nofollow external'>Asterisk</a><br />
<a href='http://es.wikipedia.org/wiki/Secure_Shell' class='bbc_url' title='External link' rel='nofollow external'>ssh service</a><br />
<a href='http://www.linksysbycisco.com/US/en/products/WRT54GL' class='bbc_url' title='External link' rel='nofollow external'>Linksys WRT54GL</a><br />
<a href='http://www.openwrt.org/' class='bbc_url' title='External link' rel='nofollow external'> Linux OpenWRT</a><br />
<a href='http://www.youtube.com/watch?v=TqktmXB_dww' class='bbc_url' title='External link' rel='nofollow external'>WRT54GL Memoria SD</a><br />
<a href='http://www.voip-info.org/wiki/view/Asterisk+AGI' class='bbc_url' title='External link' rel='nofollow external'>Asterisk AGI</a><br />
<br />
Por: Ing. Luis A. Salas G.<br />
---------------------------------------------------------------------------------------------------------------------------------------------<br />
Gandalf: It reads: The doors of Durin, Lord of Moria. Speak friend and enter. <br />
Merry: What d'you suppose that means? <br />
Gandalf: Oh, it's quite simple. If you are a friend, you speak the password, and the doors will open.<br />
-----------------------------------------------------------------------------------------------------------------------------------------------]]></description>
		<pubDate>Wed, 09 Sep 2009 06:13:00 +0000</pubDate>
		<guid><![CDATA[http://www.astalavista.com/index.php?app=blog&blogid=9&showentry=4]]></guid>
	</item>
</channel>
</rss>
