53
Diplomado Virtual en Seguridad Informática usando Software Libre. Modulo 2. Amenazas, Vulnerabilidades y Técnicas de Intrusión Código: 190223 Profesor: Juan David Berrio López

Diplomado Virtual en Seguridad Informática usando ... · esta orientado a identificar los tipos de atacantes ... así como las técnicas especiales de ataque e intrusiones ... pueden

Embed Size (px)

Citation preview

Diplomado Virtual en Seguridad Informática usando Software Libre.

Modulo 2. Amenazas, Vulnerabilidades y Técnicas de Intrusión

Código: 190223

Profesor:

Juan David Berrio López

Introducción:

Son muchas las amenazas a las cuales esta expuesta la información y las

comunicaciones digitales, tanto a nivel de desastres naturales, tales como

terremotos, incendios, inundaciones, entre otros, como a nivel del hombre, ya

que la mayoría de incidentes relacionados con la informática y las

comunicaciones, son causadas por el hombre. Teniendo presente al hombre

como el causante mayor de los incidentes y delitos informáticos, este modulo

esta orientado a identificar los tipos de atacantes y grupos dedicados a violar la

seguridad de las redes informáticas, así como las técnicas especiales de

ataque e intrusiones usadas por los diferentes delincuentes informáticos.

Lastimosamente el conocimiento de los delincuentes informáticos

profesionales, esta muy por encima de los administradores de redes y usuarios

finales de equipos y redes de computadores, sin embargo el conocer las

diferentes técnicas de ataques informáticos e identificar los diversos

delincuentes informáticos, es un valor agregado para el usuario final y los

profesionales de las Tecnologías de Informatica y Conectividad.

Objetivos:

El alumno que estudie y siga las pautas propuestas en este modulo, al

final, estará en capacidad de:

• Identificar los diferentes tipos de amenazas a las cuales esta expuesta la

información y comunicaciones digitales

• Conocer y entender las diferentes técnicas de intrusión y ataques a

redes informáticas

• Identificar los diferentes individuos que pueden llevar a la práctica un

ataque informático intencional

• Conocer y aplicar algunas herramientas de software libre, usadas para

llevar a la práctica un ataque o auditoria informática

1. Amenazas Globales a la Información Así como la seguridad tradicional del mundo físico en el que vivimos, la seguridad informática no difiere de mucho de la del mundo tradicional, ya que de forma similar se puede llevar a la practica delitos informáticos en el mundo digital de forma similar al mundo físico, ya que un delincuente informático puede sacar o transferir dinero de una cuenta de ahorros a otra, usando la red Internet, además se puede robar documentación importante por medio de una red, así como se puede llevar a la practica un ataque a un servidor que contenga información importante, el cual se deje fuera de funcionamiento. Existen muchos delitos dentro del mundo digital y todos ellos son orientados y aplicados a la información que se encuentra almacenada en servidores y a la información digital que circula por las redes. Generalmente existen muchas las amenazas a las cuales esta expuesta la información y comunicaciones digitales, las cuales se pueden agrupar en cinco criterios o directrices generales, dentro de las cuales se encuentra cualquier técnica de intrusión, delito informático o ataque usado por los delincuentes informáticos para llevar a la practica un ataque. Las cinco directrices de las amenazas a la información son: • Creación de Información: Consiste en inyectar o adicionar nueva

Información a una ya existente sin tener los privilegios adecuados para hacerlo. Según esta definición se esta atentando contra el pilar de la seguridad informática llamado Integridad. Un ejemplo de creación de información, es la adición de un registro a una base de datos, el cual previamente no se a autorizado por el administrador. Otro ejemplo seria crearse una cuenta de correo electrónico en un servidor, sin la previa autorización del administrador del servidor de correo.

• Modificación de Información: La modificación de la información,

consiste en alterar la información que viaja por un medio electrónico, o que esta almacenada en algún servidor de archivos. La alteración de la información mientras se encuentra almacenada o viaja por los medios de comunicaciones representa un ataque contra la integridad de la Información. Un ejemplo de modificación de información, seria cambiar el contenido de un mensaje de correo electrónico que viaja por una red. Otro ejemplo seria modificar un informe representativo de una empresa, el cual esta almacenado en el sistema de archivos de un servidor.

• Intercepción de Información: Se entiende como el proceso mediante el

cual un intruso intercepta información, la cual no le es correspondiente, ya que dicha información esta disponible para un grupo de personas previamente definido. Esto es un ataque contra la confidencialidad de la Información. Un ejemplo de intercepción de información, seria chuzar una línea telefónica, para identificar información sensible en una conversación. Otro ejemplo seria la lectura de las cabeceras de un paquete de red con un correo electrónico por ejemplo, con el objetivo de identificar personas involucradas en un proceso de comunicación.

• Interrupción de la Información: Es el proceso en el cual los atacantes

alteran la disponibilidad de la información dispuesta para determinado grupo de personas de manera centralizada o mientras transita por los medios de comunicación. Esto es un atentado contra la disponibilidad de la información. Un ejemplo seria el desconectar físicamente un servidor o la red eléctrica que suministra energía a un servidor o red de computadores.

• Borrado de Información: Aquí la información digital pierde todos los

pilares de la seguridad informática, ya que a este punto un atacante ha logrado violar el sistema de la victima y ha tomado el control total de este, a que punto ha logrado el atacante el control del sistema victima, que puede llevar a la practica procesos de borrado de información. Un ejemplo seria borrar un registro representativo previamente grabado en una base de datos. Otro ejemplo seria borra un archivo en formato Word, almacenado en un servidor de archivos.

2. Agentes y Grupos que intervienen en ataques a la información Parte 1. Teniendo presente el objetivo de este modulo, el cual es identificar las técnicas de intrusión y ataques informáticos cometidos por el hombre, es de gran importancia saber identificar los tipos de delincuentes profesionales más comunes y sus rasgos o características más representativos. A lo largo de la historia de la informática y las comunicaciones, se ha asociado el termino Hacker con el delito informático, sin embargo una vez identificados todos los tipos de expertos relacionados con el área de la seguridad informática, se podrá apreciar que un verdadero Hacker, mas que un delincuente es un apoyo profesional para el desarrollo y aplicabilidad de la seguridad informática a nivel mundial.

Los diferentes tipos de expertos en seguridad y delitos informáticos son: Hackers: Se define como un experto, entusiasta en Sistemas de Informática a nivel de Programación de Computadores, Redes Informáticas de todo tipo y en especial es un experto en Internet. El Hacker investiga, crea, y luego comparte esa información, la cual busca mejorar como reto personal o simplemente por diversión. Gracias a estos expertos en informática y comunicaciones, se han logrado implementar proyectos relacionados con la seguridad informática bastante representativos, tales como: Monowall, OpenPgP, Snort, entre otros, ya que son estas personas quienes tienen claro, que el conocimiento debe de ser compartido y mejorado, y cuando esta directriz no es llevada, es donde entran en acción, a llevar a la practica actos, los cuales no son bien vistos a nivel social, político y económico. Cuando se hace referencia a entrar en acción, es que los Hackers están en contra en filosofías y políticas relacionadas con la informatica, como las de Microsoft por ejemplo, ya que es una entidad que no comparte sus conocimientos, al cerrar el código fuente de los aplicativos, ya que la

percepción de la mayoría de Hackers, es con respecto al poder que da el conocimiento, y que este debe de ser libre.

El termino Hacker como tal, tiene unas clasificaciones según las actividades a las cuales se dedica el individuo, las cuales son: Black Hats: Individuos con extraordinarias capacidades cognitivas en la ciencia de la computación y en especial en el arte de la programación, pero utilizando dichas capacidades para fines actividades no legales y destructivas. Estos individuos más comúnmente se conocen como Crackers, y son los encargados de reventar claves de sistemas usando procesos de criptoanálisis bastante complejos. La mayor habilidad de un Black Hat radica en su conocimiento en el arte de la programación de las computadores en todos sus niveles, además algunos son buenos matemáticos y físicos. Entre las actividades más comunes que ejecuta un Cracker, son las siguientes:

• Desprotección de programas propietarios para poderlos usar, o lo que comúnmente se conoce como Cracks

• Ataques a páginas Web gubernamentales, militares y de grupos políticos

• Espionaje industrial previamente pagado

• Transferencias de fondos financieros y robos de tarjetas de crédito a su beneficio

White Hats (Boina Blanca): Son Hackers profesionales que se dedican a llevar a la práctica evaluaciones de seguridad a las empresas u organizaciones del estado, gobierno e instituciones financieras y utilizan sus conocimientos con propósitos defensivos, son conocidos también como analistas de seguridad. Muchos de estos Hackers son Crackers retirados y reformados con respecto a su ética profesional y ética Hacker, ya que han encontrado un negocio mas representativo en proteger y analizar las redes de datos, que estar haciendo daños y terminar finalmente en problemas con la justicia, multas de dinero representativas, entre otras mas situaciones comprometedoras y negativas.

Gray Hats (Boina Gris): Son individuos que tienen inclinaciones variables a sus actividades relacionadas con la seguridad informática, ya que en un momento pueden comportarse con fines ofensivos, similar a un Black Hat, o en otro instante de tiempo pueden trabajar de manera defensiva, así como los White Hats. Hackers Suicidas: Son individuos que intentan llevar a la práctica un ataque informático, sin importar sus consecuencias, es decir, con tal de lograr el objetivo de poder atacar un sistema informático representativo, y causar daño, no les importa pagar hasta condenas de 30 años. Las condenas a un delincuente informático, pueden varias según las leyes de cada país, región o estado. Hay otro tipo de expertos de la informática y las comunicaciones, que no son

directamente catalogados como Hackers, pero su apreciación de forma

analógica es muy similar. Como también existen otro tipo de individuos

relacionados con la delincuencia informática, que no son tan expertos, pero

pueden causar más daño que un Hacker de tipo Black Hat.

Los siguientes tipos de individuos relacionados con ataques y seguridad

informatica también es de gran importancia conocerlos y saber a los que se

dedican.

Phreacker: Es el individuo experto en manipulación de la telefonía, es tanto su talento con el teléfono que es capaza de idear procesos para llamar gratis a cualquier parte del mundo sin tarifar la llamada, es capaz de violar centrales telefónicas, entre otras cosas mas. Los Phreackers de nuestros tiempos están centrados en descubrir vulnerabilidades, programas virus y violar sistemas relacionados con la telefonía celular y la voz sobre IP. En un principio los Phreackers se dedicaban a violar las redes telefónicas, cuando estas eran en total análogas, pero con el avance de las tecnologías de informatica y conectividad, se están dedicando potencialmente a las redes celulares.

Warez: Es la definición que lamentablemente los medios de comunicación hacen creer al mundo de lo que es un Hacker. Un Warez es un individuo que lo único que hace es realizar copias Ilegales de Programas y luego los distribuye por diversos medios tales como: P2P, FTP, CDS, DVD. Todos los vendedores de películas y programas piratas, se dedican al Warez.

Un Warez como tal, es lo que se entiende o se interpreta en algunas ocasiones como un Pirata Informático, el cual se encarga de copiar y de distribuir de forma ilegal programas informáticos y contenidos digitales, infringiendo así sobre el concepto y ley de propiedad intelectual. Lammer: Es uno de los mas peligrosos, ya que es el típico personaje que baja cuanto programa de Hacking encuentra en Internet, los cuales son hechos por verdaderos Hackers y expertos en seguridad, y sin leer apenas las condiciones y restricciones de uso del programa, se pone a fastidiar a los usuarios de una red, para posteriormente decirle a sus amigos que es el Hacker mas peligroso del Mundo. Estos Lammer pueden causar daños representativos, ya que muchas veces no tienen apreciación desprograma que usan y pueden colapsar sistemas y redes completas. Script Kiddie: También llamados chicos del script, son por lo regular adolescentes o universitarios, los cuales tienen buenos conocimientos en redes informáticas, sin embargo usan los códigos de programas realizados por verdaderos expertos en seguridad, para posteriormente compilarlos y poder llevar a la practica intrusiones en sistemas o redes de datos digitales. Un Script Kiddie es distinto a un Lammer, ya que en ocasiones su intención es aprender, pero también hacer daños, sin embargo muchos Script Kiddie termina convirtiéndose en buenos expertos en seguridad. Un Script Kiddie, no se debe de confundir con un Lammer, ya que los Script Kiddie tienen mejores conocimientos en informática y algunos pueden terminar siendo representativos expertos en informática, al llegar a una edad de su vida mas madura. Hay otro termino relacionado con este tipo de individuos, el cual es Newbie o Wannable, el cual es un tipo de novato relacionado con el área de la seguridad y delitos informáticos, el cual mas que buscar hacer daño, lo que notablemente busca es aprender, por lo tanto un Wannable y un Scritp Kiddie pueden tener alguna relación a nivel de definición, pero lo que es claro es que el Wannable lo único que desea es explorar y aprender. Spammers: Son los individuos dedicados a descubrir vulnerabilidades y hallar nuevas técnicas para el envió publicitario o envió no solicitado de correo electrónicos, o lo que comúnmente se conoce como Spam. Este tipo de individuos son los responsables del envió de millones de correos electrónicos a diario no solicitados por medio de redes publicas como Internet, ocasionando así el colapso y sobrecarga de buzones o casillas de correo en muchos servidores de correo electrónico en el mundo. Se debe de tener presente que muchos de los correos que son enviados por los Spammers, tiene algún tipo de código malicioso o virus informático, o tienen algún tipo de link interesante, el cual pueda causar la curiosidad de un usuario

incauto y lo tiente a visitar dicha pagina, para finalmente hacer algún tipo de estafa tipo Phising (Ver termino Phising en las técnicas de intrusión) Virus Coders: Son entusiastas de la creación de códigos maliciosos, o lo que comúnmente se conoce como virus informáticos. Estos individuos son expertos en el arte de la programación. Estos expertos en programación, lo que buscan es demostrar el poder de sus conocimientos analizando y construyendo virus informáticos y todo tipo de programas dañinos (Malware), los cuales son finalmente distribuidos son control por medio de Internet, para conseguir as una propagación masiva en poco tiempo y de esta forma lograr una mayor notoriedad o representación en los medios de comunicaciones. Es un hecho que los creadores de virus han mejorado notoriamente sus técnicas, ya que son capaces de crear virus informáticos especializados en el robo de información sensible, relacionada con el área financiera y en especial con el sector bancario. En febrero de 2006 se dio a conocer la noticia de que tres expertos en informática del país de Rusia, estaba promocionando y vendiendo por Internet por el precio de 4.000 Dólares, un virus que era capaz de explotar las vulnerabilidad del sistema de archivos gráficos de Microsoft Windows llamada WMF. Defacers: Son los individuos que se dedican al arte o étnica de ataque de defasar o desfigurar paginas Web (Ver Técnica de Intrusión Deface). Por lo regular los Defacers son contratados para alterar el contenido de páginas Web del estado, gubernamentales, de empresas importantes, militares, entre otros. Finalmente se procede a describir un tipo especial de Hacker, y es el Hacker Ético, el cual por lo regular es un profesional de la informática con conocimientos representativos en redes y sistemas operativos. La función y formación de un Hacker Ético radica en que este se prepare para intentar penetrar una red o sistema informático, antes que lo haga un delincuente real, así una empresa u organización, contara con una línea de defensa ante un ataque informático bastante representativa. Muchos de los tipos de expertos en seguridad y ataques informáticos, al realizar alguno de los ataques a redes del gobierno o militares, son motivados por determinadas ideologías y forma de pensar, o lo que en términos informáticos se conoce como Hackitivismo. Hackitivismo: Este término se define como realizar prácticas de Hacking Ilegal por una causa en especial. Por lo regular el Hackitivismo esta basado en ideales relacionados con la vida social, política y religiosa. Casos de Hackers Famosos: Teniendo presente la información con respecto al tipo de expertos y delincuentes en informática y comunicaciones digitales, es curioso conocer algunos de los casos de expertos informáticos que han

cruzado la frontera de los delitos y que se han convertidos en iconos representativos a lo largo de las historia de la seguridad informática. Algunos de estos individuos son: Jhon Draper: Mas comúnmente conocido como Capitán Crunch, fue uno los primeros que logro atacar un central telefónica, por lo tanto esta clasificado como un experto y veterano Phreacker. En los años 70. Capitán Crunch se hizo famoso y conocido por lograr originar unas señal de 2600 Hertz, para evitar facturar llamadas telefónicas. Lo interesante de este caso, es que logro la señal por medio de un regalo (Silbato)que venia en la caja de cereales del Capitán Crunch. Jhon Drapper es considerado el padre de los Phreackers y es sin duda alguna el Phreacker más famoso de todos los tiempos. Además de hacer llamadas telefónicas gratuitas, Jhon logro el control y la manipulación de los ordenadores que controlaban el sistema telefónico de una central. Jhon Drapper estuvo encarcelado en varias ocasiones por violar sistemas y centrales telefónicas. Un dato no delictivo del Capitán Crunch, es que fue el primero en crear un tipo de procesador de palabras para la empresa IBM. Actualmente es un consultor de seguridad informática y cuenta con su propia empresa. Vladimir Levin: Matemático Ruso, el cual logro en el año de 1995 acceder a través de Internet desde la cuidad de San Petersburgo al sistema informático del banco CityBank en la cuidad de Nueva Cork, con el objetivo siniestro de realizar transferencias bancarias fraudulentas, las cuales se estimaron en 10 millones de dólares. Las transferencias que llevo a la practica, la ejecuto de cuentas corporativas abiertas en esta institución financiera, a cuentas creadas por el, en otros países del mundo como Rusia, Finlandia, Alemania, entre otros. Finalmente fue arrestado por la INTERPOL en el aeropuerto de Londres de Heathrow en el año de 1995 y luego extraditado a los Estados Unidos, en donde fue condenado a tres años de prisión y se le impuso una multa de 240.000 dólares. Levin puede ser clasificado como un Hacker Black Hat. Kevin Poulson: Fue un famoso Phreacker de la cuidad de California en Estados Unidos, el cual durante un periodo de tiempo de dos años, logro entrar y controlar el sistema de su operador de telefónica local. Gracias a sus buenos conocimientos informáticos pudo intervenir la central de conmutación, con el objetivo de que su línea telefónica personal fuera seleccionada como la ganadora en muchos concursos y ofertas telefónicas, mientras que de manera paralela bloqueaba las líneas de otros usuarios. Gracias a esta manipulación de la central telefónica, logro ganar dos automóviles deportivos y 2 viajes a Hawai, además consiguió más de 22.000 dólares en efectivo.

Además en 1983 mientras Poulson apenas era un estudiante universitario, este logro, aprovecho un fallo en la antigua red Internet, llamada Arpanet, para tomar control y posesión de varios Host de esta red. Kevin Mitnick: Es sin duda alguna el mejor Hacker de tipo Black Hat que se ha conocido en toda la historia de la seguridad informática. Mitnick es apodado el Cóndor o el Chacal. Este verdadero Hacker y experto en seguridad comenzó su carrera en los años 80, donde apenas con 16 años logro romper la seguridad del sistema informática de su colegio. A principios de los años 90 Mitnick fue famoso por realizar continuas intrusiones en ordenadores de universidades, empresas especialistas en informática y telecomunicaciones, en la NASA y en el mismo departamento de defensa de los Estados Unidos, donde pudo conseguir valiosa información confidencial. Las intrusiones de Mitnick fueron avaluadas en muchos millones de dólares, por lo que su foto alcanzo a estar en la lista de los delincuentes mas buscados por el FBI. En 1995 Mitnick fue detenido, gracias a la ayuda de un experto en informática del centro se súper computo de San Diego llamado Tsutomu Shimomura (Hacker White Hat), quien también había sido victima de los ataques de Mitnick. Tras haber cumplido una condena de Cárcel, Mitnick salio en Libertad en el año 2000, pero se le tenia prohibido el uso de teléfonos celulares, computadores, televisores o cualquier aparato que pudiera coactarse Internet hasta el año 2003. Luego se dedico a montar su propia empresa de seguridad, con lo que se puede interpretar que a la fecha Mitnick es un Hacker del tipo White Hat. Mitnick insiste que el mejor método para llevar a la práctica una intrusión es la Ingeniería Social, además Mitnick es un Ingeniero Social por naturaleza. Para comprender mejor el arte de la ingeniería social aplicada por este experto en informática, se recomienda leer el libro el arte de la decepción, escrito por Mitnick.

3. Agentes y Grupos que intervienen en ataques a la información Parte 2.

Una vez que se han identificado los individuos expertos en la seguridad de la informática y las comunicaciones y sus similares, también se deben de tener en cuenta otros individuos que sin ser tan expertos en informatica, pueden causar mas daños que un Hacker Black Hat o un delincuente informático. Dichos individuos están orientados hacia el interior de la empresa y al estar al lado de los recursos de informatica y conectividad, pueden volverse potencialmente peligrosos, algunos de ellos son: Empleados Descontentos: Son empleados de la empresa u organización, los cuales por motivos salariales o de trato humano, están inconformes y sienten algún tipo de rabia hacia la empresa en la que laboran, lo cual los hace peligrosos, mas aun si estos pertenecen al área de informática y comunicaciones de la

organización. Un empleado descontento puede causar daños representativos y en ocasiones irremediables para un departamento de sistemas o informática. Empleados sobornados: Son empleados internos de una empresa u organización, los cuales son desleales y reciben remuneraciones de terceros, que en la mayoría de casos, son empresas de la competencia, con el fin de que el empleado sustraiga información confidencial, representativa o de proyectos especiales, para ser vendida a la competencia. Un empleado desleal también puede ser sobornado para interrumpir de forma física el funcionamiento de un servidor de producción. Empleados incautos o mal formados: En muchas ocasiones la perdida de información no se debe a robo o algún tipo de fraude informático, se debe a empleados descuidados o mal capacitados en sus actividades diarias, los cuales de forma involuntaria pueden borrar o alterar datos digitales representativos. Ex-empleados: En muchas situaciones un empleado es despedido de una empresa, por causas que el empleado considera injustas, por lo tanto este saldrá con sentimientos de rabia, despecho y venganza con su anterior empresa, lo cual implica una amenaza para la organización, mas aun si este ex empleado pertenecía al departamento de sistemas o informática de la empresa, ya que puede dejar código malicioso o puertas traseras en la red informática de la empresa a la cual pertenecía, con el objetivo de tomar control remoto de equipos y causar daños en el sistema o red informática.

4. Razones por las cuales ataca un delincuente informático Son muchas las motivaciones que puede impulsar a un delincuente informático para llevar a la práctica un ataque, sin embargo hay unas que son particulares y comunes entre los delitos informáticos que a diario se cometen. Según la institución de seguridad FBI, se ha denominado un acrónimo relacionado con las principales motivaciones de un delincuente informático para atacar, la cual es MICE, lo que significa Money, Ideology, Compromiso and Ego, lo que a nuestro idioma traduce Dinero, Ideología, Compromiso y Autorrealización Personal. De forma general se pueden considerar las siguientes motivaciones que puede impulsar a un Hacker a llevar a la práctica un ataque informático. • Dinero • Superación ante otros Hacker (Estudio-Aprendizaje) • Venganzas • Diversión y Maldad (Es muy Común) • Competencias afines • Inconformidad • Guerras entre grupos afines dedicados al Hacking • Anonimato

• Búsqueda de Notoriedad y popularidad en los medios • Obtención de Información privilegiada • Ideologías religiosas, sociales o políticas

5. Posibles Puertas de Entrada de un intruso Informático • Utilizar Un Computador Directamente conectado a la red: Es cuando

el atacante logra estar físicamente en la estructura de la red, facilitando esto su trabajo, ya que al tener acceso físico, puede tener mas probabilidad de éxito en lo que al ataque informático se refiere.

• Llamar un Servicio de Acceso Remoto: Consiste en identificar algún

MODEM que tenga instalado este servicio o similar y este a la escucha de una conexión. Muchas empresas todavía tienen servicios del tipo RAS, los cuales están conectados a un Modem. Por otro lado muchos usuarios comunes de las redes en las empresas, usan el Modem para conectarse a Internet y de esta forma poder saltarse las restricciones del uso de Internet internas, lo cual puede comprometer la seguridad de la red informática de una respectiva empresa.

• Conexión mediante una red inalámbrica Insegura: Es muy común y

difundida esta tecnología en nuestros días, pero también es muy conocido la gran cantidad de vulnerabilidades que hay para este entorno, por lo tanto constituye una puerta de entrada de fácil identificación y acceso para un intruso informático.

• Conectarse a través de Internet: Es la posibilidad mas usada debido a

la popularidad en nuestros días de Internet y nuevas tecnologías de la Informática y las comunicaciones, ya que prácticamente por medio de Internet se tiene acceso a millones de equipos en todo el mundo.

6. Técnicas y herramientas de intrusión. Terminología Esencial: Antes de comenzar con la parte mas importante de este módulos, es de gran importancia que el alumno tenga presente los siguientes términos, considerados esenciales, para poder comprender de una forma mas adecuada las técnicas mas comunes de ataques informáticos.

• Amenaza: Es una acción o evento que podría comprometer la seguridad informática de una organización. Una amenaza puede considerarse como una violación potencial a la seguridad. Un ejemplo de amenaza serian los delincuentes informáticos que andan tratando de buscar redes o sistemas informáticos débiles, la probabilidad de que una montaña forme un derrumbe, o que un rió cercano a las oficinas de la empresa se desborde, también pueden consideradas como una amenaza

• Vulnerabilidad: Se considera como la existencia de una debilidad o un defecto de programación en un software específico o sistema operativo. Una vulnerabilidad puede ser un evento que puede comprometer la seguridad de un sistema o red de datos. Una vulnerabilidad por ejemplo puede ser una red inalámbrica puesta en marcha por defecto, donde no se le aplica ningún tipo de seguridad, lo que implica que es una red vulnerable. Una vulnerabilidad también es conocida en el lenguaje de la seguridad informática como un Bug.

• Exploit: Es definido como un programa, script o macro que puede aprovecharse de una vulnerabilidad existente en un sistema informático, para lograr burlar la seguridad de este, lograr penetrarlo o simplemente dejarlo fuera de funcionamiento. Un exploit es una brecha de seguridad en alguno de los componentes de la estructura de informática y conectividad de una empresa.

• Blanco o Victima: Es el equipo o red informática que de forma previa o aleatoria se ha elegido por parte de un atacante, para llevar a la practica una intrusión o ataque informático.

• Ataque: Es la acción mediante la cual un intruso informático ha logrado penetrar un sistema o red de datos digitales. Un ataque es directamente una acción que viola la seguridad de un sistema informático.

Fases de un ataque Informático: Todo ataque o incursión informática llevada a la practica por un experto en informática, seguridad y redes, debe de llevar una serie de pasos lógicos para poder lograr la entrada al sistema de una forma exitosa y sin ser identificado. Un ataque informática tiene las siguientes fases de forma secuencial Fase 1: Reconocimiento Fase 2: Scanning Fase 3: Ganado Acceso al Sistema Fase 4: Manteniendo Acceso Fase 5: Borrado de Huellas. .

Fase 1: Reconocimiento: Es una fase de descubrimiento y exploración del sistema informático planteado como blanco o victima del futuro ataque. El Reconocimiento Hace referencia a la identificación de un objetivo y a la preparación de un ataque. En esta fase es donde el atacante intenta recoger la máxima información acerca del objetivo, antes de lanzar un ataque, mientras mas larga y documentada este la fase de reconocimiento, mayores probabilidades tendrá el atacante de lograr el ingreso en el sistema victima. La fase de reconocimiento identifica dos tipos: Reconocimiento Pasivo y Reconocimiento Activo. El Reconocimiento Pasivo hace referencia a toda la información que se puede recolectar, sin tener que trabajar de forma técnica, directamente con el objetivo. Un buen ejemplo de reconocimiento pasivo es buscar información en la página Web de la victima o blanco de ataque definido de forma predeterminada. El Reconocimiento Activo a diferencia del anterior, se caracteriza por tener que operar directamente sobre el sistema victima. Un ejemplo de seria llamar a una de las líneas de la empresa definida como victima del ataque, con el objetivo de solicitar información que pueda ser posteriormente de utilidad para el atacante informático. Fase 2: Scanning: También identificada como la fase de exploración de puerto y vulnerabilidades es una fase en la cual el atacante intenta descubrir que puertos están abiertos en el sistema objetivo, luego de que el atacante puede identificar el estado de los puertos, procede a identificar servicios asociados a estos puertos, para posteriormente lanzar un Scanning de vulnerabilidades, con el fin de identificar posibles entradas en el sistema victima. Un a exploración de puertos puede interpretarse como una etapa de Pre-Ataque. Un proceso completo de Scanning involucra herramientas exploradoras de puertos, exploradores de vulnerabilidades, mapeadores de red y Dialers para identificar puertos de Modems en equipos remotos. Fase 3: Ganado Acceso: En esta fase el atacante informático logra explotar en el sistema victima alguna de las vulnerabilidades identificadas en la etapa anterior y logra la intrusión en dicho sistema. Hay herramientas específicas para automatizar las intrusiones en esta fase, es decir hay herramientas que contienen una cantidad de Exploit previamente compilados, para poder lograr la penetración en un sistema victima. Una ejecución de un código de tipo Exploit puede permitir al

atacante la instrucción en el sistema o la denegación de uno o varios servicios del sistema victima a usuarios legítimos. Fase 4: Manteniendo el Acceso: Hace referencia a que el intruso informático se asegure de volver a entrar al sistema atacado, por medio de la utilización de virus troyanos, puertas traseras, rootkits, entre otras herramientas. El intruso puede monitorear el sistema afectado, además puede cargar y descargar información y llevar a la práctica configuraciones y consultas a bases de datos en el sistema afectado. El intruso se asegure de que otros intrusos no comprometan su sistema atacado, por lo que coloca contraseñas en los programas y puertas traseras que ha dejado en el sistema victima para que solo el pueda ingresar y no otros atacantes. Hay atacantes que una vez logran el ingreso al sistema dejan las puertas abiertas para que otros atacantes ingresen y exploren el sistema, lo que hace aun mas peligroso el ataque. Fase 5: Borrado de Huellas: Hace referencia a las actividades que el intruso informático tiene que llevar a la practica para no dejar rastros que lo comprometan con la justicia o le implique problemas legales. El intruso debe de remover todos los logs y archivos en el sistema atacado, que puedan servir como pruebas a auditores o peritos informáticos de que llevo a la práctica el ataque. Además el atacante intentara modificar los programas que se encargan de monitorear el sistema victima. Teniendo presente las vulnerabilidades que fueron descubiertas y aprovechadas en fases anteriores para que el atacante lograr la intrusión en el sistema, el atacante en ocasiones parcha o corrige la vulnerabilidad en el sistema, para que otros intrusos no se aprovechen de la vulnerabilidad y ataquen de nuevo el sistema victima.

Técnicas y herramientas de Intrusión en sistemas y redes informáticos: FootPrinting: También identificada como la técnica

de recolección de información Es una técnica relevante a la hora de llevar a la practica un ataque informático, esta técnica consiste en que el atacante debe de recopilar toda la información que le sea posible con respecto al blanco, así mientras mas informaron recolecta y así conozca mejor al sistema definido o identificado como blanco, mas posibilidades de éxito tendrá a la hora de llevar a la practica el ataque. Al momento de recopilar información, ningún dato sobra, cualquier dato acerca del objetivo es valido y representativo, un atacante puede dedicar en todo el proceso de un ataque, el 90% a recolectar información y el 10% a lanzar un ataque. En esta técnica, el atacante busca como primordial objetivo, el armar un perfil del blanco (Victima), para luego planear y lanzar el ataque. No

hay un método o herramienta predefinido para la recolección de información, este varía dependiendo de las habilidades y conocimientos técnicos del atacante informático. En esta técnica se le da aplicabilidad a las diferentes clases de Reconocimiento, en la fase de ataque de Reconocimiento. Footprinting mas que una técnica es una Metodología de Recolección de información acerca del objetivo definido por un atacante informático de forma previa, por lo tanto no debe de apreciarse como un ataque, ya que el hecho de recolectar información acerca de una red o sistema informático, no causa ningún daño, es similar al asaltante de banco que recolecta información con respecto al banco que ha elegido como victima para robarlo, hasta que el ladrón no robe el banco, no ha cometido ningún delito. Entre la información que puede recopilar el atacante de su victima se encuentran:

• Pagina Web, en donde encontrara mucha información de interés.

• Direcciones de correos electrónicos

• Dirección y nomenclatura de localización geográfica

• Sedes de la empresa con sus respectivas direcciones electrónicas, y físicas

• Números de Teléfonos de sede central y sucursales

• Nombres de empleados

• Socios de negocios

• Información general de la empresa, como a razón social, misión, visión, entre otros.

• Direcciones IP y nombres DNS

• Identificar rutas de tráfico de red, por donde pasan los paquetes (Tracert)

• Localizar Rango de Direcciones IP del objetivo. Una herramienta para el uso de recolección de información puede ser Sam Spade. Entre las funcionalidades de esta herramienta se encuentran:

• Ping. Para saber si el objetivo esta vivo o recibe este tipo de peticiones

• TracerRoute: Para trazar la ruta desde el equipo del atacante hacia la victima, y así poder observar las rutas y las direcciones IP de los equipos que tiene que pasar un paquete de red del equipo del atacante al de la victima.

• Permite hacer una consulta ala base de datos Whois, con el objetivo de poder recolectar más información de la victima. En una consulta a una base de datos Whois se puede encontrar información al respecto de una dirección electrónica, tal como los DNS primario y secundario, el nombre, dirección y teléfono de la persona que ha registrado un determinado dominio, entre otras cosas mas, lo cual puede ser de gran interés para un atacante.

Otra forma conceptualmente publica de recolectar información acerca de una victima, es buscando en los buscadores como google, ya que una buena búsqueda, dará al atacante información relacionada con la victima, la cual

finalmente encontrar de una forma mas estructurada en el sitio Web de la victima. Siguiendo con la referencia de encontrar información de la victima por medio de la paginas Web, a parte de los buscadores como Google, o las consultas a bases de datos Whois, también se pueden hacer consultas a la pagina http://www.archive.org/index.php, en donde se pueden identificar el estado de la pagina algunas paginas Web por épocas, así se puede obtener información relevante a un determinado año y fecha. Por ejemplo se entra a la pagina Web y se hace una búsqueda al respecto de la pagina www.telemedellin.com por ejemplo.

Luego el resultado que muestra la pagina es el siguiente, el cual se puede consultar por las fechas de los registros que tiene la pagina Web de la dirección electrónica www.telemedellin.com.

Otra forma que usan los atacantes para recolectar información, es usando la técnica identificada como Dumpster diving, la cual consiste en recolectar información de la basura, ya que muchas personas no se percatan de romper los papeles usados en impresiones digitales, hojas reciclables, entre otros. Esta información que finalmente termina en la basura, puede ser recolectada por el atacante y de allí puede sacar información que le puede ser de importancia al momento de lanzar el ataque informático sobre la victima.

Escaneo de Puertos: El escaneo o exploración de puertos es una actividad que consiste en el envió de paquetes de red a un equipo o host, con el objetivo de identificar el estado de los puertos TCP o UDP de una maquina. Un puerto en una maquina tiene varios estados, entre los cuales se puede distinguir: Abierto, cerrado o filtrado. Cuando un puerto esta abierto, es porque tiene asociado algún servicio, es decir si en la maquina www.victima.com tiene el puerto 80 abierto, esto quiere decir en la mayoría de los casos, que ese equipo tiene un servicio Web corriendo o esperando conexiones en el mencionado puerto. Cuando un puerto esta cerrado, es porque no tiene servicios corriendo, así que esto no representa ningún peligro para la victima. Cuando un puerto se identifica como filtrado, es porque tiene un puerto abierto que esta esperando conexiones, pero las conexiones únicamente se reciben de determinadas direcciones IP o Host, por lo tanto no cualquiera puede entrar al equipo. Por ejemplo la maquina www.victima.com tiene el puerto 22 abierto, correspondiente al servicio SSH, pero tiene el puerto filtrado a que solo la maquina con dirección IP 201.232.58.5 puede entrar a ella, así que cualquier otro equipo en el mundo que no sea la maquina 201.232.58.5, se le denegara el acceso al servicio SSH. La exploración de puertos es una actividad secuencial a la recolección de información, y en este paso ya el atacante esta actuando directamente sobre el equipo victima, los cual en algunos casos y dependiendo de las leyes de algunos países, es considerado como un Delito. Todas las anteriores definiciones están orientadas a una exploración de puertos de un solo equipo, pero también hay otras clases de exploraciones, tales como: Exploraciones de red, exploraciones de vulnerabilidades, exploraciones de módems, entre otros. La exploración de red es un procedimiento para identificar host o maquinas activas en una red, la exploración de módems, consiste en la búsqueda de Modems que estén a la escucha de servicios de acceso remoto (RAS), los cuales son poco comunes en nuestros días, pero sin embargo hay aun servidores con estos servicios. Para la búsqueda de Modems, no se requiere de tarjeta de red, se debe de usar un Equipo con un Modem, y se le instala un programa especial para identificar equipos con módems a la escucha, llamados Dialers. Entre los Objetivos mas relevantes del proceso o fase de ataque relacionada con la exploración de puertos, se encuentran:

• Detectar sistemas vivos corriendo o ejecutando procesos en una red

• Descubrir que puertos están abiertos o tienen programas/servicios en ejecución.

• Descubrir huellas de sistemas operativos, o lo que se conoce como OS FingerPrinting

• Descubrimiento de direcciones IP en la red o sistema planteado como objetivo o blanco de ataque.

Existen varias técnicas de escaneo de puertos, las cuales varían según las necesidades y habilidades del atacante. Antes de hablar de cada una de ellas, se debe de comprender lo que significa el intercambio en tres vías del protocolo TCP. Se debe de tener presente que el protocolo TCP es un protocolo que trabaja en la capa de trasporte del modelo de referencia OSI y es un protocolo orientado a conexiones, es decir que antes de comenzar a trasmitir información entre dos host, estos primero deben de sincronizarse y realizar de forma completa lo que se conoce como intercambio de tres vías, el cual se puede apreciar en la siguiente imagen.

Este intercambio tiene tres pasos, los cuales son los siguientes:

• El cliente envía una petición SYN al Servidor

• El servidor le devuelve otro paquete SYN, acompañado de un ACK

• Por ultimo el cliente le envía al servidor un ACY y ya están sincronizados cliente y servidor para poder intercambiar datos.

Teniendo presente el concepto de intercambio de tres vías, se menciona a continuación las diferentes técnicas de exploración de puertos. TCP Connect Scan: Es un proceso de exploración de puertos abierta, y necesita el intercambio de tres vías para poder realizar de forma completa la exploración de puertos. Se llama Connect Scan, ya que implementa una llamada al sistema de tipo Connect, para así saber de forma rápido el estado del puerto. Es un tipo de exploración de puertos ruidosa, es decir que es fácilmente identificada por los sistemas de filtrados de paquetes Firewall, o por los sistemas detectores de intrusos (IDS). ES una exploración de puertos segura, en lo referente a las respuestas de que los estados de los puertos, es recomendable para hacer auditorias internas a los sistemas, sin embargo no es

recomendable hacerlo con host o maquinas ajenas, ya que puede considerarse como un delito. Para saber si el puerto esta cerrado o no, el proceso de TCP Connect Scan debe de hacer lo siguiente. Supongamos la comunicación entre un host A y B.

• Primero el Host A envía a B una petición de conexión de tipo SYN

• Si el host B devuelve una respuesta del tipo RST/ACK, el puerto esta cerrado

• Si el Host b devuelve una respuesta del tipo SYN/ACK, el puerto esta abierto, por lo tanto A devuelve a B otro ACK para establecer la conexión.

TCP SYN Scan: Es una técnica de exploración de puertos que eavía de un host a otro únicamente paquetes de inicio de conexión de tipo SYN, por cada uno de los puertos que se quieren analizar, para poder determinar si estos están abiertos o no. Recibir como respuesta un paquete RST/ACK significa que no existe ningún servicio que escuche por este puerto. Por el contrario, si se recibe un paquete SYN/ACK, podemos afirmar la existencia de un servicio asociado a dicho puerto TCP. En este caso, se enviaría un paquete RST/ACK para no establecer conexión y no ser registrados por el sistema objetivo. A diferencia del caso anterior (TCP connect scan), este tipo de exploración de puertos no es tan ruidosa, ya que no termina el proceso de intercambio en tres vías, y algunos Firewalls o IDS, no las registran. Para saber si el puerto esta cerrado o no, el proceso de TCP SYN Scan debe de hacer lo siguiente. Supongamos la comunicación entre un host A y B

• A envía a B una petición de conexión SYN

• B responde con una petición RST/ACK, lo que indica que el puerto esta cerrado

• B responde con una petición SYN/ACK lo que indica que el puerto esta abierto

• A responde con una petición RST para romper la conexión y no terminar el intercambio de tres vías.

TCP FIN Scan. Es una técnica de exploración de puertos que consiste en enviar un paquete FIN a un puerto determinado, con lo cual deberíamos recibir un paquete de reset (RST) si dicho puerto esta cerrado. Esta técnica se aplica principalmente sobre implementaciones de pilas TCP/IP de sistemas Unix. No es recomendable usar este tipo de exploración de puertos con Sistemas Microsoft, ya que la información que se devolverá será un poco confusa y poco valida. El FIN Scan esta pensado para trabajar únicamente con sistemas operacionales que tengan implementaciones de TCP/IP con respecto al documento RFC 793. El FIN Scan tiene como particularidad para identificar el estado de un puerto la manera en que reacciona el host victima con respecto a una petición de cierre de conexión en un puerto TCP. No es recomendable usar este tipo de exploración de puertos con Sistemas Microsoft, ya que la información que se devolverá será un poco confusa y poco valida. Este tipo de

exploración es recomendable llevarlo a la practica en sistemas de tipo UNIX, LINUX y *.BSD Para saber si el puerto esta cerrado o no, el proceso de TCP FIN Scan debe de hacer lo siguiente. Supongamos la comunicación entre un host A y B

• El host A manda una petición FIN al host B

• Si Host B responde con una petición RST/ACK, el puerto esta cerrado

• Si host B no responde, posiblemente el puerto esta abierto. Este tipo de exploración de puertos, es silenciosa y en muchas ocasiones no es registrada por Firewall o IDS, así que puede ser usada por atacantes informáticos. TCP Xmas Tree Scan. Es una técnica de exploración de puertos parecida al FIN Scan, ya que también se obtiene como resultado un paquete de reset (RST) si el puerto esta cerrado. Para el caso de este tipo de exploración de puertos, se envían paquetes o solicitudes del tipo FIN, URG y PUSH al host que se esta explorando. No es recomendable usar este tipo de exploración de puertos con Sistemas Microsoft, ya que la información que se devolverá será un poco confusa y poco valida. El Xmas Scan esta pensado para trabajar únicamente con sistemas operacionales que tengan implementaciones de TCP/IP con respecto al documento RFC 793. No es recomendable usar este tipo de exploración de puertos con Sistemas Microsoft, ya que la información que se devolverá será un poco confusa y poco valida. Este tipo de exploración es recomendable llevarlo a la practica en sistemas de tipo UNIX, LINUX y *.BSD Para saber si el puerto esta cerrado o no, el proceso de TCP Xmas Tree Scan debe de hacer lo siguiente. Supongamos la comunicación entre un host A y B.

• El host A manda peticiones FIN/URG/PSH al host B

• Si el host B no responde, quiere decir que el puerto esta abierto

• Si el host B responde con una petición del tipo RST/ACK el puerto esta cerrado.

TCP Null scan. Este tipo de exploración pone a cero todos los indicadores de la cabecera TCP, por lo tanto la exploración debería recibir como resultado un paquete de reset (RST) en los puertos no activos. No es recomendable usar este tipo de exploración de puertos con Sistemas Microsoft, ya que la información que se devolverá será un poco confusa y poco valida. Este tipo de exploración es recomendable llevarlo a la practica en sistemas de tipo UNIX, LINUX y *.BSD UDP Scan: Mediante este tipo de exploración de puertos, es posible determinar si un sistema esta o no disponible, así como encontrar los servicios

asociados a los puertos UDP que encontramos abiertos. Tener presente que todos los anteriores tipos de exploración son orientados al TCP. Para realizar esta exploración se envían datos del tipo UDP al host que se quiere explorar En el caso de que el puerto este cerrado, se recibirá un mensaje ICMP de puerto no alcanzable (port unreachable). Si el puerto esta abierto, no se recibirá ninguna respuesta. Nota: recordar que el protocolo UDP es un protocolo no orientado a conexiones. Para saber si el puerto esta cerrado o no, el proceso de UDP Scan, debe de hacer lo siguiente. Supongamos la comunicación entre un host A y B.

• El host A envía una petición UDP a host B

• El host B contesta al A con un mensaje ICMP de puerto no alcanzable, lo cual quiere decir que el puerto esta cerrado.

• El Host B no contesta nada al host A, se interpreta como que el puerto esta abierto.

Todos los anteriores tipos de exploración de puertos, son soportados por la herramienta de exploración de puertos conocida como nmap, la cual viene con el CD Back Track de Linux o con la versión Knoppix STD, las cuales se usan para realizar los laboratorios, sin embargo si se necesita mas información al respecto de esta herramienta, consultar la pagina Web www.nmap.org. Las opciones de nmap para la mayoría de exploraciones, se pueden apreciar en la siguiente figura.

Escaneo -Análisis de Vulnerabilidades: Es un proceso similar a la exploración de puertos, pero el objetivo primordial es identificar y documentar vulnerabilidades de software, descubiertas en un host, una red, o dispositivos de conexión de redes, para este proceso existen muchos software en el mercado, tanto de pago como de código libre, los cuales permiten realizar proceso de auditorias o ataques de forma automática, personalizada o manual. En proceso de análisis de vulnerabilidades es secuencial al proceso de exploración de puertos, ya que una vez el atacante ha identificado el estado de los puertos de un host, el cual previamente se ha definido como victima o blanco de ataque, el paso a seguir sera analizar las vulnerabilidades asociadas a los servicios que hay en los puertos abiertos. A modo de ejemplo veamos el siguiente caso para un análisis he identificación de vulnerabilidades:

En el ejemplo anterior, se puede observar que el atacante ha llevado a la práctica de forma previa una exploración de puertos, donde este pudo identificar que los puertos 80, 110 y 25 están abiertos. Además pudo identificar que en el puerto 80 hay corriendo un servicio Web, con el software Microsoft IIS en su versión 5.0. Teniendo presente esta información, el atacante podrá lograr atacar el servidor fácilmente, ya que la versión del software IIS que esta corriendo, es una versión antigua de este software y es además vulnerable a muchos ataques. Por lo tanto el paso siguiente del atacante informático, sera escribir un código del tipo exploit, o buscarlo en Internet, para poder ejecutarlo, y asi lograr entrar al sistema y posteriormente ganar o escalar altos privilegios a nivel de usuario. Las vulnerabilidades, pueden ser clasificadas según su nivel de importancia y de criticidad y se clasifican en: Bajas Medias Altas Criticas

Vulnerabilidades de tipo Bajas: Son vulnerabilidades relacionadas con aspectos de la configuración de un sistema, la cual probablemente podría ser utilizada para violar la seguridad del sistema, sin embargo no constituyen por si sola una vulnerabilidad, ya que para ser explotada, requiere de un conjunto de criterios que no necesariamente seria conseguido de forma directa por un atacante. Un ejemplo para este tipo de vulnerabilidad seria el siguiente: Luego de una exploración de puertos y vulnerabilidades con un software previamente preparado por un atacante, se ha tenido dentro del reporte del aplicativo que ha usado el atacante la siguiente información: “El puerto 23 esta abierto y tiene ejecutando una versión de este protocolo. Un atacante podría usar un analizador de protocolos, para poder identificar el trafico, y asi poder encontrar el nombre de usuario y contraseña para pode entrar en el equipo victima, ya que el servicio de Telnet, es un protocolo que no cifra o codifica as conexiones, sino que estas viajan el texto claro”. Vulnerabilidades de tipo Medias: Son vulnerabilidades asociadas funcionalidades disponibles en forma remota en el sistema identificado como objetivo, las cuales normalmente son utilizadas por los atacantes informáticos para explotar otra vulnerabilidad. Es decir que este tipo de vulnerabilidades no son el objetivo final en ningún ataque, sino que dan pie o base a otras vulnerabilidades mas criticas, para poder comprometer el sistema, tales como el uso de escalar privilegios. Un ejemplo para este tipo de vulnerabilidad seria el siguiente: Luego de una exploración de puertos y vulnerabilidades con un software previamente preparado por un atacante, se ha tenido dentro del reporte del aplicativo que ha usado el atacante la siguiente información: “Se ha identificado que el host victima esta corriendo una versión de sistema operativo Microsoft Windows 2003 Server, dicho sistema permite obtener acceso a el, usando una sesión de tipo NULL. El concepto de sesión NULL significa que se puede ingresar al sistema en análisis con un nombre de usuario y clave NULL y se gana acceso al sistema con privilegios de Guest o invitado”. Vulnerabilidades de tipo Altas: Son un tipo de vulnerabilidades que pueden ser usadas para obtener acceso a recursos que deberían estar protegidos en el host remoto. Estas vulnerabilidades como tal comprometen el sistema afectado, ya que si son explotadas por un atacante, este conseguirá el control parcial o total del sistema, además de que podrá ver y cambiar información confidencial, y ejecutar comandos y programas en el equipo afectado. Un ejemplo para este tipo de vulnerabilidad seria el siguiente: Luego de una exploración de puertos y vulnerabilidades con un software previamente preparado por un atacante, se ha tenido dentro del reporte del aplicativo que ha usado el atacante la siguiente información: “Es posible acceder a recursos compartidos en el equipo objetivo, ya que el equipo tiene carpetas compartidas de lectura/escritura, con lo que un atacante podría obtener información confidencial del equipo analizado”.

Vulnerabilidades de tipo Críticas: Son similares a las vulnerabilidades de tipo alta, sin embargo las criticas suelen ser mas peligrosas y requieren de la evaluación y corrección por parte de los administradores de informática de forma inmediata. Un ejemplo para este tipo de vulnerabilidad seria el siguiente: Luego de una exploración de puertos y vulnerabilidades con un software previamente preparado por un atacante, se ha tenido dentro del reporte del aplicativo que ha usado el atacante la siguiente información: “ Se ha identificado que el Host analizado tiene el puerto TCP 1433 abierto y en este puerto se esta corriendo una versión del servidor de bases de datos SQL Server Versión 8, el sistema de bases de datos tiene la clave del usuario SA (System Administrador) en blanco, por lo cual un atacante podría tomar control total del sistema de bases de datos de forma remota o local”. Nota: Una vulnerabilidad descubierta puede ejecutarse de forma local, de forma remota, o de ambas formas. Para el proceso de análisis de vulnerabilidades existen cientos de programas, para el caso de este diplomado se ha seleccionado el analizador de vulnerabilidades NESSUS, el cual se incluye preinstalado y en total funcionamiento en las versiones de Linux enviadas en los CD-R. Información inicial de NESSUS.

Nessus es un escáner de vulnerabilidades y puertos, el cual tiene una gran cantidad de datos relacionados con las diferentes vulnerabilidades que aparecen en muchos software comerciales y sistemas operativos. Nessus tiene varios componentes para poderlo trabajar, el primero es un demonio o componente principal, el cual es el que se encarga de los chequeos de vulnerabilidades en un host, el segundo es un cliente que se conecto al servicio o demonio Nessus, mediante el cual se pueden dar directrices o políticas de escaneo de vulnerabilidades, además es por medio de este cliente donde se ven los reportes. El tercer componente son los Script de Nessus, los cuales son llevados a la práctica en lenguaje de programación NASL. Características:

• Software multiplataforma, ya que soporta la instalación en varios sistemas operativos tipo UNIX, Linux y Windows.

• En una actividad de identificación de vulnerabilidades, Nessus comienza a usar internamente el software Nmap, para identificar los puertos abiertos de la maquina objetivo.

• Es un software que se actualiza a diario, ya que todos los días son descubiertas nuevas vulnerabilidades en los sistemas a nivel de aplicación o a nivel de sistema operativo.

• Presenta varias alternativas para la generación de informes, ya que pueden ser HTML, XML, entre otros.

• Es una potente herramienta de identificación de vulnerabilidades, pero puede causar la caída de un sistema evaluado sino se usa de forma adecuada.

Valor agregado: Es sin duda alguna el mejor analizador de vulnerabilidades que existe en el mercado del software libre, además esta catalogado en los ranking de herramientas de seguridad, como la primera herramienta que no debe faltar a ningún técnico o profesional de la seguridad informática. Dada la importancia de Nessus en el proceso de formación en el área de la seguridad informática, debe de darse como parte de las técnicas avanzadas de ataque y defensa de forma practica, para que el estudiante le de la respectiva aplicabilidad. Para más información, remitirse a la pagina oficial de Nessus www.nessus,org

KeyLoggers: Son un tipo de

programas clasificados por la mayoría de casas antivirus como Malware, y su función principal es la de capturar en un archivo de texto las pulsaciones del teclado, las paginas Web visitadas, programas ejecutados y demás usos que se le den al sistema infectado por el Keylogger, sin que el usuario se percate de ello, los Keylogger también son configurables para enviar el log por medio de correo Electrónico, apoyados por su propio motor SMTP. Estos últimos tipos de Keyloggers que envían el Log por coreo electrónico son los más sofisticados que hay en el mercado de este tipo de programas, además los Keyloggers pueden venir acompañados como una función en un virus de tipo Troyano. Los Keyloggers pueden estar basados en Hardware o Software. Un Keylogger trabaja como lo muestra la siguiente figura.

En la mayoría de los casos un Keylogger necesita de la intervención del usuario final para poder infectar el sistema atacado, luego de que se instala en el sistema, el Keylogger procura permanecer invisible en el sistema atacado, con el objetivo de no despertar sospechas en el usuario final, por lo tanto un Keylogger posee características distintivas para no ser

identificado y para ser administrado por el atacante. Entre las características fundamentales de un buen Keylogger, están las siguientes:

• Debe de ser invisible a Software Antivirus o AntyMalware

• Se carga en memoria

• Debe de cargarse al arrancar el sistema operativo del equipo afectado

• Debe de permitir el envió de los Logs de forma remota, usando protocolos como SMTP o FTP

• Debe de estar invisible a herramientas como el Taskmgr del sistema operativo Windows XP

• Debe de estar oculto en la lista de agregar o quitar programas del sistema operativo Windows.

• Permite encriptar o codificar el Log capturado, con el objetivo que solo el atacante que realizo la infección o que administre el Keylogger, pueda decodificar el Log.

• Permitir entrar a la consola administrativa del Keylogger por medio de una clave que solo el atacante conoce.

Los Keylogger hacen parte de la técnica global de ataques informáticos, conocida como Snooping, la cual consiste o se describe en permitir al atacante observar y analizar la actividad de un usuario en un equipo de computo previamente definido como victima de ataque, con el fin de obtener determinada información de interes y clasificada como el usuario atacado, como información sensible, como lo pueden ser sus contraseñas de acceso a entidades financieras y bancarias. Los programas como los Keyloggers y algunos virus de tipo Troyanos son clasificados como programas de tipo Snoopers, y se encargan de monitorear los dispositivos de entrada y salida de un ordenador, como los son los teclados y los Mouse. Entre algunos programas de tipo Keylogger se encuentran:

• Perfect Keylogger

• KeyGhost

• Best Free Keylogger (BFK) (Este es Libre o sea con licencia GPL), los anteriores tienen versiones gratuitas, pero no son de condigo abierto, solo se mencionan a nivel informativo.

• Simple Pitón Keylogger, es otro proyecto similar al anterior.

Ataques Por Contraseña y Fuerza Bruta: Para lograr penetrar o ingresar a un sistema definidos como objetivo, los atacantes se hacen de infinidad de herramientas y técnicas de ataque, entre las cuales se encuentran los ataques dirigidos específicamente a los nombres de usuario y contraseñas. Entre este tipo de ataques, se definen dos muy representativos, los cuales son ataques por contraseña o diccionario y los de fuerza bruta.

Ataques por Contraseña o Diccionario: Es un técnica que utiliza programas para obtener el nombre de usuario y contraseña de una pagina Web o determinado aplicativo, mediante el uso de combinaciones de Diccionarios (archivos de texto) (User- Password). Dichos diccionarios se componen de nombre y apellidos de personas comunes, nombres de animales, nombres de películas y actores de cine entre otro, los cuales se van combinando de forma automática, hasta poder conseguir un nombre de usuario y contraseña validos para ingresar a un sistema informático definido como victima de ataque de forma previa por parte de un atacante informático. Al momento de llevar a la practica un ataque a intentar averiguar nombres de usuario y contraseñas, el ataque por diccionario, suele ser mas efectivo que el ataque por fuerza bruta, ya que la mayoría de usuarios eligen claves débiles con algún nombre común, el cual puede estar identificado fácilmente en un archivo de diccionario. En la siguiente grafica se puede identificar un esquema, el cual explica como trabaja esta técnica de ataque por contraseña o diccionario.

En primera instancia el atacante envía combinaciones de nombres de usuario y contraseñas al servidor FTP, los cuales previamente tiene alojados en un archivo de texto de su maquina local, con el fin de poder violar las credenciales de acceso al servidor FTP. Una vez que lo logra, el software que ha utilizado, le indica las credenciales validas para acceder al servidor FTP, con lo que se interpreta que el servidor FTP ha sido violado en cuestión de seguridad por el atacante informático. Ente los software usados para este tipo de ataque se encuentra, LC5, Crack, Cain and Abel y JHon The Ripper. Para el caso de este modulo, nos centraremos en Jhon The Ripper. Jhon The Ripper. Este es un crackeador de Passwords/Contraseñas, el cual es muy rápido, versátil y eficaz en relación a violar o reventar contraseñas. Jhon The Ripper tiene como objetivo principal, el de violar contraseñas débiles de sistemas operativos UNIX, sin embargo puede ser usado para violar contraseñas débiles en otro tipo de sistemas

operacionales de tipo UNIX. Linux y Microsoft Windows. Jhon The Ripper es una potente herramienta que sirve a los administradores de red para saber si las contraseñas de sus usuarios o sistemas administrados son fuertes, o por el contrario, esta herramienta le sirve a un atacante para violar contraseñas y penetrar sistemas. Características:

• Es un software multiplataforma, ya que esta disponible para gran numero de versiones de Linux, para sistemas tipo *BSD, Windows, BeOS, OpenVMS, entre otros.

• Es uno de los mejores y mas rápidos programas de crack de contraseñas que se pueda conseguir en Internet

• Este software es usando para llevar a la practica ataques de tipo Fuerza Bruta y Ataques por diccionario.

• Entre los algoritmos de cifrado o de calculo de hash que puede reventar se encuentran: DES, SHA-1, MD5, Blowfish, LM (Windows)

• Se le pueden integrar módulos o Plug-in, para que el software pueda trabajar con MD4, LDAP, SQL, entre otros.

• Es un software que ha sido optimizado a lo largo de su historia para trabajar con varias plataformas de procesadores.

Valor agregado: Hemos seleccionado este software, de los tantos que existen en el mercado del software libre en relación a la mención de los ataques de fuerza bruta y diccionario como los son: Crack, LC5, Cain, entre otros, ya que es una herramienta multiplataforma, la cual no esta cerrado a determinado sistema operativo procesador, además es fácil de usar y es muy efectiva para romper contraseñas, lo cual nos permite usarla a lo largo del diplomado en seguridad, como apoyo y fortalecimiento al estudio del diplomado. Ataques por Fuerza Bruta: Es una técnica que utiliza programas para obtener el nombre de usuario y contraseña de una Web o aplicativo mediante el uso de combinaciones de letras números y caracteres alfanuméricos. Este tipo de ataque lleva a la práctica todas las combinaciones posibles, existentes en las letras del teclado, usando el alfabeto en forma mayúscula y minúscula, los números y los caracteres especiales. Es un tipo de ataque que requiere de muchos recursos a nivel de computación, además es fácil de detectar por los sistemas de defensa de un equipo de cómputo. Es un ataque que puede tomar semanas o meses para el rompimiento de la clave, a pesar de ser demorado, es un ataque efectivo, ya que recurre a todas las combinaciones posibles para obtener

las credenciales de acceso a un sistemas operativo o aplicación protegida por nombre de usuario y contraseña. El ataque por fuerza bruta puede verse explicado en la siguiente grafica.

Primer el atacante lanza el programa que le permite hacer la respectiva combinación para lograr identificar las credenciales de acceso al servidor FTP, una vez que el software lo logra, le informa al atacante cuales han sido las credenciales validas, para que este pueda ingresar, y asi violar la seguridad del servidor FTP. Para este tipo de ataque, se recomienda el uso de igual forma que en el ataque por diccionario, del programa Jhon The Ripper.

Phising: Conocido también como la técnica de la pesca

milagrosa, es una especia de estafa electrónica, la cual consiste en realizar un espejo de una pagina Web de un banco o de una institución financiera por ejemplo, para luego por medio del envió masivo de correo basura( Spam), hacer que usuarios incautos y descuidados, entren a la Web falsa del banco, y allí dejen los datos confidenciales de acceso a las cuentas del banco, así el atacante informático tendrá los acceso a las cuentas bancarias, para posteriormente hacer traslados de cuentas del usuario victima, a las cuentas del atacante. En la siguiente figura se puede apreciar un explicación grafica de la técnica del Phising.

La anterior figura muestra a un usuario de la institución financiera conavi, el cual de forma previa ha recibido un correo publicitario de un atacante

informático, en donde le indica al usuario incauto por medio de alguna promoción o aviso importante, que visite la pagina del banco, con el objetivo de actualizar los datos. Luego el usuario ingresa al link que ha recibido de forma previa en el correo (Spam) que ha recibido del atacante, el cual lo lleva al host identificado como host2.conavi.com. el cual es el sitio espejo de la pagina real de la institución conavi, en donde el usuario ingresa y sin percatarse, entrega al atacante informática las credenciales de acceso a sus cuentas bancarias. La técnica del Phising, no solo se usa mediante el envió de correos electrónicos del tipo Spam, también se usa por medio de llamadas telefónicas, y uso del software de mensajeria instantánea. También se han detectado virus del tipo Troyanos, especializados en tratar de que los usuarios entren a las páginas Web falsas de las entidades bancarias victimas de este tipo de ataques o estafas informáticas. El término descrito como Phising, tiene su historia a mediados de los años noventa, por los delincuentes informáticos que intentaban robar las cuentas de los clientes del proveedor de acceso a Internet AOL (American On Line). El caso consistía en que los delincuentes informáticos se presentaban al cliente de AOL como empleados de la mencionada empresa y enviaban un correo electrónico a los usuarios (Victimas), en el cual se le solicitaba al usuario que revelara sus credenciales de acceso, para poder verificar el estado de la cuenta y confirmar procesos de facturación. Luego de que el usuario victima entregaba las credenciales de acceso, el atacante informático podría tener acceso a la cuenta del usuario, con propósitos ilícitos.

Phraming: Esta técnica es una variante del Phising, en la cual los atacantes utilizan herramientas tales como virus especialmente programados o troyanos, los cuales son capaz de conectar a los usuarios de los equipos que han infectado a las paginas Web falsas de las instituciones financieras o de alguna pagina Web en especial, la cual exija para su uso y acceso un nombre de usuario y contraseña. Con esto el atacante es capaz a de lograr identificar los datos confidenciales de los clientes de una determinada instrucción financiera y usarlos para operaciones ilícitas. Entre los primero virus que aparecieron para usar este nuevo tipo de estafa, se encuentra el conocido Trij/Bancas-A, el cual en el año 2005 tuvo grandes incidencias y causo millonarias pérdidas en el reino unido. Esta técnica también se puede lograr alterando los registros o funcionamiento de los servidores DNS, con lo cual los atacantes informáticos usan los servidores DNS de los usuarios para redirigirlos a las páginas Web falsas de bancos e instituciones financieras.

Sniffers o Sniffing: Esta técnica consiste en escuchar o analizar el tráfico que circula por una red, con el objetivo de identificar información sensible, como nombres de usuario, contraseñas, números de tarjetas de crédito, entre otros. Un sniffer como tal, es un analizador de protocolos, pero e usado por los

delincuentes informáticos, para llevar a la practica procesos ilícitos, como la identificación de información sensible. Un Sniffer como tal, consiste en un programa o dispositivo el cual tiene la misión de capturar información sensible o vital en el tráfico de una red en particular, definida de forma previa por el atacante como objetivo o blanco de ataque. Los Sniffers son una tecnología orientada a la intercepción de información altamente sensible. Para que un Sniffer trabaje de forma correcta en el equipo o host de la red objetivo, la tarjeta de red que va a realizar la captura del tráfico, es necesario que sea configurada en modo promiscuo. La técnica de sniffers hace parte de la táctica de ataque informática conocida como Eavesdropping, al cual tiene como objetivo primordial, la intercepción del tráfico que circula por una red de forma pasiva, sin modificar su contenido en ningún momento. Entre los objetivos principales de un Sniffer están:

• Identificar Claves de correos electrónicos, Sitios Web inseguros, FTP, Telnet, entre otros.

• Identificar textos de un correo electrónico

• Identificar archivos trasmitidos por protocolos TCP tales como: FTP, SMTP y protocolos como SMB.

Entre los protocolos que son sensibles o vulnerables a la técnica de Sniffing, se encuentran:

• Telnet y Rlogin: Usuario y clave se trasmiten en claro, sin codificar

• HTTP: Los datos son enviados en claro, sin codificar • SMTP: Usuario y clave se trasmiten en claro, sin codificar

• NNTP: Usuario y clave se trasmiten en claro, sin codificar

• POP: Usuario y clave se trasmiten en claro, sin codificar

• FTP: Usuario y clave se trasmiten en claro, sin codificar

• IMAP: Usuario y clave se trasmiten en claro, sin codificar

Existen dos tipos de Sniffing, el pasivo y el activo: El Sniffing Pasivo, consiste en conectar una maquina a un dispositivo de tipo Hub, ya que este por su propia naturaleza de funcionamiento, ya que un Hub trasmite un dato a todos los equipos conectados a el, por lo tanto un atacante lo único que necesita es conectar la maquina al Hub y poner a correr el software que hace la funcionalidad de Sniffer. Es llamado Sniffing pasivo, ya que es difícil de detectar. En la siguiente imagen se puede apreciar el proceso de Sniffing pasivo, donde el atacante lo unico que hace es conectar la maquina al Hub, el cual a su vez esta conectado a la red de area local (LAN).

El sniffing de tipo Activo a diferencia del anterior, necesita de un dispositivo de tipo Switche para poder capturar lo datos, además es un proceso de captura de paquetes mas difícil de llevar a la practica que el Sniffing Pasivo y es un tipo de sniffing que es fácilmente detectado. Para poder llevar a la práctica un proceso de Sniffing Activo, es necesario conocer y aplicar las técnicas de sniffing Activo conocidas como: MAC Flooding y ARP Spoofing.

Nota: Se debe de tener presente que un proceso de Sinfín también se puede llevar a la practica en un solo equipo, con el fin de auditar o identificar la manera en que envía y recibe datos determinado protocolo y asi evaluar su seguridad.

Algunos protocolos son inmunes ante tecnicas de ataque como el Sniffing, tales protocolos son:

• HTTPS

• SSL

• SSH

• SFTP

Existen cientos de programas orientados al proceso de Sniffing y análisis de protocolos, para el caso se tendrá en cuenta el estudio de la herramienta Wireshark, antes llamada Ethereal.

Whireshark (Tiburón de los cables) Descripción de la herramienta: Es un analizador de protocolos, el cual permite llevar a la práctica técnicas de Sniffing de información o paquetes de datos en redes, con lo cual se

pueden identificar problemas en la red, o simplemente para ver información representativa, en cuanto a violar la privacidad de los datos que viajan en una red se refiere. Este software era antes conocido como Ethereal Características

• Tiene todas las directrices necesarias y propias para catalogarlo como un analizador de protocolos.

• Soporta múltiples protocolos

• Es una herramienta multiplataforma, ya que se puede implementar en varios sistemas operativos.

• Hacer parte de varios kit de versiones de Linux orientadas a la seguridad informática.

• Tiene una versión grafica, la cual facilita su uso.

• Permite el filtro de paquetes por medio de protocolos, con el objetivo de abalizar con más precisión los datos capturados.

• Soporta modos de análisis de paquetes o tramas de de red de tipo promiscuo y no promiscuo.

Valor agregado: Es uno de los mejores analizadores de protocolos existentes en lo relativo al software libre, además que es un programa que es usado en muchas universidades para trasmitir conocimientos de redes y seguridad a los alumnos, lo cual lo hace un software de seguridad educativo. Este software permite a los tutores virtuales plantear situaciones o casos de estudio para mejorar los conocimientos en las técnicas de sniffers, ya que su facilidad de uso e instalación lo hacen un software de gran valor agregado para la educación virtual en seguridad informática. Este software viene incluido e instalado de forma previa en los CD con las versiones de Linux enviadas al alumno.

Código Malicioso y Virus Informáticos: Son muchos los programas clasificados como virus o código maligno, los cuales son programas especialmente diseñados y programados, para causar algún tipo de proceso malicioso y negativo para los usuarios finales. Asi que se entiende por un código malicioso o dañino (Malware) a todo programa o proceso informático, el cual tenga como objetivo el causar daños o introducirse de forma no autorizada en las redes y sistemas de información digitales. Los códigos maliciosos mas conocidos, son los virus informaticos. Los virus informáticos pueden interpretarse como programas malignos, que son desarrollados en lenguajes de programación tales como C, C++, Visual

Basic, Delphi, entre otros, los cuales buscan por ejemplo, saturar el sistema o robar la identidad y datos sensibles del equipo del usuario victima que han infectado previamente. Los virus informáticos son percibidos como una amenaza representativa para las redes informáticas de las empresas, por lo tanto los virus son una amenaza en general para los procesos de los negocios corporativos. Un virus puede empaquetarse dentro de un programa, el cual a simple vista, es de utilidad para el usuario, pero una vez se ejecute, el virus puede ejecutarse de forma paralela e infectar el equipo del usuario victima. Por lo regular un virus informático trabaja en el sistema infectado, sin que el usuario tenga conocimiento de ello. Entre las características de un virus se tienen:

• Se reproducen de forma rápida en los sistemas infectados, con el objetivo de ampliar el alcance de infección.

• Pueden ser polimorfitos, esto quiere decir, que pueden cambiar de forma y tamaño. Esta es una técnica que usan muchos virus informáticos, para no ser detectados por los antivirus.

• En sistemas operativos como Windows, muchos virus se cargan como servicios, una vez se cargue el sistema operativo

• Registran procesos en el registro de Windows, para poderse mantener cargados en memoria y ejecutarse cada que se cargue el sistema operativo

Spoofing: Esta técnica en los aspectos relacionados con la seguridad y ataques informáticos, consiste en la suplantación de identidad o del origen de los datos en un proceso de trasmisión de información. El Spoofing es un concepto que se aplica a varios conceptos de las tecnologías de informatica y conectividad, tales como las redes inalámbricas, las redes cableadas, además el spoofing es un concepto aplicado a otras técnicas de intrusión tales como el Phising, el cual es definido en la siguiente formula: Spoofing o suplantación de paginas Web + Spam= Phising. Como se mencionaba anteriormente, existen muchas formas de llevar a la practica Spoofing, el cual puede estar orientado a los servicios DNS, a el direccionamiento IP, a los servicios de Correo electrónico, entre otros, pero como tal la técnica no tiene una apreciación por si sola a una tecnologia de red en especial, ya que muchas tecnologías pueden ser vulnerables a este tipo de ataques, y es el atacante quien tiene las habilidades de darle aplicación, según sus necesidades. El proceso de Spoofing puede verse representado en la siguiente grafica.

A continuación se definen algunos tipos de Spoofing: ARP Spoofing: Este consiste en suplantar la identidad, usando el protocolo ARP. El protocolo ARP es el encargado de resolver las direcciones IP en direcciones físicas de tipo MAC. Un atacante puede hacer uso de sus conocimientos de redes informáticas, para conseguir por medio de la explotación del protocolo ARP, que determinado de trafico de un equipo, pase por el equipo de la maquina del atacante informático, lo que finalmente se convierte en la modificación de la tabla ARP del dispositivo de red. Finalmente lo que busca un atacante con este proceso de ARP Spoofing, es lograr usar un Sniffer para capturar datos de red, los cuales le serán útiles mas adelante en su proceso de ataque. Algunas herramientas para llevar a la practica este tipo de practicas son: ARPSpoof y Ettercap IP Spoofing: Esta aplicación del Spoofing esta orientada a la falsificación de direcciones IP origen de un paquete de red, esto es muy aplicable al momento de intentar pasar los filtros de un Firewall o sistema de filtrado de paquetes, ya que muchos de estos filtran los protocolos TCP por medio de direcciones IP, lo que le permitiría finalmente a un atacante, pasarse las reglas de filtrado de un host destinado con las labores de Firewall. El IP Spoofing también es usado para hacer ataques de negación de servicios a algunos routers que son vulnerables a este tipo de ataques. El Hacker Black Hat Kevin Mitnick es el percusor del IP Spoofing. Mail Spoofing: La aplicabilidad del Spoofing en este caso esta orientado a falsificar la dirección de correo origen de un mensaje de correo electrónico, esto es muy usado para confundir a los usuarios y tratarlos de engañarlos para que entren a enlaces de direcciones de Internet, las cuales contienen algún tipo de código malicioso a instalar en el equipo de la victima.

SQL Injection: También conocido como el ataque

de inyecciones de código SQL, es un ataque que esta en la mayoría de ocasiones orientado a las paginas Web dinámicas (ASP/PHP) y consiste en la inyección de comandos SQL para explotar una vulnerabilidad conceptualizada como la no validación de datos de entrada en un aplicativo Web que trabaja de forma dinámica con sistemas de bases de datos. El proceso de ataque de inyecciones SQL, se lleva a la practica al momento en que un atacante inserta código SQL malicioso, dentro de un código SQL conceptualizado como valido, por debajo o a nivel de código de la aplicación Web, para que el código malicioso sea procesado en la base de datos, causando la alteración de la misma. De esta forma un atacante puede ejecutar código con comandos SQL arbitrarios en la base de datos. Veamos un ejemplo para que quede mas claro el concepto. Un usuario quiere ingresar al siguiente aplicativo Web Este aplicativo esta conectado a una base de datos SQL Server 2000, en donde hay una tabla que se llama usuarios, la cual tiene los campos user y clave. Se tiene presente que dicha pagina es vulnerable a inyecciones SQL, por lo tanto un atacante va a tratar de ejecutar la técnica de SQL Injection en dicha pagina Web, para lo cual ejecutara lo siguiente.

• Teniendo presente que la pagina Web dinámica, lo que hace en el código interno, es realizar una consulta SQL (SQL Query) a la base de datos que contiene la información del usuario, para lo cual usa en la construcción de la consulta SQL los parámetros ingresados por el usuario. Si el usuario ingresa en la pagina el nombre juan, el código SQL que genera la pagina seria el siguiente:

Select user from usuarios Where user= lbl.usuario -> esta etiqueta tiene el nombre de juan, por lo tanto el codigo final seria. Select user from usuarios Where user= ‘juan’

Con lo anterior, la consulta se ejecutaría sin problemas, y el usuario entra de forma normal al, aplicativo Web, sin embargo si un atacante podría ingresar la siguiente información en el campo user: Juan; drop table usuarios

Con lo anterior se generaría finalmente en la base de datos el siguiente código

SQL.

Select user from usuarios Where user= ‘juan’; Drop table usuarios Finalmente esto generaría la inyección de un código SQL dentro de otro, el cual para el ejemplo borraría la tabla llamada usuarios. Lo anterior solo es un ejemplo conceptual, para que se entienda de forma práctica lo que es una inyección de código SQL, sin embargo son muchas las aplicabilidades de esta técnica, la cual varia según las habilidades cognitivas del atacante, y según los descuidos a nivel de seguridad del programador de la pagina Web. El problema de seguridad relacionado con las inyecciones SQL es en gran porcentaje responsabilidad del programador, quien debe de capacitarse y darle aplicabilidad a los parámetros de seguridad relacionados con este problema, tales como la validación de datos de entrada, el tamaño de las cadenas ingresadas en los campos, entre otras mas. Si un programador no realiza el código de la página Web con ciertas directrices de seguridad, puede dejar el sistema afectado totalmente vulnerable. Algunas tácticas usadas para llevar a la práctica inyecciones SQL son:

o Pasando los niveles de autorización de el usuario y la clave: Esto se logra burlando la seguridad de la pagina principal en donde el usuario se logue, con lo cual un atacante informático, puede lograr burlar las credenciales de acceso por medio de inyecciones SQL

o Usando el comando SELECT: Este comando es usado en los

ataques de inyecciones SQL, para poder consultar información de las tablas de la base de datos.

o Usando el comando INSERT: Este comando es usado en los

ataques de inyecciones SQL, para poder insertar nueva información de las tablas de la base de datos.

o Usando SQL Store Prcedures: En esta táctica el atacante usa

los procedimientos almacenados de SQL, para llevar a la práctica comandos y procesos que faciliten sus intenciones de ataque al equipo definido como victima de ataque.

Deface: Esta técnica se conoce como la

desfiguración o modificación de paginas Web, y consiste principalmente en modificar el archivo index.html o index.php de una pagina o servidor Web, con el fin de cambiarlo por una pagina Web con contenido grotesco, pornográfico o de protestas políticas o religiosas. Un proceso de Deface esta asociado a muchas técnicas anteriormente vistas, ya que para poder lograr modificar el archivo anteriormente mencionado, se requiere que el atacante tenga permisos de escritura en el directorio en que esta el archivo, los cual se puede lograr, violando la seguridad del equipo. En conclusión un deface consiste en buscar una vulnerabilidad o defecto de configuración en un servidor Web, con el objetivo de podar lograr entrar en el y poder realizar los cambios en la pagina principal del sitio Web. Un deface no necesariamente se hace a la página principal del sitio Web, puede hacerse a un foro o a una de las tantas páginas de un sitio Web.

Ataque de Negacion de Servicios (DoS -DDoS): También conocido como ataque de

negación de servicios, es una técnica que consiste en dar de baja un determinado servicio en un servidor, o simplemente dar de baja el servidor completo. Un ataque de negación de servicios se puede conceptualizar como todo suceso en sistemas informáticos y de conectividad, los cuales causen que no se les permita el acceso a los servicios de un servidor a usuarios legítimos de este. Un ataque de negación de servicios puede llevarse a la práctica a un solo host (Servidor) o a una red completa. Por lo regular la causa de un ataque de negación de servicios sucede cuando el ancho de banda asociado a la victima es tan grande, que finalmente colapsa el equipo, también es causado por un gran número de peticiones a un servidor, el

cual se ven tan saturado sin poder atenderlas todas, que finalmente queda fuera de servicio. Un ataque de negación de servicios es un delito clasificado como de alta gravedad y es penalizado en muchos países con altas multas y con cárcel. El funcionamiento básico de un ataque de negación de servicios, puede apreciarse en la siguiente figura. Entre los ataques de negación de servicios se distinguen dos tipos, los cuales son: Ataque DoS y ataque DDoS. El ataque de tipo DoS esta definido en los párrafos anteriores, mientras que el ataque de tipo DDoS, significa ataque de negación de servicios distribuido, y a diferencia del DoS, este ataque consiste en llevar a la practica el envió masivo de solicitudes des cientos o miles de computadores, las cuales son controladas por el Hacker, a un servidor definido de forma previa como victima del ataque DDoS. Para que una maquina sea controlada vía remota por un atacante en este tipo de técnicas DDoS, es necesario que la maquina este infectado con un software llamado Zombie, el cual convierte a la maquina en una maquina Zombie, la cual puede ser administrada y posteriormente sincronizada con otras maquinas, para posteriormente llevar a la practica a la misma hora el ataque de negación de servicios distribuido. Un ataque de negación de servicios distribuido se puede apreciar de forma esquemática en la siguiente grafica.

La gran diferencia entre un DoS y un DDoS radica en que el DoS se lleva a la practica desde un solo equipo o servidor, mientras que el DDoS se lleva a la practica desde muchas maquinas previamente administradas y sincronizadas. Un ejemplo de ataque de negación de servicios, es el famoso ataque conocido como Ping de la Muerte, este ataque consiste en enviar a la victima una cantidad considerable de paquetes de tipo ICMP demasiado pesados (65.636 Bytes), el cual tiene como objetivo, colapsar la maquina que recibe los paquetes. Son pocos los sistemas operativo que hoy día son vulnerables a este tipo de ataques sin embargo en los años 1996 y 1997, este ataque era muy popular y causaba finalmente el reinicio de las maquinas, lo cual se interpreta como una denegación del servicio. Algunas herramientas que son usadas para causar ataques de negación de servicio son: Jolt2, Bubonic.C, Land And Latierra, Targa, Trinity, Kaiten, entre otras mas.

Ingeniería Social: Esta concepto como tal no es

una técnica de ataque, sino una estrategia, ya que la ingeniería social consiste en engañar o manipular a un usuario incauto, con el objetivo de que el usuario le brinde al atacante información confidencial o algún tipo de dato que le permita al atacante usarlo como ayuda para el ataque final. La ingeniería social puede verse como el arte del engaño, con el objetivo primordial de sacarle información provechosa para el atacante. Para usar ingeniería social, no hace falta un software específico o un sistema operacional, solo es un arte de manipulación que varia dependiendo de las habilidades del atacante para engañar a sus victimas. La ingeniería social no es un criterio relacionado directamente con la delincuencia informatica, ya que es usada por criminales del mundo real, investigadores, entre otros, pero se menciona en el tipo de ataques informáticos, ya que gracias a este arte, son engañadas muchas personas por los delincuentes informáticos, con lo que finalmente se les prestan las herramientas informativas a los delincuentes para llevar a la practica sus ataques. Unos de los Hackers Black Hat mas famoso por el uso de la ingeniera social, es Kevin Mitnick, quien afirma que con un buen engaño, se puede reducir el periodo de tiempo para hacer un ataque informático, incluso no se necesita del uso de herramientas especializadas a nivel de software para ejecutar el ataque, con una buena practica de ingeniería social, se le puede sacar al usuario información altamente representativa y confidencial. Mitnick plantea en su opinión y experiencia con la ingeniera social cuatro principios fundamentales para este arte, los cuales son:

• Todos queremos ayudar.

• El primer movimiento es siempre de confianza hacia el otro.

• No nos gusta decir No.

• *A todos nos gusta que nos alaben.

Los medios que usan los atacantes para llevar a la practica ingeniera social son el teléfono, Internet, vestidos como empleados de alguna entidad, entre otros. La ingeniería social aprovecha las fallas humanas, ya que aquí no se habla de aprovecharse de un defecto de programación o de una vulnerabilidad de un software o sistema operativo, aquí la vulnerabilidad esta en el ser humano, representado en administradores o técnicos de informatica mal capacitados en seguridad o de usuarios finales incautos. Un ejemplo de ingeniera social, seria la de un atacante que llama a un usuario de una empresa en particular y se hace pasar por un nuevo técnico del área de informatica, convenciendo finalmente al usuario de que le brinde información confidencial, como nombres de usuario y contraseñas de acceso por ejemplo.

Desbordamientos de Memoria: Conocido también

como desbordamiento de Buffer o Buffer OverFlow, es una técnica que consiste en aprovecharse de los defectos de programación de algún aplicativo-Software en especial, y su primordial objetivo es el de copiar una gran cantidad de información en una variable que es mínima o no soporta esa cantidad de datos, con lo que finalmente se hará una escritura en una porción de memoria del sistema no apropiada, además el software se satura, causando algún tipo de error en el sistema operativo , o simplemente la denegación del servicio. Veamos de forma práctica un ejemplo de desbordamiento de memoria o de Buffer. Un programador ha definido de forma previa la siguiente variable. Cedula String (15); Al momento del programador definir un tamaño de 15 caracteres para la variable de tipo, el sistema asigna o separa en memoria un valor para esta variable, así que al momento que un atacante construya un código en el cual se le asigne a esta variable un valor mas alto de 15, como seria 17 por ejemplo, se produce un desbordamiento de memoria, y el sistema intentara escribir las otras 2 partes que faltan en porciones de memoria no asignadas para ello, con lo que se podrían producir errores en el sistema, o el usuario podría aprovecharse de ello para otro tipo de funcionalidades relacionadas con romper la seguridad y confidencialidad del equipo de la victima. Lo anterior es un esquema conceptual, ya que la aplicabilidad y conocimiento a fondo de este tipo de ataques requiere de altos conocimientos en el arte de la programación de computadores, en especial en los lenguajes C y C++ y conocimientos medios en el lenguaje de bajo nivel Ensamblador. La responsabilidad directa de este tipo de ataques, esta orientado al desarrollador de la aplicación vulnerable, el cual debe de validar de forma apropiada los datos de entrada y salida de un aplicativo en especial.

Un desbordamiento de memoria esta relacionado directamente en problemas de seguridad informatica tales como la denegación del servicio, o la ejecución de código arbitrario, ya que si un atacante le envía un código malicioso a un software vulnerable a esta técnica, lograra la denegación del servicio, o si el atacante de forma previa invoca la ejecución de algún tipo de comando o shell, en la cual ejecutar otro tipo de funciones, las cuales no son nada positivas para el usuario. Por lo tanto un código para explotar una vulnerabilidad del tipo Buffer OverFlow, es muy común en muchos de los exploits que programas los Hackers Black Hat para ingresar y reventar sistemas informáticos.

Caballos de Troya (Trojans) y Puertas traseras (BackDoors): Los caballos de Troya son programas informáticos que tienen como finalidad, la de instalarse en el usuario de la victima, sin que este se percate de ello, con el objetivo de poder controlar la maquina de forma remota. Una vez que el usuario se instala en el equipo de la maquina del usuario victima, este se ejecuta de forma oculta, sin que el usuario note alguna diferencia en el funcionamiento rutinario del equipo. Un caballo de Troya o virus troyano tiene su interpretación analógica con el caballo de Troya de la historia de Troya, ya que por lo regular infecta a los usuarios mientras estos intentan instalar un aplicativo que a la vista del usuario le sirve de algo, pero dentro del aplicativo que están instalando, también se instala el programa maligno, el cual es el virus Troyano. Una vez que el Troyano este instalado de forma oculta en el equipo de la victima, el atacante puede tomar control remoto del sistema infectado por el Troyano, con privilegios de administrador, con lo cual podrá manejar el sistema a la manera que el atacante quiera y considere necesario para sus propósitos delictivos. La forma como trabaja un troyano, se puede apreciar en la siguiente figura

En la anterior figura se puede apreciar como el atacante por medio de Internet, administra el equipo de la victima de forma remota. Entre las acciones que puede hacer un atacante en un equipo infectado con Troyano se encuentran:

• Crear, Modificar y Borrar archivos

• Subir y bajar archivos o programas

• Capturar las teclas que el usuario digita (Funciones de Keylogger)

• Abrir y cerrar la unidad de CD-DVD

• Ponerle clave al acceso para que otro delincuente informático no entre al sistema atacado.

• Capturar pantallazas del equipo (PrtScreen)

• Mover el Mouse

• Crear un chat entre el usuario victima y atacado.

• Cambiar el fondo de escritorio o el Salva pantallas

• Ejecutar programas

• Imprimir documentos

• Intercambiar botones del Mouse

• Apagar y prender el equipo o simplemente reiniciarlo Las anteriores acciones de manera conceptual pueden volverse para el usuario en síntomas de que esta infectado por algún tipo de virus Troyano.

Hay programas Troyanos especializados para alguna labor, como por ejemplo el de robar información financiera como números y claves de acceso de tarjetas de crédito. Otro de los usos que un atacante le puede dar a un equipo infectado con un Troyano, es usar el equipo para robar o hacer fraudes electrónicos, así en la bitácora o log del equipo atacado, quedara el registro del equipo que tiene el Troyano instalado y no el del atacante, confundiendo así a los investigadores informáticos. Entre las diferentes vías de infección que puede entrar un Troyano en el sistema de un usuario incauto son:

• Por medio de programas de mensajera instantánea como ICQ e IRC.

• Por archivos adjuntos

• Acceso físico del atacante al equipo de la victima

• Por agujeros(Bugs) en los clientes de correo electrónico y de navegadores

• Por archivos compartidos vía NETBios

• Programas falsos

• Sitios Web inseguros de Software del tipo Freeware

• Descargando programas, juegos, música desde Internet

• Por medio de las redes P2P como Emule, Bit Tirrent, entre otras. Entre algunos Troyanos famosos y conocidos, con sus respectivos puertos de escucha, tenemos:

Generalidades a nivel estructural de un Troyano: Por lo regular un virus troyano se compone de dos partes fundamentales:

El cliente: Que es el software por medio del cual maneja el atacante el equipo de la victima El servidor: Es el programa que se instala en el equipo de la victima, o sea que es el Troyano como tal, el cual es administrador por el cliente, que es el programa que maneja el atacante informático. De forma práctica un Troyano abre un puerto TCP o UDP y lo pone a la escucha en el equipo de la victima, sin que el usuario se percate de ello. Por ese puerto abierto es que el atacante llevara a la practica la conexión del cliente al servidor, tomando así control de la maquina de la victima. Este proceso es el que se conoce como una Puerta Trasera o BackDoor, ya que el usuario tiene abierto un puerto, que analógicamente es una puerta de entrada para el atacante, y de los cual el usuario victima no tiene conocimiento.

Resumen. Este modulo y sus respectivos capítulos se ha tratado de facilitar a los diferentes estudiantes el conocimiento relacionado con los diferentes tipos de amenazas a la información y comunicaciones digitales, dichas amenazas se ven representadas en individuos, los cuales se representan y clasifican en diferentes tipos atacantes informáticos y se ven representadas también en las diferentes técnicas de ataque que son usadas por los delincuentes informáticos para tratar de violar la seguridad de un sistema informático y finalmente comprometerlo con fines delictivos. Son muchas las técnicas y metodologías de ataque a sistemas y redes informáticos, sin embargo en el presente modulo, se han visto las mas representativas, con el fin de que el estudiante pueda tener conocimiento de las principales amenazas a las que las redes corporativas y de usuarios comunes están expuestos.

Ejercicios de Autoevaluación

• Cual es la diferencia entre un Hacker Black Hat y Un Hacker White Hat.

• Dar una descripción de los dos tipos de ataques de negación de servicios y de forma complementaria consultar en Internet que empresas o paginas Web han sido victimas de este tipo de ataque.

• Identificar si las siguientes preguntas son falsas o verdaderas.

o Wireshark es un software usado para ataques de Fuerza Bruta_______

o Nmap permite hacer el tipo de scan TCP XMAS Scan_______

o La herramienta Jhon the Ripper no sirve para sistemas Microsft Windows_______

o Los protocolos HHTP y FTP son vulnerables a la técnica de

Sniffing_______

Soluciones Ejercicios de Autoevaluación

• Cual es la diferencia entre un Hacker Black Hat y Un Hacker White Hat.

Respuesta: La diferencia radica en sus acciones y en sus conocimientos de la programación avanzada en ordenadores. Por lo regular un Cracker o Black Hat es mas hábil en el arte de la programación y sus fines son delictivos, mientras que el Hacker White Hat, lo que busca es identificar vulnerabilidades y tratar de romper la seguridad de un sistema informático, con el fin de avisarle al administrador del problema, o simplemente como método de estudio.

• Dar una descripción de los dos tipos de ataques de negación de servicios y de forma complementaria consultar en Internet que empresas o paginas Web han sido victimas de este tipo de ataque.

Respuesta: Los tipos de ataque de negación de servicios que hay son: Ataque de negación de servicios DoS, el cual se hace desde un solo equipo y ataque de negación de servicios distribuido el cual se hace desde varios equipos. Algunas empresas que han sido victimas de estos ataques son: Microsoft, Ebay, Yahoo, Youtube, entre otros.

• Identificar si las siguientes preguntas son falsas o verdaderas.

o Wireshark es un software usado para ataques de Fuerza Bruta__F_____

o Nmap permite hacer el tipo de scan TCP XMAS Scan_____V__

o La herramienta Jhon the Ripper no sirve para sistemas Microsft Windows____F___

o Los protocolos HHTP y FTP son vulnerables a la técnica de

Sniffing_____V__

Glosario.

ACCESO REMOTO: Utilidad para que un usuario acceda desde su propio PC a otro que esté ubicado remotamente y pueda operar sobre él.

ADDRESS RESOLUTION PROTOCOL (ARP): protocolo de la familia TCP/IP que asocia direcciones IP a direcciones MAC.

AGUJERO O BUG: Una vulnerabilidad en el diseño del software y/o hardware que permite engañar a las medidas de seguridad.

AUTENTICACIÓN: Proceso en el que se da fe de la veracidad y autenticidad de un producto, de unos datos o de un servicio, así como de la fiabilidad y legitimidad de la empresa que los ofrece.

CODIGO MALICIOSO: Es un término genérico utilizado para describir el software malicioso tales como: virus, troyanos, etc

DELITO INFORMÁTICO: Delito cometido utilizando un PC; también se entiende por delito informático cualquier ataque contra un sistema de PC's.

DNS (Domain Name System/Sever: Servidor de nombres de dominios): Sistema de computadoras y bases de datos distribuidas organizadas en forma jerárquica que se encarga de convertir (resolver) las direcciones de Internet (como www.google.com) en la dirección IP correspondiente y viceversa. Componen la base de funcionamiento de las direcciones electrónicas en Internet y están organizadas jerárquicamente.

EXPLORACIÓN DE PUERTOS: técnica utilizada para identificar los servicios TCP o UDP que ofrece un sistema o red informática.

FIREWALLS: Conjunto de Software y Hardware de protección y dispositivos especiales que colocan barreras al acceso exterior a una determinada red privada. Es utilizado para proteger los recursos de una organización, de consultas externas no autorizadas.

FTP (File Transfer Protocol): Protocolo estándar para transferencia de archivos entre computadoras, utilizado Internet.

HTTP (HiperText Transfer Protocol): Es un protocolo que define la sintaxis y la semántica que utilizan los elementos software de la arquitectura Web (clientes, servidores, proxies) para comunicarse entre si.

INTEGRIDAD DE ARCHIVOS: Técnicas utilizadas para conseguir archivos de backup correctos de modo que se pueda recurrir a ellos en caso de tener que recuperar datos críticos después de que los datos originales se contaminen debido a una acción accidental o provocada (por ejemplo, un virus).

INTERNET CONTROL MESSAGE PROTOCOL (ICMP): protocolo encargado de realizar el control de flujo de los datagramas IP que circulan por la red.

IP: (Internet Protocol) Protocolo de Internet definido en el RFC 791. Confirma la base del Estándar de comunicaciones de Internet. El IP provee un método para fragmentar (deshacer en pequeños paquetes) y Enrutar (llevar desde el origen al destino) la información. Es inseguro, ya que no verifica que todos los fragmentos (paquetes) del mensaje lleguen a su destino sin perderse en el camino. Por eso, se complementa con el TCP.

LINUX: Sistema operativo basado en Unix, específico para computadoras tipo servidor.

MOTOR DE BÚSQUEDA: Programas disponibles en Internet para realizar búsquedas en bases de datos.

ROUTER: También llamado Enrutador, es un computador especializado responsable por determinar las vías y rutas que debe tomar la información para llegar al destino final.

SMTP (Simple Mail Transfer Protocol): Parte del grupo de protocolos TCP/IP , es un protocolo que maneja el envió de mensajes de correo electrónico entre servidores de correo en Internet.

TCP/IP (Transmission Control Protocol/Internet Protocol): Unión de dos protocolos de comunicaciones. TCP es un protocolo de control de transmisión, y se ocupa del envió y del orden de los paquetes de información. IP identificación de máquina (transmisora/receptora). Equivale a un sobre con destinatario y remitente. Es un protocolo orientado a conexiones.

UDP (User Datagram Protocol): Es un protocolo que agrega dos datos al "paquete", el número de port y opcionalmente, un número denominado checksum (chequeo por suma), que identifica si la información fue accidentalmente modificada. Es u protocolo no orientado a conexiones.

Bibliografía: SCAMBRAY, J. MCCLURE, S. KURTZ, G. (2001). Hacking Exposed: Network security secrets and solutions, 2nd ed. Osborne-McGraw Hill. SILES PELÁEZ, R. (2002). Análisis de seguridad de la familia de protocolos TCP/IP y sus servicios asociados. VERDEJO ÁLVAREZ, G. (2003). Seguridad en redes IP. Universidad Autónoma de Barcelona. ANONYMOUS (1998). Maximum Security: A Hacker’s Guide to Protecting Your internet Site and Network. Sams. STUART McClure, SCAMBRAY Joel, KURTZ George.(2003) HACKERS 4, Secretos y Soluciones para la seguridad de redes. 1 ed. España. McGraw Hill STUART McClure, SCAMBRAY Joel, KURTZ George.(2000) HACKERS 1, Secretos y Soluciones para la seguridad de redes. 1 ed. España. McGraw Hill ALVAREZ MARAÑO Gonzalo, PEREZ GARCIA Pedro Pablo. (2003) Seguridad Informática para empresas y particulares, 1 ed, España. McGraw Hill EC-Council. (2003) The Ethical Hacking Hand Book Official Course Material, 3 ed , EE.UU. Osb Publisher Pte Ltd