Rincón Informático

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

Laboratorios CISCO

Posted by fortress On agosto - 6 - 2010

En esta oportunidad quiero compartir con ustedes los modulos o mas exactamente los laboratorios de CISCO, estos labs me los compartio mi compañero de trabajo Santiago que no hace mucho termino su certificacion en CCNA. Espero les sea de mucha utilidad.

Dentro del archivo comprimido punto rar (.rar) encontraran los siguientes PDF’s:

Comandos de Configuraciion en un Switch Catalyst

Comandos Ios para la configuracion de un Router

Manual Labs Exploration1 v40

Manual Labs Exploration2 v40

Resumen Modulo 3

Si alguien tiene los que falta seria bueno que los compartiera con todos.

Un saludo a todos

Enlace descarga AQUI

Como instalar OpenWRT en Mikrotik Routerboard 450G [Parte 1]

Posted by Epsilon On julio - 28 - 2010

Hace tiempo queria openWRT en cualquier dispositivo(obviamente alguno compatible), esta semana tuve la oportunidad de  tener una routerBoard 450G en la mano, asi que decidi probar y darme la tarea de este  maravilloso firmware. El proceso  es mas o menos sencillo, hay que tener algunos conocimientos basicos en TFTP,  y un servidor DHCP,  A continuacion mostrare los pasos que segui para realizar la instalacion correctamente, pero antes, es bueno tener alguna teoria clara.

La siguiente informacion es tomada de la wiki

¿Que es OpenWRT?

OpenWRT es una distribución de Linux basada en firmware usada para dispositivos empotrados tales como routers personales.

El soporte fue limitado originalmente al modelo Linksys WRT54G, pero desde su rápida expansión se ha incluido soporte para otros fabricantes y dispositivos, incluidos el Netgear, D-Link, ASUS y algunos otros. El router más popular sigue siendo el Linksys WRT54G y el ASUS WL500G. OpenWRT utiliza principalmente un interfaz de línea de comando, pero también dispone de una interfaz WEB en constante mejora. El soporte técnico es provisto como en la mayoría de los proyectos OpenSource, a través de foros y su canal IRC.

Ahora que sabemos, que es OpenWRT, y por ende que ventajas trae instalarlo en algun dispositivo(que son muchas!!), procedemos a realizar la instalacion:

  1. Descargamos la ultima revision:
  2. svn co svn://svn.openwrt.org/openwrt/trunk kamikaze
    (Deben tener subversion instalado)

  3. Entramos a la carpeta kamikaze y ejecutamos el siguiente comando
  4. cd kamikaze

    make menuconfig (no ejecutar como root)

    Cabe aclarar que es muy probable que al ejecutar el comando  se presenten algunos errores de dependencias, si esto ocurre,  podemos ayudarnos en el gestor de paquetes para resolver estos inconvenientes.

  5. Despues de resolver todos los errores,  nos debe aparecer el siguiente menu: (Notese que el proceso es muy similar a la compilacion de un kernel en GNU/Linux)
  6. openwrt Como instalar OpenWRT en Mikrotik Routerboard 450G [Parte 1]

  7. En este menu podemos definir que  modulos y que funcionalidades deseamos que tenga nuetra imagen de  OpenWRT,  ese proceso lo dejo a decision de ustedes, pueden navegar por el menu y decidir que necesitan segun sus requerimientos. Sin embargo  como vamos a OpenWRT en una routerboard 450G debemos escoger en el target System,  el Hardware de este dispositivo, por tal razon escogeremos este “Atheros AR71xx/AR7240/AR913x”
  8. openwrt2 Como instalar OpenWRT en Mikrotik Routerboard 450G [Parte 1]

  9. Otra cosa que debemos tener en cuenta en target images debemos selecciona la opcion ramdisk, ya que inicialmente lo que haremos es cargar la imagen del OpenWRT en la maquina para verificar su funcionamiento. y despues de esto si escribiremos la imagen en el memoria del equipo
  10. Despues haber realizado los cambios, guardamos la configuracio y procedemos a  compilar

make

Al terminar el proceso de compilacion, tendremos un directorio bin el cual tendra las imagenes que necesitamos para realizar la instalacion. En la proxima parte explicare como pasamos la imagen al dispositivo y  realizar la instalacion. Espero que les haya gustado y  que  en verdad lo prueben por que vale la pena. Esperen mas adelante la segunda parte

Como ejecutar comandos del sistema desde Python

Posted by Epsilon On abril - 9 - 2010

Hay ocasiones en las cuales necesitamos hacer uso de los comandos de nuestra amada  y querida shell desde algún programa que estemos desarrollando en Python, gracias a la facilidad de la serpiente (una de sus grandes características) podemos hacer esto de forma muy sencilla.  A continuación un ejemplo:

Creamos un archivo llamado prueba.py con el siguiente contenido:

#!/usr/bin/python
import os

os.system(“uname -a”)

Importamos el modulo OS y hacemos uso de la funcion system, la cual nos permite ejecutar un comando de la consola. sobra decir que en el ejemplo basta reemplazar el comando “uname -a” por el  que nosotros deseemos. Ahora ejecutamos el archivo *.py   de esta forma:

python prueba.py

y el resultado sera:

pythonshell Como ejecutar comandos del sistema desde Python

Como pueden ver es verdaderamente fácil ejecutar comandos del sistema operativo en lenguaje python, esto es importante ya que podemos ejecutar cualquier comando e incluso llamar a un script en bash o lo que se nos ocurra. Antes de terminar quiero aclarar que no soy muy experto en el tema, muy seguramente habrá formas mas sencillas, correctas y potentes para realizar este tipo de cosas, espero que les haya parecido interesante y no duden en comentar.

En Rincon Informatico hemos visto la evolución que ha tenido el soporte de Hardware en GNU/Linux en cuanto a  las siempre dificultosas y problematicas tarjetas wifi de Broadcom.

Al inicio cuando no había soporte, se debía utilizar el driver de Windows haciendo uso del NDISWRAPPER, paso el tiempo  y broadcom publico sus drivers oficiales para GNU/Linux, aunque funcionaban bien, estos no traían el soporte para inyectar, es decir, la tarjeta wifi no se podía poner en modo monitor, característica fundamental a la hora de crackear redes inalámbricas.

Hoy en día con el kernel 2.6.32 el cual trae entre sus mejoras el soporte de estas tarjetas por el driver b43, es posible  poner nuestra tarjeta  wifi BCM43XX  en modo monitor, de una forma sencilla  y rápida. En esta ocasión mostrare el procedimiento  para el driver con su respectiva firmware. Antes de empezar hay que aclarar que este método fue probado en Debian Squeeze con tarjeta BCM4312 (rev 01) , sin embargo es posible  que sirva para varias tarjetas y distribuciones mas (en cuanto a las distribuciones o versiones, todo depende del kernel, osea que si usas una distro diferente puedes compilar manualmente el kernel, y seguir con el siguiente paso de la guia). Para  saber si tu tarjeta esta soportada por el drive puedes entrar en este enlace. Ahora si Manos al teclado!!!

Instalando el Kernel 2.6.32

Para los de debian squeeze, pueden descargar el kernel desde el repositorio:

apt-get install linux-image-2.6.32-3-686 linux-headers-2.6.32-3-686

Compilando el B43-fwcutter

Hay que tener en cuenta, que si instalas el b43-fwcutter desde los repositorios, no servirá, ya que hay que descargar e   la versión de desarrollo:

Descargamos el paquete

Extraemos y entramos a la carpeta

cd b43-tools/fwcutter
make
cd ..

Ahora procedemos a descargar e la ultima versión del firmware:

export FIRMWARE_INSTALL_DIR=”/lib/firmware”
wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2
tar xjf broadcom-wl-4.178.10.4.tar.bz2
cd broadcom-wl-4.178.10.4/linux
../../fwcutter/b43-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta.o

El resultado debe  ser algo como esto:

broadcom modo monitor

El siguiente paso es reiniciar.

Después de reiniciar  probamos si nuestra tarjeta wifi ya esta levantada:

iwconfig

Si no te sale tu interfaz cargamos el modulo:

modprobe b43
ifconfig wlan1 up

Con esto la interfaz debera esta levantada, probamos de nuevo.

iwconfig

Añadiendo el driver al inicio.

Vamos al archivo /etc/modules y añadimos la siguiente linea:

b43

Ahora vamos al archivo /etc/rc.local y añadimos esta linea antes del ( exit 0):

modprobe b43

Y listo con eso ya tendremos nuestra tarjeta con soporte de inyeccion. Es gratificante como ver la evolución de GNU/Linux, y por que no ser parte de ella,  Despues de tantas peleas con ndiswrapper y wl por fin tenemos nuestra tarjeta wifi funcionando como debería ser. Espero les sirva a todos aquellos que pro desgracia tienen una tarjeta broadcom.

Nota: ALgunas cosas fueron tomadas del how-to escrito en   este enlace. el cual nos muestra como instalarlo en Gentoo

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 servicios 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 servicios:

  • 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 servicios (como vieron anteriormente)

Instalación de  Medusa

Antes de   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 servicios 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 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 .
  • 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.

Configurar tarjetas Broadcom en OpenSolaris usando Ndiswrapper

Posted by Epsilon On diciembre - 22 - 2009

En este articulo mostraremos como hacer funcionar esas fastidiosas tarjetas wifi de broadcom mediante ndiswrapper,  la cual es una herramienta que nos permite usar los drivers de las tarjetas para  windows  en nuestra plataforma libre ya sea GNU/Linux o como en esta ocasión en OpenSolaris.

Antes que nada instalamos el paquete SUNWonbld, el cual encontramos aqui, y lo instalamos de la siguiente manera

$ bzip2 -dc SUNWonbld.i386.tar.bz2 | tar xf -
$ pkgadd -d onbld SUNWonbld

En OpenSolaris  el ndiswrapper se llama Solaris NDIS Wrapper Toolkit.  para instalarlo necesitamos algunas dependencias como gcc y flex, asi que procedemos a instalarlas, La forma mas fácil de hacerlo es por medio del Pakage Manager (System –> Administration –> Package Manager ), Buscamos gcc y lo marcamos para . Lo mismo para el paquete flexlex

Ahora necesitamos los drivers de windows, el archivo .inf y .sys estos archivos se pueden encontrar desempaquetando el archivo .exe  del instalador que descargamos en la pagina del fabricante, en este caso son bcmwl5.sys y bcmwl5.inf.
Por lo general los archivos .inf viene en formato UNICODE, sin embargo  el Solaris NDIS Wrapper Toolkit necesita tenerlos en formato ASCII, para ello lo convertiremos de la siguiente manera:

iconv -f utf-16 -t ascii bcmwl5.inf > ndis.inf
Renombramos el archivo .sys (en este caso bcmwl5.sys a ndis.sys)

Ya tenemos todo listo, lo único que nos hace falta es descarga nuestra herramienta e instalarla:

La descargamos desde aca
gzip -dc ndis-0.1.tar.gz | tar x – // lo extraemos
cd ndis-0.1/i386 // en esta ubicacion copiamos ndis.sys y ndis.inf que obtuvimos anteriormente
make ndiscvt
./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
make ndis

ahora como su o usando el comando pfexec hacemos lo siguiente:

cp bcmndis /kernel/drv/bcmndis
exit
make ndisapi
cp ndisapi /kernel/misc

Ahora cargamos el modulo ndisapi y el driver vinculado a la tarjeta  de la siguiente forma (como root o pfexec):

add_drv -i ‘”Vendor ID,Device ID”‘ bcmndis

Para obtener el vendor id y el device id ejecutamos el comando:

pfexec scanpci -v (lista todos los dispositivos pci del pc)

En este caso son vendor 0x14e4 device 0×4318, por lo tanto nuestro comando quedaria asi:

add_drv -i ‘”pci14e4,4318″‘ bcmndis nota: omitimos los ox

Por ultimo levantamos la interfaz:

pfexec ifconfig bcmndis0 plumb
pfexec svcadm restart nwam

y listo  si no ha salido algun errorcillo tendremos nuestra interfaz bcmndis0

Liberado Metasploit Framework 3.3

Posted by Epsilon On noviembre - 19 - 2009

metasploit Liberado Metasploit Framework 3.3

El pasado 17 de noviembre, y tras un año de desarrollo continuo, fue liberada la versión 3.3 de este excelente framework el cual es herramienta fundamental para cada individuo que este relacionado con la seguridad informática.

Algunas nuevas Características:

  • 120 nuevos Exploits
  • 100 modulos auxiliares
  • mas de 80 bugs corregidos

Para descargarlo pueden hacer click aca, y si tienen problemas con la instalación, en Rincon Informatico hemos hablado sobre la instalacion del metasploit en GNU/Linux.

Hoy al hacer la actualizacion rutinaria de mi laptop,  me di cuenta que me iba a descargar una nueva version del kernel, especificamente la 2.6.30-2, en ese instante lo primero que pense, fue en mi tarjeta inalambrica, ya que cuando tenemos un nuevo kernel,  es necesario volver a algunos modulos que no estan incluidos en el kernel.

En realidad, no es dificil estas tarjetas en Debian, aca en Rincon Informatico ya hemos hablado sobre el proceso de instalacion manual, sin embargo, esta semana buscando un paquete en los repositorios, descubri que habia un paquete llamado broadcom-sta-modules, asi que  decidi aprovechar esta oportunidad y probar este paquete para verificar que instalaba nuestra Wifi Broadcom de forma sencilla.

Efectivamente solo con este paquete y  reiniciar, tenia mi tarjeta inalambria BCM 4312 funcionando sin problema alguno.

Para nuestra tarjeta Wifi Broadcom BCM43xx  en Debian Squeeze con  kernel 2.6.30-2 solo basta  escribir esto en una consola:

apt-get install broadcom-sta-modules-2.6.30-2-686

nota: obviamente depende la arquitectura de nuestra maquina

para ver  mas paquetes disponibles

apt-get install broadcom-sta-modules

Como pueden ver, ya es mucho mas FACIL este tipo de tarjetas en nuestro GNU/Linux, el unico inconveniente es que por el momento  este paquete solo esta disponible para las ramas testing, y Sid de Debian, pero no obstante es un gran avance para aquellos que han peleado mucho con la tarjeta inalambria con chipset Broadcom

Compartir archivos con SSHFs

Posted by jhonber On septiembre - 22 - 2009

SSHFs es un sistema de archivos basado en SSH File Transfer Protocol. El cual nos permite montar directorios remotos y trabajar sobre archivos remotos como si fuese de manera local. Para más información.

Que necesitamos?

- Antes de poder usar SSHFs debes tener un servidor SSH instalado.
- Instalamos el paquete:

# aptitude install sshfs

- SSHFs necesita del modulo “fuse“.

Miramos si lo tenemos:

$  grep  ‘fuse’  /etc/modules

fuse

Sino no nos aparece entonces hay que incluirlo en  /etc/modules:

#  echo  fuse  >>  /etc/modules

Ahora hay que cargar el modulo:

#  modprobe  fuse

Debemos agregar nuestro al grupo que puede usar “fuse“:

#  usermod  -G  fuse  -a  mi_usuario

Después de esto es recomendable reiniciar el servidor X

(Ctrl + Alt + Backspace) para que coja los cambios hechos con el comando usermod.

Contando con que todo vaya bien hasta aquí, solo falta montar la carpeta.

Montar la carpeta remota:

Creo la carpeta que servirá como punto de montaje (host local):

$  mkdir  /home/usuario_local/carpeta_local

Bueno es hora de montar la carpeta_remota en la carpeta_local.

El comando lo mostraré con un ejemplo:

remoto: toniak

local: tmsto

Ip host remoto: 192.168.1.1

Carpeta remota: remota

Carpeta local: local

$ sshfs toniak@192.168.1.1:/home/toniak/remota  /home/tmsto/local

Si todo sale bien nos pedirá la del remoto.

Nota: Si el puerto que usa tu SSH no es el 22 entonces deberás especificar el puerto así:

$ sshfs -p puerto toniak@192.168.1.1:/home/toniak/remota  /home/tmsto/local

Por último si vas a desmontar la carpeta:

$  fusermount  -u   /home/tmsto/local

Ahora todo lo que copies dentro de la carpeta local o en la carpeta remota será visible en los dos host.

Espero que esta entrada les haya sido de utilidad, no olviden comentar. Los comentarios son importantes para quien escribe ;) hasta la próxima.