TECNICAS BASICAS DE INTRUSION

26.10.2013 06:29

Cuando estás empezando, no necesitas herramientas. Ése es el modo en que te volverás un script kiddie. Lo que necesitas es entender. Necesitas saber cómo trabajan los sistemas, qué errores pueden cometer sus programadores o administradores para que éstos se vuelvan vulnerables y cómo esos errores pueden ser explotados de modo que se pueda ingresar en el sistema.

Una vez que entiendas qué es lo que estás haciendo, estarás preparado para elegir la herramienta correcta para la circunstancia correcta. Una vez que has elegido la herramienta, ésta sólo hará tu proceso más eficiente”. Derek Fountain (En: Bugtraq)

 

Antes de hablar sobre técnicas, definamos intrusión. Para definirlo de un modo simple, significa lograr el acceso a recursos de un sistema sin tener la autorización de su dueño o de quien lo controla. Quien lleve a cabo este tipo de accesos no permitidos es lisa y llanamente un intruso, sea como fuere que lo cataloguen los medios, las autoridades o el resto de la gente.

 

Aunque existen muchas formas de intrusión, aquí veremos ejemplos del ámbito informático, es decir, el ingreso de terceros no autorizados en la información (almacenada o en flujo) en estado digital de una organización. De todas maneras, debemos tener en cuenta que en el sistema de cualquier organización, los datos vitales suelen estar en una amplia gama de soportes, como papel, memorias diversas, cintas, audio, pizarras, paneles, ondas de radio, video, diapositivas y más. Varios de estos medios son llamados fungibles porque se agotan con su uso, como las cintas o el papel.

 

El intruso puede lograr acceso no autorizado a información de modo:

 

Físico: in situ, estando frente a la máquina.

Remoto, local o ambos a la vez.

Por cable: vía Internet o línea telefónica.

Por ondas: wireless.

Por radiación: eavesdropping.

Por vista u oído: a distancia.

A través de una interfaz gráfica.

A través de un intérprete de comandos.

A través de un intérprete de comandos a ciegas, sin ver el resultado de lo que se ejecutó en el servidor remoto.

 

Entrar no solo significa introducir el usuario y la clave en un determinado servicio de autentificación remota como telnet, ssh, terminal service, rlogin, ftp, y todos aquellos que soliciten ingresar validación. Puede significar la realización de una escalada, que consiste en una sucesión de actos que llevan a lograr cada vez mayor alcance dentro del sistema para, finalmente, obtener una cuenta de elevados privilegios o el propósito que se haya impuesto el ejecutor. Por ejemplo, enviar por email o ftp determinado archivo o database al exterior, agregar un usuario de privilegios en el sistema o, simplemente, entrar y ocultar su rastro para que en el futuro se pueda utilizar ese servidor para otros propósitos. Esto podría llevar meses o minutos, y las más variadas técnicas, ya sea a través del mismo sistema operativo, de alguna aplicación o de algún descuido del administrador (hablamos siempre de servidores con administrador y no de simples terminales de usuarios con Windows XP).

 

Sin dudas, un intruso se aprovechará de los descuidos humanos, ya que todos los componentes del sistema fueron desarrollados, seteados u organizados por personas; por eso tienen falencias que son potencialmente explotables. Entonces, ¿cuál es la mejor forma de aprender técnicas de intrusión? En principio, conocer el objetivo, empezando por el sistema operativo (con esto no hacemos referencia a elementos del tipo Windows 98, sino a Linux, la familia BSD y la familia Windows Server).

 

Los descuidos de administración son difíciles de descubrir y explotar si no se conoce profundamente el sistema operativo o la aplicación en sí. Imaginemos el tiempo que llevaría aprender, sobre la marcha de un chequeo, las características de un sistema operativo (y sus aplicaciones) o todos los componentes de un escenario.

Hay que estar informado acerca de las nuevas vulnerabilidades o descubrir por uno mismo si se tiene el tiempo para hacerlo, siendo muy útil la habilidad de encontrarlas y poder programar su exploit (prueba de concepto). También es bueno saber cómo identificar un sistema y reconocer si es potencialmente explotable su modelo, versión o estado. Para ello, podemos recurrir a los incontables libros y whitepapers, honeypots, wargames, concursos, listas de correo profesionales, e-si-nes y foros serios. Además podemos montar una red hogareña para practicar, máquinas virtuales o hacerlo en el trabajo si es posible.

La educación formal es de ayuda pues es allí donde se estudian las tecnologías comprendidas en los sistemas, protocolos, sus procedimientos, técnicas, diseño y organización. El estudio formal, de alguna manera, modelará todo lo que aprendamos de manera autodidacta, y no sólo en relación con los contenidos de las materias, sino también porque enfrentarnos a numerosos exámenes escritos y orales nos dará cierto temple ante pequeños desafíos reales, de resolución analítica. Al hablar sobre educación formal nos referimos a algunos postgrados, certificaciones y tecnicaturas relacionadas, carreras como analista en sistemas, ingeniería en sistemas, licenciatura en sistemas, doctorados, especializaciones y maestrías, pues son buenos formadores de base para la materia, por supuesto debemos recordar que no existe una carrera de grado formal, ni siquiera de nivel universitario sobre seguridad informática que comprenda, en su contenido, al hacking de modo practico. Pues este se logra conocerlo, aplicarlo y manipularlo solamente mediante la forma autodidacta, claro está, muchos autodidactas han sido rechazados por no poseer título alguno, sin siquiera tener la posibilidad de demostrar sus habilidades aun siendo excelentes pentesters y analistas. 

 

Tomado de Hacking Etico-Carlos Tori.