miércoles, agosto 27, 2008

Consejos de Fyodor para comenzar en seguridad de redes, ya sea por diversion o por lucro

Esta es una traducción de la cuarta pregunta hecha en la entrevista a Fyodor (el creador de nmap) por el portal slashdot el 30 de mayo del 2003

4) Comenzando una carrera en seguridad de redes
por: Cobarde Anónimo

Me graduare este mes con un brillante pregrado en ciencias de la computación. He hecho abundante trabajo como administrador de sistemas unix en la universidad e incluso instale algunas honyenets de alta interacción. Estoy muy interesado en seguridad de redes y programación de sistema. Tienes algún consejo para gente en mi situación que quiere entrar en una carrera en seguridad de redes?


! Felicitaciones por tu graduación ¡ Desafortundamente (para los novatos), el campo de la seguridad es uno que a menudo espera sustancial experiencia y referencias. Esto es en parte por que estos trabajos requieres de extraordinaria confianza, y también por una aversión a los errores. Todos cometemos errores, pero estos puede ser extraordinariamente costosos en seguridad y los neófitos tienden a hacer la mayoría de ellos. Pero ¡ no pierdas la esperanza ! Mentes talentosas en seguridad aun están en muy alta demanda, solo se consiente que tendrás que trabajar aun mas fuerte  para probar que vales.

Estas son mis sugerencias para cualquiera comenzando en seguridad de redes, ya sea por diversión o por beneficios económicos:

Paso 1: Aprende todo lo que puedas
1. Puedes empezar  leyendo una descripción general de seguridad, como Practical Unix and Internet Security 3° Edicion
2. Solo leer no te enseñara mucho. La experiencia practica es critica, así que yo instalaría al menos una red básica de prueba. Como mínimo debes tener una o dos maquinas Unix y una maquina Windows (por que estas son las mas comunes en el mundo real). Puedes usar maquinas muy baratas, o incluso emular una gran red con software de virtualizacion como VMWare.

3. A continuación debes aprender mas sobre como se hacen los ataques. Échale una mirada al excelente y gratuito Open Source Security Testing Methodology Manual (OSSTMM) (Nota del traductor: El OSSTMM 2.1 esta disponible en español). El objetivo de este documento es proveer un marco global para pruebas de seguridad. Pero en su mayoría lista tareas para hacer, sin especificar como hacerlas. Ganaras mucho de este manual sí investigas las tareas que no sabes como hacer y sí intentas realizarlas en tu red de prueba. Sí este manual es demasiado conciso o difícil de seguir, puedes intentar un libro mas detallado en evaluación de vulnerabilidades, como Hacking Exposed 4° Edicion.(Nota del traductor: Hacking Exposed va en su sexta edicion y hace poco los creadores del OSSTMM publicaron Hacking Exposed Linux 3° edicion) 

4. Ahora que entiendes muchas de las ideas generales de seguridad, es hora de actualizarte. Esta es una área que se ha vuelto mas fácil en la ultima década. Se solía pensar que la información sobre vulnerabilidades solo debía distribuirse a bien conocidos y confiados administradores e investigadores en seguridad atreves de compendios privados como Zardoz. Esto fue un desastre por muchas razones, y nació el movimiento de divulgación total. En los últimos años las cosas han empezado a moverse hacia divulgación mas limitada ("responsable") y también hay un inquietante tendencia paga-dinero-por-divulgación-temprana. Pero la información todavia esta mucho mas disponible de lo que solía estarlo. La mayoría de las noticias son llevadas en listas de correo, y yo archivo las que considero son las mejores en lists.insecure.org. Debes suscribirte a Bugtraq, y yo también recomiendo altamente pen-test, vuln-dev, y security-basics.Lee al menos 6-12 meses de archivos. escoge otras listas que correspondan con tus intereses. SecurityFocus también ofrece una lista de trabajo de seguridad que es un excelente recurso para encontrar trabajos o solo entender lo que los empleadores desean. Hay 2 razones principales por las cual leer Bugtraq. Una es que debes reaccionar rápido a nuevas vulnerabilidades parchando tus servidores, notificando a tus clientes, etc. Puedes tener eso con simplemente revisar los asuntos o resúmenes de advisories por bugs que se apliquen directamente a ti. Pero entonces te perderías otro propósito crucial de Bugtraq. En realidad entender una vulnerabilidad te ayuda a defenderte de ella, explotarla, e identificar/prevenir bugs similares en el futuro. Cuando eres afortunado, el advisory por si mismo te dara detalles completos sobre el bug. Revisa este excelente advisory reciente de Core Security Technologies. Nota como ellos describen exactamente como funciona la vulnerabilidad Snort TCP Stream Reassembly con detalles he incluso incluyen una prueba de concepto como demostración. Desafortunadamente, no todos los advisories son tan agradables. Para bugs en Software de Fuentes Abiertas, puedes entender el problema leyendo el diff. El siguiente paso es escribir, probar y explotar. Te recomiendo escribir al menos uno de cada clase general de bug (buffer overflow, format string, SQL injection, etc) o siempre que un bug sea particularmente interesante.

Asegúrate de leer el ultimo numero de Phrack y los papers de investigación enviados a las listas de correo. Envia tus comentarios y preguntas a los autores y puedes empezar interesantes conversaciones. Lee los reconocidos libros en temas de seguridad que mas te interesen.

No puedo enfatizar lo suficiente que debes intercalar trabajo practico con toda esta lectura. Instala Redhat 8 sin parches(o lo que sea) y ejecuta Nmap y Nessus (Nota del traductor: si desea usar una alternativa libre mire openvas que se basa en la ultima version libre de Nesus) contra el. Luego comprometalo remotamente, talvez con el ultimo hueco de samba. Empieza con un explot pre-escrito de Bugtraq, lo cual no es tan facil como suena. Puede que tengas que modificar el 'sploit para que compile, aplicar fuerza bruta sobre el offset adecuado, etc. Entonces rompelo de nuevo usando una tecnica diferente, y tu propio exploit. Instala Ethereal (Nota del traductor: debido a problemas de marca registrada este proyecto cambio su nombre a Wireshark) y/o tcpdump y asegúrate de entender el trafico en tu red tanto en la explotación como en actividad normal. Instala Snort en una maquina conectada a internet y mira los ataques y prueba tu experiencia. Recorreo tu vecindario con Kismet, Netstumbler, o Wellenreiter en tu portátil o PDA buscando WAP abiertas. Instala DSniff y ejecuta un ataque MITM activo en una conexión SSH o SSL entre dos computadores. Mira mi top de las 75 herramientas y asegúrate de entender que hace cada una y cuando seria útil. Prueba tantas como puedas.
5. ! Tomate unas vacaciones, o al menos un fin de semana de campamento ¡ ! Te lo mereces ¡ Los pasos anteriores probablemente te tomen como mínimo de 3 a 12 meses tiempo completo, dependiendo de tu nivel de motivación y la profundidad y amplitud de tu investigación.


Ahora estoy cansado así que en otra entrada del blog hago el Paso 2: Ahora aplica tu conocimiento recién adquirido

3 comentarios:

Anónimo dijo...

Gracias por su interés, esperaré ancioso el resto, muy buen trabajo!

Camilo Uribe dijo...

Gracias Anónimo :) espero traducir la segunda parte antes que acabe la semana.

Unknown dijo...

Felicitaciones !!!! estare ansioso esperando la segunda parte excelente entrevista