sábado, 9 de diciembre de 2006

Frases célebres

  1. Los temporales más grandes del mundo se producen en el interior del alma humana.
  2. "Nunca hagas apuestas. Si sabes que has de ganar al otro, eres un tramposo... y si no lo sabes, eres un tonto."
  3. "Cállate o di algo mejor que el silencio."
  4. "Sabe más el tonto en su casa, que el sabio en la ajena."
  5. "Más vale una palabra a tiempo que cien a destiempo."
  6. "La venganza eterniza los odios."
  7. "Aprender sin pensar es tiempo perdido; pensar sin aprender es peligroso."
  8. "El hombre superior es modesto en el hablar, pero abundante en el obrar."
  9. "Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he aquí el verdadero saber."
  10. El deseo es el padre del poder.
  11. Los ejemplos corrigen mucho mejor que las reprimendas .
  12. Una buena conciencia vale por mil espadas. ( Shakespeare )
  13. "El niño es realista, el muchacho, idealista; el hombre, escéptico, y el viejo, místico.", Wolfgang Goethe
  14. "El hombre inteligente no es el que tiene muchas ideas, sino el que sabe sacar provecho de las pocas que tiene."
  15. "Genio es aquel que, en todo instante, sabe plasmar en hechos sus pensamientos.", Teófilo Gautier
  16. "El conocimiento habla pero la sabiduría escucha.", Jimi Hendrix
  17. "Escoge una mujer de la cual puedas decir: hubiera podido elegirla más bella, pero no mejor."(Pitágoras)
  18. Saber y saberlo demostrar, es saber dos veces. (Gracián)
  19. No existe la sabiduría sin la desconfianza. (Chamfort)
  20. Las ideas preconcebidas son candados puestos a la puerta de la sabiduría.
  21. Enseñar es aprender dos veces.
  22. Si quieres hacer algo en la vida, no creas en la palabra "imposible".
  23. Decir la verdad lo puede hacer cualquier idiota. Para mentir hace falta imaginación.
  24. La mejor manera de librarse de la tentación es caer en ella. (Oscar Wilde)
  25. Nunca olvido una cara, pero contigo haré una excepción. (Groucho Marx)
  26. El ignorante afirma, el sabio duda y reflexiona (Aristóteles, 384-322)
  27. El saber y la razón hablan, la ignorancia y el error gritan (Arturi Graf)
  28. Si te parece que sabes mucho y entiendes muy bien, ten por cierto que es mucho más lo que ignoras (Tomás de Kempis)
  29. Si cerráis la puerta a todos los errores, también la verdad se quedará afuera. R. Tagore
  30. "La imaginación es más importante que el conocimiento " Albert Einstein
  31. El sabio no dice lo que sabe, y el necio no sabe lo que dice. Proverbio Chino
  32. "No hay nada más estúpido que hacer lo mismo y esperar resultados diferentes" Albert Einstein
  33. “Seamos realistas, pidamos lo imposible”
  34. "Para no dañarme sueles decirme piadosas mentiras. Y yo, para no dañarte, finjo que las creo"
  35. "Un líder sabe qué se debe hacer. Un administrador sólo sabe cómo hacerlo."
  36. "Muchas personas están demasiado educadas para hablar con la boca llena, pero no se preocupan por hacerlo con la cabeza hueca."
  37. Somos todos tan limitados, que creemos siempre tener razón. Johann Wolfgang Goethe
  38. Si no chocamos contra la razón nunca llegaremos a nada. Albert Einstein
  39. No existe ningún gran genio sin un toque de locura. Séneca
  40. El destino del genio es ser un incomprendido, pero no todo incomprendido es un genio.
  41. Hay dos cosas infinitas: el Universo y la estupidez humana. A.Einstein
  42. Nunca consideres el estudio como una obligación, sino como una oportunidad para penetrar en el bello y maravilloso mundo del saber. A.Einstein

Nmap a fondo: Escaneo de redes y hosts

Nmap es una aplicación multiplataforma usada para explorar redes y obtener información acerca de los servicios, sistemas operativos y vulnerabilidades derivadas de la conjunción de éstos.

Es muy usado por todo aquél que se interesa por las tareas de seguridad y hacking en general, desde Administradores de Sistemas a interesados con fines menos respetables. Las técnicas de escaneo que usa Nmap han sido ya implementadas en sistemas de detección de intrusos y firewalls, ya que los desarrolladores de sistemas de seguridad también usan Nmap en su trabajo y toman medidas. No obstante, pese a estar ampliamente documentado su funcionamiento, hay formas de escaneo que lo hacen difícil de detectar cuando se trata de obtener información.

Bueno, descargamos Nmap del sitio oficial para nuestra plataforma y lo instalamos. Si usamos Debian es mejor usar los repositorios:

$ apt-get install nmap

Comenzemos a escanear…
/* Si modo root ==> obtenemos dirección MAC */


$ nmap -sP 192.168.1.0/24

Esto escaneará las 255 direcciones de la red 192.168.1.0 El atributo -sP indica que será un escaneo mediante ping. Envia un ping (ICMP echo request) y un paquete TCP ACK al puerto 80. Si el destino contesta con otro ping o con un paquete TCP RST significa que está operativo.

Tipos de escaneo en función de los paquetes

Si no queremos usar la técnica del ping y el paquete ACK para comprobar el equipo o la red hay varias opciones diferentes:

solo el ping /* Estado de los PUERTOS INTERESANTES */
nmap -PE 192.168.1.0/24

sólo el paquete ACK dirigiéndolo a un puerto determinado, p. ej. el 20
nmap -PA20 192.168.1.0/24

paquetes SYN al puerto 20
/* Modo silencioso porque no se establece conexion */

nmap -PS20 192.168.1.0/24

paquetes UDP al puerto 20
nmap -PU20 192.168.1.0/24

paquetes timestamp
nmap -PP 192.168.1.0/24

paquetes netmask request
nmap -PM 192.168.1.0/24

Latencia en la red

Si la red a escanear es lenta, tiene mucho tráfico o somos nosotros los que generamos gran cantidad de tráfico, el tiempo de respuesta aumentará. Para mitigar estos inconvenientes podemos ajustar el tiempo de búsqueda que emplea nmap. La opción -T indica la política de tiempo a usar. Existen 6 niveles con números entre 0-5, cuanto más alto más rápido. Si no se especifica se usa -T3

$ nmap -T5 192.168.1.0/24
Escanearía la red 192.168.1.0 en modo Insane, muy rápido…

Más opciones de escaneo serian:

–max-hostgroup 150 (enviar 150 peticiones simultaneas de escaneo)
–scan-delay2s (retardo entre escaneo de 2 segundos)
-host-timeout500m (tiempo empleado para escanear cada host de 500 milisegundos)

Descubriendo servicios en un host

Nmap por defecto escanea los 65.535 puertos TCP del objetivo. Para solo escanear un determinado nº de puertos usaremos la opción -p

$ nmap -p 25,80,1000-4000 192.168.1.1
Con esto escaneamos el puerto 25,80 y del 1000 al 4000 del host 192.168.1.1

Hay varios estados posibles para un puerto. Si hay algún servicio escuchando en él, el estado es OPEN. Si no hay servicios en ese puerto puede respnder con un mensaje ICMP o simplemente con nada. En Linux estas respuestas vienen dadas por las reglas de IPTABLES REJECT (rechazar el paquete enviando un mensaje ICMP informando que el puerto esta cerrado) o DROP (tirar o ignorar el tráfico). En caso de que la petición sea ignorada Nmap mostrará el puerto como filtered, ya que no puede determinar si hay algún servicio o no en ese puerto.

También es posible que el equipo a sondear tenga los puertos abiertos pero tenga la política de no responder al ping ni al TCP ACK que usa Nmap para saber si el equipo está levantado. En ese caso el parámetro -P0 escaneará el objetivo asumiendo que el equipo está activo.

Sondeos sigilosos

SYN: Se trata en enviar un paquete TCP SYN al puerto a comprobar, y si hay algún servicio activo, el sistema escaneado continuará con la sequencia de conexión enviando un paquete TCP/SYN. En este punto Nmap tendría que proseguir enviando el ACK, pero no continúa con la secuencia de conexión y al no consumarse la conexión no queda registrado en los logs.

$ nmap -PS20 192.168.1.0/24
Una técnica parecida es enviar una secuencia incorrecta de paquetes TCP con la intención de valerse de los mensajes recogidos para obtener información. Por ejemplo, enviar un paquete TCP FIN que corresponde al final de una conexión o enviar paquetes sin ningún flag activado. Las respuestas pueden servir para identificar los puertos abiertos o el sistema operativo.

Fingerprinting

Nmap puede averiguar el sistema operativo del objetivo usando las pequeñas diferencias en la implementación de los protocolos. Aunque siguen el mismo estándard al programar los sistemas, existen algunas disimilitudes que usa Nmap para determinar el sistema operativo para ver como responde a ciertas secuencias TCP/IP. El atributo es -O

$ sudo nmap -O 192.168.1.33
Interesting ports on 192.168.1.33:
Not shown: 1676 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1110/tcp open nfsd-status
MAC Address: 00:18:DE:A0:B2:C9 (Unknown)
Device type: general purpose
Running: Microsoft Windows 2003/.NET|NT/2K/XP
OS details: Microsoft Windows 2003 Server or XP SP2
Nmap finished: 1 IP address (1 host up) scanned in 3.451 seconds

La otra técnica de Fingerprinting se usa para comprovar las versiones del software que escucha en los puertos, es decir el servidor ftp, la versión de apache, etc… El parámetro es -sV

$ sudo nmap -sV -O -p 22,25,3306 localhost
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-06-27 18:43 CEST
Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3p2 Debian 9 (protocol 2.0)
25/tcp open smtp Exim smtpd 4.63
3306/tcp open mysql MySQL 5.0.32-Debian_7etch1-log
Device type: general purpose|printer|broadband router|telecom-misc
Running (JUST GUESSING) : Linux 2.4.X|2.5.X|2.6.X|2.3.X (95%), Lexmark embedded (93%), D-Link embedded (93%), Wooksung embedded (93%)
Aggressive OS guesses: Linux 2.4.0 - 2.5.20 (95%), Linux 2.4.18 (95%), Linux 2.4.18 - 2.4.20 (x86) (95%), Linux 2.4.20 (X86, Redhat 7.3) (95%), Linux 2.4.21 (x86, RedHat) (95%), Linux 2.4.22 (SPARC) (95%), Linux 2.4.30 (95%), Linux 2.4.7 - 2.6.11 (95%), Linux 2.5.25 - 2.6.8 or Gentoo 1.2 Linux 2.4.19 rc1-rc7 (95%), Linux 2.6.0-test10 (x86) (95%)
No exact OS matches for host (test conditions non-ideal).
Service Info: Host: xxxxx.xxxxxxxx; OS: Linux
Nmap finished: 1 IP address (1 host up) scanned in 10.892 seconds

Esto nos muestra información bastante valiosa sobre las versiones de SSH, Exim y MySQL así com el nombre y el dominio. También ha intentado determinar la versión del sistema operativo, pero no concreta la distribución usada (95% Gentoo) ni la versión del kernel. En la anterior prueba contra un Windows XP, si que es capaz de obtener información referente al sistema operativo, y en menos tiempo.

Todas las prácticas aquí mostradas se han realizado con fines experimentales, así que no os lanzéis ahora a escanear los pc de vuestro trabajo, instituto o universidad porque si vais con intenciones dudosas seguramente os pillarán. El contenido de este artículo es fruto de lectura de manuales, revistas, artículos y mi experiencia profesional-personal. Mis fuentes:

* http://es.wikipedia.org/wiki/Nmap
* http://insecure.org/nmap/man/
* Revista Todo Linux nº63

viernes, 8 de diciembre de 2006

BIOS

La BIOS (Basic Input-Output System) es el sistema de entrada i salida que se encarga de localizar y arrancar el sistema operativo.
Se trata de un sofware de bajo nivel instalado en la placa base (memoria ROM, EPROM o FLASH-Ram) que contienen las rutinas más básicas para comunicar el teclado, disco y lectores y así pasar a arrancar el sistema operativo.


Además, pulsando una secuencia de teclas durante el proceso de inicialización de la máquina, se abre la interfaz de la BIOS, que es un programa para configurar el arranque del ordenador.

Esta secuéncia, normalmente suele ser F2, F1, F5, F2 y luego F1,etc. Estas teclas deben presionarse justo al encender la computadora, si es un poco después, no se abrirá la interfaz de la Bios.

Alfabeto griego

Α α Alfa Β β Beta
Γ γ Gamma Δ δ Delta
Ε ε Épsilon Ζ ζ Dseta
Η η Eta Θ θ Theta
Ι ι Iota Κ κ Kappa
Λ λ Lambda Μ μ My
Ν ν Ny Ξ ξ Xi
Ο ο Ómicron Π π Pi
Ρ ρ Ro Σ σ Sigma
Τ τ Tau Υ υ Ípsilon
Φ φ Fi Χ χ Ji
Ψ ψ Psi Ω ω Omega

XGL

Xgl se ha consagrado en el mundo linux:

Aquí expongo un video de demostración. Próximamente actualizaré más a fondo esta interesante sección con los pasos a seguir para configurarlo y sobre su funcionamiento.

Instalar Ubuntu Edgy Eft 6.10

He decidido exponer los pasos básicos para instalar Ubuntu Edgy Eft 6.10 para la gente que desee introducirse o bien informarse sobre esta distribución:

1- Introducir el cd-rom en el lector.
2- Encender el ordenador, si no tiene un menú para seleccionar que unidad leer primero:
-Pulsar la tecla F2 para entrar en el menú de la BIOS, allí encontraremos muchas opciones, nosotros nos decantaremos por aquellas que hacen referencia al arranque, el primer dispositivo que debe leer el ordenador al arrancar debe ser el lector de cd.
3- Saldrá un menú, donde elegiremos "Start or install Ubuntu"
4- Ahora se iniciará el live cd de ubuntu, se cargará el entorno gráfico y saldrá el escritorio. Aquí únicamente debes seleccionar el icono del escritorio llamado "Install".
5- A continuación, seguirá un conjunto de simples pasos que deberemos ir completando. El primero de ellos es la elección del idioma, por defecto está el inglés, por tanto elegimos "Español" si ese es nuestro deseo y pulsamos en "Forward".
6- La siguiente pantalla nos pide que elijamos la zona horaria, para ello debemos seleccionar nuestra ciudad o bien alguna cerca de ella con la misma hora local. Y pulsamos en "Adelante".
7- Ahora saldrá una pantalla para seleccionar el teclado, por tanto elegimos la opción por defecto: la distribución del teclado: Spain, Spain.
8- Aquí debemos completar los datos sobre nosotros y nuestra máquina,podemos poner lo que queramos, podemos modificar-lo a nuestro antojo:
9- Ahora saldrá momentáneamente una pequeña ventana con el título "Comenzando el particionado", tranquilo, no te asustes, aún no hemos tocado nada peligroso. Esperamos a que cargue el 100% y aparecerá una ventana dónde debemos seleccionar el espacio del disco. Por defecto, la opción es "Cambia el tamaño de SCSI 1(0,0,0), partición #2 (sda) y usa el espacio que deja libre", podríamos elegir esta opción, pero prefiero cambiar la opción por defecto por "Editar manualmente la tabla de particiones" y pulsar Adelante.
10- Ahora, habrá una pantalla como esta con la tabla de particiones:
Una para Windows con sistema de archivos ntfs (pulsaremos con el boton derecho sobre el rectangulo que corresponde a la partición de windows, que si sólo tenemos un sistema operativo como windows, sólo habrá una partición. Y redimensionamos el espacio como queramos, 50% por cada partición), otra para linux, con el sistema ext3 o alguna otra soportada. Además una partición de intercambio swap cuya dimensión depende del uso que vayamos a dar al sistema (dato orientativo: entre 300 y 900 MB, en un principio era el doble de la memoria RAM, pero actualmente ésta ha crecido mucho y ya no se corresponde). De este modo tendremos la tabla creada, pero antes de iniciar el particionado deberemos tener una partición de windows (no es necesario!) con el sistema de archivos ntfs, y debemos seleccionar el punto de montaje:
El punto de montaje de la memoria de intercambio debe llamarse "swap" y la de linux debe estar en "/" que es el directorio raíz. Seleccionamos las casillas de volver a formatear, pero solo para la swap y la de linux, NO para la de Windows! Sinó borraríamos Windows!
Seguidamente, para formatear e instalar Ubuntu en nuestra máquina sólo debemos pulsar en Adelante.

RECOMIENDO: el punto de montaje para windows "/windows", de esta forma, tendremos acceso a los archivos de windows mediante el directorio /windows.

jueves, 7 de diciembre de 2006

BLOG OPENING

Hello world! I'll post here my experiences. So see you soon!