Rincón Informático

Un rincon para hablar sobre GNU/Linux, seguridad informatica, y mas!!

Usando una imagen ISO como repositorio en Debian

Posted by jhonber On enero - 8 - 2010

Es una pregunta que ya me había hecho hace tiempo, si era posible usar una imagen iso como repositorio y no tener que estar usando los CD’s/’s  (Algo muchas veces molesto, más si se trata de CD’s).

Pues bueno las ventajas que presenta usar las imágenes iso son bastante claras, ya que no tendremos la necesidad de estar insertando y sacando los CD’s/’s de la unidad, a demás de ahorrarnos unos cuantos CD’s/’s.

Preparando lo necesario

- Necesitamos un directorio por cada CD’s/’s. Podríamos crear una directorio llamado ‘repositorio‘ en /media que contenga a los demás.

# mkdir  /media/repositorio

Ahora dentro de ‘repositorio’ creamos el resto de carpetas donde serán montadas las imágenes iso.

# mkdir  /media/repositorio/[CD1 o DVD1]

# mkdir  /media/repositorio/[CD2 o DVD2]

# mkdir  /media/repositorio/[CDn o DVDn]

En mi caso los directorios quedarían así:

# ls  /media/repositorio

cd1 cd2  cd3  cd4  cd5  cd6  cd7  cd8

- Debemos conocer la ubicación de las imágenes iso (La ubicación realmente no importa).

En mi caso: /media/repositorio-isos

Modificando el archivo fstab

#vim  /etc/fstab

Al final del archivo añadimos los siguiente:

/media/RUTA/IMAGEN1.iso  /media/repositorio/[CD1 o DVD1]  iso9660  loop,user,auto  0  0

Para cada imagen debe haber una línea como esta indicando respectivamente la imagen iso y el directorio donde será montada.

Ejemplo:

#Repositorio imagenes-iso
/media/repositorio-isos/debian-testing-i386-CD-1.iso  /media/repositorio/cd1  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-2.iso  /media/repositorio/cd2  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-3.iso  /media/repositorio/cd3  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-4.iso  /media/repositorio/cd4  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-5.iso  /media/repositorio/cd5  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-6.iso  /media/repositorio/cd6  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-7.iso  /media/repositorio/cd7  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-8.iso  /media/repositorio/cd8  iso9660 loop,user,auto  0  0

Modificando el archivo sources.list

Ahora para que apt use las imágenes como repositorio debemos indicar en este archivo donde esta montado cada CD’s/’s de nuestro repositorio.

# vim  /etc/apt/sources.list

Agregamos lo siguiente:

deb file:///media/repositorio/[CD1 o DVD1] squeeze main contrib

Cambia ‘squeeze’ por la versión de Debian que uses.

Ejemplo:

#Repositorio imagenes-iso
deb file:///media/repositorio/cd1 squeeze main contrib
deb file:///media/repositorio/cd2 squeeze main contrib
deb file:///media/repositorio/cd3 squeeze main contrib
deb file:///media/repositorio/cd4 squeeze main contrib
deb file:///media/repositorio/cd5 squeeze main contrib
deb file:///media/repositorio/cd6 squeeze main contrib
deb file:///media/repositorio/cd7 squeeze main contrib
deb file:///media/repositorio/cd8 squeeze main contrib
##END

Si no lo has hecho debes montar las imágenes:

# mount  -a

Y por último:

# aptitude  update

A mí me han aparecido varios errores como este, después de actualizar los repositorios:

Err file: squeeze/contrib Packages
Fichero no encontrado

Pero esto no perjudica el funcionamiento correcto de el repositorio.

Compartir este repositorio para toda la red local

Este punto ofrece una utilidad enorme, imagínate actualizar todos los computadores de una red local a través de un solo computador que actúe como servidor del repositorio. Pues es muy sencillo:

Supongamos que con los pasos de arriba configuramos el repositorio y que ese computador será el servidor.

Ip: 192.168.1.1

Nota: Debemos tener configurado un servidor Apache.

En el servidor

Aquí crearemos enlaces simbólicos a cada uno de los directorios en donde se encuentran montadas las imágenes iso. Esto lo hacemos en el directorio /var/www de Apache.

#cd  /var/www

Cambias si es necesario la ruta del directorio por la tuya.

/var/www# ln  -s  /media/repositorio/cd1

/var/www# ln  -s  /media/repositorio/cd2

Recuerda un enlace por cada directorio.

En los clientes

En cada uno de los clientes debemos modificar el archivo /etc/fstab

#vim  /etc/fstab

Agregamos por cada enlace simbólico una línea como esta:

deb http://192.168.1.1/[NOMBRE_ENLACE] squeeze main contrib

Como puedes ver accedemos al repositorio con la ip del servidor y el nombre del enlace simbólico que apunta a cada una de los directorios donde montamos las imágenes.

Ejemplo

deb http://192.168.1.1/cd1 squeeze main contrib
deb http://192.168.1.1/cd2 squeeze main contrib
deb http://192.168.1.1/cd3 squeeze main contrib

Actualizamos repositorios y listo ;) . Hasta la próxima!!

Ataque de fuerza bruta con diccionario usando Medusa

Posted by Epsilon On enero - 2 - 2010

Seguramente muchos conocen  hydra: una aplicacion para atacar con fuerza bruta  usando diccionarios,  a diferentes como: ssh, ftp,  mysql entre otros,  sin embargo hydra  no se volvió actualizar, su ultima versión fue  lanzada en el 2006 y aunque todavía funciona muy bien,   tiene muchos problemas en la instalación, debido a las dependencias y sus versiones.

No obstante, existe una aplicacion llamada  medusa que es muy similar ( no exactamente igual) a hydra, la cual nos permite crackear por diccionario de forma rápida, masiva y paralela  los siguientes :

  • AFP
  • CVS
  • FTP
  • HTTP
  • IMAP
  • MS-SQL
  • MySQL
  • NetWare NCP
  • NNTP
  • PcAnywhere
  • POP3
  • PostgreSQL
  • REXEC
  • RLOGIN
  • RSH
  • SMBNT
  • SMTP-AUTH
  • SMTP-VRFY
  • SNMP
  • SSHv2
  • Subversion (SVN)
  • Telnet
  • VMware autenticación Daemon (vmauthd)
  • VNC
  • Genérico Wrapper
  • Web Form

Algunas de las caracteristicas que nos tiene medusa son:

  • Velocidad
  • Estabilidad
  • Organizacion del código, para comprenderlo facil
  • diversidad de (como vieron anteriormente)

Instalación de  Medusa

Antes de instalar  medusa, debemos revisar  que se cumplan las siguientes dependencias:

  • OpenSSL
  • LibSSH2
  • NCPFS
  • Libpq
  • Subversion
  • afpfs-ng

Para los de debian, esta herramienta se encuentra en los repositorios:

apt-get install medusa

Para los demás descargan las fuentes desde aca, y compilan:

./configure
make
make install

¿Como crackear password con diccionarios usando medusa ?

Lo primero que debemos hacer es  ver los módulos disponibles,  los módulos son los los cuales podemos atacar, para visualizar los módulos:

medusa -d

Después de estar seguros de que tenemos el modulo adecuado al servicio que deseamos atacar, procedemos a lanzar el ataque. Medusa posee una gran cantidad de parámetros (ojala se tomaran el tiempo para leer el man  con detenimiento).  Los parámetros mas importantes son:

-h -> el host víctima
-H -> si tenemos un archivo txt con una lista de hosts
-u  -> el usuario al cual deseamos hacerle el cracking
-U ->  un archivo txt con la lista de posibles (muy útil si no sabemos que existen en el sistema)
-P ->  Ubicación del diccionario
-O  -> Crea un archivo log
- e  ns -> Verifica el password vacio o que ambos datos sean lo mismo
-M  -> El modulo que deseamos emplear (sin la extension .mod)
-n -> por si el servicio esta corriendo en otro puerto diferente al default
-s -> Habilita ssl
-f -> detiene el ataque en el instante de encontrar un password valido
-b -> suprime los banners
-v  -> modo verbose (mas informacion level de 0 a 6 siendo el 6 mas alto)

Ahora practiquemos un poco:

medusa -h 127.0.0.1 -u rincon -P /diccionario.txt -M mysql -L -f -b -v 6

Como pueden ver me estoy atacando yo  mismo obviamente me he asegurado que el password se encuentra en el diccionario, el resultado es sorprendente tardo muy poco (10 segundos aproximadamente), el tiempo depende de varios factores como el tamaño del diccionarios y la ubicacion del password encontrado, ya que se va a demorar mucho menos si el password esta al inicio del diccionario de 36000 palabras.

Ahora muchos diran que no es lo mismo hacer un ataque de fuerza bruta con diccionario de forma local  que de forma remota y tienen mucha razon, sin embargo hicimos  la prueba de forma remota  y los resultados fueron muy aceptables, se demoro 6 minutos en encontrar el password en un diccionario de 500 palabras (con esos datos ya pueden hacer la simple regla de 3) atacando  el ssh

Algunos inconvenientes

Todo no es color de rosa, existen algunos inconvenientes que debemos tener en cuenta antes de realizar un ataque de este tipo:

  • No  hay total certeza de encontrar el password, sin embargo la efectividad de un ataque con diccionario es directamente proporcional al tamaño del diccionario, es decir, entre mas grande sea el diccionario mayor sera la probabilidad de  encontrar la contraseña.
  • Otro inconveniente, consiste en que algunos sysadmin inteligentes restringen  el numero de intentos de autenticacion a un numero no mayor a 3, asi que si nos topamos con un servidor serio, no podremos aplicar el ataque por fuerza bruta.
  • Cuando nos encontramos un servidor “vulnerable” a un ataque de fuerza bruta con diccionario, debemos tener muchisimo cuidado, ya que un ataque de esta naturaleza  hace demasiado “RUIDO” es decir, todos los intentos de conexion quedaran guardados en los logs del servidor, por eso es pertinente usar un proxy para hacer el ataque, o  en su defecto borrar los logs, inmediatamente despues de entrar al server.

Uzbl: Un navegador web liviano, minimalista y muy personalizable

Posted by Epsilon On diciembre - 29 - 2009

Si estas cansado de el amplio consumo de CPU y memoria de tu navegador preferido (ya sea Firefox, opera, chromium, etc..) te presento  UZBL un navegador web de código abierto  muy minimalista,  que cumple con la filosofia Unix:

Escribir programas que hacen una cosa y la hacen bien. Escribir programas para trabajar juntos. Escribir programas para manejar flujos de texto, ya que es una interface universal

Antes de empezar con el proceso de instalación hay que aclara que si eres de los que te gusta que tu navegador tenga un sin fin de addons y adicionales, este no es el navegador para ti, por el contrario si eres un usuario el cual solo le interesa que tu navegador sirva para lo que fue diseñado (abrir paginas web), esta aplicacion sera perfecta para ti.

Ventajas de Uzbl

  • 100%  Personalizable (editar menús, cambiar colores, atajos)
  • rápido
  • soporta flash player
  • Soporta pestañas
  • Al ser tan minimalista no quiere decir que no tenga, marcadores, historiales.
  • navegacion con el teclado.

Instalación de UZBL

Ya que este proyecto es demasiado nuevo ( marzo de 2009 ) solo se encuentra en los repositorios de archlinux, gentoo, ubuntu, la versión testing de debian (squeeze)  y por supuesto en la versión inestable (sid),  para los de estas versiónes, pueden instalar uzbl de esta forma:

apt-get install uzbl

Sin embargo para lo de otras distribuciones, las cuales no tengan uzbl en sus repositorios, necesitaran hacer lo siguiente:

apt-get install git-core git-arch git-cvs git-daemon-run git-doc git-email git-gui git-svn gitk gitweb libwebkit-dev

Ahora descargamos las fuentes desde la pagina web oficial:

git clone git://github.com/Dieterbe/uzbl.git

Siguiente punto compilar:

make
make install-uzbl-core
make install-uzbl-browser
make install-uzbl-tabbed

Por ultimo debemos copiar el archivo de configuracion tomando como base un ejemplo, para esto hacemos lo siguiente:

cp /usr/local/share/uzbl/examples/config/uzbl/config /home/tu_usuario/.config/uzbl/config
nota: si la carpeta .config o uzbl no se encuentran en tu home, debes crearlas.

Es importante tener en cuenta que este archivo es parte fundamental del navegador, en el se encuentra toda la configuracion  y es alli donde debemos modificar lo que deseamos, desde la apariencia hasta los atajos del teclado.

Usando el navegador web uzbl

Despues de tenerlo instalado solo basta ejecutarlo, dependendiendo de lo que queramos ejecutamos:

uzbl-tabbed -> navegacion con pestañas
uzbl-brower -> navegador simple

algunos atajos de teclado son (recuerda que puedes cambiarlos a tu antojo):

j -> baja la pagina
k -> Sube pagina
h -> corre hacia la izquierda
l ->  corre hacia la derecha
b -> Pagina atras
m -> pagina adelante
o  -> abrir pagina (despues de presionar o digita la url)
r -> actualizar

Aunque llevo poco probandolo  me parece muy bueno, sencillo  y agradable (nada de molestas barras), y me gusto mucho por lo configurable, cada uno puede  adecuarlo a su gusto, por ultimo dejo un screenshot del menu de click derecho que configure.

Free Image Hosting at www.ImageShack.us

No soy un guru manejando este navegador, pero seria bueno ir probandolo a fondo y conociendo sus otras caracteristicas que deben ser muchas mas, esto es simplemente un abrebocas a que se animen a probarlo  y nos cuenten sus experiencias.

Dual Boot en OpenSolaris

Posted by Epsilon On diciembre - 23 - 2009

Para las personas q han instalado opensolaris después de tener instalado un GNU/Linux se han dado cuenta de que el grub de opensolaris no les reconoce por defecto la entrada a el GNU/linux, y pasa lo mismo si tenemos opensolaris y despues instalamos un GNU/linux por que el grub de GNU/Linux  no reconoce ZFS (sistema de archivos de opensolaris), en esta entrada mostraremos  dos posibles soluciones para resolver este inconveniente, muchos de ustedes se preguntaran ¿y q pasa si tengo windows? pues nada por q opensolaris reconoce la entrada de windows por defecto.

si hemos instalado opensolaris después de GNU/Linux  lo que  podemos hacer es lo siguiente copiamos las entradas del menu.lst del pinguino  y las pegamos en  el archivo  menu.lst del opensolaris q se encuentra en /rpool/boot/grub/menu.lst y debe quedar algo como esto:

splashimage /boot/grub/splash.xpm.gz
timeout 30
default 0
#---------ADED BY BOOTADM - DO NOT EDIT ----------------
title OpenSolaris 2009.06 snv_86_rc3 X86
bootfs rpool/ROOT/opensolaris
kernel$ /plataform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /plataform/i86pc/$ISADIR/boot_archive
#--------------------END BOOTADM-----------------------------------
title Windows asi reconoce el opensolaris la entrada de windows.
rootnoverify (hd0,0)
chainloader +1
#Unknown partition of type 5 found on /dev/rdsk/c5d0p0 partition: 2
# It maps to the GRUB device: (hd0,1).
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.24-16-generic
root=UUID=26393121-0c4a-4081-8363-89e928184a10 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet
title Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
root (hd0,4)
kernel /boot/vmlinuz-2.6.24-16-generic
root=UUID=26393121-0c4a-4081-8363-89e928184a10 ro single
initrd /boot/initrd.img-2.6.24-16-generic
title Ubuntu 8.04, memtest86+
root (hd0,4)
kernel /boot/memtest86+.bin
quiet
##END DEBIAN AUTOMATIC KERNELS LIST

si esta opcion no les funciona por alguna razon, pueden probar  recuperando el grub del GNU/Linux con el super grub disk y despues de esto  vamos al menu.lst del linux que esta ubicando en /boot/grub/menu.lst y copiamos al final de la linea lo siguiente:

title OpenSolaris
rootnoverify (hd0,1)
makeactive
chainloader +1

Siendo el (hdx,y) la parcticion en donde esta ubicado el opensolaris debe quedar algo asi:

title Ubuntu 8.04, kernel 2.6.24-16-generic
 root (hd0,4)
 kernel /boot/vmlinuz-2.6.24-16-generic
 root=UUID=26393121-0c4a-4081-8363-89e928184a10 ro quiet splash
 initrd /boot/initrd.img-2.6.24-16-generic
 quiet

 title Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
 root (hd0,4)
 kernel /boot/vmlinuz-2.6.24-16-generic
 root=UUID=26393121-0c4a-4081-8363-89e928184a10 ro single
 initrd /boot/initrd.img-2.6.24-16-generic

 title Ubuntu 8.04, memtest86+
 root (hd0,4)
 kernel /boot/memtest86+.bin
 quiet

 ##END DEBIAN AUTOMATIC KERNELS LIST

 title OpenSolaris
 rootnoverify (hd0,1)
 makeactive
 chainloader +1

Guia: Como instalar programas en GNU/Linux

Posted by Epsilon On diciembre - 17 - 2009

Este articulo no va dirigido para aquellos puristas y gurus de GNU/Linux, no obstante sera muy útil para cualquier persona que apenas ingresa al apasionante y fascinante mundo del pingüino.

Como todos sabemos, en GNU/Linux no se instalan programas de la misma forma que en entornos privativos como Microsoft Windows. Nunca vamos a poder instalar archivos .exe en plataformas Unix, a no ser de los emulemos con wine o otro software. Sin embargo en sistemas operativos libres existe algo denominado repositorios:

Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene información digital, habitualmente bases de datos o archivos informáticos.

Los depósitos están preparados para distribuirse habitualmente sirviéndose de una red informática como Internet o en un medio físico como un disco compacto. Y pueden ser de acceso público, o pueden estar protegidos y necesitar de una autentificación previa. Los depósitos más conocidos son los de carácter académico e institucional.

Los depósitos se utilizan de forma intensiva en Linux, almacenando, en su mayoría, paquetes de software disponibles para su instalación mediante un gestor de paquetes.

En estos grandes depósitos de software  se almacenan un sin numero de precompilados,  con el fin de hacernos mas fácil la instalación de la mayoría de programas, haciendo uso de un gestor de :

Es una colección de herramientas que sirven para automatizar el proceso de instalación, actualización, configuración y eliminación de paquetes de software. El término se usa comúnmente para referirse a los gestores de en sistemas Unix-like, especialmente Linux, ya que se apoyan considerablemente en estos sistemas de gestión de .

El gestor de es el encargado de   buscar en los repositorios el programa que  deseado, descargarlo e instalarlo simplemente con un solo comando (es por esto que algunos lo llaman el comando mágico ).  Existen diferentes gestores de dependiendo de la distribución de GNU/Linux que uses, algunos son:

  • Apt -> Debian y derivados
  • Yum ->  Red Hat, fedora y derivados
  • Yast -> OpenSUSE y derivados
  • Pacman -> Arch Linux y derivados
  • y algunos mas…

Ya teniendo esto un poco mas claro, podemos ver como instalar programas usando el gestor de de nuestra distribución,  en el ejemplo usare apt por que es el gestor de de mi distribución, entonces para instalar un programa  hacemos lo siguiente:

apt-get install nombre_del_paquete

El gestor, buscara  el paquete  en los repositorios, si lo encuentra nos listara los que va a instalar (incluyendo dependencias) y nos pedirá confirmación para empezar con la descarga:

apt Guia: Como instalar programas en GNU/Linux

Si no encuentra el paquete nos mostrara algo como esto:

apterror Guia: Como instalar programas en GNU/Linux

Algunos comando básicos del apt son:

apt-get install -> instala un paquete
apt-get update -> actualiza los repositorios
apt-get upgrade -> actualiza todos los instalados
apt-get dist-upgrade -> además de actualizar maneja los cambios de dependencias
apt-cache search -> busca un paquete en los repositorios
apt-get remove -> elimina un paquete
apt-get –purge remove -> elimina un paquete y sus archivos de configuracion
apt-get -f  install -> resuelve dependencias
apt-get source -> descarga las fuentes

Existen muchos mas para  mas info pueden leer el manual del gestor de

Instalando programas desde las fuentes

Aunque en los repositorios se encuentran muchisimos , existen algunos los cuales  por una u otra razón no se encuentran alli. Para instalar estos descargamos las fuentes desde la pagina web del desarrollador o algun otro sitio,   extraemos el archivo y encontraremos el codigo fuente  del paquete,    entre varios archivos encontraremos  dos archivos importantes:

configure: el cual es un script que prepara el entorno para la compilacion
makefile: es el archivo  que contiene las instrucciones para generar el programa

para instalar programas   que tengan el script configure debemos hacer lo siguiente:

./configure
make
make install

No obstante hay  programas los cuales no tienen el script configure, en este caso  instalamos así:

make
make install

Hay que resaltar que esta forma no siempre sera asi, cada programa tendra sus parametros y  dependendiendo de esos parametros se instalara el programa en cuestion,  es recomendable leer toda la documentacion que venga en el  paquete por que de esta forma podremos tener claro muchos parametros y diferentes formas de instalacion.

Espero que les haya servido a los que recien empiezan en el mundo del software libre, y recuerden esta es solo una introduccion  a este tema,  algo muy basico, si desean ir mas profundo  pueden preguntarle al gran hermano, el muy seguramente les podra ayudar.

Dos manejadores minimalistas de ventanas en Gnu/linux

Posted by mirphak On diciembre - 5 - 2009

Seguro que exiten personas  que  prefieren  un manejador de ventanas  práctico y  liviano en vez  de  los que hacen que se quemen las ventanas  y  permitan imitar la apariencia de windows:

ION3

Ion es un manejador de ventanas  diseñado de tal manera  que sea posible gestionar las ventanas  sólo con el teclado, su desarrollador Tuomo Valkonen ha liberado las versiones 2 y 3 de este gestor bajo la licencia LGPL.

Free Image Hosting at www.ImageShack.us

Ahora instalar en debian  o en las distribuciones  basadas en redhat  es  simple:  apt-get o yum install  ion3.   Lo bueno de ion es que cuando se aprende a personalizar nunca se encontraran  dos  iguales.

Free Image Hosting at www.ImageShack.us

WMII

WMII  es similar en  apariencia ION3,  y es tan minimalista como mis post.

Free Image Hosting at www.ImageShack.us

http://wmii.suckless.org/

Como habilitar el click con el touchpad en Debian Squeeze

Posted by Epsilon On diciembre - 2 - 2009

Desde hace un tiempo, note en mi debian Squeeze que por alguna razón no identificada, no servía el click cuando se hacia en el touchpad, es decir, si dábamos un toque en el, no lo interpretaba como un click.

Por esta razón, me dedique un par de horas a buscar la solución  a través del gran hermano (google). Habían algunas soluciones como modificar el archivo xorg.conf, o el archivo de configuracion de synaptics, sin embargo la solución  mas sencilla que encontré fue instalar un paquete llamado gsynaptics. Este paquete consiste en una interfaz grafica que nos permite configurar y personalizar todo lo relacionado con el mouse tactil de tu laptop. La instalación es bastante sencilla:

apt-get install gsynaptics

O si lo prefieren pueden descargar las fuentes desde aca

Después de instalarlo solo basta con ir a sistema-preferencias-touchpad, nos encontraremos con algo como esto:

gsynaptics Como habilitar el click con el touchpad en Debian Squeeze

Por ultimo activamos la casilla que dice activar toque, y tendremos nuestro touchpad con el click activado, de esta forma podrás hacer click y doble click con el touchpad