jueves, 15 de octubre de 2009

LTSP(Linux Terminal Server Project)

LTSP (ltsp.org) es un proyecto que proporciona todo lo necesario para instalar y configurar de forma relativamente sencilla un servidor de terminales
integrando varios servidores como DHCP, TFTP, NFS y XDMCP.
Equivalencias en Windows: MS-Terminal Services.

¿Y qué es un servidor de terminales?

Un servidor de terminales es un tipo de centralized computing consistente en un grupo de thin client también llamados ‘clientes ligeros’, ‘clientes livianos’ o ‘terminales tontos’ (típicamente X terminal) conectados por red al servidor de terminales, de manera que las aplicaciones se ejecutan en el servidor, que envía la salida a los clientes.
LTSP
¿Por qué es interesante un servidor de terminales? Porque permiten aprovechar máquinas obsoletas o baratas, abaratando enormemente los costes de instalación en centros con gran número de ordenadores, por lo que son muy utilizados en estaciones ofimáticas en educación, empresas, hoteles, etc.

Cómo funciona un servidor de terminales

Veamos cómo funciona un servidor de terminales:
  • todo el software está instalado en el servidor (paquete ltsp-server). Todas las aplicaciones se ejecutan en el servidor, que envía la salida a los clientes.
  • los clientes sólo tienen monitor, teclado, tarjeta de red y sonido. No necesitan disco duro, CD ni disquetera (en función del método de arranque).
  • los clientes arrancan desde la red (network booting) pudiendo lanzarse el cargador de arranque desde diversos dispositivos: desde la propia BIOS, desde un chip ROM conectado a la tarjeta de red, desde la disquetera o desde una memoria flash USB. El proyecto Etherboot (etherboot.org) se encarga de generar el código de network booting para cada modelo de tarjeta, que puede ser almacenado en todo tipo de dispositivos como BIOS, EPROMs, floppy, CD, HD, USB flash, etc.
    Las imágenes Etherboot en disquete se encuentran en rom-o-matic.net. Por ejemplo, si la imagen de disquete para nuestra tarjeta es eb-5.4.0-ns8390.zdsk nos descargaremos el archivo y crearemos el disquete booteable ejecutando:



    $ dd if=eb-5.4.0-ns8390.zdsk of=/dev/fd0



  • una vez que el cargador de arranque ha configurado la tarjeta de red busca un servidor DHCP para obtener los datos de la red: IP, máscara de red, IP del gateway e IP del servidor DNS.
  • después, pide al servidor DHCP la dirección de un servidor desde donde bajarse un kernel Linux mediante TFTP.
  • una vez descargado el kernel lo ejecuta, éste toma el control y monta mediante NFS un filesystem.
  • por último, se inicia una sesión X Windows conectándose mediante XDMCP al display manager (por ejemplo Gdm), obteniendo el login gráfico: LTSP login

Configurar el servidor de terminales

Veamos cómo configurar el servidor de terminales:
  • herramientas de administración de LTSP (paquete ltsp-utils): para manejar el servidor disponemos de varias herramientas de administración:
    - ltspadmin: instala/actualiza el servidor LTSP.
    - ltspcfg: configura el servidor LTSP.
    - ltspinfo: configura/reinicia/apaga los clientes conectados. Una vez instaladas las herramientas de administración ejecutaremos ltspadmin, que nos permitirá instalar y actualizar los paquetes de LTSP desde sus propios repositorios:
    ltspadmin
    El comando ltspcfg nos permite comprobar la configuración actual de todos los servicios requeridos por LTSP (podemos acceder a ltspcfg desde ltspadmin o ejecutarlo directamente en la línea de comandos):
    ltspcfg
    Además, con el comando ltspcfg podemos configurar todos los servicios requeridos por LTSP (DHCP, TFTP, NFS and XDMCP) así como algunas otras cosas, como generar el archivo lts.conf, el archivo donde especificaremos las características de cada cliente:
    ltspcfg
  • DNS: todos los clientes deben aparecer en /etc/hosts.
  • DHCP: verificaremos los archivos /etc/dhcp3/dhcpd.conf y /etc/ltsp/dhcpd.conf. Leer más: Servidor DHCP (IPs dinámicas)
  • TFTP: corre como esclavo del superservidor inetd, por lo que editaremos el archivo /etc/inetd.conf y nos aseguraremos de que contiene líneas similares a:


    #:BOOT: TFTP service is provided primarily for booting.  Most sites
    #       run this only on machines acting as "boot servers."
    tftp  dgram  udp  wait  root  /usr/sbin/in.tftpd  /usr/sbin/in.tftpd
          -s /var/lib/tftpboot



  • NFS: editaremos el archivo /etc/exports y nos aseguraremos de que contiene algo similar a:


    /opt/ltsp       *(ro,no_root_squash,async)
    Visto en www.estrellateyarde.es 
    



Curso Completo de Metasploit Framework online



Los creadores backtrack, han liberado totalmente gratis el mejor manual y mas completo que he visto del metasploit framework.
La guía cubre desde los aspectos mas básicos que debes tener en cuenta a la hora de ejecutar Metasploit, como los requerimientos de tu maquina, pasando por su instalación, hasta tocar temas como la interacción con la herramienta, como programar sobre ella y como ejecutar tu propio exploit programado con este framework.

Para acceder a este curso de Metasploit Framework, solo es necesario contar con un navegador, internet y leer un poco de ingles técnico.

Ingresar al curso Online de Metasploit Framework

Visto en www.dragonjar.org

miércoles, 14 de octubre de 2009

VLANS

Se trata de redes donde los host se comunican como si estuvieran el mismo dominio broadcast, sin tener en cuenta su localización física. Algunas de las ventajas son:
  • Los cambios únicamente implican configurar un puerto en la vlan apropiada.
  • Un grupo de usuarios que necesita mayor seguridad se puede agrupar en una vlan, y así el resto de usuarios no podrán comunicarse con ellos.
  • Independencia geográfica.
  • Incrementa el número de dominios broadcast y reduce su tamaño.
Los switches de capa 2 sólo leen los frames para encaminar, no miran la capa de red y por defecto, hacen forward de todos los paquetes broadcast. Mediante las vlans, esencialmente se crean dominios broadcast más pequeños en capa 2 (nivel de enlace).
Tipos vlans
Las static vlans son la manera más común y la más segura, ya que para cambiar un puerto de vlan se ha de realizar manualmente.
Las dynamic vlans determinan la asignación de un nodo con su vlan automáticamente. Con un VMPS (Vlan Management Policy Server) se puede usar una base de datos para mapear direcciones MAC a Vlans.
Existen dos tipos de links en una red de switches:
  1. Access ports: el tráfico sólo pertenece a una vlan. Los switches eliminan toda la información vlan del frame antes de hacer forward, por lo que los los dispositivos conectados no conocen la topología de la red.
  2. Trunk ports: son links que tranportan tráfico de varias vlans. Se pueden establecer entre dos switches, un switch y un router, y incluso entre un switch y un servidor.
Se pueden considerar también los voice access ports: excepcionalmente se pude añadir una segunda vlan a un access port, permitiendo también tráfico de voz y poder conectar un teléfono.
Frame tagging
Es un método de identificación de frames que asigna una ID definida por el usuario. A veces se conoce como Vlan ID.
Cada switch identifica la vlan del frame tag, para saber donde encaminarlo. Si hay un access port de esa vlan, eliminará el tag y lo destinará allí. En caso de que tenga un trunk a otro switch, el frame lo propagará de nuevo a otro switch.
Los puertos trunk soportan tráfico con tag o sin. La vlan 1 (por defecto) o native vlan, recibirá el tráfico sin VLAN ID (no asignado).
Vlan ID
Existen dos métodos:
  1. Inter-switch Link (ISL): es un método para indicar la información de la vlan en un frame Ethernet, mediante una encapsulación externa (ISL). ISL trabaja a nivel 2, encapsulando con un nuevo header y CRC. Es propietario de Cisco y sirve únicamente para Fast Ethernet y Gigabit Ethernet.
  2. IEEE 802.1Q: es un estándar que insterta un campo en el frame para identificar la vlan. Si la red no es cisco enteramente, se tendrá que usar 802.1Q.
Recordar que los tags ISL o 802.1Q sólo se usan a través de trunk links!
VLAN trunking Protocol (VTP):
Se encarga de manejar las vlans configuradas en la red y mantener la consistencia entre los switches. Para que VTP administre las vlans, debe crearse un servidor VTP.
Todos los servidores que necesiten compartir información usarán el mismo dominio, y un switch sólo podrá estar en un dominio a la vez. Es decir, un switch sólo compartira la información con los otros switches del mismo domino VTP.
Los switches detectan cualquier vlan añadirda y envian la información por los puertos trunk. De esta manera se actualizan las bases de datos con los últimos cambios. Existe también el modo VTP transparent mode en el que la información se propaga a otros switches, pero la base del datos del switch no se modifica.
Los tres requisitos para comunicar información de las vlans entre switches son:
  • El nombre de dominio entre los switches ha de ser el mismo.
  • Uno de los switches debe configurarse como servidor.
  • No es necesario un router.
Modos VTP de operacion
  1. Servidor: el switch debe estar en modo servidor para crear, añadir y eliminar vlans de un dominio VTP. La configuración de vlans se guarda en NVRAM.
  2. Cliente: reciben la información de los servidores, pero también enviar y reciben cambios. No pueden crear, cambiar o borrar vlans. Básicamente aprende la configuración pero no la salva en NVRAM.
  3. Transparent: hacen forward de la configuración recibida. Pueden crear, modificar y borrar vlans, porque tienen guardada su propia configuración, secreta para el resto de switches.
VTP sólo aprende Vlans con IDs entre 1 y 1005, las vlans extendidas (1006-4094) no se guardan en la base de datos.
VTP pruning
Permite reservar ancho de banda reduciendo la cantidad de paquetes broadcast, multicast, y unicast. Si está activo, los switches enviarán broadcast únicamente por los trunks que realmente deben recibir la información. Cuando se activa en el servidor VTP, se activa para toda la red. Vlan 1 no puede configurarse en este modo.
Routing entre vlans
Para comunicar las vlans es necesario un router. Para ello, se puede utilizar un router que tenga una interfaz para cada vlan o una interfaz que soporte ISL o 802.1Q trunking.

Como hacer password recovery en routers cisco

Aqui les voy a demostrar como hacer un password recovery para aquellas personas que se les olvidan las claves de sus enrutadores y no saben que hacer aqui les dejo la manera de recuperarla: .... xD

Encendemos el dispositivo.
  • Luego de cargado el bootstrap se corta la secuencia de inicio con una señal de interrumpción (Ctrl + Break en Hyperterminal), con lo que se ingresa en modo monitor de ROM.
  • Modificamos el registro de configuración del router para que cuando se reinicie no vaya a la NVRAM a leer el archivo de configuración:
    rommon 1 >_
    rommon 2 >confreg 0x2142
  • A continuación reiniciamos el equipo.
    rommon 3 >reset
  • El router se reinicia en modo setup ya que no lee ninguna configuración:

    --- System Configuration Dialog ---
  • No iniciamos en modo setup
    Would you like to enter the initial configuration dialog? [yes/no]:no


    Press RETURN to get started!

    Router>_
  • Ingresamos al modo privilegiado.
    Router>enable
  • Ya en modo privilegiado cargamos la configuración de respaldo guardada en la NVRAM.
    Router#copy nvram:startup-config system:running-config
  • Ingresamos al modo configuración.
    LAB_A#config terminal
  • Una vez en el modo de configuración procedemos a configurar las nuevas claves que vamos a utilizar.
    LAB_A(config)#enable secret [clave]
    LAB_A(config)#line vty 0 4
    LAB_A(config-line)#login
    LAB_A(config-line)#password [clave]
    LAB_A(config-line)#line console 0
    LAB_A(config-line)#login
    LAB_A(config-line)#password [clave]
    LAB_A(config-line)#exit
  • Debemos volver el registro de configuración al valor original para que el router se inicie normalmente la próxima vez.
    LAB_A(config)#config-register 0x2102
    LAB_A(config)#exit
  • Finalmente copiamos el archivo de configuración activo que tiene las nuevas claves, en la NVRAM.
    LAB_A#copy system:running-config nvram:startup-config
Este procedimiento nos permite configurar nuevas claves, conservando la configuración ya existente en el dispositivo.
Si no interesa conservar la configuración, entonces se puede proceder a hacer una configuración completamente nueva y guardarla en la NVRAM, salteando el paso en el que copiamos la startup config a la running-config.

El procedimiento es semejante en otros dispositivos Cisco, con las debidas adaptaciones respecto del modo en que se interrumpe el proceso de inicio y los comandos necesarios para alcanzar el objetivo.

lunes, 12 de octubre de 2009

Escanear puertos con Nmap en Linux

Nmap (Network Mapper, insecure.org/nmap/, paquete nmap) es probablemente el escaneador de puertos más potente que existe y el más utilizado tanto por administradores como por hackers, ya que tiene numerosas opciones de escaneo para hacking y ataques port surfing (evita ser detectado por software de detección de scaneos, hace creer al host escaneado que le escanean desde otro host, escanea a velocidad variable para no ser detectados, etc.).
Usaremos Nmap para saber qué puertos tenemos abiertos y asegurarnos de que el firewall funciona correctamente, y siempre desde una máquina distinta al equipo a escanear. Su sintaxis es:
# nmap [tipo de scan] [opciones] 
Los puertos a escanear pueden ser un rango (1-1024), una lista (22,23,80,443) o todos (1-65535). Si no se especifica escanea los puertos denominados bien conocidos (Well know).
Debemos tener en cuenta que para Nmap un puerto puede estar de tres maneras:
  1. open: el puerto es accesible y hay un demonio escuchando.
  2. closed: el puerto es accesible pero no hay un demonio escuchando.
  3. filtered: el puerto no es accesible, un firewall filtra el puerto.
  • escanear puertos TCP: para escanear todos los puertos (-p 1-65535) TCP (-sS) y detectar las versiones del software (-A) haremos:
    # nmap -sS -A -p 1-65535 192.168.1.2
    Starting nmap 3.81 at 2006-03-22 17:35 CET
    Interesting ports on 192.168.0.2:
    (The 65530 ports scanned but not shown below are in state: closed)
    PORT    STATE SERVICE  VERSION
    22/tcp  open  ssh      OpenSSH 3.8.1p1 Debian.sarge.6 Protocol 2.0
    80/tcp  open  http     Apache 1.3.33 Debian GNU/Linux PHP/4.3.10-18
    111/tcp open  rpcbind  2 (rpc #100000)
    113/tcp open  auth     OpenBSD identd
    631/tcp open  ipp      CUPS 1.1
    MAC Address: 00:4F:49:01:E9:91 (3com)
    Device type: general purpose
    Running: Linux 2.4.X|2.5.X|2.6.X
    OS details: Linux 2.4.7 - 2.6.11
    Service Info: OS: OpenBSD
    Nmap finished: 1 IP address (1 host up) scanned in 73.125 seconds

  • escanear puertos UDP: para escanear los puertos UDP (opción -sU) bien conocidos (opción por defecto), haremos:
    # nmap -sU -A 192.168.1.2

  • escaneo haciendo ping: con la opción -sP lanzaremos un ping a todas las IPs de la red (ping scan), para saber qué hosts se encuentran activos:
    # nmap -sP 192.168.1.0/24
    Starting nmap 3.81 at 2006-03-22 20:39 CET
    Host 192.168.0.1 appears to be up.
    MAC Address: 00:01:38:55:2C:3A (XAVi Technologies)
    Host 192.168.0.2 appears to be up.
    MAC Address: 00:50:DA:38:C5:04 (3com)
    Host 192.168.0.3 appears to be up.
    MAC Address: 00:4F:49:01:E9:91 (Unknown)
    Host 192.168.0.255 seems to be a subnet broadcast address.
    Nmap finished: 255 IP addresses (3 hosts up) scanned in 6.966 seconds
     
    Visto en  http://www.estrellateyarde.es/so/nmap-en-linux