Top Banner
ÍNDICE Y GLOSARIO
204

High School Hker

Mar 31, 2016

Download

Documents

Richard Rivas

Libro para aprender tecnicas que se pueden implementar en la forensia
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: High School Hker

ÍNDICEY

GLOSARIO

Page 2: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de de la compra de una licencia, unadonación o una esponsorización.

All works copyright ISECOM, 2004.

2

ÍNDICE Y GLOSARIO

Page 3: High School Hker

Índice

Lección 1: Ser un Hacker1.1. Introducción1.2. Recursos

1.2.1 Libros1.2.2 Magazines y Periódicos

1.2.2.1. Ejerci1.2.3 Zines y Blogs

1.2.3.1. Ejerci1.2.4 Forums y Listas de Correo

1.2.4.1. Ejerci1.2.5 Grupos de Notícias

1.2.5.1. Ejerci1.2.6 Páginas W

1.2.6.1. Ejerci1.2.7 Chat

1.2.7.1. Ejerci1.2.8 P2P

1.3. Más lecciones

Lección 2: Nociones de Comandos de Windows y Linux2.1. Objetivos2.2. Requerimientos y escenario

2.2.1 Requerimientos2.2.2 Escenario

2.3. Sistema Operativo: WINDOWS2.3.1 ¿Cómo abrir una ventana de MS-Dos?

2.4. Sistema operativo: LINUX2.4.1 ¿Cómo abrir una ventana de consola?2.4.2 Comandos básicos2.4.3 Herramientas de red

2.5. Ejercicios Prácticos2.5.1 Ejercicio 12.5.2 Ejercicio 22.5.3 Ejercicio 3

Lección 3: Puertos y Protocolos3.1. Objetivos3.2. Conceptos básicos de redes

3.2.1 Dispositivos3.2.2 Topologías

3.3. Modelo TCP/IP3.3.1 Introducción

3

ÍNDICE Y GLOSARIO

Page 4: High School Hker

3.3.2 Capas TCP/IP3.3.2.1 Aplicacionón3.3.2.2 Transporte3.3.2.3 IP3.3.2.4 Acceso a Red

3.3.3 Protocolos3.3.3.1 Protocolos de la capa de Aplicación3.3.3.2 Protocolos de la capa de Transporte3.3.3.3 Protocolos de la capa de Internet

3.3.4 Direcciones IP3.3.5 Puertos3.3.6 Encapsulación

3.4. Ejercicios3.4.1 Ejercicio 1: Netstat3.4.2 Ejercicio 2: Puertos y protocolos3.4.3 Ejercicio 3: Mi primer servidor

3.5. Lecturas recomendadas

Lección 4: Servicios y Conexiones4.1. Introducción4.2. Servicios

4.2.1 HTTP y la Web4.2.2 E-mail – POP y SMTP4.2.3 IRC4.2.4 FTP4.2.5 Telnet y SSH4.2.6 DNS4.2.7 DHCP

4.3. Conexiones4.3.1 ISPs4.3.2 Servicio de telefonía tradicional4.3.3 DSL4.3.4 Cable Modems

4.4. Lecturas recomendadas

Lección 5: Identificación de Sistemas5.1. Introducción5.2. Identificación de un servidor

5.2.1 Identificación del propietario de un dominio5.2.2 Identificación de la dirección IP de un dominio

5.3. Identificación de servicios5.3.1 Ping y Traceroute5.3.2 Obtención del banner5.3.3 Identificación de servicios a partir de puertos y protocolos

5.4. Identificación de un sistema5.4.1 Escaneo de ordenadores remotos

5.5. Lecturas recomendadas

4

ÍNDICE Y GLOSARIO

Page 5: High School Hker

Lección 6: Malware6.0 Introducción6.1 Virus

6.1.1 Introducción6.1.2 Descripción

6.1.2.1 Virus de Sector de Arranque (Boot Sector Viruses)6.1.2.2 Virus de Archivos Ejecutables6.1.2.3 Virus Residentes en Memoria (Terminate and Stay Resident - TSR)6.1.2.4 Virus Polimórfico6.1.2.5 Virus de Macro

6.2 Gusanos6.2.1 Introducción6.2.2 Descripción

6.3 Troyanos y Spyware6.3.1 Introducción6.3.2 Descripción

6.4 Rootkits y Backdoors6.4.1 Introducción6.4.2 Descripción

6.5 Bombas Lógicas y Bombas de Tiempo6.5.1 Introducción6.5.2 Descripción

6.6 Contramedidas6.6.1 Introducción6.6.2 Anti-Virus6.6.3 NIDS (Sistemas de detección de intrusiones de red)6.6.4 HIDS (Sistemas de detección de intrusiones de host)6.6.5 Firewalls (Cortafuegos)6.6.6 Sandboxes (Cajas de arena)

6.7 Sanos Consejos de Seguridad

Lección 7: Attack Analysis7.0 Introducción7.1 Netstat y Cortafuegos –firewall - de aplicaciones de hospedaje

7.1.1 Netstat7.1.2 Cortafuegos (Firewalls)7.1.3 Ejercicios

7.2 Analizadores de paquetes7.2.1 Analizando7.2.2 Decodificando el tráfico de red7.2.3 Analizando otras computadoras7.2.4 Sistemas de Detección de Intrusos –IDS por sus siglas en inglés7.2.5 Ejercicios

7.3 Redes y Sistemas Tipo Señuelo (Honeypots y Honeynets)7.3.1 Tipos de Sistemas Tipo Señuelo7.3.2 Construyendo un Sistema Tipo Señuelo7.3.3 Ejercicios

5

ÍNDICE Y GLOSARIO

Page 6: High School Hker

Lección 8: Digital Forensics8.1. Introducción8.2. Principios del Forensics

8.2.1. Introducción8.2.2. Evita la contaminación8.2.3. Actúa metódicamente8.2.4. Cadena de Evidencias8.2.5. Conclusiones

8.3. Análisis forense individualizado8.3.1. Introducción8.3.2. Fundamentos sobre discos duros y medios de almacenaje8.3.3. Encriptación, Desencriptación y Formatos de Ficheros8.3.4 Buscando una aguja en un pajar

8.3.4.1 Find8.3.4.2 Grep8.3.4.3 Strings8.3.4.4 Awk8.3.4.5 El pipe “|”

8.3.5 Haciendo uso de otras fuentes8.4 Network Forensics

8.4.0 Introducción8.4.1 Firewall Logs8.4.2 La cabecera de los mails

8.5 Lecturas de interés

Lección 9: Seguridad del Correo Electrónico (E-Mail)9.0 Introducción9.1 ¿Cómo funciona el correo electrónico?

9.1.1 Cuentas de correo electrónico9.1.2 POP y SMTP9.1.3 Correo Web

9.2 Utilización segura del Correo Parte 1: Recibiendo9.2.1 Spam, Phishing y Fraude9.2.2 Correo HTML9.2.3 Seguridad en Archivos Anexados9.2.4 Encabezados Falsos / Forged headers

9.3 Utilización Segura del Correo Parte 2: Enviando9.3.1 Certificados Digitales9.3.2 Firmas Digitales9.3.3 Obteniendo un certificado9.3.4 Encriptación / Cifrado9.3.5 ¿Cómo funciona?9.3.6 Desencriptación9.3.7 ¿Es el cifrado irrompible?

9.4 Seguridad en las Conexiones

6

ÍNDICE Y GLOSARIO

Page 7: High School Hker

Lesson 10: Web Securityin progress

Lección 11: Passwords11.1. Introducción11.2. Tipos de Passwords

11.2.1. Cadenas de caracteres11.2.2. Cadenas de caracteres más un token11.2.3. Passwords biométricos

11.3. Historia de las Contraseñas11.3.1. Ejercicio 1

11.4. Construcción de passwords robustos11.4.1. Ejercicio 111.4.2. Ejercicio 2

11.5. Cifrado de los passwords11.5.1. Ejercicio 111.5.2. Ejercicio 211.5.3. Ejercicio 3

11.6. Password Cracking (password Recovery)11.6.1. Ejercicio

11.7. Protección contra el descifrado de passwords11.7.1. Ejercicio

Lección 12: Legalidad y Ética en Internet12.1. Introducción12.2. Delitos transfronterizos versus Derechos locales12.3. Delitos relativos a las TIC’s

12.3.1. Delitos relacionados con la pornografía12.3.2. Descubrimiento y revelación de secretos: Correo Electrónico12.3.3. Descubrimiento y revelación de secretos: Secretos de Empresa12.3.4. Delitos relacionados con instrumentos tecnológicos para la manipulación deaccesos y/o contenidos12.3.5. Daños en programas o documentos electrónicos, soportes o sistemas informáticos12.3.6. Delitos por agresión a la propiedad intelectual

12.4. Prevención de Delitos y Tecnologías de doble uso12.4.1. Los sistemas globales de vigilancia: el concepto “COMINT”12.4.2. El sistema “ECHELON”12.4.3. El sistema “CARNIVORE”12.4.4. Ejercicio 112.4.5. Ejercicio 1

12.5. Hacking Ético12.5.1. Ejercicio

12.6. Los 10 delitos y fraudes más usuales en Internet12.6.1. Ejercicio

12.7. Lecturas recomendadas

7

ÍNDICE Y GLOSARIO

Page 8: High School Hker

Glosario

Para mas definiciones de términos computacionales, se puede consultarwww.webopedia.com, la cual proporcionó algunas de las definiciones reproducidas aquí.

awk – Lenguaje de programación diseñado para el trabajo con cadenas de caracteres.

Baudio – bits por segundo, se utilizan para describir la tasa de intercambio de información deuna computadora.

BIOS – basic input/output system (sistema básico de entrada/salida). Es el software incluídoen una computadora que determina lo que puede hacer esta sin acceder a un programaen disco. En las computadoras personales, el BIOS contiene todo el código necesario paracontrolar la pantalla, teclado, unidades de disco, puertos seriales y diversas funcionesadicionales. Típicamente el BIOS se encuentra en una memoria ROM (Memoria de soloacceso) que viene en la placa base.

blog (weblogs) – Página web que funciona como diario electrónico para un individuo, y esaccesible publicamente.

Bombas de tiempo – Código diseñado para ejecutarse en un momento específico en unacomputadora. Un ejemplo es cuando se llega a la fecha de expiración de un software deprueba.

Bombas lógicas – Código diseñado para ejecutarse cuando se cumple una condición osucede una actividad específica en una red o computadora.

Cache – Es un tipo de memoria especial de alta velocidad. Puede ser una sección reservadade la memoria principal o un dispositivo independiente. Existen dos tipos principales decache: de disco y de memoria.

Cliente – Un programa en la computadora local que es utilizado para intercambiar datoscon una computadora remota. Ver Servidor.

Cluster /unidad de asignación – Grupo de sectores de disco. El sistema operativo asigna unidentificador único a cada cluster y mantiene el rastro de los archivos de acuerdo a losclusters que utilizan.

Concentrador – Punto común de conexión para dispositivos de red. Generalmente utilizadopara conectar equipos en redes locales.

Cookie – Es un mensaje proporcionado a un navegador por el servidor web. El navegadorguarda el mensaje en un archivo de texto que puede estar cifrado. Este mensaje es enviadode vuelta al servidor cada vez que el cliente solicita una página nueva. Las cookies puedenser encriptadas en disco.

Correo electrónico – Servicio que permite la transmisión de mensajes a través de diversasredes.

CRC – Cyclical redundancy check. Prueba de redunancia cíclica.

DHCP – Dynamic Host Configuration Protocol. Protocolo de configuración dinámica de host.

Digital Subscriber Line (DSL) – Línea de suscripción digital. Es una tecnología que permite latransmisión simultanea de voz y datos a alta velocidad utilizando como medio las líneastelefónicas tradicionales.

8

ÍNDICE Y GLOSARIO

Page 9: High School Hker

Dirección IP – Identificador para una computadora en Internet o una red TCP/IP. El formatode una dirección IP es un número de 32 bits, escrito como cuatro números separados porpuntos. Cada número puede ir desde cero hasta 255.

Dirección MAC (Media Access Control) – Dirección de hardware única que identifica a cadanodo de una red.

DNS – Domain Name Server. Servidor de nombres de dominio.

Domain Name Server (DNS) – Es un servicio que traduce los nombres de dominio adirecciones IP.

DSL – Digital Subscriber Line.

Dynamic Host Configuration Protocol (DHCP) – Ver DHCP.

Ethereal – Analizador de protocolos que registra el tráfico que circula por la red a la que seencuentra conectado.

Ethernet – Arquitectura de LAN desarrollada por Xerox Corporation en conjunto con DEC eIntel en 1976. Es uno de los estándares de LAN ampliamente implementados.

Filtrado (puertos) – puertos abiertos en un host, para los cuáles un firewall examina lacabecera de un paquete y determina si dejará o no pasar el paquete. (ver puertos abiertos).

Firewall – Sistema designado para prevenir el acceso no autorizado de una red a otra. Losfirewalls pueden ser implementados a través de hardware, software o una combinación deambos.

Firma de archivo – Es una pequeña cabecera de 6 bytes al inicio de un archivo, queidentifica que tipo de archivo es.

Foro – Grupo de discusión en línea. Los servicios en línea y servicios de boletines (BBS´s)proveen una variedad de foros que los participantes pueden intercambiar mensajes deacuerdo a intereses comúnes.

FTP – File transfer protocol. Protocolo de transferencia de archivos.

FTP Anónimo – Método por el cual, los archivos en una computadora son puestos adisposición del público general para su descarga.

GCHQ – Government Communications Headquarters, oficinas de comunicaciones degobierno. Es una organización relacionada con la seguridad e inteligencia en el Reino Unido.

Grupo de noticias – Newsgroups. Es lo mismo que un foro, un grupo de discusión en línea.

grep – Acrónimo de global-regular-expression-print. Es una utilería de UNIX que permite alusuario realizar búsquedas de cadenas de caracteres en uno o mas archivos. La salida de laherramienta consta de las líneas donde aparece la cadena buscada.

Gusano – Worm. Programa que se reproduce a si mismo en una red de computadoras, ygeneralmente realiza acciones maliciosas como el uso de recursos, pueden incluso llegar adar de baja el sistema.

HIDS – Acrónimo de host intrusion detection system. Sistema de detección de intrusos basadoen host.

Honeypot – Equipo conectado al Internet, que actúa como un señuelo para atraer intrusos yasí poder estudiar sus actividades, además de monitorear el proceso de intrusión a unsistema.

Http – Hypertext transfer protocol.

9

ÍNDICE Y GLOSARIO

Page 10: High School Hker

Hypertexto – Método de organizar y presentar datos, de manera que sea fácil al usuario elmovimiento entre elementos relacionados.

Hypertext transfer protocol (http) – El protocolo utilizado por el World Wide Web. HTTP defineel formato y transmisión de mensajes. También define las acciones que pueden tomar losnavegadores en respuesta a diversos comandos.

IANA – Internet Assigned Numbers Authority.

ICMP – Internet Control Message Protocol.

IM – Instant messaging.

Instant messaging (IM) – Mensajería instantanea. Es un servicio de comunicación que permitecrear una plática privada con otro individuo, en tiempo real, a través del Internet.

Interfaces – Límites entre el cual dos sistemas independientes se comunican entre ellos.

Internet Assigned Numbers Authority (IANA) – Organización de trabajo auspiciada por laInternet Architecture Board (IAB). Es responsible de asignar direcciones IP en Internet.

Internet Control Message Protocol (ICMP) – Extensión del IP (Internet Protocol) definido en elRFC 792. ICMP se encarga del envío de mensajes de error, control e información. El comandoPING es un ejemplo del uso de ICMP para probar una conexión.

Internet protocol (IP) – IP especifica el formato y direccionamiento de los paquetes. Lamayoría de las redescombinan IP con un protocolo de capa superior como TCP (TransmisionControl Protocol). TCP establece un circuito virtual entre la fuente y el destino.

Internet Relay Chat (IRC) – Servicio que permite la comunicación entre usuarios de internet entiempo real, basada en texto.

IP – Internet protocol.

Ingeniería Social – El acto de obtener, o intentar obtener información o datos confidencialesa través del uso de técnicas de engaño, entre otras, con las personas.

Ipconfig – Herramienta de Windows para desplegar información de las interfaces activas enla computadora.

IRC – Internet Relay Chat.

ISP – Internet Service Provider. Ver Proveedor de servicio de Intenet.

Lógica Booleana – La lógica booleana es una forma de algebra, en la cual todos los valoresse reducen a VERDADERO o FALSO. Esta lógica es importante para las cienciascomputacionales, ya que se acomoda perfectamente al sistema numérico binario en el quelos posibles valores son 1 y 0.

Loopback – Es cuando una computadora se refiere a si misma. La dirección IP de la interfacede loopback es un número especial (127.0.0.1). Esta interface es virtual, ya que no existehardware asociado, ni se encuentra conectada a la red.

MAC – Media access control.

MD5 hash – Algoritmo utilizado para crear firmas digitales. MD5 es una función de una vía,toma un mensaje de longitud variable y lo convierte en una salida de longitud fija conocidocomo digestión. Su intención es para utilizarse con máquinas de 32 bits. Es mas seguro que elalgoritmo MD4, el cual ya ha sido comprometido.

10

ÍNDICE Y GLOSARIO

Page 11: High School Hker

Modem – Modulador/Demodulador. Dispositivo que convierte las señales analógicas enseñales digitales y viceversa, permitiendo así la comunicación entre computadoras a travésde las líneas telefónicas.

MS-DOS (Microsoft Disk Operating System) – MS-DOS es un sistema operativo. Permite lacomunicación entre los usuarios y el hardware de la computadora. También controla elacceso a los recursos, tales como memoria, dispositivos y uso de procesador.

Navegador – Programa que permite a los usuarios conectarse a servidores web paravisualizar las páginas almacenadas.

netstat – comando que despliega el estado de la red.

NIDS – Network intrusion detection system.

nmap – programa que realiza un barrido de puertos a una computadora, en busca delestado de estos (abierto, cerrado, filtrado).

Nombre de dominio – Nombre que identifica una o mas direcciones IP. Cada nombre dedominio cuenta con un sufijo que indica a que dominio raíz (TLD) pertenece.

Existe solo un número limitado de dichos dominios, por ejemplo:

.gov – Agencias gubernamentales

.edu – Instituciones educacionales

.org – Organizaciones (sin ánimo de lucro)

.com – Organización comercial

.net – Organización de red

Dado que Internet se basa en direcciones IP en lugar de nombres de dominio, todos losservidores web requieren un servicio de nombres de dominio (DNS) que traduzca los nombresen direcciones IP.

NSA – National Security Agency. Agencia nacional de seguridad de Estados Unidos. Es laorganización que coordina, dirige y realiza actividades altamente especializadas paraproteger los sistemas de información de Estados Unidos y producir información para lainteligencia.

P2P – Punto a punto (peer to peer).

Paquete – Es una parte de un mensaje que es transmitido a través de una red deconmutación de paquetes.

Punto a punto (P2P) – es un tipo de red en la cual cada estación cuenta conresponsabilidades y capacidades equivalentes.

Ping – Utilería para determinar si una dirección IP específica es accesible. Su funcionamientose basa en enviar un paquete ICMP a una dirección IP y esperar una respuesta.

POP – Post Office Protocol. Es el protocolo utilizado para extraer el correo electrónico de unservidor de correo. La mayoría de las aplicaciones cliente de correo utilizan el protocolo POPo IMAP.

Proveedor de servicio de Internet (ISP) – Compañía que proporciona acceso a internet a losusuarios.

POTS – Plain old telephone service.

11

ÍNDICE Y GLOSARIO

Page 12: High School Hker

ppp – Protocolo punto a punto. Es un método de conectar una computadora al Internet. PPPes mas estable que sus predecesores como SLIP, y además provee de características decontrol de errores.

Privilegios de acceso – El privilegio de utilizar la información de una computadora en algunaforma. Por ejemplo, un usuario puede tener permisos de lectura y acceso a un archivo,significando que puede leer el archivo pero no modificarlo ni eliminarlo. La mayoría de lossistemas operativos cuentan con diferentes dipos de privilegios de acceso que pueden serestablecidos para los usuarios o grupo de estos.

Protocolo – Formato establecido entre partes para la transmisión de datos.

Protocolo de transferencia de archivos (FTP) – Protocolo utilizado para permitir la descarga dearchivos remotamente.

Prueba de redundancia cíclica (CRC) – Es una técnica común para detectar errores detransmisión de datos. Los mensajes transmitidos son divididos en longitudes determinadas,que son divisibles entre un número establecido. De acuerdo al cálculo, el número que sobrade esta división se anexa al mensaje al momento de ser enviado. Cuando el mensaje esrecibido, la computadora vuelve a calcular el sobrante y compara el recibido con su propioresultado, si los números no son iguales, se detecta un error.

Puertas traseras – Forma indocumentada de ganar acceso a un programa, servicio en linea,o todo un sistema computacional.

Puerto – Es la interface de una computadora a través de la cual se conecta un dispositivo.Las computadoras personales cuentan con diversos puertos; internamente se utilizan paraconectar unidades de disco, pantallas y teclados. Externamente se conectan modems,impresoras, ratones y otros dis´positivos periféricos.

Puerto Abierto – puertos que permiten que los paquetes tengan acceso al servicioproporcionado.

RAM (Random Access Memory) – Memoria de acceso aleatorio. Es untipo de memoria quepuede ser accesada de manera aleatoria, significando que se puede acceder cualquierbyte sin la necesidad de tocar los bytes precedentes.

Red telefónica conmutada – También conocida como POTS (Plain Old Telephone System).Término utilizado para describir la red telefónica conmutada tradicional.

Rompimiento de contraseñas – Es el proceso de intentar determinar una contraseñadesconocida.

Rootkit – programa malicioso que permite mantener el acceso a un equipo.

Ruteador – Dispositivo que reenvia paquetes entre redes. Un router debe conectarse en lafrontera de dos redes, comunmente entre dos redes de área local, o una red local y unproveedor de servicios. Los ruteadores utilizan la información del encabezdo de los paquetesy tablas de ruteo para determinar el mejor camino para reenviar un paquete. Entre routers seutilizan diversos protocolos para la comunicación de rutas, y así determinar el mejor camino.

Sandbox – Medida de seguridad utilizada en JAVA. Consta de reglas que son utilizadascuando se crea un applet, y que previene que ciertas funciones sean ejecutadas cuando elapplet es enviado como parte de una página web.

Script kiddie – Persona que utiliza herramientas de hackeo sin conocer su funcionamiento opropósito.

Sector – es la mínima unidad de acceso en un disco.

12

ÍNDICE Y GLOSARIO

Page 13: High School Hker

Secure Shell – Protocolo diseñado como un reemplazo para Telnet. Utiliza cifrado de datos enla comunicación y permite la ejecución remota de comandos, así como también latransferencia de archivos.

Servidor – Programa en una computadora remota que provee datos o un servicio a unacomputadora cliente.

Servidor Web – Computadora donde se almacenan páginas para que puedan seraccesadas por otras computradoras.

Servicios – Los servicios de red permiten a computadoras remotas el intercambio deinformación.

Sector de arranque – Es el primer sector de un disco duro, donde se encuentra un pequeñoprograma que se ejecuta cuando se enciende una computadora. Este programa es registromaestro de arranque (MBR – Master Boot Record).

Sistema de detección de intrusos en red (NIDS) – Network intrusion detection system. Es unsistema de detección de intrusos en el cual cada paquete que atraviesa la red esanalizado.

Sistema operativo – El programa de bajo nivel que se ejecuta en una computadora. Cadacomputadora de propósito general debe tener un sistema operativo para ejecutar otrosprogramas. El sistema operativo proporciona las tareas básicas de bajo nivel como:reconocel el teclado, enviar las salidas al monitor, mantener un control sobre los archivos ydirectorios del sistema, y controlar los dispositivos de entrada y salida. Algunos sistemasoperativos son Windows, Unix y Linux.

SMTP – Simple Mail Transfer Protocol. Protocolo para el envío de correo electrónico entreservidores. La mayor parte de los sistemas de correo electrónico envían utilizan SMTP enInternet.

Sniffer – También conocido como analizador de protocolos. Es un programa o dispositivo quemonitorea los datos que viajan a través de una red.

Spyware – Software que obtiene información del usuario, sin el conocimiento de este, y loenvía a través de la conexión a Internet.

SSH – Secure Shell.

Switch – En el ámbito de las redes, dispositivo que filtra y reenvia paquetes entre segmentosde una red local.

Tabla de ruteo – Es la tabla donde se almacenan los caminos disponibles para realizar elproceso de ruteo.

TCP – Transmission Control Protocol. Protocolo de control de transmisión. Permite estableceruna conexión entre dos equipos, y realizar un intercambio de flujos de datos. TCP garantiza larecepción de los datos en el orden en que son enviados.

TCP/IP – Transmission Control Protocol/Internet Protocol. El conjunto de protocolos utilizadospara la comunicación en algunas redes locales e Internet.

Tcpdump – analizador de protocolos que registra el tráfico que circula por la red.

Telnet – Protocolo que permite a un usuario establecer una sesión remota que permite el usode recursos y ejecución de comandos.

Topología – La estructura de una red de área local (LAN) o un sistema de comunicaciones.

13

ÍNDICE Y GLOSARIO

Page 14: High School Hker

Tracert – Utilería que realiza el trazado de un paquete desde un equipo hacia otro,desplegando el número de saltos del paquete, el tiempo que tarda en cada salto, y elnombre o dirección de cada nodo.

Track – Parte de un disco donde se pueden almacenar datos. Un disco flexible cuenta con80 (doble densidad)) o 160 (alta densidad) tracks. Para los discos duros, cada plato se divideen tracks; una posición de track en todos los platos (por ambos lados) se llama cilindro. Undisco duro cuenta con miles de cilindros.

Troyano – Programa destructivo que se oculta como una aplicación legítima. A diferencia delos virus y gusanos, los troyanos no se replican pero pueden llegar a ser igual de destructivos.

Weblogs (blogs) – Ver blog.

Whois – Utilería de internet que permite consultar la información referente a un dominio deInternet o una dirección IP.

World Wide Web (www)– Servicio para la presentación y transmisión de hypertexto.

Zine – Pequeña publicación gratuita, producida generalmente por periodistas novatos oaficionados.

14

ÍNDICE Y GLOSARIO

Page 15: High School Hker

LECCIÓN 1SER UN HACKER

Page 16: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”

Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de de la compra de una licencia, unadonación o una esponsorización.

All works copyright ISECOM, 2004.

2

LECCIÓN 1 – SER UN HACKER

Page 17: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................41.1. Introducción......................................................................................................................................51.2. Recursos ............................................................................................................................................6

1.2.1 Libros............................................................................................................................................61.2.2 Magazines y Periódicos.............................................................................................................7

1.2.2.1. Ejercicios............................................................................................................................71.2.3 Zines y Blogs................................................................................................................................7

1.2.3.1. Ejercicios............................................................................................................................71.2.4 Forums y Listas de Correo..........................................................................................................7

1.2.4.1. Ejercicios............................................................................................................................81.2.5 Grupos de Notícias....................................................................................................................8

1.2.5.1. Ejercicios............................................................................................................................81.2.6 Páginas Web.............................................................................................................................. 9

1.2.6.1. Ejercicios............................................................................................................................91.2.7 Chat...........................................................................................................................................11

1.2.7.1. Ejercicios..........................................................................................................................111.2.8 P2P.............................................................................................................................................11

1.3. Más lecciones.................................................................................................................................12

3

LECCIÓN 1 – SER UN HACKER

Page 18: High School Hker

ContribucionesPete Herzog, ISECOM

Chuck Truett, ISECOM

Jaume Abella, La Salle URL Barcelona – ISECOM

Marta Barceló, ISECOM

4

LECCIÓN 1 – SER UN HACKER

Page 19: High School Hker

1.1. IntroducciónBienvenido al programa Hacker Highschool! Este programa está diseñado para animarte aestar al día y valerte por tí mismo. El tema principal de instrucción es satisfacer la curiosidadhacker que hay en tí y guiarte progresivamente a través de una educación hacker paraayudarte a crecer en un rol responsable capaz de determinar los problemas de seguridad yprivacidad y ayudarte a tomar decisiones sobre seguridad por tí mismo.

El hacking puede ser emocionante debido en parte a la naturaleza ilegal del acceso a losordenadores. Nosotros pretendemos enseñarte que puede llegar a ser incluso másemocionante el hecho de alertar a otros sobre problemas de seguridad y hacerlos públicossin preocuparse de ir a la carcel por ello. Como un ciudadano, en muchos países no es sólotu derecho sino también tu responsabilidad avisar de fallos de seguridad y privacidad a lasautoridades convenientes. De este modo estás ayudando a aquellos que no pueden valersepor sí mismos. Esto es lo que hacen los perros guardianes. Es lo que tú vas a aprender a hacer.

5

LECCIÓN 1 – SER UN HACKER

Page 20: High School Hker

1.2. Recursos Esta lección trata del modo de aprender las cosas. Es un tópico extraño para un hacker, peroes lo más importante. Hacking, en realidad, es un proceso creativo basado en experienciasaprendidas en muchos campos. Enseñar hacking es más o menos como enseñar unosbuenos hábitos alimentarios: podemos ayudarte a reconocer aquello que debes aprender yno enseñartelo directamente. Esto es especialmente importante debido a los constantesavances en el mundo de los ordenadores. Lo que hoy enseñamos, mañana puede ya no serimportante. Es mucho mejor enseñar al estudiante hábitos de aprendizaje hacker, que son laparte principal del hacking, y es lo que te diferenciará de un script kiddie (una persona queutiliza herramientas de hacking sin tener ningún conocimiento sobre su funcionamiento).

Las palabras o conceptos que tú no entiendas de este manual requerirán la consulta en laweb o en una biblioteca. Si tú no entiendes una palabra, o un concepto, es esencial queintentes averiguarlo por tus propios medios. Ignorar esto te hará más difícil entenderconceptos que puedas leer en otros manuales. Otros manuales te proporcionaránúnicamente enlaces o conceptos que tendrás que comprender por tí mismo para poderresponder a las cuestiones que se plantean. Este manual te enseña a valerte por tí mismo, ainvestigar y a aprovechar todos los recursos que estén a tu alcance. Este es el único punto enel que te proporcionaremos información muy detallada de cómo hacer las cosas. A partir deaquí deberás valerte por tí mismo, así que asegúrate de dedicarle a este capítulo tantotiempo como sea necesario para aprender a investigar, utilizando todos los recursos quetengas a tu alcance.

1.2.1 LibrosLos libros son una buena forma de aprender la base de todas las ciencias que tu estásdeseando explorar. ¿Quieres conocer algo de un campo de la ciencia en detalle, como losdetalles del hardware de tu PC en profundidad? Nada te ayudará más que leer un buenlibro que trate sobre ese tema. El principal problema es que los libros sobre ordenadores sequedan anticuados muy rápidamente. Debido a esto, no es recomendable leer sobreasuntos que no sean fundamentales. Por ejemplo, aunque a lo largo de los años muchascosas relacionadas con la seguridad y la privacidad han cambiado, la base sigue siendo lamisma. El Arte de la Guerra, el libro de estrategia Sun Tzu, tiene más de 2500 años, pero aúnhoy en día es aplicable.

No te limites únicamente a los ordenadores, el hacking y Internet. Los grandes hackers sonmuy creativos. Muchos de ellos son pintores, escritores y diseñadores. Los hackers pueden serlo que en el campo de las ciencias políticas es El Príncipe de Maquiavelo.

Además de interesarte en otros campos, deberías interesarte tambíen en cómo funcionanlas cosas. Leer libros de todo, desde Psicología a Ciencia Ficción te hará ser un hacker másversátil y funcional. Recuerda: hacking es imaginarse como funcionan las cosas sinpreocuparse de cómo se diseñaron. De este modo podrás identificar problemas deseguridad y vulnerabilidades.

¿Dónde puedes encontrar libros? En todas partes. No es necesario crear una bibliotecapropia, pero seguramente querrás anotar cosas en las páginas, y eso es algo que sólopuedes hacer en tus libros. Finalmente, si comienzas un libro, no lo dejes a medias sólo por sutamaño o complejidad. Muchas veces no te será necesario leer los libros de principio a fin.Puedes abrir un libro y comenzar a leer a partir de un punto aleatorio. A menudo, eso te haráretroceder a capítulos anteriores. La lectura no lineal es mucho más interesante ysatisfactoria para los hackers, ya que se trata de satisfacer la curiosidad más que “leer”.

6

LECCIÓN 1 – SER UN HACKER

Page 21: High School Hker

1.2.2 Magazines y PeriódicosLa utilización de magazines y periódicos es altamente recomendable para tener informaciónconcisa y actualizada. No obstante, los magazines a menudo no proporcionan demasiadosdetalles y se centran demasiado en la comunidad. Esto puede causar información pocoprecisa creada por la prensa sensacionalista. Obviamente esto se hace para vender mássubscripciones. Incluso los magazines gratuitos necesitan subscritores para vender máspublicidad.

Otro inconveniente que se debería considerar es el tema que trata el magazine. Unmagazine sober Linux intentará desprestigiar a Microsoft Windows porque existe un conflictoentre ellos y es lo que los lectores de Linux esperan leer. Es importante leer entre líneas y nodejarse influenciar por un punto de vista hasta haber consultado las dos versiones.

1.2.2.1. Ejercicios

a. Busca en la Web 3 magazines relacionados con Seguridad. b. ¿Cómo los has encontrado?c. ¿Los tres magazines están relacionados con la seguridad informática?

1.2.3 Zines y BlogsLos Zines son magazines pequeños, a menudo gratuítos, y que tienen muy poca distribución(casi siempre menos de 10.000 lectores). A menudo están producidos por aficionados yperiodistas amateur. Algunos Zines, como el famoso 2600 o el Phrack están escritos porvoluntarios que no editan el contenido por errores no técnicos. Esto significa que el lenguajepuede ser rudo para aquellos que esperan esa lectura. Los Zines tratan temas muy fuertes yson muy opinados. De todos modos, casi siempre intentan mostrar y discutir las ideas desdevarios puntos de vista ya que no les acostumbra a preocupar el problema de los anuncios ylos subscritores.

Los Blogs son la modernización de los Zines. Los Blogs se actualizan más a menudo y sonutilizados por las comunidades para discutir temas fuertes. Del mismo modo que los zines, detodos modos, cualquiera puede criticar una historia y mostrar una opinión opuesta. En elcaso de los Blogs es tan importante leer los comentarios como la propia historia.

1.2.3.1. Ejercicios

a. Busca en la Web 3 zines relacionados con la seguridad informática. b. ¿Cómo has encontrado esos zines?c. ¿Por qué los clasificas como zines? Recuerda, sólo porque se etiqueten

como “zine” no necesariamente significa que lo sean.

1.2.4 Forums y Listas de CorreoLos Forums y las Listas de Correo son comunidades de desarrollo que se centran en muchostemas, a menudo conflictivos. Estos medios contienen información que la gente puedeenviar anónimamente y a veces puede no contener “toda la verdad”. Como los Blogs, es

7

LECCIÓN 1 – SER UN HACKER

Page 22: High School Hker

importante leer todas las respuestas y los comentarios, y no quedarse únicamente con elprimero para conseguir la mejor información.

Puedes encontrar forums que traten prácticamente todos los temas, y muchos magazines yperiódicos online ofrecen forums a sus lectores para tener un feedback de los artículos. Paraeste caso, los forums son inestimables para conseguir más de una opinión sobre un artículo,sin que tenga importancia si te ha gustado el artículo o no.

Muchas listas de correo que tratan temas muy específicos son difíciles de encontrar. Amenudo, debes buscar en profundidad sobre una idea hasta encontrar alguna comunidadque ofrezca una lista de correo que trate sobre esa temática.

Lo más imporante es ser consciente que existen muchos forums y listas de correo que nopueden encontrarse mediante los grandes motores de búsqueda de Internet. Puedesencontrar información sobre una lista de correo a través de una búsqueda en un buscadorde Internet, pero difícilmente encontrarás información sobre posts individuales. Estainformación se llama “la web invisible”, ya que contiene información y datos que no sonvisibles a la mayoria de gente ya que es necesario realizar búsquedas muy específicas, amenudo mediante buscadores de meta información o directamente a traves de las páginasweb apropiadas.

1.2.4.1. Ejercicios

a. Busca 3 forums de seguridad informática. b. ¿Cómo has encontrado esos forums?c. ¿Puedes determinar el tema principal que trata el sitio web?d. ¿Los tópicos que has encontrado reflejan la temática que muestra el sitio

web que los alberga?e. Busca 3 listas de correo de seguridad informática.f. ¿Quién es el “propietario” de las listas?g. ¿En qué lista esperarías encontrar información más objetiva y menos

subjetiva? ¿Por qué?

1.2.5 Grupos de NotíciasLos grupos de notícias llevan mucho tiempo funcionando. Existían grupos de notícias antesde que existiera la Web. Google compró un archivo entero de noticias y lo puso en la webhttp://groups.google.com. Puedes encontrar información enviada desde principios de los ’90.Este archivo es muy importante para encontrar quien es el propietario real de una idea oproducto. También es importante para encontrar información oscura que tal vez alguienpuso en alguna web en algun momento.

Los grupos de notícias no se usan menos ahora de lo que se hacía hace años, antes de quela web se convirtiera en el primer mecanismo para compartir información. Aun así, los gruposde notícias no han crecido demasiado, ya que su popularidad ha sido reemplazada porotros nuevos servicios web como los blogs y los forums.

1.2.5.1. Ejercicios

8

LECCIÓN 1 – SER UN HACKER

Page 23: High School Hker

a. Usando el Google Groups, encuentra el grupo de notícias másantiguo que envió notícias sobre seguridad.

b. Busca otras formas de utilizar los grupos de notícias. ¿Existe algunaaplicación que se pueda utilizar para leer grupos de notícias?

c. ¿Cuántos grupos de notícias puedes encontrar que hablen sobrehacking?

1.2.6 Páginas WebEl estándar de facto para compartir información actualmente es a través de un navegadorweb. Mientras esto se clasifica como “la web”, el termino real debería ser “servicios web” yaque no todo lo que hay en la web son sitios web. Si tú compruebas tu e-mail utilizando unservidor web, estás utilizando un servicio web. A menudo, los servicios web requierenprivilegios. Esto significa que necesitas un login y un password para tener acceso. Teneracceso y el derecho legal a acceder se conoce como tener privilegios. Acceder a un sitioweb que te permita cambiar una página web puede darte acceso, pero como no tienesderecho legal para hacerlo, eso no sería un acceso privilegiado. A menudo nos preocupa elhecho de tener acceso o no a un recurso web, pero hay que tener en cuenta que es posibleque accidentalmente algunos sitios web permitan acceso a areas privilegiadas. Siencuentras uno de estos sitios, deberías tener el hábito de escribir al propietario del sitio weby hacérselo saber.

Los sitios web pueden ser escudriñados con un gran número de buscadores de Internet.Incluso es posible hacer tu propio motor de búsqueda, si tienes suficiente tiempo y espaciode disco. A veces, los propios buscadores consiguen acceso a sitios privilegiados y buscan lainformación por tí. A veces es en forma de caché. Muchos motores de búsqueda tienen unlink a la caché para buscar las páginas web en la memoria local de la compañía paraacelerar el proceso de búsqueda. Es posible encontrar resultados de búsqueda en la cachéde los buscadores que ya no sean válidos.

Una de las caches públicas más útiles es http://www.archive.org. Allí podrás encontrar versionesguardadas de sitios web enteros de hace años.

Una nota final sobre los sitios web: no supongas que puedes confiar en las páginas web quevisites tan sólo porque aparezcan en un buscador. Muchos ataques hacker y virus seesparcen tan sólo por el hecho de visitar una página web o descargar un programa yejecutarlo. Puedes protegerte a tí mismo no descargando nunca programas de fuentes queno ofrezcan confianza y asegurándote de que tu navegador está actualizado por lo querespecta a parches de seguridad.

1.2.6.1. Ejercicios

a. Utilizando un buscador, encuentra sitios que hayan proporcionadoacceso a todo el mundo accidentalmente. Para hacerlo,buscaremos listados de directorios accesibles cuando no teconectas a una página correcta. Por ejemplo escribiendo losiguiente en el diálogo de búsqueda del buscador:

allintitle: "index of" .pdfb. De los resultados obtenidos, visita alguna de las direcciones listadas y

deberías acceder al contenido de todo el directorio. Este tipo debúsqueda se llama Google Hacking.

9

LECCIÓN 1 – SER UN HACKER

Page 24: High School Hker

c. ¿Puedes encontrar tipos de documentos de este modo utilizandoGoogle? Busca 3 listados de directorios que contengan archivos deltipo .xls y .avi.

d. Existen muchos buscadores a parte de google. Un buen hacker sabecómo y cuando utilizarlos todos. Algunos sitios web se especializan enmonitorizar motores de búsqueda como www.searchengine.com. Inclusoexiste un buscador para “la web invisible”. Busca 10 buscadores queno sean buscadores de meta información.

e. Busca “security testing and ethical hacking” y lista las 3 primerasrespuestas.

f. Busca exactamente lo mismo pero sin las comillas. ¿Son diferentes losresultados?

g. Es muy diferente buscar una palabra clave que toda una frase. En elejercicio D, se ha buscado una frase entera. Ahora, buscamos una ovarias palablras clave. Para esto es necesario saber exactamentequé estamos buscando y cómo buscarlo. Cuando se busca unacanción, por ejemplo, es más probable encontrar lo que se buscacuando se indica el nombre de la canción y tambien el grupo. Unabuena combinación podria ser:

“I am the walrus” +the beatlesDe todos modos, ¿Qué pasa si sabes como es la canción, pero no sabes exactamente eltítulo o el grupo que la canta? Ahora, tu búsqueda es similar a la búsqueda por un conceptoo idea. Si puedes cantar un trocito de la canción, o tararearla, tal vez encuentres algúnpatrón que te sirva para volver a intentar la búsqueda.

Se me queda pegada una canción en la cabeza que se repite una y otra vez, “you take myself you take my self control”. Para buscar esto, si no utilizo las comillas, el buscadorencontrará las palabras aunque no esten en el mismo orden. Utilizando las comillas ybuscando “self control”, en cambio, la búsqueda sería mucho más exacta.

Ahora yo tengo una idea en mi cabeza. Quiero recopilar recursos de magazines sobrehacking ético. Si escribo “online resource of magazines for ethical hacking” sin las comillas enun buscador, encontraré resultados que contengan algunas de éstas palabras, lo cual no estan útil como lo que estoy buscando. Así que, en lugar de eso, necesito pensar, si yo tuvieseque hacer ese recurso, qué información contendría, de modo que pueda comenzar por ahími búsqueda. Busca lo siguiente en tu buscador y determina cuáles proporcionan mejoresresultados para esta búsqueda:

my favorite list of magazines on ethical hacking

list of ethical hacking magazines

resources for ethical hackers

ethical hacking magazine

magazines ethical hacking security list resource

h. Busca el sitio web más antiguo del navegador Mozilla en el InternetArchive. Deberás buscar www.mozilla.org en http://www.archive.org.Intenta localizar cómo bajarte la versión 1 (pero no la instales).

10

LECCIÓN 1 – SER UN HACKER

Page 25: High School Hker

1.2.7 ChatEl Chat tambien se conoce como Internet Relay Chat (IRC) y es un sistema de mensajeríainstantánea (IM) muy popular y que ofrece una forma muy rápida de establecercomunicación en tiempo real, para preguntar y encontrar información. Como fuente deinformación, el Chat es una opción que implica preguntar a la gente, y no siempre es fácilencontrar gente dispuesta a colaborar. De todos modos, una vez uno se siente confortablecon un cierto grupo de usuarios y canales, puedes ser aceptado en una comunidad y se tepermitirá preguntar mas cosas. Eventualmente, tendrás la oportunidad de compartirinformación de seguridad muy reciente (conocida como zero day o dia cero, lo que significaque acaba de ser descubierta), lo que te permitirá ampliar tu conocimiento. Hay que teneren cuenta que a veces se obtiene información falsa. Es necesario adquirir suficienteexperiencia para distinguir información cierta de la que no lo es.

1.2.7.1. Ejercicios

a. Busca 3 programas de Chat. ¿Qué los hace diferentes? ¿Se pueden usarentre ellos para hablar?

b. Busca qué es IRC y como puedes conectarte. Una vez seas capaz, entra enel Chat Room de ISECOM que encontrarás en http://www.isecom.org.

c. ¿Cómo puedes saber qué canales existen en un IRC? Busca tres canales deseguridad informática y 3 canales hacker. ¿Puedes entrar en estoscanales?¿Hay gente hablando, o son “bots”?

1.2.8 P2P

Las redes Peer to Peer, también conocidas como P2P, son redes que están dentro deInternet. Existe una gran variedad de clientes P2P que permiten descargar música en mp3.De forma más amplia, estos programas permiten compartir todo tipo de información deforma distribuida. Puedes encontrar más información en http://www.infoanarchy.org. Aquípodrás encontrar un listado de redes P2P y clientes.

Las redes P2P son de vital importancia para encontrar información. Es posible que parte de lainformación que encuentres mediante este método sea robada. Debes ir con cuidadocuando utilices las redes P2P, pero no debe darte miedo utilizarlas.

11

LECCIÓN 1 – SER UN HACKER

Page 26: High School Hker

1.3. Más leccionesAhora deberías practicar para adquirir práctica con las técnicas de búsqueda deinformación. Cuanto mejor lo hagas, más información encontrarás, y de forma más rápida.Algunos temas relacionados que te pueden ayudar a adquirir más experiencia para elprograma Hacker Highschool son:

Meta Search

The Invisible Web

Google Hacking

How Search Engines Work

The Open Source Search Engine

12

LECCIÓN 1 – SER UN HACKER

Page 27: High School Hker

LECCIÓN 2NOCIONES DE COMANDOS

DE WINDOWS Y LINUX

Page 28: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”

Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donacióno una esponsorización.

All works copyright ISECOM, 2004.

2

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 29: High School Hker

Índice “License for Use” Information................................................................................................................2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................42.1. Objetivos............................................................................................................................................52.2. Requerimientos y escenario............................................................................................................6

2.2.1 Requerimientos...........................................................................................................................62.2.2 Escenario.....................................................................................................................................6

2.3. Sistema Operativo: WINDOWS........................................................................................................72.3.1 ¿Cómo abrir una ventana de MS-Dos?..................................................................................7

2.4. Sistema operativo: LINUX...............................................................................................................122.4.1 ¿Cómo abrir una ventana de consola?...............................................................................122.4.2 Comandos básicos..................................................................................................................132.4.3 Herramientas de red................................................................................................................15

2.5. Ejercicios Prácticos.........................................................................................................................172.5.1 Ejercicio 1..................................................................................................................................172.5.2 Ejercicio 2..................................................................................................................................172.5.3 Ejercicio 3..................................................................................................................................18

Glosario...................................................................................................................................................19

3

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 30: High School Hker

ContribucionesDaniel Fernández Bleda, Internet Security Auditors

Jairo Hernández, La Salle URL Barcelona

Jaume Abella, La Salle URL Barcelona - ISECOM

Kim Truett, ISECOM

Pete Herzog, ISECOM

Marta Barceló, ISECOM

4

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 31: High School Hker

2.1. Objetivos

En esta lección introductoria se pretende dar a conocer los comandos básicos de Windows yde Linux, para que el alumno se familiarice con ellos y que le servirán para resolver losproblemas planteados en el resto de lecciones.

Al término de la lección el alumno tendrá conocimientos de los comandos:

generales de Windows y Linux.

básicos sobre redes:

- ping

- tracert

- netstat

- ipconfig

- route

5

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 32: High School Hker

2.2. Requerimientos y escenario

2.2.1 RequerimientosPara la presente lección se necesitará:

- Un PC con Windows 98/Me/2000/NT/XP/2003.

- Un PC con Linux Suse/Debian/Knoppix…

- Acceso a Internet.

2.2.2 Escenario

Este es el escenario en el que se va a trabajar. Consta de la propia red de ordenadoresdonde trabajará el alumno, con acceso a Internet, y de la red de servidores de ISECOMdestinada al programa Hacker Highschool (HHS), a la cual se accede a través de Internet.Esta es la red contra la que se van a realizar la mayoría de las pruebas.

Debemos tener presente que el acceso a la red de pruebas de ISECOM está restringido, yque es necesario solicitar acceso a ella mediante el proceso de inscripción en el programa:www.hackerhighschool.org.

6

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 33: High School Hker

2.3. Sistema Operativo: WINDOWS

Para la mayoría de herramientas referentes al estudio de redes, se utilizan los propioscomandos del sistema operativo windows. Es por ello que se va a explicar cómo abrir unaventana de comandos si se está utilizando Windows como sistema operativo.

2.3.1 ¿Cómo abrir una ventana de MS-Dos?Para acceder a editar los siguientes comandos, se debe abrir una ventana de comandos. Elprocedimiento será el mismo para cualquier Windows que se tenga:

1.- Ir al botón de Inicio.

2.- Escoger la opción Ejecutar.

3.- Escribir “command” si se está utilizando Windows 95/98 o bien “cmd” para elresto de Windows, y pulsar Aceptar.

4.- Aparecerá una ventana similar a la siguiente:

7

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 34: High School Hker

5.- Ahora ya se pueden probar los comandos y herramientas que se listan acontinuación.

2.3.2 Comandos básicos

Date Muestra o establece la fecha del sistemaTime Muestra o establece la hora del sistemaVer Muestra la versión de MS-DOS que se está

utilizandoDir Muestra la lista de subdirectorios y ficheros de

un directorio o carpetaCls Borra la pantallamkdir <directorio>

md <directorio>

Crea un directorio o carpeta. Por ejemplo:

md utilidadeschdir <directorio>

cd <directorio>

Muestra el nombre o cambia el directorioactual . Por ejemplo:

cd utilidadesRmdir <directorio>

rd <directorio>

Borra un directorio o carpeta. Por ejemplo:

rd utilidadestree <ruta> Muestra de forma gráfica-texto la estructura de

carpetas de una unidad o ruta. Por ejemplo:

tree c:\utilidadesChkdsk Comprueba un disco y muestra un informe de

estadoMem Muestra la cantidad de memoria usada y libre

en el sistemarename <origen> <destino>

Ren <origen> <destino>

Cambia el nombre de uno o más ficheros. Porejemplo:

ren nombreantiguo nombrenuevo

8

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 35: High School Hker

copy <origen> <destino> Copia uno o más ficheros en otra localización.Por ejemplo:

copy c:\util\fichero.txtc:\temporal

move <origen> <destino> Cambia el nombre a ficheros y directorios. Porejemplo:

move c:\utilidadesc:\herramientas

type <fichero> Muestra el contenido de un fichero de texto.Por ejemplo:

typec:\utilidades\mifichero.txt

More <fichero> Muestra la información pantalla a pantalla. Porejemplo:

Morec:\utilidades\mifichero.txt

delete <fichero>

del <fichero>

Elimina uno o más ficheros. Por ejemplo:

del c:\utilidades\mifichero.txtNota: Las palabras entre corchetes < > no son comandos, sino que debensubstituirse por los valores deseados. Hay comandos que pueden emplearseutilizando su forma larga o corta, por ejemplo, “delete” y “del” son el mismocomando.

2.3.3. Herramientas de red

ping <máquina> El comando ping permite enviar “sondas” ICMP(Internet Control Message Protocol) a otracomputadora, con el objetivo de saber si ésta esalcanzable a través de la red. Además muestra unresumen estadístico acerca del porcentaje desondas que no han tenido respuesta y del tiempo derespuesta. Se puede utilizar el nombre de la máquinao directamente su dirección IP en Internet.

Por ejemplo:ping www.google.comping 193.145.85.2

Algunas opciones son:

-n <N> : envía N paquetes

-t : envía de manera indefinida los paquetes.

Para cancelar ésta y otras opciones: CTRL+C.

Para ver más opciones: ping /h

9

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 36: High School Hker

tracert <máquina> El comando tracert es la abreviatura de trace route,el cual nos permite saber la ruta que siguen lospaquetes desde el origen, es decir, nuestra máquina,hasta la máquina destino. También se puedenvisualizar los tiempos de cada salto. Como máximo,se listarán 30 saltos. Es interesante observar que seobtienen los nombres de las máquinas por las cualesviajan los paquetes.

Por ejemplo:tracert www.google.comtracert 193.145.85.2Algunas opciones:

-h <N> : para especificar N saltos como máximo.

-d : no muestra en nombre de las máquinas.

Para ver más opciones: tracertipconfig El comando ipconfig muestra información sobre las

interfaces de red activas en el ordenador.

Por ejemplo:

ipconfigAlgunas opciones:

/all : muestra más detalles

/renew : activa las direcciones IP del adaptadorcuando se usa configuración automática con DHCP.

/release : desactiva las direcciones IP del adaptadorcuando se usa configuración automática con DHCP.

Para ver más opciones: ipconfig /?route El comando route sirve para definir rutas estáticas,

borrar rutas o simplemente ver el estado de las rutas.

Algunas opciones:

Print : muestra la lista de rutas.

Delete : borra una ruta.

Add : añade una ruta.

Por ejemplo:

route printPara ver más opciones: route /?

10

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 37: High School Hker

netstat Muestra gran cantidad de información sobre elestado de la red y conexiones de red establecidascon máquinas remotas.

Algunas opciones:

-a Muestra todas las conexiones y puertos escucha.

-e Muestra estadísticas Ethernet.

Por ejemplo:

netstatnetstat –an

Para ver más opciones: netstat /?

11

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 38: High School Hker

2.4. Sistema operativo: LINUX

Por el mismo motivo que sobre un Windows se ha necesitado abrir una ventana de MS-Dos, sise utiliza LINUX, la gran mayoría de comandos igualmente se ejecutan desde una ventanaque emula como si se estuviera trabajando desde una consola. Es por este motivo que se vaa proceder a explicar cómo abrir una ventana de consola en LINUX.

2.4.1 ¿Cómo abrir una ventana de consola?Para acceder a editar los siguientes comandos, se debe abrir una pantalla de consola:

1. - Ir al botón de K

2. - Escoger la opción Run Command:

12

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 39: High School Hker

3. - Escribir “konsole”.

4. - Debería salir una ventana similar a la siguiente:

5. - Ahora ya se pueden probar los comandos y herramientas que se listan acontinuación.

2.4.2 Comandos básicos

pwd Muestra el nombre del directorio actual.

hostname Muestra el nombre de la máquina local (en la queestamos trabajando)

finger <usuario> Muestra información sobre el usuario <usuario>

Por ejemplo:

finger rootLs Lista el contenido de directorios

Por ejemplo:

ls -la

13

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 40: High School Hker

cd <directorio> Cambia al directorio <directorio>.

Ejemplo 1:

Si nuestro login es “milogin”, el comando$cd

cambia al directorio /home/mylogin

Ejemplo 2:$cd -

Cambia al último directorio visitado.

Ejemplo 3:$cd /tmp

Cambia al directorio “tmp”

cp <origen><destino>

Copia ficheros. Copia el fichero “origen” en“destino”.

Por ejemplo:

cp /etc/passwd /tmprm <fichero> Borra ficheros. Sólo el propietario del fichero (o root)

puede borrarlo.

Por ejemplo:

rm mificheromv <origen><destino>

Mueve o renombra ficheros y directorios

Por ejemplo:

mv nombreantiguo nombrenuevomkdir <directorio> Crea un directorio con nombre “directorio”

Por ejemplo:

mkdir midirectoriormdir <directorio> Borra el directorio “directorio” si se encuentra vacío

Por ejemplo:

rmdir midirectorioman <comando> Muestra las páginas del manual on-line

Por ejemplo:

man ls

Nota: Las palabras entre corchetes < > no son comandos, sino que debensustituirse por los valores deseados.

14

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 41: High School Hker

2.4.3 Herramientas de red

ping <máquina> El comando ping permite enviar “sondas” ICMP(Internet Control Message Protocol) a otracomputadora, con el objetivo de saber si ésta esalcanzable a través de la red. Además muestra unresumen estadístico acerca del porcentaje desondas que no han tenido respuesta y del tiempo derespuesta. Se puede utilizar el nombre de la máquinao directamente su dirección IP en Internet.

Por ejemplo:ping www.google.comping 193.145.85.2

Para ver más opciones: man ping

traceroute<máquina>

El comando traceroute indica la ruta que siguen lospaquetes desde el origen, es decir, nuestra máquina,hasta la máquina destino llamada <máquina>. Porejemplo:

traceroute www.google.comPara ver más opciones: man traceroute

Ifconfig El comando ifconfig muestra información sobre lasinterfaces activas (ethernet, ppp, etc.).

Por ejemplo:

ifconfigPara ver más opciones: man ifconfig

route El comando route sirve para definir rutas estáticas,borrar rutas o simplemente ver el estado de las rutas.

Algunas opciones:

print: muestra la lista de rutas.

delete: borra una ruta.

add: añade una ruta.

Por ejemplo:

routePara ver más opciones: man route

15

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 42: High School Hker

netstat Muestra gran cantidad de información sobre elestado de la red y de las conexiones TCP/IPestablecidas.

Por ejemplo:

netstatnetstat –an

Para ver más opciones: man netstat

16

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 43: High School Hker

2.5. Ejercicios Prácticos

2.5.1 Ejercicio 1Para profundizar sobre los conocimientos adquiridos de Windows.

a. Accede a una ventana de MS-DOS

b. Identifica la versión de MS-DOS que estás utilizando. ¿Qué versión hasdetectado? ¿Qué comando has utilizado?.

c. Identifica la fecha y hora del sistema. Comprueba que sean correctas;sino, modifícalas para que lo sean. ¿Qué comandos has utilizado?

d. Identifica todos los directorios y ficheros que se encuentran en “c:\”.¿Qué comando has utilizado y cuál ha sido la salida de este comando?

e. Crea el directorio c:\hhs\tema0. Copia en este directorio todos losficheros con la extensión .sys que se encuentren en c:\. ¿Qué ficheroshas encontrado? ¿Qué comandos has utilizado?

f. Identifica la dirección IP de tu máquina. ¿Qué comando has utilizado?¿Qué dirección IP tienes?

g. Traza la ruta hasta alguna máquina del dominio de ISECOM (PorEjemplo 193.145.85.201). Identifica las direcciones IPs de los equiposintermedios.

2.5.2 Ejercicio 2Para profundizar sobre los conocimientos adquiridos de Linux.

a. Identifica el propietario del fichero “/etc/passwd”. ¿Qué comandos hasutilizado?

b. Crea el directorio “trabajo” en nuestro directorio (por ejemplo, sinuestro login es “milogin”, crear el directorio en “/home/milogin”), ycopia el fichero “passwd” en el directorio “trabajo” que acabamos decrear. Identifica el propietario del fichero “passwd” que se ha copiado.

c. Crea el directorio “.oculto” en el directorio “trabajo”. Lista el contenidode nuestro directorio. ¿Cómo podríamos listar el contenido de nuestrodirectorio de forma que pudiéramos visualizar el directorio “.oculto”?

d. Identifica el nombre y la dirección IP de tu máquina. ¿Qué comandoshas utilizado? ¿Qué dirección IP tienes?

e. Recuerda el escenario de la práctica (apartado 0.1.2) y traza la rutahasta alguna máquina del dominio de ISECOM (Por Ejemplo193.145.85.202). Identifica las direcciones IP de los equipos intermedios.

17

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 44: High School Hker

2.5.3 Ejercicio 3

Completa la siguiente tabla con los paralelismos entre Windows y Linux. Por ejemplo:

En Linux: comando –help es lo mismo que en Windows comando /h.En linux: cp (copiar) es lo mismo que en Windows copy.

comando --help

comando /h

cp copydel

mvmore

printdeltree

lscd

mdrd

routetracert

Pingipconfig

18

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 45: High School Hker

GlosarioDirección IP (IP address):

Es la dirección que identifica a cualquier máquina en Internet. El formato son 4 números, convalores entre 0 y 255, separados por puntos.

Por ejemplo, 10.160.10.240.

Dominio (Domain):

Es un nombre que identifica una o más direcciones IP. Por ejemplo, el dominio Microsoft.comrepresenta cerca de una docena de direcciones IP. Los nombres de dominio se usan en URLspara identificar determinadas páginas Web. Por ejemplo, en la URLhttp://www.pcwebopedia.com/index.html, el nombre de dominio es pcwebopedia.com.

Cada nombre de dominio tiene un sufijo que indica a qué nivel de dominio superior (TLD, TopLevel Domain) pertenece. Este número de sufijos es limitado. Por ejemplo:

- gov – Agencias gubernamentales

- edu – Instituciones Educacionales

- org – Organizaciones (no lucrativas)

- com – Negocios comerciales

- net – Organizaciones de Red

- es – España

- … etc …

Como Internet está basada en direcciones IP, y no nombres de dominio, cada servidor Webnecesita un sistema de nombres de dominio (DNS, Domain Name System) que traduzca losnombres de dominio a direcciones IP.

MS-DOS (Microsoft Disk Operating System)

El MS-DOS es un sistema operativo. Su objetivo es facilitar la comunicación entre el usuario y elordenador, y utilizar eficientemente los recursos disponibles, por ejemplo el uso de memoria yCPU.

Router (encaminador, direccionador, enrutador)

Dispositivo que distribuye tráfico entre redes. Un router está conectado como mínimo a dosredes, generalmente dos LANs (Local Area Network) o WANs (Wide Area Networks) o una LANy la red del ISP (Internet Service Provider). Los routers se localizan en la pasarela, el lugardonde dos o más redes se conectan.

Los routers usan tablas de encaminamiento para determinar el mejor camino donde dirigir lospaquetes IP.

19

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 46: High School Hker

Sistema Operativo (Operating System – OS):

Un sistema operativo es un programa especial que se ejecuta en un ordenador tras serencendido y cuya función es gestionar el resto de programas, o aplicaciones, que en él seejecutarán, como, por ejemplo, un procesador de texto o una hoja de cálculo, o la impresiónde un texto en una impresora o una conexión a Internet. El sistema operativo también esresponsable de detectar dispositivos hardware y establecer la comunicación entre el usuarioy el hardware (teclado, ratón, monitor, etc). Ejemplos de sistemas operativos son: Windows,Linux, UNIX, etc.

20

LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX

Page 47: High School Hker

LECCIÓN 3PUERTOS Y PROTOCOLOS

Page 48: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”

Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donacióno una esponsorización.

All works copyright ISECOM, 2004.

2

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 49: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................43.1. Objetivos............................................................................................................................................53.2. Conceptos básicos de redes..........................................................................................................6

3.2.1 Dispositivos..................................................................................................................................63.2.2 Topologías...................................................................................................................................6

3.3. Modelo TCP/IP..................................................................................................................................73.3.1 Introducción ..............................................................................................................................73.3.2 Capas TCP/IP..............................................................................................................................7

3.3.2.1 Aplicación..........................................................................................................................73.3.2.2 Transporte...........................................................................................................................73.3.2.3 IP..........................................................................................................................................83.3.2.4 Acceso a Red....................................................................................................................8

3.3.3 Protocolos...................................................................................................................................83.3.3.1 Protocolos de la capa de Aplicación............................................................................93.3.3.2 Protocolos de la capa de Transporte............................................................................ 93.3.3.3 Protocolos de la capa de Internet.................................................................................9

3.3.4 Direcciones IP.............................................................................................................................93.3.5 Puertos.......................................................................................................................................113.3.6 Encapsulación..........................................................................................................................13

3.4. Ejercicios..........................................................................................................................................143.4.1 Ejercicio 1: Netstat...................................................................................................................143.4.2 Ejercicio 2: Puertos y protocolos.............................................................................................143.4.3 Ejercicio 3: Mi primer servidor.................................................................................................15

3.5. Lecturas recomendadas...............................................................................................................16

3

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 50: High School Hker

ContribucionesGary Axten, ISECOM

La Salle URL Barcelona

Kim Truett, ISECOM

Chuck Truett, ISECOM

Marta Barceló, ISECOM

Pete Herzog, ISECOM

4

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 51: High School Hker

3.1. Objetivos

En la presente lección se parte de unos conocimientos básicos sobre Windows y Linux, paraluego aplicarlos a los conocimientos sobre qué son y para qué sirven los puertos y protocolos.

Al término de la lección el alumno debe tener unos conocimientos básicos sobre:

- Conceptos básicos de redes.

- Direccionamiento IP.

- Puertos y Protocolos.

5

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 52: High School Hker

3.2. Conceptos básicos de redes

3.2.1 DispositivosAntes de empezar a explicar protocolos y puertos, hay que familiarizarse con los iconos de losdispositivos más comunes que se ven en los esquemas básicos. Éstos son:

3.2.2 TopologíasCon estos dispositivos se pueden crear las denominadas redes de área local o LAN (LocalArea Network). Con una LAN se puede tener una comunicación eficaz de dispositivos talescomo ordenadores e impresoras para compartir recursos, se puede dar acceso a Internetcon total control del administrador, etc.

A la hora de diseñar una LAN, se puede optar por alguna de las siguientes topologías físicas:

En la primera, topología de Bus, se tienen todos los ordenadores conectados a un únicomedio de transmisión que a su vez está conectado a unas terminaciones a ambos lados.Todos los ordenadores se ven entre sí.

En la configuración en Anillo se conecta un ordenador al siguiente, y el último al primero, deesta manera sólo se ve un ordenador con el contiguo.

En la topología en Estrella se conectan todos los terminales a un único punto central y eséste el que se encarga de retransmitir la información. Si se conectan varios puntos centralesentre sí, se obtiene una topología de Estrella Extendida.

Por lo contrario, si se van concatenando dispositivos a diferentes niveles se obtiene unatopología Jerárquica.

6

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 53: High School Hker

3.3. Modelo TCP/IP

3.3.1 Introducción El modelo TCP/IP fue desarrollado por el DoD (Department of Defense) de los EUA y DARPA(Defense Advanced Research Project Agency) en la década de los 70. El modelo TCP/IP fuepensado como un estándar abierto para poder conectar dos máquinas cualesquiera, todo elmundo puede utilizarlo y es en el que se basa Internet.

3.3.2 Capas TCP/IPEl modelo TCP/IP define cuatro capas totalmente independientes en las que divide elproceso de comunicación entre dos dispositivos. Las capas por las que pasa la informaciónentre dos estaciones o máquinas son las siguientes:

3.3.2.1 Aplicación

Es la capa más cercana al usuario final y la que le proporciona servicios de red. Como es lacapa superior, no da servicios a ninguna capa. Es la responsable de traducir los datos de laaplicación, programa, para que puedan ser enviados por la red. Sus funciones se resumenen:

- Representación

- Codificación

- Control de diálogo

- Gestión de las aplicaciones de usuario

3.3.2.2 TransporteLa capa de transporte establece, mantiene y termina circuitos virtuales, proporcionamecanismos de control de flujo y permite las retransmisiones y proporciona mecanismos dedetección y corrección de errores. La información que le llega de la capa de aplicación ladivide formando diferentes segmentos. El direccionamiento se realiza a través de puertos. Susfuncionalidades básicas son:

7

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 54: High School Hker

- Fiabilidad

- Control de flujo

- Corrección de errores

- Retransmisión

3.3.2.3 IPDivide los segmentos de la capa de transporte en paquetes y los envía por la red. Noproporciona fiabilidad en las conexiones, de esto ya se ocupa la capa de transporte. Realizaun direccionamiento lógico de red mediante las direcciones IP.

Es la capa responsable de proporcionar conectividad entre usuarios. Selecciona la mejorruta a elegir entre origen y destino.

3.3.2.4 Acceso a Red

Se encarga de controlar el acceso al nivel físico utilizado y enviar la información por elmismo. Transforma a información básica (bits) toda la información que le llega de las capassuperiores y la prepara para que se pueda enviar por el medio. El direccionamiento físico dela red lo hace mediante direcciones MAC.

3.3.3 ProtocolosPara poder enviar información entre dos máquinas, es necesario que ambas estacioneshablen el mismo lenguaje para que se entiendan entre ellas. A este lenguaje se le llamaráprotocolo.

Los protocolos más representativos que figuran en la capa de Aplicación de la torre TCP/IPson:

- File Transfer Protocol (FTP)

- Hypertext Transfer Protocol (HTTP)

- Simple Mail Transfer Protocol (SMTP)

- Domain Name System (DNS)

- Trivial File Transfer Protocol (TFTP)

Los protocolos de la capa de Transporte son:

- Transport Control Protocol (TCP)

- User Datagram Protocol (UDP)

El protocolo más conocido de la capa de Internet es:

- Internet Protocol (IP)

El protocolo utilizado en la mayoría de redes locales en la capa de Acceso es:

- Ethernet

A continuación se describirán los protocolos anteriormente comentados y su puerto asociadode la capa de Transporte. Más adelante se detallarán todos los puertos y su significado.

8

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 55: High School Hker

3.3.3.1 Protocolos de la capa de AplicaciónEl protocolo FTP es útil para la transmisión de archivos entre dos máquinas. Utiliza TCP paracrear una conexión virtual para la información de control, y luego crea otra conexión para elenvío de datos. Los puertos utilizados son el puerto 20 y 21.

El protocolo HTTP es para visualizar la mayoría de páginas web de Internet. Sus mensajes sedistribuyen como los de correo electrónico. El puerto que se utiliza es el 80.

El protocolo SMTP es un servicio de correo que se basa en el modelo de FTP. Transfieremensajes de correo entre dos sistemas y provee de notificaciones de correo entrante. Elpuerto que se utiliza es el 25.

El protocolo DNS es el que se encarga de reconocer el nombre de la máquina remota con laque se quiere establecer la conexión y traduce el nombre a su dirección IP. El puerto que seutiliza es el 53.

El protocolo TFTP tiene las mismas funciones que el protocolo FTP pero funciona sobre UDP,con lo que hay mayor rapidez pero menor seguridad y confiabilidad. El puerto que se utilizaes el 69.

3.3.3.2 Protocolos de la capa de Transporte

Dentro de la capa de transporte existen dos protocolos que se utilizan para el envío desegmentos de información:

- TCP: El protocolo TCP establece una conexión lógica entre puntos finales dela red. Sincroniza y regula el tráfico con lo que se conoce como “Three WayHandshake”. Controla el flujo para que no se pierdan los paquetes y evitarasí una congestión en la red. Es un protocolo orientado a conexión.

- UDP: El protocolo UDP es un protocolo de transporte no orientado aconexión que intercambia datagramas sin la utilización de ACK ni SYN quese utiliza como acuse de recibo en el caso de TCP. El procesamiento deerrores y retransmisiones es soportado por los protocolos de capas superiores.

3.3.3.3 Protocolos de la capa de InternetEl protocolo IP sirve como protocolo universal para unir dos ordenadores en cualquiermomento, lugar y tiempo.

No es un protocolo orientado a conexión y no es confiable.

Ofrece servicios de Best Effort: hará cuanto sea posible para que funcione correctamente.

El protocolo IP determina el formato de la cabecera del paquete IP donde se incluye ladirección lógica y otras informaciones de control.

3.3.4 Direcciones IPLas direcciones IP son los identificadores que se utilizan para diferenciar a cualquierdispositivo que se encuentre en la red. Cada dispositivo debe tener una dirección IPdiferente para que no haya problemas de identidad dentro de la red.

9

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 56: High School Hker

La dirección IP consta de 32 bits que se dividen en 4 octetos (8 bits) separándolos por puntos.Lógicamente se compone de una parte que identifica la dirección de red (network) a la quepertenece y una segunda parte que es su propio identificador dentro de esa red, direcciónde máquina (host).

Hay direcciones IP públicas y privadas. Las primeras deben ser únicas en todo Internetporque sino no sería posible el encaminamiento y por tanto la comunicación. En cambio, lasdirecciones privadas corresponden a redes de uso privado y que no tienen conexión algunacon otras redes, no tienen conexión a Internet. En las redes privadas hay que tener encuenta que no se puede duplicar ninguna dirección IP en toda la red privada.

Las direcciones IP privadas existentes y que están definidas por el organismo internacionalIANA son las que se engloban en los márgenes siguientes:

10.0.0.0 a 10.255.255.255

172.16.0.0 a 172.31.255.255

192.168.0.0. a 192.168.255.255

Las direcciones IP se dividen en clases que dependen del tamaño asignado para la parte dered y el tamaño que corresponde a la parte de la máquina.

Según el tamaño asignado a cada parte se podrán o crear más redes o albergar másdispositivos en cada red creada. Las clases existentes son:

- Clase A: El primer bit es siempre cero, con lo que comprende lasdirecciones entre 0.0.0.0 a 126.255.255.255. Las direcciones de 127.x.x.xestán reservadas para el servicio de loopback o localhost.

- Clase B: Los dos primeros bits del primer octeto son ‘10’. Las direccionesque pertenecen a esta clase están comprendidas entre 128.0.0.0 y191.255.255.255.

10

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 57: High School Hker

- Clase C: Los tres primeros bits del primer octeto son ‘110’. Las direccionesestán comprendidas entre 192.0.0.0 y 223.255.255.255.

- Clase D: Los cuatro primeros bits del primer octeto son ‘1110’. Lasdirecciones están comprendidas entre 224.0.0.0 y 239.255.255.255. Seutilizan para grupos multicast. Las restantes direcciones son paraexperimentación. A este último grupo se les puede encontrar comoClase E.

Actualmente, para la diferenciación entre la parte de red y la parte de máquina no seutilizan las clases, sino que lo que se utiliza es la máscara.

La máscara identifica con un ‘1’ binario la parte que es de red y con un ‘0’ binario la parteque es de máquina. Por lo tanto, para identificar una máquina, además de la dirección IP esnecesario especificar una máscara de red:

IP: 172.16.1.20

Máscara: 255.255.255.0

Se ha visto que las direcciones IP 127.X.X.X estaban reservadas y que no se pueden utilizarpara identificar a ningún dispositivo. Del mismo modo existen otras direcciones de máquinaque no se pueden utilizar, éstas son la dirección de red y la dirección de braodcast.

La dirección de red es aquella en que la parte que identifica al dispositivo dentro de la redes toda ceros. Esta dirección no se puede utilizar ya que identifica a una red y, por lo tanto,nunca debe identificar a un dispositivo en concreto.

IP: 172.16.1.0

Máscara: 255.255.255.0

La dirección de bradcast es aquella que los bits que identifican al dispositivo dentro de la redson todo unos. Esta dirección tampoco se puede usar ya que es la que se utiliza cuando sequiere enviar alguna información a todas las máquinas que pertenecen a una red enconcreto.

IP: 172.16.1.255

Máscara: 255.255.255.0

3.3.5 PuertosTanto TCP como UDP utilizan puertos para pasarse información con las capas superiores. Conla definición de un puerto, es posible acceder a un mismo destino, un host, y aplicar sobre éldistintos servicios.

Con la utilización de los puertos los servidores son capaces de saber qué tipo de petición anivel de aplicación le están solicitando, si es http o ftp, y pueden mantener más de unacomunicación simultánea con diferentes clientes.

11

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 58: High School Hker

Si se quiere acceder a la web de www.osstmm.org cuya IP es 62.80.122.203, como el servidorde WEB está en el puerto 80, lo que se está estableciendo es una conexión al denominadosocket

62.80.122.203:80

Para entenderlo mejor, se puede hacer la analogía siguiente: pensemos que la dirección IPes como el puerto de Barcelona, donde llegan muchos barcos, y los puertos de lasdirecciones IP son cada uno de los muelles en los que van a parar cada barco.

Para poder mantener una coherencia en los números de los puertos la IANA, organismointernacional regulador, establece que los puertos inferiores a 1024 se utilizan para losservicios comunes y el resto de números de puertos es para asignaciones dinámicas deprogramas o servicios particulares.

A continuación se listan los puertos más utilizados:

Asignación de PuertosValor Nombre Descripción

0 Reserved1-4 Unassigned

5 rje Remote Job Entry7 echo Echo9 discard Discard

11 systat Active Users13 daytime Daytime15 netstat Who is Up or NETSTAT17 qotd Quote of the Day19 chargen Character Generator20 ftp-data File Transfer [Default Data]21 ftp File Transfer [Control]22 ssh SSH Remote Login Protocol23 telnet Telnet25 smtp Simple Mail Transfer37 time Time39 rlp Resource Location Protocol42 nameserver Host Name Server43 nicname Who Is53 domain Domain Name Server67 bootps Bootstrap Protocol Server68 bootpc Bootstrap Protocol Client69 tftp Trivial File Transfer70 gopher Gopher75 any private dial out service77 any private RJE service79 finger Finger

12

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 59: High School Hker

Asignación de PuertosValor Nombre Descripción

80 www-http World Wide Web HTTP95 supdup SUPDUP

101 hostname NIC Host Name Server102 iso-tsap ISO-TSAP Class 0110 pop3 Post Office Protocol - Version 3113 auth Authentication Service117 uucp-path UUCP Path Service119 nntp Network News Transfer Protocol123 ntp Network Time Protocol137 netbios-ns NETBIOS Name Service138 netbios-dgm NETBIOS Datagram Service139 netbios-ssn NETBIOS Session Service

140-159 Unassigned160-223 Reserved

3.3.6 EncapsulaciónPara enviar, por ejemplo, un mail desde un ordenador a otro la información irá pasando unaserie de transformaciones, es decir, la capa superior generará una serie de datos que serárecogida por la capa inmediatamente inferior. La capa inferior cogerá la información que lehan pasado y le añadirá una cabecera para poder agregar información suficiente para quela capa del mismo nivel del destino pueda entender qué debe hacer con aquellainformación. A este procedimiento recursivo se le conoce con el nombre de encapsulación.Cada capa hace una encapsulación de la anterior, hasta llegar a la última capa, la deenlace, que hace posible la transmisión de los datos por el medio físico de la LAN: cable,radio, etc.

En el siguiente esquema se explica la encapsulación de una forma más gráfica:

Cuando la información encapsulada llega al destino, éste sólo tiene que desencapsular lainformación realizando el procedimiento contrario.

13

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 60: High School Hker

3.4. Ejercicios

3.4.1 Ejercicio 1: NetstatEl comando Netstat permite visualizar el estado de los puertos de un ordenador. Parapoderlo ejecutar se tiene que abrir una ventana de MS-Dos y teclear:

netstat

En la salida por pantalla se pueden ver las conexiones actuales establecidas. Si se quiere quela salida esté en formato numérico se debe ejecutar:

netstat –n

Si lo que se desea es ver el estado tanto de las conexiones establecidas como de los puertosque están activos se debe ejecutar:

netstat –an

Para saber todas las opciones que se pueden añadir al comando netstat se puede ejecutar:

netstat -h

Se debe identificar qué puertos se usan de forma local y cuáles de forma remota. Lasegunda y la tercera columna determinan la dirección local y la remota.

¿Por qué los números de puertos remotos son diferentes a los números locales?

A continuación abrir el explorador con la página:

http://193.145.85.202¿Qué conexión/conexiones nuevas aparecen?

Abrir otro explorador con la página:

http://193.145.85.203Si se vuelve a ejecutar el comando netstat:

- ¿Por qué el protocolo http aparece en varias líneas?

- ¿Qué diferencias existen entre cada una de ellas?

- ¿Si hay varios exploradores abiertos como es el caso, cómo sabe paraquién va la información de cada una de las páginas?

- ¿Necesita diferenciarla?

- Comenta la respuesta.

3.4.2 Ejercicio 2: Puertos y protocolosDurante toda la lección se ha comentado que para diferenciar el servicio se usan diferentespuertos. ¿Cómo es que cuando se utiliza el navegador no se especifica ningún puerto?

¿Qué protocolos se utilizan?

¿Es posible que algún protocolo se utilice en más de una ocasión?

14

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 61: High School Hker

3.4.3 Ejercicio 3: Mi primer servidorPara poder realizar este ejercicio primero es necesario conseguir el programa ‘netcat’ parawindows. Se podrá conseguir si se accede a la página:

http://www.atstake.com/research/tools/network_utilities/Una vez se haya conseguido el programa se debe descomprimir, abrir una ventana de MS-Dos, acceder al directorio donde se encuentre y teclear:

nc –h

Con esto se pueden ver las múltiples opciones que se pueden especificar en el netcat. Si sedesea crear un pequeño servidor:

nc -l -p 1234

Al ejecutar este comando se está haciendo que se abra el puerto 1234 y se permitanconexiones entrantes. Seguidamente teclear desde otra ventana de MS-Dos:

netstat –a

Se comprueba que ha aparecido un nuevo servicio escuchando en el puerto 1234. Para salirdel servidor, se puede utilizar: CTRL-C

Para poder decir que se ha implementado un servidor se necesita establecer el clienteasociado. Para ello se debe abrir una ventana de MS-Dos y, teniendo el servidorfuncionando, ejecutar

nc localhost 1234

Con este comando se realizará una conexión hacia nuestro dispositivo utilizando el puerto1234. Si ahora se escribe cualquier palabra en cualquiera de las dos ventanas de MS-Dos,tanto cliente como servidor, se verá como esa información se transmite hacia el otro.

Si se quiere que cada vez que se realice una conexión hacia el servidor se transmita alcliente cierta información, se deberá crear un fichero texto con la información quequeramos transmitir, por ejemplo: “Bienvenido al servidor de Hacker High School”. Una vezcreado dicho fichero, con el nombre test, se deberá activar el servidor con el comando:

nc -l -p 1234 < test

Desde otra ventana de MS-Dos se intenta acceder al servidor:

nc localhost 1234

En el momento que se conecta se puede observar cómo en el cliente aparece el textointroducido en el fichero test. A partir de este punto la relación cliente/servidor es la mismaque en el caso anterior.

¿Qué protocolo se ha usado para conectarte al servidor? ¿Permite netcat hacer lo mismocon otro protocolo?

15

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 62: High School Hker

3.5. Lecturas recomendadas

Si se desea tener más información sobre los temas que se han tratado en esta lección sepueden consultar los siguientes links, donde se ve de una forma más detallada toda latemática expuesta:

http://www.oreilly.com/catalog/fire2/chapter/ch13.htmlhttp://www.oreilly.com/catalog/puis3/chapter/ch11.pdfhttp://www.oreilly.com/catalog/ipv6ess/chapter/ch02.pdfhttp://info.acm.org/crossroads/xrds1-1/tcpjmy.htmlhttp://www.garykessler.net/library/tcpip.htmlhttp://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ip.htmhttp://www.redbooks.ibm.com/redbooks/GG243376.html

16

LECCIÓN 3 – PUERTOS Y PROTOCOLOS

Page 63: High School Hker

LECCIÓN 4SERVICIOS Y CONEXIONES

Page 64: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”

Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donacióno una esponsorización.

All works copyright ISECOM, 2004.

2

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 65: High School Hker

Índice“License for Use” Information................................................................................................................ 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................44.1. Introducción......................................................................................................................................54.2. Servicios.............................................................................................................................................6

4.2.1 HTTP y la Web..............................................................................................................................74.2.2 E-mail – POP y SMTP...................................................................................................................84.2.3 IRC................................................................................................................................................94.2.4 FTP................................................................................................................................................94.2.5 Telnet y SSH...............................................................................................................................124.2.6 DNS.............................................................................................................................................124.2.7 DHCP.........................................................................................................................................13

4.3. Conexiones.....................................................................................................................................144.3.1 ISPs............................................................................................................................................. 144.3.2 Servicio de telefonía tradicional............................................................................................144.3.3 DSL..............................................................................................................................................154.3.4 Cable Modems........................................................................................................................15

4.4. Lecturas recomendadas...............................................................................................................16Glosario...................................................................................................................................................17

3

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 66: High School Hker

ContribucionesGuiomar Corral, La Salle URL Barcelona

Jaume Abella, La Salle URL Barcelona - ISECOM

Pete Herzog, ISECOM

Chuck Truett, ISECOM

Marta Barceló, ISECOM

Kim Truett, ISECOM

4

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 67: High School Hker

4.1. Introducción

El objetivo de esta lección se basa en dar a los estudiantes un conocimiento sobre losservicios básicos que utilizan las redes para proporcionar e intercambiar información.Asimismo, en esta lección se presentarán algunos de los métodos que utilizan losordenadores personales y las redes de área local para conectarse con otras redes; es decir,se analizarán distintas formas de conexión entre ordenadores y redes que conforman lo quese conoce como Internet.

5

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 68: High School Hker

4.2. Servicios

Si tienes un ordenador personal, sabrás que existe cierta información útil en tu ordenador,aunque puede ser que no demasiada. También sabes que muchas más personas, inclusomillones de personas también tienen ordenadores, por lo que sus ordenadores tambiénpueden tener cierto tipo de información útil.

Igualmente, es muy fácil suponer que muchas de esas personas puedan tener información ensus ordenadores que podría ser interesante para ti. Pero el problema radica en cómo puedesacceder a toda esa información útil que estará en los ordenadores de otras personas.

Los propios ordenadores pueden comunicarse entre ellos de manera fácil, usando sus puertosy utilizando distintos protocolos de comunicación diseñados para ello, pero esto no es demucha utilidad para tí. Esto es debido a que es muy difícil entender las cadenas de bits quese intercambian los ordenadores entre ellos. Es necesario que exista alguna forma para que elordenador pueda interpretar la informacion que recibe de los otros ordenadores y lapresente de manera que el usuario pueda entenderla.

Los programas que utilizan los ordenadores para traducir los datos de manera que puedasentenderlos y sean útiles son lo que llamaremos servicios. Estos servicios permiten ver páginasweb, intercambiar correos electrónicos, chatear e interaccionar con ordenadores remotos demuchas otras formas.

Tu ordenador es el ordenador local y utiliza programas llamados servicios para interpretar lainformación que recibes. Los otros ordenadores son los ordenadores remotos y utilizanprogramas llamados servidores para proporcionar esta información a tu ordenador.

6

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 69: High School Hker

4.2.1 HTTP y la WebCuando se habla de ‘Internet’, lo primero en lo que piensan la mayoría de personas es en laWorld Wide Web (WWW). Pero la World Wide Web, o simplemente la Web, no es Internet. Enrealidad, es un método que utiliza Internet para intercambiar información entre ordenadores.La web utiliza http, que son las siglas de Hypertext Transfer Protocol, y los servicios conocidoscomo navegadores web y servidores web para intercambiar información en forma depáginas web entre ordenadores locales y remotos.

En el ordenador local dispones del navegador web. Se envía la información del ordenadorremoto a tu ordenador local mediante el protocolo http. El navegador web interpreta estainformación y la muestra en tu ordenador local en forma de páginas web.

La parte hipertexto del protocolo http se refiere a la forma no lineal de presentar lainformación. Los textos se suelen leer de manera lineal: la palabra 2 va después de la palabra1, la frase 3 sigue a la frase 2, el párrafo 4 va después del párrafo 5, etc. En cambio, la ideadel hipertexto se basa en permitir ver la información de manera no lineal. Esta es la grandiferencia entre el hipertexto y los métodos antiguos a la hora de presentar la información.

Con el hipertexto, las palabras y las ideas se pueden conectar, no sólo con las palabras quelas rodean directamente, sino también con otras palabras, ideas o imágenes. Además, elhipertexto no está solo restringido a la Web. La mayoría de procesadores de texto permitencrear páginas en formato web o http para guardar localmente. Estas páginas se puede leerutilizando tu navegador web y funcionan como cualquier página web, con la particularidadque están guardadas en tu ordenador local, en vez de estar en un ordenador remoto.

En tu ordenador local utilizas un programa cliente llamado navegador web. Al contrario delo que puedes pensar, en el mercado existen distintos navegadores web, disponibles tantopara Windows como para Linux. Por ejemplo, existe el navegador Internet Explorer deMicrosoft, el navegador Netscape, los navegadores Mozilla y Mozilla Firefox…

Figura 1: Logos de Microsoft Internet Explorer, Netscape, Mozilla y Mozilla Firefox

También puedes crear tu propia página web. La manera más fácil para hacerlo es utilizaruno de los procesadores de texto más comunes como, por ejemplo, OpenOffice, MicrosoftWord o Word Perfect. Estos programas permiten crear páginas web sencillas, combinandotexto, hipertexto e imágenes. Muchas personas han creado páginas web útiles, ingeniosas einnovadoras simplemente con estas herramientas.

Pero estas páginas no son ‘flashy’, es decir, no tienen contenidos flash. ‘Flashy’ significa quela página web dispone de animaciones, instrucciones que se ejecutan sin la interacción delusuario (scripts), etc. Esto también significa invertir grandes cantidades de dinero en unprograma de diseño de páginas web selecto. Estos programas incluyen otros programas y tepermiten realizar muchas cosas, aunque la creación de páginas es más compleja.

Una vez diseñadas y realizadas las páginas, necesitas un ordenador para poderlas tenerguardadas y que puedan ser consultadas.

El ordenador remoto tiene que tener instalado un servidor web. Es posible que el servidor webesté instalado en tu propia casa, exactamente en tu propio ordenador, pero esta opcióntiene varios inconvenientes. La primera desventaja es lo que se llama persistencia: la

7

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 70: High School Hker

información que se guarda en un servidor web solo está disponible si este servidor estáenchufado, funcionando correctamente y tiene una conexión abierta. Por ello, si quierestener un servidor web funcionando en tu propia habitación, tendrías que dejar el ordenadorencendido todo el tiempo; además, tendrías que asegurarte que el programa servidor webfuncione correctamente todo el tiempo, por lo que deberías resolver todos los problemashardware, controlar virus, gusanos y otros ataques, así como pelearte con los inevitables fallosdel propio programa. Por otro lado, deberías mantener una conexión a Internet siembreabierta. Es por ello que muchas personas prefieren pagar a alguien para que les haga todoeste trabajo. Es lo que se denomina web hosting.

Una empresa de web hosting almacena tu página web en sus ordenadores y se ocupa detodo. Una empresa de web hosting perfecta debería tener múltiples servidores redundados yuna política de copias de seguridad periódica, de manera que no se pierda el servicio porculpa de fallos de hardware; también debería tener un equipo de soporte para mantener elfuncionamiento del servicio y protegerlo de ataques de hackers o fallos de programa;además, debería tener un número de conexiones abiertas a Internet. Así pues, tu únicotrabajo se basa en diseñar tu página web, almacenarla en el servidor de la compañía dehosting, apagar tu ordenador, descansar y tu página seguirá estando disponible para elmundo entero.

También es posible encontrar organizaciones que ofrecen un hospedaje de web gratuito.Algunas de estas organizaciones obtienen beneficios por anuncios publicitarios, de maneraque cualquiera que quiera visitar tu página web, primero debe ver dichos anuncios, aunqueno tiene que comprar nada.

4.2.2 E-mail – POP y SMTPSeguramente, el segundo aspecto más visible de Internet es el correo electrónico. En tuordenador, utilizas un cliente de correo electrónico, que se conecta a un servidor de correo.Cuando configuras tu cuenta de correo electrónico, dispones de un nombre único en formade usuario@dominio. También debes configurar una contraseña para poder acceder a tucorreo electrónico.

El protocolo SMTP, que se utiliza para enviar correos electrónicos, no necesita ningunacontraseña. Esto no era un inconveniente cuando se diseñó el protocolo, puesto que Internetera un mundo pequeño sin problemas, pero ahora se ha convertido en un agujero quepermite el uso no autorizado de servidores de correo y otras artimañas como el llamado ‘e-mail spoofing’, donde alguien envía un correo electrónico que parece que venga de otradirección. Sin embargo, otros servidores de correo minimizan este defecto implementado unpaso de autenticación intermedio.

Otro aspecto importante a destacar es que, aunque el correo esté protegido mediantecontraseñas, el correo electrónico no es una buena manera para enviar información segura.Muchos clientes POP y servidores necesitan comunicar tu contraseña sin encriptar a tuservidor de correo. Esto no significa que cualquiera que reciba un correo tuyo tambiénrecibe tu contraseña; pero sí significa que cualquiera con un poco de conocimiento yalgunas herramientas como sniffers o analizadores de protocolos puede descubrir tupassword.

(Las ideas para securizar tu correo están explicadas en la lección 7: Seguridad del correoelectrónico)

8

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 71: High School Hker

4.2.3 IRCIRC son las siglas de Internet Relay Chat. IRC es donde la naturaleza irregular de Internet semuestra de manera más clara. En IRC, cualquiera que tenga algo que decir tiene laoportunidad de decirlo.

Puede ser que estés familiarizado con los chat rooms utilizados en ciertos servicios online. IRCes como un chat room donde no hay reglas ni hay estándares. Puede ser que en un canalIRC encuentres aquello que estabas buscando o puede ser que encuentres algo que nuncahabías pensado que existía.

Todas las reglas que has oído sobre chat rooms también son aplicables a los canales IRC.Nunca le digas a nadie tu propio nombre. Nunca des tu número de teléfono, tu dirección otus números de cuentas bancarias. Pero pásatelo bien!

Ejercicios

En la lección 0 puedes encontrar ejercicios básicos sobre chats. Los siguientes ejercicios sonuna continuación de los ejercicios anteriores.

A. Busca 3 canales IRC sobre seguridad a los que sí puedas acceder. ¿Cómo puedesapuntarte a una conversación pública? ¿Qué deberías hacer para conversarprivadamente con una sola persona a la vez?

B. ¿Puedes intercambiar ficheros en estos canales IRC? ¿Cómo podrías hacerlo?¿Intercambiarías siempre ficheros por un canal IRC? ¿Por qué?

4.2.4 FTPFTP son las siglas de File Transfer Protocol. Tal como su nombre indica, este protocolo permitetransmitir ficheros entre un ordenador local y otro remoto. Aunque se puede utilizar paratransferencia de ficheros privados, se suele asociar normalmente a servidores ftp anónimosgratuitos que ofrecen acceso público a colecciones de ficheros.

Anonymous ftp ha sido uno de los métodos más utilizados por la mayoría de usuarios deordenadores para intercambiar ficheros en Internet. Aunque se utilizan muchos servidores ftpanónimos para distribuir ficheros de manera ilegal y posiblemente infectados de virus, otrosservidores se utilizan de manera legal para distribuir programas y ficheros. Se puedenencontrar servidores que ofrecen servicios ftp anónimos mediante distintos métodos, inclusomediante herramientas de búsqueda en Internet.

Actualmente existen numerosos servidores ftp anónimos que permiten acceder a sus ficherosutilizando el protocolo ftp mediante un navegador web.

Ejercicios

Anonymous FTP

Tanto Windows como Linux disponen de un cliente ftp básico, basado en la línea decomandos; para acceder a él, abre un prompt de comandos o una ventana de terminal yteclea: ftp

9

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 72: High School Hker

En el prompt ftp>, puedes escribir help, para obtener una lista de comandos disponibles.

ftp> helpCommands may be abbreviated. Commands are:! delete literal prompt send? debug ls put statusappend dir mdelete pwd traceascii disconnect mdir quit typebell get mget quote userbinary glob mkdir recv verbosebye hash mls remotehelpcd help mput renameclose lcd open rmdir

Algunos comandos importantes son:

ftp> open <dominio.nombre>Que permite conectarte al servidor ftp llamado dominio.nombre.

ftp> lso bien

ftp> dirQue lista los contenidos del directorio de trabajo remoto.

ftp> cd <newdir>Que cambia el directorio de trabajo remoto al directorio llamado newdir.

ftp> get <filename>Que descarga un fichero llamado filename del ordenador remoto al ordenadorlocal.

ftp> mget <file1> <file2> <file3>Que descarga los ficheros llamados file1, file2 y file3 del ordenador remoto alordenador local.

ftp> closeQue te desconecta del servidor ftp remoto.

10

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 73: High School Hker

ftp> quitQue cierra tu cliente ftp local.

Para conectarse a un servicio anonymous ftp, primero debes abrir tu cliente ftplocal:ftp

Utiliza el comando open para conectarte al servidor. El comando:ftp> open <anon.server>conecta tu cliente ftp con el servidor anonymous ftp llamado anon.server.

Cuando el servidor ftp remoto hace su conexión, se identificará a tu cliente localy luego pedirá un nombre de usuario.Connected to anon.server.220 ProFTPD Server (Welcome . . . )User (anon.server:(none)):

Para la mayoría de servidores ftp anónimos, puedes entrar la palabra anonymous comonombre de usuario o username. El servidor ftp remoto reconocerá que te estás conectandocomo un usuario anónimo y te dará instrucciones sobre el código a utilizar como contraseña.

331 Anonymous login ok, send your complete email address as yourpassword.Password:

En muchos casos, el servidor remoto no valida la dirección de correo entrada comocontraseña, por lo que no te denegará el acceso al servidor aunque entres unadirección incorrecta. Después de introducir la contraseña, el servidor remoto enviará unmensaje de bienvenida a tu ordenador local.

230- Welcome to ftp.anon.server, the public ftp server of anon.server. We hope you find what you're looking for. If you have any problems or questions, please send email to [email protected] Thanks!230 Anonymous access granted, restrictions apply.

Ahora, ya puedes utilizar los comandos ls, dir, cd y get para descargar ficheros desdeel servidor remoto a tu ordenador local.

Utilizando estos ejemplos, comprueba si puedes descargarte un fichero desde un servidoranonymous ftp. Utiliza tu navegador web y busca una herramienta para encontrar un

11

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 74: High School Hker

servidor ftp anonymous que tenga una copia de “Alicia en el País de las Maravillas”; luego,utilizando el cliente ftp de línea de comandos (no tu navegador web) intenta descargarte elfichero.

4.2.5 Telnet y SSHTelnet permite a un usuario local enviar una gran variedad de comandos a un ordenadorremoto. Este hecho permite que el usuario local pueda dar instrucciones a la máquinaremota para que realice ciertas funciones y devuelva los datos al ordenador local, casicomo si se estuviera sentado delante del teclado del ordenador remoto.

Tanto Windows como Linux disponen de un cliente telnet básico; para acceder a él, solo hayque abrir un prompt de comandos o una ventana de emulación de terminal y teclear:telnet.

Para acceder a un servidor telnet, será necesario que el administrador del sistema teproporcione una cuenta y una contraseña, debido a que el programa telnet te permiterealizar un gran número de acciones. Telnet se utilizaba en el pasado para que losadministradores de sistema pudieran acceder y controlar remotamente los servidores, asícomo para proporcionar soporte a los usuarios a distancia.

Telnet también se puede utilizar para otras muchas tareas como, por ejemplo, enviar y recibircorreos electrónicos, ver el código fuente de páginas web,… aunque también hay que decirque telnet es una de las maneras más difíciles de conseguirlo y hay herramientas más fácilespara hacer estas mismas tareas. Telnet se puede utilizar para cometer muchas accionesilegales e inmorales, pero también hay razones legítimas para utilizarlo. Puedes utilizar telnetpara consultar tu correo electrónico y ver, no sólo el tema del correo, sino también lasprimeras líneas, lo que te facilitará decidir si borrar o no dicho correo sin tener que descargartodo el mensaje.

4.2.6 DNSDe la misma manera que cuando quieres llamar a un amigo necesitas saber su número deteléfono, cuando quieres conectarte a cierto ordenador remoto necesitas saber suidentificación. Los ordenadores se identifican mediante las direcciones llamadas IP y es muyimportante que no exista ninguna dirección duplicada, de la misma manera que no existendos personas con el mismo número de teléfono.

Las direcciones IP son números muy manejables para los ordenadores pero nosotrospreferimos utilizar nombres. Por ejemplo, para acceder a la web de Enginyeria La Sallesimplemente recordamos que su nombre es www.salleurl.edu. En cambio, nuestro ordenadortambién debe conocer qué dirección IP tiene el servidor web de Enginyeria La Salle. Asípues, los ordenadores deben conocer la equivalencia entre direcciones IP y nombres. Unaposibilidad sería que tu ordenador almacenase la equivalencia nombre-dirección IP detodos los ordenadores del mundo, pero esto no es demasiado viable.

Por ello se utiliza el protocolo DNS. DNS son las siglas de Domain Name Service y es el servicioque se encarga de traducir los nombres de dominio que conoces a las direcciones IP quenecesita tu ordenador y viceversa. De esta manera, cuando tecleas el nombrewww.nombrededominio.extension en tu navegador web, tu propio navegador contactacon el servidor DNS que tengas configurado en tu sistema (normalmente suele ser la

12

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 75: High School Hker

dirección de tu propio ISP). Si tu ISP tiene ya la dirección IP correspondiente al nombre que lepides, se la envía a tu ordenador. Si no tiene hecha la resolución, el ISP hará una petición debúsqueda directamente a los servidores DNS del dominio o a los servidores raíz de laextensión, para obtener la dirección IP final. Cuando el ISP tenga la dirección, se la enviará atu ordenador y así podrás acceder a la página web que habías solicitado.

Ejercicios

Para profundizar sobre los conocimientos adquiridos de DNS:

a. Accede a una ventana de MS-DOS.

b. Identifica la dirección IP de tu máquina. ¿Qué comando has utilizado? ¿Quédirección IP tienes?

c. Identifica la dirección IP del servidor DNS que tienes configurado. ¿Qué comandohas utilizado? ¿Qué dirección IP tiene el servidor DNS?

d. Haz un ping a www.isecom.org . ¿Recibes una respuesta afirmativa? ¿Quédirección IP contesta al ping?

e. Entra en la configuración de red de tu ordenador y borra la dirección del servidorDNS que tengas configurada (te lo habías apuntado en el paso c, así que no hayproblema).

f. Vuelve a hacer un ping a www.isecom.org. ¿Recibes la misma respuesta que enel paso d? ¿Por qué?

g. Haz un ping a la dirección IP que habías apuntado en el paso d. ¿Recibes lamisma respuesta que en el paso d? ¿Por qué?

h. Entra otra vez en la configuración de red de tu ordinador y configura la direccióndel servidor DNS que tenías configurada previamente. Vuelve a hacer los pasos f yg. ¿Qué respuestas obtienes ahora?

4.2.7 DHCPDHCP (Dynamic Host Configuration Protocol) es el protocolo de configuración dinámica dehosts. Tal como indica su nombre, este protocolo permite la configuración de los parámetrosde red de las estaciones de manera dinámica. Esto es muy útil a la hora de configurargrandes redes de ordenadores, puesto que no hace falta configurar cada ordenadorindividualmente. Simplemente es necesario disponer de un servidor DHCP, donde seconfiguran los parámetros de red que se asignarán a los clientes. Cuando cada cliente seconecte a la red, lo primero que hará es pedirle los parámetros de configuración al servidorDHCP. A partir de entonces, el cliente ya tendrá toda la configuración de red actualizadapara poder trabajar.

13

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 76: High School Hker

4.3. Conexiones

¿Qué son los módems y para qué sirven? Los módems trabajan a velocidades debits/segundo. Una velocidad de transmisión alta es aconsejable, aunque también dependede la tarea a realizar. Hay ciertas aplicaciones, como por ejemplo la conexión a un servidortelnet, en las que también serviría un módem anticuado de hace más de veinte años quefuncionase a una velocidad de 300 bits/segundo (suponiendo que tu velocidad de escribircon el teclado no fuese muy buena). Sin embargo, aplicaciones que necesitan muchoancho de banda como por ejemplo, la transmisión de vídeo pueden llegar a colapsarincluso los cable modems más potentes.

4.3.1 ISPsRealmente, cuando te conectas a Internet, no sólo estás llamando a Internet. Necesitasacceder a un servidor que conectará tu ordenador a Internet. Este servidor se encargará dehacer todo el trabajo duro, estando allí todo el tiempo.

La presencia de un ISP en Internet es constante y tiene servidores donde se ejecutan losservicios que utilizarás. Entonces, tú mismo puedes ejecutar dichos servicios. Podrías disponerde un servidor de correo en tu propio ordenador local, pero esto requeriría que tu ordenadorestuviera enchufado y conectado a la red durante todo el tiempo, simplemente esperandoa aquellos instantes esporádicos de intercambio de información. Sin embargo, un ISP refuerzalos esfuerzos de un gran número de usuarios, ya que el servidor de correo estará trabajandocontinuamente. Además, los ordenadores de los proveedores de servicios de Internet o ISPs,estarán conectados con otros ordenadores de Internet utilizando conexiones de altavelocidad. Los ordenadores de los ISPs utilizan conexiones de alta velocidad para conectarsea puntos de acceso de red, llamados NAP (Network Access Point). Además, dichos NAPs seinterconectan utilizando conexiones de mucha más alta velocidad, que forman la columnavertebral de Internet.

4.3.2 Servicio de telefonía tradicionalEl servicio de telefonía tradicional también es conocido como POTS (Plain Old TelephoneService) y todavía es el método más ampliamente utilizado para acceder a Internet. Suprimer inconveniente es su baja velocidad, pero en muchos casos se utiliza este sistemadebido a su amplia disponibilidad. La mayoría de proveedores de servicio de Internet tienenun gran número de números de acceso local. Y casi todo el mundo tiene una línea deteléfono en casa. En teoría, con un módem analógico y un bolsillo lleno de monedas,podrías conectarte desde casi cualquier cabina de teléfono pública.

Pero el servicio de telefonía tradicional es lento. Los módems analógicos más rápidosfuncionan a una velocidad de 56kbps. Pero este dato, en realidad, no es cierto del todo. Lasrestricciones de potencia limitan la velocidad máxima de bajada a 53kbps y, realmente, estavelocidad efectiva es mucho menor.

Sin embargo, el servicio de telefonía está ampliamente disponible y los proveedores deservicios de Internet basados en acceso telefónico son bastante baratos e, incluso enalgunas situaciones, proporcionan un acceso gratuito. No querrías comerciar con películas

14

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 77: High School Hker

piratas utilizando un acceso telefónico porque es inmoral, ilegal y, además, ocuparía tu líneade teléfono durante toda la noche e, incluso durante toda la tarde, pero podrías enviar sinningún problema correos de texto simpáticos a tus amigos. Y si utilizas telnet, incluso podríastrabajar con un ordenador antiguo basado en DOS.

4.3.3 DSLDSL o Digital Subscriber Line es un método que permite enviar un gran volumen deinformación sobre los mismos cables que ya utiliza actualmente el teléfono tradicional. Lamayor ventaja que presenta respecto a los módems analógicos es que transmite a muchamayor velocidad y se trata de una conexión permanente. Además, permite realizar o recibirllamadas telefónicas al mismo tiempo que estás conectado a Internet. Su mayor desventajaes que debes estar lo suficientemente cerca de la centralita de telefonía para que el sistemafuncione.

Ejercicios

Para profundizar sobre los conocimientos adquiridos sobre DSL:

a. Utilizando alguna herramienta de búsqueda, encuentra 2 proveedores de Internet queutilicen tecnología DSL.

b. ¿Qué otros servicios, además de Internet, proporcionan estos proveedores de servicio(telefonía, TV,…)?

4.3.4 Cable ModemsLos cable modems son dispositivos que no utilizan la línea telefónica tradicional paraacceder a Internet. Algunos operadores de comunicaciones han desplegado redes de fibraóptica alternativas a la red de telefonía tradicional. El cable modem hace referencia a unmodem que opera sobre la red de televisión por cable. Como ventaja, presenta mayoresvelocidades que la conexión de modem sobre la telefonía tradicional. Pero el principalinconveniente radica en que es necesario que la red de cable llegue hasta la casa delusuario y este tipo de redes todavía no está demasiado extendido, debido a la problemáticaque comporta su desplegamiento.

Ejercicios

Para profundizar sobre los conocimientos adquiridos sobre Cable Modems:

a. Utilizando alguna herramienta de búsqueda, encuentra 2 proveedores de Internet queutilicen cable modems en casa del cliente.

b. ¿Qué otros servicios, además de Internet, proporcionan estos proveedores de servicio(telefonía, TV,…)?

15

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 78: High School Hker

4.4. Lecturas recomendadas

Cómo funciona el E-mail: http://computer.howstuffworks.com/email.htm

Un IRC FAQ: http://www.irchelp.org/irchelp/new2irc.html

Un FTP FAQ Basico (antiguo, pero extenso): http://www.faqs.org/faqs/ftp-list/faq/

Otro FTP FAQ (también antiguo): http://www.ibiblio.org/pub/Linux/docs/faqs/FTP-FAQ

Un resumen de SMTP (con un enlace al RFC 821, que describe el protocolo):http://www.freesoft.org/CIE/Topics/94.htm

Un resumen complementario de POP3 (con un enlace al RFC 1725): http://www.freesoft.org/CIE/Topics/95.htm

Un resumen sobre Telnet: http://www.dmine.com/bbscorner/telover.htm

Consluta de correo con Telnet: http://wiki.linuxquestions.org/wiki/Retrieving_mail_manually_using_telnet

SSH – una alternativa más segura que Telnet: http://www.openssh.com/

Información básica sobre DNS: http://hotwired.lycos.com/webmonkey/webmonkey/geektalk/97/03/index4a.html

Información más detallada sobre DNS:http://www.microsoft.com/technet/itsolutions/network/deploy/confeat/domain.mspx

Un conjunto de comandos DNS, testeos y búsquedas: http://www.dnsstuff.com/

Un DHCP FAQ detallado: http://www.dhcp-handbook.com/dhcp_faq.html

Un artículo largo sobre DCHP, con información sobre NAT y routers:http://hotwired.lycos.com/webmonkey/00/39/index3a.html?tw=backend

Un resumen sobre Cable Modems: http://electronics.howstuffworks.com/cable-modem.htm

16

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 79: High School Hker

Glosario

Anonymous FTP – Uno de los métodos mediante el cual los ficheros de un ordenador quedandisponibles para que el público general pueda descargarselos.

Cliente – Programa en sel ordenador local que se utiliza para intercambiar datos con unordenador remoto, ver servidor.

DHCP – Dynamic Host Configuration Protocol. Protocolo de configuración dinámica de hostsque permite la configuración de los parámetros de red de las estaciones de forma dinámica.

DNS – Domain Name System. Protocolo que traduce los nombres de dominio de los nodos dered en direcciones IP, y vicecersa.

DSL – Digital Subscriber Line. Línea de abonado digital. Esta tecnología permite transmitir vozy datos a gran velocidad simultáneamente utilizando la línea telefónica tradicional de cobre.

E-mail - Servicio de correo en lnternet, que permite comunicaciones rápidas y sencillas conotro usuario, siempre y cuando, este disponga de otra dirección de e-mail.

FTP – File Transfer Protocol. Protocolo de transferencia de ficheros utilizado para que losordenadores locales puedan intercambiar ficheros con ordenadores remotos.

Hipertexto – Sistema de organización y presentación de datos que permite al usuario moversecon gran facilidad entre ítems relacionados.

IRC - Internet Relay Chat. Sistema de conversación en tiempo real para usuarios de Internet.

IRC-BOT - Robot o programa que se conecta a IRC como cualquier usuario normal.Normalmente se ejecuta desde sistemas que están conectados a Internet las 24 horas del díay con un ancho de banda superior a la de conexión telefónica normal.

ISP – Proveedor de servicios de Internet

Modem – Acrónimo del término MODulador-DEModulador. Dispositivo que transforma lasseñales digitales del ordenador en una señal analógica y viceversa, que le permite alordenador transmitir y recibir información por la línia telefónica.

Página Web – Documento que se visualiza mediante un navegador web. Es de formatohipertexto e incluye textos, gráficos, sonido, vídeo, enlaces a otros textos u otras direccionesde Internet…

POTS – plain old telephone service. Servicio de telefonía básico.

Servidor – Programa en un ordenador remoto que se utiliza para proporcionar datos alordenador local, ver cliente.

Servicios – Los servicios de red permiten a los ordenadores locales intercambiar informacióncon ordenadores remotos.

SSH – Secure Shell. Protocolo diseñado para sustituir servicios remotos poco seguros

Telnet – Protocolo que permite a un usuario local acceder a un ordenador remoto y utilizarsus recursos.

Navegador Web – Programa que permite acceder a servidores web y visualizar las páginasweb alojadas en ellos.

Servidor Web – Ordenador donde están almacenadas las páginas web a visualizar.

World Wide Web – Servicio de transmisión y presentación de documentos hipertexto.

17

LECCIÓN 4 - SERVICIOS Y CONEXIONES

Page 80: High School Hker

LECCIÓN 5IDENTIFICACIÓN DE

SISTEMAS

Page 81: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donacióno una esponsorización.

All works copyright ISECOM, 2004.

2

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 82: High School Hker

Índice“License for Use” Information................................................................................................................ 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................45.1. Introducción......................................................................................................................................55.2. Identificación de un servidor..........................................................................................................6

5.2.1 Identificación del propietario de un dominio........................................................................65.2.2 Identificación de la dirección IP de un dominio...................................................................6

5.3. Identificación de servicios.............................................................................................................. 75.3.1 Ping y Traceroute.......................................................................................................................75.3.2 Obtención del banner..............................................................................................................75.3.3 Identificación de servicios a partir de puertos y protocolos................................................8

5.4. Identificación de un sistema........................................................................................................ 105.4.1 Escaneo de ordenadores remotos........................................................................................10

5.5. Lecturas recomendadas...............................................................................................................13

3

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 83: High School Hker

ContribucionesChuck Truett, ISECOM

Jaume Abella, La Salle URL Barcelona – ISECOM

Guiomar Corral, La Salle URL Barcelona

Pete Herzog, ISECOM

Marta Barceló, ISECOM

Kim Truett, ISECOM

4

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 84: High School Hker

5.1. Introducción

Es obvio que qualquiera que se siente en el teclado de tu ordenador puede obtenerinformación sobre el mismo, incluyendo el sistema operativo y los programas que se estánejecutando, pero también es posible para alguien que utiliza una conexión de red recogerinformación sobre un ordenador remoto. Esta lección describe algunas de las formas en lasque se puede obtener esta información. Saber como se recoge esta información te ayudaráa asegurar que tu ordenador local esté a salvo de estas actividades.

5

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 85: High School Hker

5.2. Identificación de un servidor

Hay un buen número de fuentes útiles en la web que te ayudarán a recoger informaciónsobre nombres de dominio y direcciones IP.

5.2.1 Identificación del propietario de un dominio

El primer paso para identificar un sistema remoto es determinar el nombre de dominio y sudirección IP. Haciendo una búsqueda de Whois (whois lookup), puedes descubrir informaciónvaliosa, incluyendo el propietario del dominio e información de contacto, que puede incluirdirecciones y números de teléfono. Has de saber que ahora hay unos cuantos registradoresde nombres de dominio, y que no todas la bases de datos whois contienen toda lainformación de todos los dominios. Puede que tengas que buscar en más de una base dedatos whois para encontrar la información que estás investigando.

5.2.2 Identificación de la dirección IP de un dominio

Hay unas cuantas formas de determinar la dirección IP de un dominio. La dirección puedeestar contenida en la información de whois o puede que tengas que buscar en un DNS oServidor de Nombres de Dominio. (Hay motores de búsqueda que proporcionan un buennúmero de recursos para el descubrimiento de direcciones IP de nombres de dominio).

Una vez se dispone de la dirección IP, se puede acceder a los registros de diversos miembrosde la Number Resource Organization (http://www.arin.net/ y http://www.ripe.net/), paraobtener información sobre cómo se distribuyen las direcciones IP. Los números IP se asignan alos proveedores de servicios y a las redes en grandes agrupaciones. Conocer en qué grupoestá contenida la dirección IP y quién tiene los derechos de ese grupo puede ser de granayuda. Esto puede ayudarte a determinar información sobre el servidor o el proveedor deservicios que utiliza el servidor web.

Ejercicios:Escoge un nombre de dominio válido (isecom.org) y realiza una búsqueda de whois paraencontrar quién es el propietario de ese dominio (http://www.whois.com -> “isecom.org”+Go-> Whois Lookup). ¿Qué otra información está disponible? ¿Cuando se creó el dominio?¿Cuando expirará? ¿Cuando fue actualizada por última vez?

Encuentra la dirección IP para este nombre de dominio. Utilizando los whois lookups dediversos miembros de la Number Resource Organization, determina a quién se ha asignadoesta dirección IP. (Empieza con la pagina www.arin.net, que también tiene enlaces a otrosmiembros de la NRO -> ripe). ¿Cual es el margen de direcciones IP que también tieneregistrado esta entidad?

6

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 86: High School Hker

5.3. Identificación de servicios

Una vez se ha establecido el propietario y la dirección IP de un dominio, entonces se puedeempezar a buscar información sobre el servidor al que este dominio se refiere.

5.3.1 Ping y Traceroute

Ahora que sabes a quién pertenece el dominio y a quién se ha asignado el número IP,puedes comprobar si el servidor web está actualmente activo. El comando ping te dirá sihay un ordenador o servidor asociado con ese nombre de dominio o IP. El comando

ping dominio oping direcciónip

te dirá si hay un ordenador activo en esa dirección.

Si el resultado del comando ping indica que se están recibiendo los paquetes ping enviados,entonces puedes asumir que el ordenador está activo.

Otro comando, tracert (en Windows) o traceroute (en Linux) muestra los pasos que realiza lainformación a medida que viaja desde tu ordenador al remoto. Trazando la ruta que realizanlos paquetes a veces té ofrecerá información adicional sobre los ordenadores de la reddonde está situado el objetivo de tu traza. Por ejemplo, ordenadores con direcciones IPsimilares muy a menudo formarán parte de la misma red.

Ejercicios:Haz un ping a un website o dirección IP (ping www.isecom.org o ping 216.92.116.13). Siobtienes una respuesta exitosa, haz ping sobre la dirección IP consecutiva (.14). ¿Ha sidopositivo el resultado? ¿A qué dominio pertenece esta nueva dirección IP?

Utiliza tracert o traceroute para trazar la ruta desde tu ordenador local hasta la IP que hasutilizado en el ejercicio previo. ¿Cuántos pasos se necesitan? ¿Alguno de los ordenadoreslistados tiene direcciones IP similares?

5.3.2 Obtención del banner

El próximo paso para identificar al sistema remoto es intentar conectarse utilizando telnet oFTP. El servidor programa para estos servicios mensajes de texto de bienvenida llamadosbanners. Un banner puede mostrar claramente y con precisión qué programa se estáejecutando para este servicio. Por ejemplo, cuando te conectas a un servidor FTP anónimo,podrías obtener el mensaje siguiente:

Connected to anon.server.220 ProFTPD Server (Welcome . . . )User (anon.server:(none)):

7

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 87: High School Hker

El número 220 es un código para FTP que indica que el servidor esta preparado para recibirun nuevo usuario y el mensaje de texto ProFTP Server identifica el programa FTP que se estáejecutando en el ordenador remoto. Utilizando un motor de búsqueda, puedes aprenderqué sistema operativo utiliza y otros detalles sobre sus requerimientos, capacidades,limitaciones y defectos.

El principal defecto en el uso de esta técnica de obtención de banners sobre un sistema esque los administradores de sistemas inteligentes pueden poner banners engañosos. Unbanner que muestre “Estonoesasuntotuyo” no puede ser obviamente confundido, pero unsistema Unix con un banner que muestra “WS_FTP Server” (FTP Server basado en Windows) vaa complicar mucho cualquier intento de obtención de datos que se intente.

5.3.3 Identificación de servicios a partir de puertos y protocolos

También se puede determinar qué programas están funcionando en un sistema mirando quépuertos (TCP y UDP) están abiertos y qué protocolos los utilizan.

Puedes empezar mirando tu propio ordenador. Abre un shell MS-DOS o linea de comandos(Windows: ejecutar -> cmd) y ejecuta el programa netstat usando el sufijo –a (o todos):

netstat -a

El ordenador mostrará la lista de puertos abiertos y algunos de los servicios que utilizan estospuertos.

Active ConnectionsProto Local Address Foreign Address StateTCP YourComputer:microsoft-ds YourComputer:0 LISTENINGTCP YourComputer:1025 YourComputer:0 LISTENINGTCP YourComputer:1030 YourComputer:0 LISTENINGTCP YourComputer:5000 YourComputer:0 LISTENINGTCP YourComputer:netbios-ssn YourComputer:0 LISTENINGTCP YourComputer:1110 216.239.57.147:http TIME_WAITUDP YourComputer:microsoft-ds *:*UDP YourComputer:isakmp *:*UDP YourComputer:1027 *:*UDP YourComputer:1034 *:*UDP YourComputer:1036 *:*UDP YourComputer:ntp *:*UDP YourComputer:netbios-ns *:*UDP YourComputer:netbios-dgm *:*

8

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 88: High School Hker

A partir de aquí puedes ver muchos de los programas que se están ejecutando en tuordenador local, muchos de los cuales ni siquiera sabes que están funcionando.

Otro programa, llamado fport, proporciona información similar a la de netstat, pero detalla,además, qué programas están utilizando estos puertos y protocolos. (fport está disponiblegratuitamente en www.foundstone.com).Otro programa, llamado nmap (proviene de network mapper), analizará másconcienzudamente los puertos abiertos de tu ordenador. Cuando nmap se ejecuta, muestrauna lista de puertos abiertos y los servicios o protocolos que utilizan estos puertos. Tambiénpuede ser capaz de determinar que sistema operativo está usando un ordenador. Porejemplo, si se ejecuta nmap en tu ordenador local, podrías observar el siguiente resultado:

Por State Service22/tcp open ssh68/tcp open dhcpclient139/tcp open netbios-ssn445/tcp open microsoft-dsDevice type: general purposeRunning: Linux 2.4X|2.5.XOS details: Linux Kernel 2.4.0 – 2.5.20Uptime 1.024 days (since Sat Jul 4 12:15:48 2004)

Nmap está disponible para descargar en www.insecure.org.

Ejercicios

Ejecuta netstat en tu ordenador local, utilizando el sufijo –a.

netstat -a

¿Qué puertos están abiertos? Utilizando un motor de búsqueda web (www.google.com)¿Puedes encontrar a qué servicios pertenecen estos puertos? (este sería un buen ejerciciopara realizar en casa para comprobar si se están ejecutando servicios innecesarios opotencialmente peligrosos, como FTP o Telnet).

Ejecuta nmap utilizando los sufijos –sS (para escaneo SYN Stealth) i –O (para que intenteadivinar el sistema operativo) con la dirección IP 127.0.0.1 como objetivo del escaneo.

nmap -sS -O 127.0.0.1

La dirección IP 127.0.0.1 especifica el host local (o ordenador local). (Nota: esta dirección esdiferente de la que utilizan otros ordenadores en Internet para conectarse contigo; encualquier máquina la dirección IP 127.0.0.1 se refiere siempre al ordenador local). ¿Quépuertos abiertos encuentra nmap?¿Qué servicios y programas utilizan estos puertos? Intentaejecutar nmap mientras tienes abierta una página web de Internet o un cliente de Telnet.¿Cambia esto los resultados?

9

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 89: High School Hker

5.4. Identificación de un sistema

Ahora que sabes cómo identificar un servidor, cómo escanear los puertos abiertos y utilizaresta información para determinar qué servicios se estan ejecutando, puedes poner estainformación junta para identificar (fingerprint) un sistema remoto, estableciendo cual debeser el sistema operativo y qué servicios están ejecutándose en ese ordenador remoto.

5.4.1 Escaneo de ordenadores remotos

Utilizar una dirección IP o un nombre de dominio que no sea 127.0.0.1 como argumento para nmap permite escanear puertos abiertos de ordenadores remotos. Esto no quiere decir quehaya puertos abiertos o que los encuentres, pero permite buscarlos.

Por ejemplo, imagina que has estado recibiendo una gran cantidad de e-mails de spam yquieres descubrir información sobre la persona que los está enviando. Mirando las cabecerasde cualquiera de estos e-mails, puedes ver que muchos de estos e-mails se han originadodesde la misma dirección IP: 256.92.116.13 (ver “Lección 9: Seguridad del e-mail” para vermás detalles al respecto).

Un whois lookup muestra que la dirección forma parte de un bloque asignado a un gran ISP,pero no te da información sobre esta dirección en particular.

Si utilizas nmap para escanear el ordenador de esa dirección, podrías obtener los siguientesresultados.

nmap -sS -O 256.92.116.13

Starting nmap 3.50 ( http://www.insecure.org/nmap ) at 2004-07-03 20:13Eastern Daylight TimeInteresting ports on 256.92.116.13:(The 1632 ports scanned but not shown below are in state: closed)PORT STATE SERVICE21/tcp open ftp22/tcp open ssh23/tcp open telnet25/tcp open smtp80/tcp open http110/tcp open pop3113/tcp open auth135/tcp filtered msrpc136/tcp filtered profile137/tcp filtered netbios-ns

10

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 90: High School Hker

138/tcp filtered netbios-dgm139/tcp filtered netbios-ssn143/tcp open imap144/tcp open news161/tcp filtered snmp306/tcp open unknown443/tcp open https445/tcp filtered microsoft-ds513/tcp open login514/tcp open shellNo exact OS matches for host (If you know what OS is running on it, seehttp://www.insecure.org/cgi-bin/nmap-submit.cgi).TCP/IP fingerprint:SInfo(V=3.50%P=i686-pc-windows-windows%D=7/3%Time=40E74EC0%O=21%C=1)TSeq(Class=TR%IPID=RD%TS=1000HZ)T1(Resp=Y%DF=Y%W=FFFF%ACK=S++%Flags=AS%Ops=MNWNNT)T2(Resp=N)T3(Resp=N)T4(Resp=N)T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)T6(Resp=N)T7(Resp=N)

Uptime 1.877 days (since Thu Jul 01 23:23:56 2004)

Nmap run completed -- 1 IP address (1 host up) scanned in 775.578 seconds

Los puertos marcados como filtered son conocidos como vulnerables a ser atacados, por loque no es una sorpresa encontrarlos listados como filtrados. Lo más interesante es que lospuertos 21, 22 y 23 –por FTP, SSH y Telnet- están listados como abiertos.

La última cosa que hace nmap es intentar identificar el sistema operativo que se estáejecutando en el ordenador escaneado. En este caso, las pruebas que ha realizado nmapno son concluyentes al respecto (“no exact OS matches”), aunque como nmap muestra quelos puertos de FTP y Telnet están abiertos, puedes intentar conectarte a través de cada unode estos puertos para ver si devuelve un banner.

Cuando te conectas a través de FTP podrías ver un banner como el siguiente:

220 ftp316.pair.com NcFTPd Server (licensed copy) ready.

Cuando te conectas a través de Telnet podrías ver un banner como el siguiente:

11

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 91: High School Hker

FreeBSD/i386 (ttyp7)

Una búsqueda rápida vía web (www.google.com) muestra que NcFTPd es un programa deUnix y que FreeBSD es un tipo de sistema operativo basado en Unix, así que es probable queel servidor este ejecutando alguna versión del sistema operativo FreeBSD. No se puede estarcompletamente seguro (se pueden modificar estos banners), pero es aceptable pensar quees una pista admisible.

Así pues, utilizando nmap, conjuntamente con FTP y Telnet, has determinado que el servidorque ha estado enviando e-mails de spams utiliza un sistema operativo basado en Unix –probablemente FreeBSD- y está configurado para enviar y recibir una gran cantidad deinformación a través de múltiples servicios, incluyendo FTP, Telnet, http, SMTP y POP3.

12

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 92: High School Hker

5.5. Lecturas recomendadasNmap: http://www.insecure.org/nmap/

Más sobre Nmap: http://www.networkmagazine.com/shared/article/showArticle.jhtml?articleId=8702942&classroom

Fport:http://www.foundstone.com/index.htm?subnav=resources/navigation.htm&subcontent=/resources/proddesc/fport.htm

Sitios web detallando puertos y los servicios que los utilizan: http://www.chebucto.ns.ca/~rakerman/port-table.htmlhttp://www.chebucto.ns.ca/~rakerman/port-table.html#IANAhttp://www.iana.org/assignments/port-numbershttp://www.networksorcery.com/enp/protocol/ip/ports00000.htm

Diversos DNS lookups: http://www.dnsstuff.com/

Ping: http://www.freesoft.org/CIE/Topics/53.htm

13

LECCIÓN 5 – IDENTIFICACIÓN DE SISTEMAS

Page 93: High School Hker

LECCIÓN 6MALWARE

Page 94: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto. Elproyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a patrocinarlo a través de la compra de una licencia, una donación oun patrocinio.

Todos los Derechos Reservados ISECOM, 2004.

2

LECCIÓN 6 – MALWARE

Page 95: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................46.0 Introducción.......................................................................................................................................56.1 Virus ....................................................................................................................................................6

6.1.1 Introducción...............................................................................................................................66.1.2 Descripción.................................................................................................................................6

6.1.2.1 Virus de Sector de Arranque (Boot Sector Viruses).......................................................66.1.2.2 Virus de Archivos Ejecutables..........................................................................................66.1.2.3 Virus Residentes en Memoria (Terminate and Stay Resident - TSR)............................ 76.1.2.4 Virus Polimórfico................................................................................................................ 76.1.2.5 Virus de Macro..................................................................................................................7

6.2 Gusanos..............................................................................................................................................86.2.1 Introducción...............................................................................................................................86.2.2 Descripción.................................................................................................................................8

6.3 Troyanos y Spyware...........................................................................................................................86.3.1 Introducción...............................................................................................................................86.3.2 Descripción.................................................................................................................................8

6.4 Rootkits y Backdoors.........................................................................................................................96.4.1 Introducción...............................................................................................................................96.4.2 Descripción.................................................................................................................................9

6.5 Bombas Lógicas y Bombas de Tiempo........................................................................................ 106.5.1 Introducción.............................................................................................................................106.5.2 Descripción...............................................................................................................................10

6.6 Contramedidas...............................................................................................................................106.6.1 Introducción.............................................................................................................................106.6.2 Anti-Virus....................................................................................................................................116.6.3 NIDS (Sistemas de detección de intrusiones de red).......................................................... 116.6.4 HIDS (Sistemas de detección de intrusiones de host).........................................................116.6.5 Firewalls (Cortafuegos)............................................................................................................116.6.6 Sandboxes (Cajas de arena).................................................................................................11

6.7 Sanos Consejos de Seguridad.......................................................................................................12Más Información................................................................................................................................... 13

3

LECCIÓN 6 – MALWARE

Page 96: High School Hker

ContribucionesSimon Biles, Computer Security Online Ltd.

Kim Truett, ISECOM

Pete Herzog, ISECOM

Marta Barceló, ISECOM

Frank Craig, RAN Ingeniería de Sistemas SRL

Jaume Abella, La Salle URL - ISECOM

4

LECCIÓN 6 – MALWARE

Page 97: High School Hker

SSON 6 – MALWARE

6.0 Introducción“Malware” son aquellos programas o partes de ellos que tienen un efecto malicioso en laseguridad de tu ordenador. Este término engloba muchas definiciones las cuales de seguroya has oído hablar como “Virus”, “Worm (gusano)” y “Trojan (troyano)” y otras de las queposiblemente no hayas oído hablar como “Rootkit”, “Logicbomb (bomba lógica)” y“Spyware”. Este capítulo presentará, definirá y explicará cada una de estas subclases demalware, brindará ejemplos y explicará algunas de las contramedidas que pueden serpuestas en práctica para restringir los problemas que causa el malware.

5

LECCIÓN 6 – MALWARE

Page 98: High School Hker

6.1 Virus

6.1.1 IntroducciónVirus – este es el tipo de malware del cual la gente está más concienzada. La razón de quese conozca como “virus” es solamente histórica. Al mismo tiempo que se dio a conocer laaparición del primer virus informático los medios publicaban artículos acerca de ladistribución del virus del SIDA. Los paralelismos que se daban entre ambos, la propagacióndebido a la interacción con un medio infectado, la dependencia de un medio transmisor yla eventual “muerte” de todo anfitrión infectado fomentaron esta definición. Este paralelismohizo creer, y aún lo hace, que la gente podría llegar a infectarse con un virus informático.

6.1.2 DescripciónLos virus son programas auto replicantes que al igual que un virus biológico se adjuntan aotro programa, o en el caso de virus “macro” se adjuntan a otro archivo. El virus se ejecutasolamente cuando se ejecuta el programa o se abre el archivo infectado. Esto es lo quediferencia a los virus de los gusanos: si no se accede al programa o archivo entonces el virusno se ejecutará y por lo tanto no se replicará.

Existen distintos tipos de virus aunque la forma más común de encontrarlos hoy en día es enel formato “virus macro”, mientras otros como los virus de sector de arranque (boot sector)sólo se encuentran en “cautividad”.

6.1.2.1 Virus de Sector de Arranque (Boot Sector Viruses)El virus de sector de arranque fue el primer virus en ser creado. Se esconde en el códigoejecutable del sector de arranque de los discos de arranque, lo que significaba que parainfectar un ordenador había que iniciarlo desde un diskette de arranque infectado. Hacemucho tiempo atrás (15 años aproximadamente) iniciar el ordenador desde un diskette dearranque era algo bastante usual, lo que significó que los virus se distribuían rápidamente,antes de que la gente se diera cuenta de lo que estaba ocurriendo. Este tipo de virus (ytambién los demás) deben dejar una marca digital para evitar que se infecte repetidamenteel mismo objetivo. Es esta firma la que permite que ciertos programas (como por ejemplo losantivirus) detecten la infección.

6.1.2.2 Virus de Archivos EjecutablesEl virus de Archivos Ejecutables se adjunta a archivos del tipo .exe o .com. Algunos virusbuscaban programas que formaran parte específicamente del sistema operativo y por ellose ejecutaban cada vez que se encendía el ordenador, aumentando así sus posibilidades deuna exitosa propagación del virus. Existían unas cuantas maneras de adjuntar un virus a unarchivo ejecutable, aunque algunas funcionaban mejor que otras. El método más simple ymenos sutil era la de sobrescribir la primer parte del archivo con código de virus, lo quesignificaba que el virus se ejecutaba pero el resto del programa no funcionabacorrectamente. Esto era una clara señal que había una infección – especialmente si elprograma era una parte esencial del sistema operativo.

6

LECCIÓN 6 – MALWARE

Page 99: High School Hker

6.1.2.3 Virus Residentes en Memoria (Terminate and Stay Resident - TSR)La sigla TSR viene del DOS y significa que un programa se carga en memoria y quedaresidente en segundo plano permitiendo al ordenador trabajar en primer plano de maneranormal. Estos virus más avanzados podían interceptar llamadas al sistema operativo (systemcalls) que podrían exponer su existencia y respondían con respuestas falsas, evitando de estamanera su descubrimiento y/o limpieza. Otros se adjuntaban al comando ‘dir’ e infectabantodas las aplicaciones listadas en el directorio. Algunos hasta detenían (o borraban) losprogramas anti-virus.

6.1.2.4 Virus PolimórficoLos primeros virus eran bastante fáciles de detectar ya que poseían una cierta firma digitaldentro de ellos para evitar una re-infección o simplemente porque poseían una estructuraespecífica que permitía su detección. Luego aparecieron los virus polimórficos. Poli (muchas)Mórficos (formas). Estos virus se modificaban cada vez que se replicaban, reordenando sucódigo, cambiando de encriptación, generando un nuevo código que parecía totalmentedistinto al original.

Esto creó un gran problema ya que las firmas a detectar eran cada vez más pequeñas y losmás avanzados solo se detectaban mediante algoritmos que comparaban combinaciones.Esto se acentuó por la aparición de kits de generación de virus polimórficos que sedistribuyeron en la comunidad de autores de virus que permitían generar cualquier viruscomo polimórfico.

6.1.2.5 Virus de MacroLos virus de Macro hacen uso de la habilidad de muchos programas de ejecutar código. Losprogramas como Word y Excel poseen versiones de lenguaje de programación Visual Basiclimitados en funciones pero muy poderosos. Esto permite la automatización de tareasrepetitivas y la configuración automática de ciertos parámetros. Estos lenguajes de macrosse utilizan maliciosamente para adosar código viral a los documentos los cuales copiarán elcódigo viral a otros documentos, lo que resulta en una propagación del virus. AunqueMicrosoft ha desactivado esa propiedad en las nuevas versiones, Outlook (el programa decorreo) ejecutaba cierto tipo de código adosado a los mensajes de correo de maneraautomática apenas eran abiertos. Eso significaba que los virus se propagaban rápidamenteenviándose a toda la lista de direcciones de correo que había en el ordenador infectado.Esto ya ha sido solucionado en las últimas versiones del producto.

Ejercicios:

1) Utilizando Internet intenta encontrar un ejemplo de cada tipo de virus definidopreviamente.

2) Investiga el virus Klez :

- ¿cual es su “carga destructiva” (payload)?

- el virus Klez es muy conocido por su técnica de SPOOFING. ¿Qué es SPOOFING y como esutilizado por el virus Eles?

- acabas de enterarte que tu ordenador está infectado con el virus Klez. Investiga comoeliminar el virus.

7

LECCIÓN 6 – MALWARE

Page 100: High School Hker

3) Acabas de recibir un mensaje de correo con el asunto “Warning about your emailaccount” (advertencia acerca de tu cuenta de correo). El cuerpo del mensaje explicaque tu uso indebido del correo electrónico resultará en la pérdida de tus privilegios deInternet y que deberías ver el archivo adjunto para más información. Pero que a ti teconste tú no has hecho nada raro con el correo electrónico. ¿Sospechas? Deberías.Investiga esta información y determina que virus se encuentra adjunto al mensaje.

6.2 Gusanos

6.2.1 IntroducciónLos Gusanos son antecesores a los Virus. El primer gusano fue creado muchos años antes delprimer virus. Este gusano hacía un uso indebido del comando finger de UNIX pararápidamente detener el acceso a Internet (que era sustancialmente menor en esos días). Lasiguiente sección trata el tema de los gusanos.

6.2.2 DescripciónUn gusano es un programa que una vez ejecutado se replica sin necesidad de laintervención humana. Se propagará de anfitrión en anfitrión haciendo uso indebido de unservicio(s) desprotegido(s). Atravesará la red sin la necesidad de que un usuario envíe unarchivo o correo infectado. Debes tener en cuenta que la mayoría de los sucesos que hanaparecido en los medios últimamente se deben a gusanos y no a virus.

Ejercicios:

1) Utilizando Internet, intenta encontrar información del primer gusano que se haya creado.

2) Averigua cual es la vulnerabilidad que utilizan el gusano Code Red y Nimda parapropagarse.

6.3 Troyanos y Spyware

6.3.1 IntroducciónEl primer Caballo de Troya fue creado por los Griegos hace miles de años (piensa en lapelícula Troya si la has visto). El concepto básico es que dentro de un sistema que pareceseguro se introduce algo malicioso pero disfrazado como sano. Este disfraz podrá ser desde elanticipo de un juego bajado de Internet hasta un mensaje de correo electrónicoprometiendo imágenes pornográficas de tu celebridad preferida. Esta sección cubre endetalle los troyanos y el spyware.

6.3.2 DescripciónLos Troyanos son códigos maliciosos que intentan mostrarse como algo útil o apetecible paraque uno lo ejecute. Una vez ejecutados intentarán instalar un backdoor o rootkit (ver sección

8

LECCIÓN 6 – MALWARE

Page 101: High School Hker

6.4), o aún peor, intentarán marcar un número de teléfono de acceso a Internet de altocoste, lo que te costará mucho dinero.

Spyware es código que se instala clandestinamente casi siempre de sitios de Internet que túpuedas visitar. Una vez instalado buscará en tu ordenador información que considere devalor. Esto podrán ser o estadísticas de tu utilización de Internet o hasta tu número de tarjetade crédito. Algunas versiones de Spyware inadvertidamente se dan a conocer porquehacen aparecer avisos en tu escritorio de manera irritante.

Ejercicios:

1) Mediante Internet encuentra un ejemplo de troyanos y spyware.

6.4 Rootkits y Backdoors

6.4.1 IntroducciónA menudo cuando un ordenador ha sido vulnerado por un hacker, él mismo intentará instalarun método para poder accederlo fácilmente a voluntad. Existen muchas variaciones deestos programas algunos de los cuales se han vuelto bastante famosos – ¡busca en Internet“Back Orifice” !

6.4.2 DescripciónRootkits y backdoors son códigos maliciosos que elaboran metodologías para permitir elacceso a un ordenador. Van desde los más simples (un programa escuchando en un puertodeterminado) hasta los más complejos (un programa que esconderá sus procesos enmemoria, modificará los archivos de registros y escuchará en un puerto). A menudo unbackdoor será tan simple como crear un usuario que tiene privilegios de super-usuario con laesperanza de que no se note. Esto se debe porque un backdoor está diseñado para evitar elcontrol normal de autenticación de un sistema. Tanto el virus Sobig como el virus MyDoominstalan backdoors como parte de su carga destructiva.

Ejercicios:

1) Encuentra en Internet ejemplos de rootkits y backdoors.

2) Investiga acerca de “Back Orifice” y compara sus funcionalidades con las de losprogramas de acceso remoto promocionados por Microsoft.

9

LECCIÓN 6 – MALWARE

Page 102: High School Hker

6.5 Bombas Lógicas y Bombas de Tiempo

6.5.1 IntroducciónAlgunos programadores o administradores de sistemas pueden ser bastante peculiares. Se hasabido de ciertos sistemas donde se han ejecutado algunos comandos en base a laocurrencia de ciertas condiciones específicas. Por ejemplo: se puede crear un programadonde si el administrador no entra en el sistema en tres semanas él mismo empezará a borrarbits al azar del disco. En el año 1992 se dio un caso que cobró notoriedad en la compañíaGeneral Dynamics que involucró a un programador. El programador creó una bomba lógicaque se activaría una vez que se fuera y que borraría información crítica. Él esperaba que lacompañía le pagara una buena suma para volver y arreglar el problema. Sin embargo otroprogramador descubrió la bomba lógica antes que explotara y el programador maliciosofue sentenciado y multado con 5.000 US$. Aparentemente el juez fue benevolente ya que loscargos por los que fue sentenciado podían tener una sentencia de prisión y hasta 500.000US$ de multa.

6.5.2 DescripciónLas Bombas lógicas y bombas de tiempo son programas que no poseen rutinas dereplicación y no pueden crear accesos remotos, pero son o forman parte de aplicacionesque causarán daño o modificaciones a los datos si son activados. Pueden ser entesindividuales o formar parte de gusanos o virus. Las bombas de tiempo están programadaspara liberar su carga destructiva en un momento determinado. Las bombas lógicas estánprogramadas para liberar su carga destructiva cuando ocurren determinados eventos. Elprincipio de una bomba de tiempo también se puede aplicar en programaciones nomaliciosas. Por ejemplo el concepto de bomba de tiempo nos permite evaluar un programapor un período de tiempo, normalmente treinta días, después del cual el programa cesa defuncionar. Este es un ejemplo de programación no maliciosa que involucra el concepto debomba de tiempo.

Ejercicios:

1) ¿Que otros usos razonables (y legales) pueden darse a los conceptos de bomba detiempo y bomba lógica?

2) Piensa como puedes detectar un programa de este tipo en tu ordenador.

6.6 Contramedidas

6.6.1 IntroducciónExisten muchos métodos por los cuales se puede detectar, eliminar y prevenir el malware.Algunos métodos no son más que sentido común mientras otros involucran cierta tecnología.La siguiente sección resalta algunos de estos métodos e incluye una breve explicación ybrinda ejemplos.

10

LECCIÓN 6 – MALWARE

Page 103: High School Hker

6.6.2 Anti-VirusEl software anti-virus está disponible en varias versiones comerciales y también en OpenSource. Todas funcionan con la misma metodología. Poseen una base de datos de las firmasde los virus y las comparan con los archivos del sistema para ver si existe alguna infección. Amenudo con los virus actuales las firmas son muy pequeñas y pueden dar falsos positivos, esdecir, detecciones que aparentan ser virus y no lo son. Algunos programas anti-virus utilizanuna técnica conocida como “heurística”, que significa que en base al concepto de quéforma debiera tener un virus pueden determinar si un programa desconocido se adecua aeste concepto. Recientemente los anti-virus han cruzado el umbral de los sistemas deprevención de intrusiones de host, verificando que no se produzcan anomalías en elfuncionamiento de los programas estándar.

6.6.3 NIDS (Sistemas de detección de intrusiones de red)Los sistemas de detección de intrusiones de red son similares a los anti-virus pero aplicado altráfico de la red. Buscan en el tráfico de red firmas o comportamientos debidos a un virus ogusano. Pueden alertar al usuario atacado o detener el tráfico de red que intenta distribuir elmalware.

6.6.4 HIDS (Sistemas de detección de intrusiones de host)Los sistemas de detección de intrusión de host, tal como Tripwire, son capaces de detectarcambios realizados sobre archivos en un servidor. Es razonable esperar que un archivo unavez compilado no necesite ser modificado. Luego, mediante el control de sus características,tales como tamaño, fecha de creación y control de integridad pueden detectarinmediatamente si ha ocurrido algo irregular.

6.6.5 Firewalls (Cortafuegos)Los gusanos se propagan por la red conectándose a servicios vulnerables en cada sistema.Además de asegurarte que estos servicios vulnerables no se estén ejecutando en tuordenador el siguiente paso es verificar que tu firewall no permita conexiones a estosservicios. Muchos firewalls modernos realizan algún tipo de filtrado de paquetes similar a unNIDS lo cual frenará los paquetes que coincidan con ciertas firmas. (Analizaremos los firewallscon más detalle en la sección 7.1.2).

6.6.6 Sandboxes (Cajas de arena)El concepto de sandboxes es simple: una aplicación o programa tiene su propio entornopara ejecutarse y no puede afectar al resto del sistema. Este concepto se implementa comoestándar en el lenguaje de programación Java y también puede implementarse a través deotras utilidades como chroot en Linux. Esto restringe el daño que un malware puedaocasionarle al sistema operativo anfitrión simplemente restringiéndole los accesos requeridos.Otra opción es la de crear un ordenador virtual completo mediante un producto comoVMWare. Esto aísla al ordenador virtual del sistema anfitrión limitando el acceso del mismosegún lo haya configurado el usuario.

Ejemplo – http://www.vmware.com – VMWare virtual machines

11

LECCIÓN 6 – MALWARE

Page 104: High School Hker

Ejercicios:

1. El juego de las coincidencias: investiga cada una de las siguientes referencias y asocia eltipo de contramedida que le corresponda:

1. http://www.vmware.com a. NIDS

2. http://www.tripwire.org b. Antivirus

3. http://www.snort.org c. Firewalls

4. http://www.checkpoint.com d. Sandboxes

5. http://www.sophos.com e. HIDS

2. Investiga “Spybot Search and Destroy” y determina de que tipo de malware protege.

3. Averigua como funcionan los NIDS y HIDS.

4. Analiza las soluciones de Firewalls en la red.

5. Busca “chroot” en Internet e infórmate acerca de este tipo de “cárcel” o “caja de arena”.LESSON 6 – MALWARE

6.7 Sanos Consejos de SeguridadExisten varios procedimientos simples que minimizarán tu exposición al Malware.

Descarga información únicamente de sitios confiables (esto significa no W4R3Z, porfavor)

No abras nunca ficheros anexados de un e-mail de gente que no conozcas.

No dejes las macros activadas por defecto en tus aplicaciones.

Mantén tu sistema operativo y aplicaciones actualizadas con las últimas versiones.

Si descargas o instalas software acompañado de un checksum – comprueba dichochecksum.

LESSON 6 – MALWARE

12

LECCIÓN 6 – MALWARE

Page 105: High School Hker

Más InformaciónSitios de proveedores de Anti-Virus

http://www.sophos.com

http://www.symantec.com

http://www.fsecure.com

http://www.mcafee.com

Todos estos sitios poseen bases de datos donde enumeran las propiedades de troyanos, virusy otros malware. También hay descripciones de sus funcionamientos

http://www.cess.org/adware.htm

http://www.microsoft.com/technet/security/topics/virus/malware.mspx

http://www.zeltser.com/sans/gcih-practical/revmalw.html

http://www.securityfocus.com/infocus/1666

http://www.spywareguide.com/

http://www.brettglass.com/spam/paper.html

http://www.lavasoft.nu/ - AdAware Cleaning Software (Freeware Version)

http://www.claymania.com/removal-tools-vendors.html

http://www.io.com/~cwagner/spyware.html

http://www.bo2k.com/

http://www.sans.org/rr/catindex.php?cat_id=36

13

LECCIÓN 6 – MALWARE

Page 106: High School Hker

LECCIÓN 7ATTACK ANALYSIS

Page 107: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto. Elproyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a patrocinarlo a través de la compra de una licencia, una donación oun patrocinio.

Todos los Derechos Reservados ISECOM, 2004.

2

LECCIÓN 7 – ATTACK ANALYSIS

Page 108: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................47.0 Introducción.......................................................................................................................................57.1 Netstat y Cortafuegos –firewall - de aplicaciones de hospedaje..............................................5

7.1.1 Netstat.........................................................................................................................................57.1.2 Cortafuegos (Firewalls)..............................................................................................................67.1.3 Ejercicios......................................................................................................................................7

7.2 Analizadores de paquetes...............................................................................................................87.2.1 Analizando..................................................................................................................................87.2.2 Decodificando el tráfico de red............................................................................................107.2.3 Analizando otras computadoras...........................................................................................127.2.4 Sistemas de Detección de Intrusos –IDS por sus siglas en inglés........................................127.2.5 Ejercicios....................................................................................................................................12

7.3 Redes y Sistemas Tipo Señuelo (Honeypots y Honeynets)......................................................... 137.3.1 Tipos de Sistemas Tipo Señuelo.............................................................................................. 137.3.2 Construyendo un Sistema Tipo Señuelo................................................................................147.3.3 Ejercicios....................................................................................................................................15

Lecturas Recomendadas.....................................................................................................................16

3

LECCIÓN 7 – ATTACK ANALYSIS

Page 109: High School Hker

ContribucionesPete Herzog, ISECOM

Chuck Truett, ISECOM

Marta Barceló, ISECOM

Kim Truett, ISECOM

Rafael Acosta Serrano, T&E Solutions

José María Fernández Ardavín, T&E Solutions

Jaume Abella, La Salle, URL - ISECOM

4

LECCIÓN 7 – ATTACK ANALYSIS

Page 110: High School Hker

7.0 IntroducciónExisten muchos programas dentro de tu computadora que intentan abrir conexiones de red.Algunos de estos programas tienen razones válidas para hacerlo (tu explorador de Internetno funcionaría muy bien sin una conexión de red), pero otros son escritos por personas conmotivos que van desde lo cuestionable hasta lo criminal. Si deseas proteger tu computadoranecesitas aprender a como detectar accesos a la red e identificar el origen del acceso y elmotivo de éste. No todo intento de acceso a la red es un ataque, pero si no sabesdiferenciar a un amigo de un desconocido podrías fácilmente dejar la puerta abierta.

7.1 Netstat y Cortafuegos –firewall - de aplicacionesde hospedajePara poder identificar un ataque necesitas conocer qué aplicaciones y qué procesos corrennormalmente en tu computadora. Con sólo mirar en un ambiente gráfico como Windows oLinux no es posible conocer que procesos corren debajo de la superficie. Puedes utilizarNetstat y un Cortafuegos para ayudarte a identificar aquellos programas que puedanpermitírseles conectar a la red.

7.1.1 NetstatEl comando “netstat” muestra el estado de las conexiones de red. Netstat puedeproporcionarte información sobre qué puertos están abiertos y qué direcciones IP los estánutilizando, qué puertos están siendo utilizados por un protocolo en particular, el estado de unpuerto, e información acerca de los procesos o programas que utilizan dicho puerto.

Escribe sobre la línea de comando:

netstat –aon (para Windows) ó

netstat –apn (para Linux)

netstat desplegará información similar a ésta:

Active Connections Proto Local Address Foreign Address State PID TCP 0.0.0.0:1134 0.0.0.0:0 LISTENING 3400 TCP 0.0.0.0:1243 0.0.0.0:0 LISTENING 3400 TCP 0.0.0.0:1252 0.0.0.0:0 LISTENING 2740 TCP 257.35.7.128:1243 64.257.167.99:80 ESTABLISHED 3400 TCP 257.35.7.128:1258 63.147.257.37:6667 ESTABLISHED 3838 TCP 127.0.0.1:1542 0.0.0.0:0 LISTENING 1516 TCP 127.0.0.1:1133 127.0.0.1:1134 ESTABLISHED 3400 TCP 127.0.0.1:1134 127.0.0.1:1133 ESTABLISHED 3400 TCP 127.0.0.1:1251 127.0.0.1:1252 ESTABLISHED 2740 TCP 127.0.0.1:1252 127.0.0.1:1251 ESTABLISHED 2740

5

LECCIÓN 7 – ATTACK ANALYSIS

Page 111: High School Hker

Ahora necesitas relacionar el número en la columna “PID” - indicador del proceso - con losnombres de los procesos que están corriendo. En Windows, debes abrir el Administrador deTareas presionando las teclas CTRL+ALT+DEL de manera simultánea (si no se muestra lacolumna PID da un click sobre Ver, Seleccionar Columnas y selecciona PID.) En Linux ve alintérprete de comandos y escribe “ps auxf” para ver el estado del procesador.

En el caso de nuestro ejemplo de resultados, listados en la figura anterior, encontramos queel PID 3400 corresponde a nuestro explorador de Internet y el PID 2740 corresponde a nuestrocliente de correo. Ambos sabemos que están siendo ejecutados y que tienen una razónválida para establecer una conexión a Internet. Sin embargo, el PID 3838 corresponde a unprograma llamado 6r1n.exe, y el PID 1516 corresponde a un programa llamado buscanv.execon los cuales no estamos familiarizados.

Sin embargo, no por el hecho de que no reconozcas el nombre de un programa no quieredecir que no tenga una razón válida para estarse ejecutando en el sistema. El siguiente pasoserá averiguar en Internet en cualquier máquina de búsqueda qué hacen estos programas.

En nuestra búsqueda descubrimos que “buscanv.exe” debe estar corriendo para elfuncionamiento de nuestro programa de antivirus. Por otra parte encontramos que“6r1n.exe” puede ser un troyano. Viendo otra vez la lista de resultados del netstat, podemosver que el puerto asociado con el programa “6r1n.exe” es el 6667, el cual es un puerto IRCcomúnmente utilizado por troyanos para tener acceso remoto. En este punto,comenzaremos la investigación de métodos para remover el troyano.

7.1.2 Cortafuegos (Firewalls)

Ahora, te puedes sentar en tu computadora y correr el comando netstat una y otra, y otra, yotra vez para mantener una vigilancia constante de los datos que entran y salen de tucomputadora, o puedes utilizar un cortafuego para que lo haga por ti.

Un cortafuego monitorea el tráfico de la red en tu computadora y utiliza un número de reglaso filtros para determinar si un programa tiene o no permiso para acceder a la red. Uncortafuego puede filtrar los datos de acuerdo a la dirección IP y los nombres de dominio,puertos y protocolos, o incluso datos transmitidos. Esto significa que puedes hacer cosascomo:

Bloquear o permitir toda información proveniente de una dirección IP específica

Bloquear o permitir toda información proveniente de un dominio específico

Cerrar o abrir puertos específicos

Bloquear o permitir ciertos protocolos

Bloquear o permitir paquetes de datos con alguna cadena de datos específica.

También puedes combinar esta serie de reglas para un control más cuidadoso de los datosque son permitidos a través de la red. Por ejemplo, tú puedes:

6

LECCIÓN 7 – ATTACK ANALYSIS

Page 112: High School Hker

Permitir datos que provengan de www.ibiblio.com a través de los puertos 20 o 21solamente.

Permitir datos que provengan de www.google.com que usa el protocolo UDP

Permitir datos que provengan de www.yahoo.com sólo a través del puerto 80 y sólo siel paquete contiene la cadena de texto “No desperdiciaré el ancho de banda”.

No es necesario que gastes tu tiempo configurando todas las reglas de un cortafuego,puedes tomar ventaja de que algunos cortafuegos establecen ciertas reglas por sí solos.Después de que hayas instalado un cortafuego, vas a ser inundado de peticiones de controlde acceso y tienes que determinar que programa, puede o no, hacer uso de la red. (Esposible que el programa del cortafuego proporcione la opción de dejar que él mismodetermine que programas pueden hacer uso de la red, pero no aprenderías nada, ¿es loque quieres?). Este proceso será similar al que utilizamos para identificar los procesos connetstat. Un programa llamado “iexplorer.exe” es obviamente Microsoft Internet Explorer y, sitú lo usas como tu explorador de Internet el cortafuego debe permitirle acceder a laInternet, pero un programa llamado “cbox.exe” puede ser cualquier cosa. No tienes otraopción más que ir a tu explorador y averiguar en el motor de búsqueda de tu preferencia dequé es el programa. (Claro que antes de hacer esto, le tienes que indicar a tu cortafuegoque permita el acceso de tu explorador a la Internet).

Un cortafuego puede darte la opción de permitir el acceso a un programa de manerarepetida o sólo por una ocasión. Algunos programas, tales como tu explorador de Internet,deberán tener acceso a la red en cualquier momento, pero con otros programas – comoaquéllos que requieren verificar actualizaciones – puedes aprender mucho acerca de cómofunciona tu computadora dejando que te pregunte cada vez que un programa trate depedir acceso.

Los cortafuegos están disponibles como programas individuales (incluyendo versiones dedistribución libre para las plataformas Windows y Linux) o existen versiones que vienen juntocon programas de antivirus. Adicionalmente, Windows XP contiene dentro de su arquitecturaun cortafuego instalado, pero, en el caso del explorador de Internet de Windows, es unobjetivo para la gente que busca explotarlo – los defectos en otros cortafuegos pueden noencontrase, pero los existentes en un cortafuego de Microsoft serán encontrados yexplotados.

7.1.3 EjerciciosAbre una línea de comando en tu computadora y teclea:

netstat –aon (para Windows) ó

netstat –apn (para Linux)

Encuentra los números PID y trata de determinar que programas se están ejecutando en elsistema. (Esto es algo que puedes hacer también en tu casa.)

7

LECCIÓN 7 – ATTACK ANALYSIS

Page 113: High School Hker

7.2 Analizadores de paquetes

Netstat te dirá qué programas están conectados a la red, pero no te dirá que datos delprograma se están enviando. Un analizador de paquetes, sin embargo, te brinda la facultadde registrar y estudiar los datos de los programas que están siendo enviados a través de lared.

7.2.1 Analizando

Un analizador de paquetes registrará el tráfico de la red en tu computadora, permitiéndoteobservar todos los datos. Tcpdump (y en su versión para Windows, windump) estánconsiderados como el arquetipo de los analizadores de paquetes, sin embargo utilizaremosEthereal para nuestros ejemplos, debido a que tiene una interficie gráfica muy sencilla,permitiéndote registrar y guardar los registros en un archivo de manera rápida.

Si no tienes Ethereal, podrás bajarlo de www.ethereal.com. Para los usuarios de Windows,para utilizar Ethereal en una plataforma Windows, deberás bajar e instalar el controlador decaptura de paquetes Winpcap. Winpcap está disponible en la página de descargas deEthereal, o bien, lo encontrarás directamente en la página www.winpcap.polito.it paradescargarlo.

Cierra cualquier otra aplicación que se esté ejecutando e inicia Ethereal. En el menú hazclick en View>Autoscroll in Live Capture. Luego, haz click en Capture y Start para ir al menúde Capture Options. En esta pantalla, asegúrate de que esté activado el campo de“Capture packets in promiscuous mode”, y que tanto los tres apartados bajo “NameResolution” estén activados, así como el apartado de “Update list of packets in real time”.

8

LECCIÓN 7 – ATTACK ANALYSIS

Page 114: High School Hker

Ahora da un click en el botón de “OK”.

En teoría, nada debería pasar por ahora. Verás una pantalla de Ethereal que despliega elnúmero de paquetes que están siendo capturados y, detrás de esto, verás la pantalla deEthereal que despliega los datos de esos paquetes. Verás una pequeña cantidad de tráficooriginado por otras computadoras en tu red local tratando de mantener la pista de los otros(ARP, NBNS, ICMP) seguido por una actividad de resolución de nombres DNS por parte deEthereal.

Para ver actividad, tendrás que generarla. Mientras está ejecutándose Ethereal, abre tuexplorador de Internet. Minimiza cualquier otra aplicación exceptuando Ethereal y elexplorador de Internet. Ordena estas dos ventanas para que puedas verlas de manerasimultánea. Ahora, ve a un motor de búsqueda en tu explorador, como www.google.com.

9

LECCIÓN 7 – ATTACK ANALYSIS

Page 115: High School Hker

Mientras la página es cargada, deberás ver información acerca de los paquetescapturados. Elige un tópico a buscar y búscalo, haz click en alguna de las páginas que temostró el buscador y observa lo que sucede en Ethereal.

Nota: Si Ethereal no reporta algún tipo de tráfico, lo más seguro es que no elegiste la tarjetade red correcta. Ve al apartado de Interface en Capture Options y elige otra interfaz de red(NIC).

7.2.2 Decodificando el tráfico de red

Ahora que ya puedes ver el tráfico de la red que se genera a través de tu computadora,deberás saber como decodificarla para interpretarla.

En el programa de Ethereal, el primer paso después de que incluso hayas terminado decapturar paquetes, es ir a la pantalla donde se muestra el resumen de la captura que elprograma genera cuando está capturando. Para nuestra sesión de búsqueda web muchosde los paquetes deben ser paquetes TCP (aunque si paraste para ver un video en demanda,el número de paquetes UDP seguramente se incrementó). De cualquier forma, si estáscapturando una simple sesión de búsqueda web y aparecen paquetes de tipo ARP o ICMP,ésto podría indicar que hay un problema.

10

LECCIÓN 7 – ATTACK ANALYSIS

Page 116: High School Hker

Después de que hayas terminado la sesión de captura de paquetes, deberás ver algo similara esto:

No. Time Source Destination Protocol Info

1 0.000000 257.10.3.250 rodan.mozilla.org TCP 1656 > 8080 [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=1460 2 0.045195 257.10.3.250 rheet.mozilla.org TCP 1657 > http [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=1460 3 0.335194 rheet.mozilla.org 257.10.3.250 TCP http > 1657 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 4 0.335255 257.10.3.250 rheet.mozilla.org TCP 1657 > http [ACK] Seq=1 Ack=1 Win=17520 Len=0 5 0.338234 257.10.3.250 rheet.mozilla.org HTTP GET /products/firefox/start/ HTTP/1.1 6 0.441049 rheet.mozilla.org 257.10.3.250 TCP http > 1657 [ACK] Seq=1 Ack=580 Win=6948 Len=0 7 0.441816 rheet.mozilla.org 257.10.3.250 HTTP HTTP/1.1 304 Not Modified 8 0.559132 257.10.3.250 rheet.mozilla.org TCP 1657 > http [ACK] Seq=580 Ack=209 Win=17312 Len=09 2.855975 257.10.3.250 rodan.mozilla.org TCP 1656 > 8080 [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=146010 4.475529 257.10.3.250 name.server.com DNS Standard query PTR 250.3.10.257.in-addr.arpa11 4.475776 257.10.3.250 name.server.com DNS Standard query PTR 205.111.126.207.in-addr.arpa12 4.475854 257.10.3.250 name.server.com DNS Standard query PTR 202.111.126.207.in-addr.arpa

En este ejemplo, estos 12 paquetes ilustran la actividad que el explorador de Internet tienecuando se conecta a cada página de inicio. La información más fácil de decodificar estaen las columnas de origen y destino. La dirección IP 257.10.3.250 es la computadora local, lasotras direcciones han sido resueltas por su nombre a través de Ethereal. Debido a queutilizamos Mozilla Firefox como explorador de Internet, y debido a que tiene como página deinicio la página de Mozilla Firefox, no es de sorprenderse el ver direcciones del dominio demozilla.org. Las peticiones enviadas a name.server.com fueron probablemente generadaspor Ethereal cuando envía peticiones de tipo DNS para resolver direcciones IP a nombres.(Nota: estos accesos producidos por el programa de Ethereal fueron debidos a las opcionesconfiguradas en el apartado de Display Options y el apartado de Name Resolution. Estosapartados fueron activados, para fines de ilustración en éste ejemplo, para obtener unasalida más legible. Si deshabilitas estas opciones, no verás éstos datos adicionales).

Observar la información de origen y destino pueden ayudarte a detectar alguna actividadno autorizada. Por ejemplo, un nombre de dominio desconocido que aparezcaconstantemente puede indicarte que tienes un programa de tipo espía – spyware –instalado en tu computadora.

La siguiente columna es la de Protocolo, la cual indica qué protocolo están utilizando lospaquetes. Otra vez, para saber si algo anda mal, deberás saber qué puedes esperar. En lasesión de exploración web esperamos respuestas TCP y http, y sabes el porqué de lospaquetes de tipo DNS. Sin embargo, una gran cantidad de paquetes de tipo ICMP puedensignificar que tu máquina está siendo rastreada (mediante el uso de la herramienta PING).

La última columna, Información, provee mayor detalle de la información acerca de lospaquetes. Los paquetes 2, 3 y 4 muestran el proceso de comunicación TCP – three-handedhandshake – de SYN, SYN/ACK, ACK, los cuales indican que se ha establecido una conexión.El paquete 5 muestra un comando HTTP GET seguido por el paquete 7 que indica unarespuesta de tipo 304 Not modified.

11

LECCIÓN 7 – ATTACK ANALYSIS

Page 117: High School Hker

Si deseas mayor información sobre los paquetes, al final de las dos ventanas en la pantallade Ethereal, se muestran explicaciones más detalladas. La ventana de en medio muestra eldetalle del encabezado del paquete. La ventana inferior muestra el volcado ASCII yhexadecimal – hex – de los datos dentro del paquete.

7.2.3 Analizando otras computadorasAlgunos de ustedes han mirado en la información de esta sección – y habiéndose fijado enlos datos registrados por Ethereal, se preguntarán acerca de las posibilidades del uso deaplicaciones del tipo analizador de paquetes para registrar actividades en lascomputadoras de otras personas. ¿Es esto posible?

Sí – y no. A esto se le denomina modo promiscuo, lo cual permite que un analizador depaquetes pueda monitorear la actividad de la red para todas las computadoras en una red.Esto significa que podrás registrar cualquier actividad de red en otra computadora que seencuentra en tu misma red (dependiendo de cómo está configurado el hardware), pero loque sí es cierto es que no podrás elegir cualquier otra computadora de manera aleatoria yque mágicamente analices sus datos – las dos computadoras deberán estar conectadasentre sí físicamente, y el hardware y software deberá estar configurado de maneraapropiada.

7.2.4 Sistemas de Detección de Intrusos –IDS por sus siglas eninglés

Probablemente te habrás dado cuenta de que el uso de un analizador de paquetes puededetectar actividad no autorizada en tiempo real, la cual requiere que estés sentado enfrente de tu computadora, observando las salidas del analizador de paquetes y deseandode manera desesperada ver algún tipo de patrón. Un sistema de detección de intrusosrealiza éste tipo de tareas por ti. Estos programas combinan la habilidad de registraractividad de la red a partir de una serie de reglas que le permiten señalar actividades noautorizadas y generar avisos en tiempo real.

7.2.5 Ejercicios1. Abre la aplicación de Ethereal y comienza a capturar en vivo. Ahora abre tu

explorador de Internet y busca descargar un documento en texto plano. Descárgaloy sálvalo en tu disco duro, cierra el explorador y finaliza la sesión de Ethereal. Busca enlos paquetes capturados por Ethereal, prestando mucha atención al volcado ASCII alfinal de la ventana. ¿Qué es lo que ves? Si tienes acceso a una cuenta de correoelectrónico, trata de leer tu correo mientras Ethereal realiza una captura depaquetes. ¿Qué es lo que ves?

2. Abre Ethereal. En la pantalla de Capture Options cerciórate que esté marcado elapartado de “Capture packets in promiscuous mode”. Esta opción te permitirácapturar paquetes hacia o provenientes de otras computadoras. Comienza acapturar y ve qué es lo que pasa. ¿Ves algún tráfico que no sea el de tu máquina?

12

LECCIÓN 7 – ATTACK ANALYSIS

Page 118: High School Hker

¿Qué sabes acerca del hardware que conecta tu computadora a la red? ¿Teconecta a otras computadoras a través de un concentrador, conmutador oencaminador? Trata de indagar en una máquina de búsqueda qué pieza o piezashardware harían más difícil el capturar paquetes de otras computadoras. ¿Quéhardware lo haría más fácil?

3. Ve al sitio www.snort.org, o utiliza una máquina de búsqueda para investigar sistemasde detección de intrusos. ¿Cuál es la diferencia entre éstos y los cortafuegos? ¿Quétienen en común con los analizadores de paquetes? ¿Qué tipos de actividad noautorizada pueden detectar? ¿Qué tipos de actividad pueden no ser detectados?

7.3 Redes y Sistemas Tipo Señuelo (Honeypots yHoneynets)A la gente que le gusta observar chimpancés van a un zoológico, debido a queregularmente encontrarían chimpancés ahí. A la gente que le gusta observar pájaros ponenbebedores para aves con la finalidad de que vayan los pájaros hacia ellos. A la gente que legusta observar peces tienen acuarios, y compran peces para ponerlos ahí. Pero, ¿qué haríaspara observar a los hackers?

Pondrías un sistema tipo señuelo – honeypot.

Piénsalo de ésta manera –eres un oso. No sabrás mucho (y más siendo un oso) pero sabesque la miel es deliciosa, y que no hay nada mejor en un verano caluroso que un puñado demiel. De repente, sentado afuera en el campo ves un gran panal lleno de miel, y piensas…“Yum!”. Pero una vez que pones tu garra en el panal, corres el riesgo de quedarte atorado. Sino hay nadie más, dejarás una gran y pegajosa huella por donde camines, y cualquiera quelas siga terminaría por descubrir que fuiste tú quien tomó la miel. Más de un oso ha sidodescubierto debido a su irresistible adicción a la deliciosa miel.

Un sistema tipo señuelo es un sistema informático, red o máquina virtual, con el únicopropósito de atrapar hackers. En un sistema tipo señuelo existen usuarios no autorizados –nocontienen información real almacenada ni algún tipo de aplicación real instalada – por loque, cualquier acceso y/o cualquier intento de ser utilizados, puede ser identificado comono autorizado. En lugar de verificar registros del sistema para identificar intrusiones al mismo,el administrador del sistema sabe que cada acceso registrado es una intrusión, así que granparte del trabajo ya está hecho.

7.3.1 Tipos de Sistemas Tipo SeñueloExisten dos tipos de Sistemas Tipo Señuelo: de producción y de investigación.

Los Sistemas Tipo Señuelo de Producción son generalmente utilizados como sistemas deavisos. Un Sistema Tipo Señuelo de producción identifica una intrusión y genera una alarma.Pueden mostrar que un intruso ha logrado identificar el sistema o red y que está siendo de suinterés, pero no más allá. Por ejemplo, si deseas saber si viven otros osos cerca de tu morada,pondrías diez pequeños tarros de miel. Si al revisarlos a la mañana siguiente encuentras uno o

13

LECCIÓN 7 – ATTACK ANALYSIS

Page 119: High School Hker

más vacíos, entonces sabrás que los osos han estado cerca del lugar sin conocer nada másde ellos.

Los Sistemas Tipo Señuelo de Investigación son utilizados para recolectar información sobrelas actividades de los Hackers. Un Sistema Tipo Señuelo de Investigación atrapa a los hackersy los mantiene ocupados mientras están siendo registradas todas sus acciones. Por ejemplo, si–en lugar de documentar simplemente su presencia – deseas estudiar a los osos, entonces tesentarías cerca de un gran, delicioso y pegajoso panal en el campo, pero pondrías cámaras,grabadoras y asistentes de investigación con sus libretas de apuntes y cascos alrededor delpanal.

Los dos tipos de Sistemas Tipo Señuelo difieren principalmente en su complejidad. Es más fácilque configures y mantengas un sistema de producción debido a su simplicidad y al pocomanejo de información que deseas obtener. En un Sistema Tipo Señuelo en producción sólodeseas saber si te están “pegando”; no te interesa saber si los hackers se quedan rondandopor ahí. Sin embargo, en un Sistema Tipo Señuelo de investigación desearás que los hackersse queden con la finalidad de ver qué es lo que están haciendo. Esto hace más complejo laconfiguración y el mantenimiento de un sistema de este tipo, debido a que el sistemadeberá parecer como un sistema real, en producción y que ofrece archivos y/o serviciosinteresantes para los hackers. Un oso que sabe cómo es un panal, gastará sólo un minuto enun panal vacío, pero sólo un panal repleto de deliciosa miel lo mantendrá merodeando ellugar, tanto como te sea necesario para que puedas estudiarlo.

7.3.2 Construyendo un Sistema Tipo SeñueloEn el sentido más básico, un sistema de tipo señuelo no es nada más que un sistemainformático configurado con la esperanza de que sea comprometido por intrusos.Esencialmente, esto significa que si tú conectas una computadora con un sistema operativoinseguro a la Internet, sólo bastará que te sientes a esperar el momento en que la máquinaesté comprometida. ¡Ahora, ya has creado un sistema de tipo señuelo!

Pero en realidad, este sistema no es tan útil como parece. Es como si dejaras tu miel en elcampo y te fueras a tu casa en la ciudad. Cuando regreses, lo más seguro es que la mielhaya desaparecido y no sabrás ni quién, ni cómo, ni porqué desapareció. No aprenderásnada de tu sistema tipo señuelo, a menos de que exista una manera para obtenerinformación de él. Para que te sea útil, incluso en los sistemas más sencillos, deberá teneralgún sistema de detección de intrusos.

El sistema de detección de intrusos puede ser tan simple como un cortafuego. Generalmenteel cortafuego es utilizado para prevenir el acceso de usuarios no autorizados a un sistema,aunque también para registrar todo aquello que sucede y/o saber si una aplicación ha sidodetenida. El revisar los archivos de registro producidos por un cortafuego puede brindarteinformación básica sobre los intentos de acceso al sistema tipo señuelo.

Otros sistemas más complejos de tipo señuelo contemplan el uso de hardware, tales comoconcentradores, conmutadores o encaminadores, a fin de monitorear o controlar accesosfuturos a la red. También es común que utilicen analizadores de paquetes para obtenerinformación adicional acerca del tráfico de red.

14

LECCIÓN 7 – ATTACK ANALYSIS

Page 120: High School Hker

Los sistemas tipo señuelo de Investigación deberán ejecutar programas para simular el usonormal, haciéndoles parecer que el sistema tipo señuelo está siendo accedido por usuariosautorizados, engañando a intrusos potenciales con correos, contraseñas y datos falsos. Estetipo de programas también pueden ser utilizados para disfrazar sistemas operativos, hacerlosparecer como por ejemplo, que una computadora con plataforma Linux esté corriendoWindows.

Pero el asunto acerca de la miel – es que es pegajosa, y que siempre existe la posibilidad deque el sistema tipo señuelo se torne en un nido de abejas. Y cuando las abejas regresan a sucasa no te gustaría ser el que se le atoró la mano en el panal. Un sistema tipo señuelo malconfigurado puede fácilmente convertirse en un punto de lanzamiento de otros ataques. Siun hacker compromete tu sistema tipo señuelo, de manera instantánea realizará un asaltosobre una gran empresa o utilizará tu sistema para distribuir spamm de tipo inundación, y lomás seguro es que tú seas identificado como el responsable.

Un sistema tipo señuelo bien configurado puede controlar el tráfico de red entrante y/osaliente de la computadora. Un sistema sencillo de producción podrá permitir la entrada detráfico a través de tu cortafuego, pero frenará todo el tráfico saliente. Ésta es una sencillapero de eficaz solución, pero algunos intrusos se percatan rápidamente que no existe tráficosaliente, aunque no todos.

Los sistemas tipo señuelo de investigación –que deseen mantener a los intrusos interesadospor el mayor tiempo posible – en algunas ocasiones utilizan software que “mutilan”, los cualesauditan el tráfico saliente y desarman los datos potencialmente peligrosos mediante sumodificación haciéndolos inofensivos.

7.3.3 EjerciciosLos sistemas tipo señuelo pueden ser herramientas útiles para la investigación y para laidentificación de intrusos, pero el utilizarlos para atraparlos y procesarlos es otro asunto.Distintas jurisdicciones tienen diferentes definiciones y estándares, jueces y jurados puedendiscrepar en los puntos de vista, por lo que muchas preguntas deberán ser consideradas.¿Los sistemas tipo señuelo representan un intento de trampa? ¿El registrar las actividades deun hacker resulta, de alguna manera, en la intercepción de la comunicación como en elcaso de los teléfonos?

Y de acuerdo a preguntas específicas de éstos sistemas –¿puede ser ilegal el comprometerun sistema que esté diseñado para ser comprometido? Estas preguntas todavía tendrán queser revisadas, estudiadas y probadas a fondo.

Discute tus opiniones con respecto a la legalidad del uso de sistemas tipo señuelo paraatrapar a hackers involucrados en actividades criminales. ¿Piensas que puede ser unaherramienta útil para las agencias protectoras de la ley? ¿Es una trampa? ¿Piensas queconstituye un “conocimiento atractivo pero molesto”? Si un hacker compromete un sistematipo señuelo, ¿quién crees que sería el responsable?

15

LECCIÓN 7 – ATTACK ANALYSIS

Page 121: High School Hker

Lecturas RecomendadasNetstat

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netstat.mspx

Información General de los Cortafuegos:

http://www.howstuffworks.com/firewall.htm

http://www.interhack.net/pubs/fwfaq

Uno de muchos programas libres tipo cortafuego:

http://www.agnitum.com/index.html

Protegiendo con cortafuegos – para Linux:

http://www.iptables.org

Analizadores de Paquetes

http://www.robertgraham.com/pubs/sniffing-faq.html

Snort y sistemas de detección de intrusos – IDS’s:

http://www.linuxsecurity.com/feature_stories/feature_story-49.html

http://www.snort.org/docs/lisapaper.txt

Sistemas de Tipo Señuelo – Honeypots:

http://www.honeypots.net/honeypots/links

16

LECCIÓN 7 – ATTACK ANALYSIS

Page 122: High School Hker

LECCIÓN 8DIGITAL FORENSICS

Page 123: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto. Elproyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a patrocinarlo a través de de la compra de una licencia, unadonación o un patrocinio.

Todos los Derechos Reservados ISECOM, 2004.

2

LECCIÓN 8 – DIGITAL FORENSICS

Page 124: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................48.2. Principios del Forensics.....................................................................................................................6

8.2.1. Introducción..............................................................................................................................68.2.2. Evita la contaminación............................................................................................................68.2.3. Actúa metódicamente............................................................................................................68.2.4. Cadena de Evidencias............................................................................................................68.2.5. Conclusiones............................................................................................................................. 6

8.3. Análisis forense individualizado...................................................................................................... 78.3.1. Introducción..............................................................................................................................78.3.2. Fundamentos sobre discos duros y medios de almacenaje.............................................. 78.3.3. Encriptación, Desencriptación y Formatos de Ficheros...................................................... 98.3.4 Buscando una aguja en un pajar..........................................................................................11

8.3.4.1 Find....................................................................................................................................118.3.4.2 Grep..................................................................................................................................118.3.4.3 Strings................................................................................................................................128.3.4.4 Awk...................................................................................................................................128.3.4.5 El pipe “|”........................................................................................................................12

8.3.5 Haciendo uso de otras fuentes..............................................................................................138.4 Network Forensics............................................................................................................................13

8.4.0 Introducción.............................................................................................................................138.4.1 Firewall Logs..............................................................................................................................138.4.2 La cabecera de los mails....................................................................................................... 14

8.5 Lecturas de interés..........................................................................................................................14

3

LECCIÓN 8 – DIGITAL FORENSICS

Page 125: High School Hker

ContribucionesSimon Biles – Computer Security Online Ltd.

Pete Herzog – ISECOM

Chuck Truett, ISECOM

Marta Barceló, ISECOM

Kim Truett, ISECOM

Guiomar Corral - Enginyeria La Salle

Jaume Abella - Enginyeria La Salle

4

LECCIÓN 8 – DIGITAL FORENSICS

Page 126: High School Hker

8.1. IntroducciónForensics o el análisis forense está relacionado con la aplicación de técnicas deinvestigación metódicas para poder reconstruir una secuencia de eventos. Lamayoría de personas conocen el concepto de análisis forense por la televisión ylas películas, como por ejemplo la serie “CSI ( Crime Scene Investigation )” que esuna de las más conocidas. La ciencia del análisis forense ha estado durantemucho tiempo, e incluso todavía lo está, relacionada con la Patología Forense(averiguar las causas de la muerte de personas). La primera descripcióndetallada que se ha encontrado del análisis forense es respecto a la PatologíaForense y data del 1248, en un libro chino llamado Hsi DuanYu (the Washing Awayof Wrongs). Este libro describe como distinguir si alguien ha muerto ahogado oestrangulado.1

Digital forensics o el análisis forense digital es un poco menos confuso perotambién es menos conocido. Es el arte de recrear qué ha pasado en undispositivo digital. Al principio, estaba restringido solo a los ordenadores, peroahora comprende cualquier tipo de dispositivo digital como teléfonos móviles,cámaras digitales e, incluso, dispositivos GPS2. Se ha utilizado para capturarasesinos, secuestradores, infractores, jefes de la Mafia y muchas otras clases degente poco amistosa.

En esta lección, cubriremos dos aspectos del análisis forense (lo sentimos, todosbasados en ordenadores – no hay temas de móviles aquí).

1. Así pues, veremos lo que la gente puede llegar a tener en sus propiosordenadores.

Esto cubre...

… la recuperación de ficheros borrados

… decodificación elemental

… la búsqueda de cierto tipo de ficheros

… la búsqueda de ciertas frases

… la búsqueda en áreas interesantes del ordenador

2. También veremos lo que un usuario remoto ha estado haciendo en elordenador de otra persona.

Esto cubre...

… la lectura de ficheros log

… la reconstrucción de acciones

… la búsqueda en áreas interesantes del ordenador

… el rastreo de la fuente

1 Aparentemente está relacionado con las marcas dejadas alrededor de la garganta, y el nivel depenetración del agua en los pulmones.

2 Global Positioning System – Sistema que puede comunicar tu posición en cualquier parte delmundo utilizando satélites orbitales.

5

LECCIÓN 8 – DIGITAL FORENSICS

Page 127: High School Hker

Esta lección se centrará en las herramientas disponibles en Linux. Existen tambiénherramientas disponibles para Windows así como software y hardware dedicadopara el análisis forense, pero con la capacidad de Linux para montar y entenderun gran número de sistemas de ficheros y sistemas operativos.

8.2. Principios del Forensics

8.2.1. IntroducciónExisten un gran número de principios básicos que son necesariosindependientemente de si estás examinando un ordenador o un cadáver. Estasección resume la mayoría de estos principios.

8.2.2. Evita la contaminaciónEn televisión salen los examinadores forenses ataviados con batas blancas yguantes, cogiendo todas las pruebas con pinzas y poniéndolas en bolsa deplástico selladas. Todo ello es para prevenir la “contaminación”. Aquí es dondelas evidencias se pueden echar a perder, por ejemplo, si alguien coge un cuchilloy deja sus huellas digitales en la hoja del cuchillo (¿te acuerdas de la película delFugitivo?… Piensa en los problemas que llegó a tener!).

8.2.3. Actúa metódicamenteEn cualquier cosa que hagas, si tuvieras que ir a un juicio, necesitarías justificartodas las acciones que hayas tomado. Si actúas de una manera científica ymetódica, tomando cuidadosas notas de todo lo que haces y cómo lo haces,esta justificación es mucho más fácil. También permite a cualquier otra personapoder seguir tus pasos y verificar que tú no has cometido ningún error que puedaponer en duda el valor de tu evidencia.

8.2.4. Cadena de EvidenciasSiempre debes mantener lo que se denomina la “Cadena de Evidencias”. Estosignifica que, en cualquier momento del tiempo, desde la detección de laevidencia hasta la presentación final en el juicio, puedes justificar quién hatenido acceso y dónde ha sido. Esto elimina la posibilidad de que alguien hayapodido sabotearlo o falsificarlo de alguna manera.

8.2.5. ConclusionesTen siempre presentes estas cosas, incluso si tu trabajo no se va a presentar aningún tribunal. Así podrás maximizar tus habilidades como analista forense.

6

LECCIÓN 8 – DIGITAL FORENSICS

Page 128: High School Hker

8.3. Análisis forense individualizado

8.3.1. IntroducciónEsta sección trata sobre el análisis forense en una sola máquina. Para asignarle unnombre mejor, lo llamaremos “stand-alone forensics” o análisis forenseindividualizado. Probablemente, esta es la parte más común del análisis forensede ordenadores y su papel principal se basa en descubrir qué se ha estadohaciendo con un ordenador en particular. El analista forense podría estarbuscando una evidencia de fraude, como por ejemplo hojas de balancefinancieras, evidencia de comunicación con alguien, correos electrónicos o unaagenda de direcciones, o evidencia de un tema particular, como imágenespornográficas.

8.3.2. Fundamentos sobre discos duros y medios de almacenajeLos elementos que componen un ordenador común son, entre otros: elprocesador, la memoria, la tarjeta gráfica, la unidad de CD, etc. Uno de los másimportantes es el disco duro. Aquí es donde se guarda la mayor parte de lainformación que el ordenador necesita. El sistema operativo (OS) como Windowso Linux reside aquí, junto con las aplicaciones de usuario como el procesador detexto y los juegos. Aquí también se guarda gran cantidad de información, ya seade forma deliberada al guardar un fichero, o de forma incidental con del uso deficheros temporales y cachés. Esto es lo que permite a un analizador forensereconstruir las acciones que el usuario ha llevado a cabo con el ordenador, losficheros a los que ha accedido y mucho, mucho más.

El disco duro puede ser examinado a varios niveles, pero para el propósito deesta lección nos centraremos únicamente en el nivel del sistema de ficheros (filesystem). Sin embargo, debemos tener en cuenta que los profesionales soncapaces de analizar el disco a un gran nivel de detalle para determinar lo quecontenía; incluso si ha sido sobrescrito varias veces.

El sistema de ficheros (file system) es la implementación en un ordenador de ungabinete de ficheros. Este contiene cajones (las particiones), carpetas (losdirectorios) y papeles (los ficheros). Los ficheros y los directorios pueden estarocultos, aunque sólo es una característica superficial que puede ser fácilmentedesactivada.

Los siguientes ejercicios nos permitirán tener un mejor conocimiento de las basesdel almacenaje de información en los discos.

Ejercicios

Para cada uno de los términos siguientes relacionados con los medios dealmacenaje, busca información y aprende cómo funcionan. Tu primer paso en elanálisis forense consiste en conocer cómo funciona un equipo de maneranormal.

7

LECCIÓN 8 – DIGITAL FORENSICS

Page 129: High School Hker

1. Disco físico/duro/magnético: Aquí es donde básicamente tu ordenadoralmacena los ficheros para que permanezcan allí cuando se apaga elordenador. Explica cómo se utiliza el magnetismo en un disco duro.

2. Pistas: ¿Qué son las ‘pistas’ de un disco duro?

3. Sectores: Esto es un espacio fijo donde se almacenan los datos. Explica cómo.

4. Cluster/Unidad de asignación: Explica porqué, cuando se escribe un fichero enel disco duro, puede ser que ocupe más espacio del que necesita. ¿Qué pasacon el espacio vacío? Si buscas el término “file slack” te ayudará a entender elconcepto.

5. Espacio libre/sin asignar: Esto es lo que queda una vez que has suprimidoarchivos. ¿Pero esos ficheros realmente han desaparecido? Explica cómo seborra un fichero del ordenador. Si buscas las herramientas relacionadas con elborrado o eliminación segura (secure delete), éstas te pueden ayudar.

6. Hash, también conocido como MD5 hash: Explica qué es hash y para qué seutiliza.

7. BIOS: Son las siglas de "Basic Input/Output System". ¿Qué es y donde está en elPC?

8. Sector de arranque: Éste trabaja con las tablas de partición para ayudar a quetu PC encuentre el sistema operativo que debe ejecutar. Hay muchasherramientas para trabajar con las particiones, siendo la estándar la herramientallamada fdisk. Conocer cómo funcionan estas herramientas es tu primer indiciopara entender cómo funcionan las particiones y el sector de arranque.

9. Cyclical Redundancy Check (CRC): También se le conoce como Código deRedundancia Cíclica. Cuando el disco duro te informa de un mensaje de error delectura o "read error", esto significa que los datos fallaron en el chequeo de CRC.Averigua qué es el chequeo de CRC y qué hace.

10. Firma de fichero: A veces un fichero tiene una firma pequeña de 6 bytes alinicio del fichero que identifica el tipo de fichero. La forma más fácil para verla esabrir el fichero con un editor de texto. Abre 3 ficheros de cada una de lassiguientes extensiones con un editor de texto: .jpg, .gif, .exe, .mp3. ¿Cuál es laprimera palabra al inicio de cada uno de los ficheros?

11. RAM (Random-Access Memory): También se conoce como simplemente“memoria” y es el emplazamiento temporal para leer y escribir información, yaque es mucho más rápido que escribir en el disco duro. El problema es que sepierde toda la información cuando se apaga el ordenador. Explica cómo trabajala RAM. Sabiendo que tu ordenador debe de tener entre 64 y 512 Mb de RAM,busca información sobre algún ordenador que tenga más RAM que esa.

Actualmente, el disco RAM mayor (un disco duro superrápido emulado en RAM)es de 2.5 Tb (Terabyte). ¿Cuántas veces es mayor que tu PC?

8

LECCIÓN 8 – DIGITAL FORENSICS

Page 130: High School Hker

8.3.3. Encriptación, Desencriptación y Formatos de Ficheros

Muchos de los ficheros que te encontrarás no son descifrables de manerainmediata. Muchos programas tienen sus propios formatos de fichero, mientrasque hay otros que utilizan formatos estándar – por ejemplo, los formatos defotografías estándar - gif, jpeg, etc. Linux proporciona una utilidad excelentepara ayudarte a empezar a determinar el tipo de cada fichero. Es lo que sedenomina file.

Command Line Switch Efecto-k No para a la primera coincidencia, continúa-L Sigue links simbólicos-z Intenta mirar en el interior de archivos comprimidos.

Un ejemplo de la utilización del comando file se muestra a continuación:

[simon@frodo file_example]$ lsarp.c nwrap.plisestorm_DivX.avi oprp_may11_2004.txtkrb5-1.3.3 VisioEval.exekrb5-1.3.3.tar Windows2003.vmxkrb5-1.3.3.tar.gz.asc[simon@frodo file_example]$ file *arp.c: ASCII C program textisestorm_DivX.avi: RIFF (little-endian) data, AVIkrb5-1.3.3: directorykrb5-1.3.3.tar: POSIX tar archivekrb5-1.3.3.tar.gz.asc: PGP armored datanwrap.pl: Paul Falstad's zsh script textexecutableoprp_may11_2004.txt: ASCII English text, with verylong lines, with CRLF line terminatorsVisioEval.exe: MS-DOS executable (EXE), OS/2 orMS WindowsWindows2003.vmx: a /usr/bin/vmware script textexecutable[simon@frodo file_example]$

A partir de aquí, puedes intentar leer cierto tipo de ficheros. Hay ciertas utilidadesde conversión de ficheros disponibles para Linux e, incluso, hay más disponiblesen Internet, así como también visualizadores de ficheros para varios formatos. Aveces se puede requerir más de un paso para llegar hasta donde realmente sepuede trabajar con la información ¡Intenta pensar de forma lateral!

9

LECCIÓN 8 – DIGITAL FORENSICS

Page 131: High School Hker

De manera ocasional, te podrás encontrar ficheros que han sido encriptados oprotegidos con alguna contraseña. La complicación que esto presenta varíasegún la encriptación proporcionada por ciertas aplicaciones, pero puede dargrandes quebraderos de cabeza incluso a entidades como la NSA (o GCHQ ocualquier agencia estatal o local). También existe un gran número deherramientas disponibles en Internet, que puedes utilizar para romper laencriptación de un fichero. Solo hace falta que mires alrededor del ordenadorcon el que estás trabajando, para ver que las personas no son muy buenasrecordando contraseñas y seguramente habrán dejado escrito en algún papel sucontraseña. Además, es muy común que las contraseñas estén relacionadas consus mascotas, familiares, fechas (aniversarios, nacimientos…), números deteléfono, matrículas y otras combinaciones sencillas (123456, abcdef, qwerty...).Además, las personas son reticentes a utilizar más de una o dos contraseñas paratodo, por lo que si consigues una contraseña de algún fichero o aplicación,prueba la misma con otros ficheros porque seguramente será la misma.

Ejercicios

Aunque es legal crackear tus propias contraseñas si las has olvidado, en algunospaíses no es legal intentar resolver cómo se han encriptado los ficheros paraprotegerlos de ser crackeados.

Las películas DVD también están encriptadas para prevenir que se puedanextraer del DVD y se vendan. Aunque es una manera excelente de encriptación,no es legal buscar métodos para averiguar cómo se ha utilizado la encriptación.Esto lleva a tu primer ejercicio:

1. ¿Qué es "DeCSS" y qué relación tiene con la encriptación de DVDs? Buscainformación sobre "decss" para aprender más.

2. Saber que algo está protegido mediante contraseñas significa aprender cómoabrir ese fichero. Esto es lo que se conoce como “crackear” la contraseña. Buscainformación sobre cracker distintos tipos de contraseñas. Para hacerlo busca"cracking XYZ passwords" donde XYZ es el tipo de contraseña que estásbuscando. Hazlo para el siguiente tipo de contraseñas:

a. MD5

b. Windows Administrator

c. Adobe PDF

d. Excel

3. Si el método de encriptación es demasiado fuerte para romperlo, seguramenteserá necesario realizar un “ataque de diccionario” o “dictionary attack” (tambiénllamado de “fuerza bruta” o “brute force”). Encuentra qué es un ataque dediccionario y mira si puedes encontrar una herramienta que realice un “ataquede diccionario” contra el fichero de password de UNIX: el “/etc/passwd”.

10

LECCIÓN 8 – DIGITAL FORENSICS

Page 132: High School Hker

8.3.4 Buscando una aguja en un pajarLos programas comerciales existentes sobre análisis forenses incluyenherramientas de búsqueda de grandes prestaciones, permitiéndole buscar segúndiferentes combinaciones y permutaciones de factores. Pero para no dependerde estas herramientas, en su mayoría de gran coste, haremos uso de nuestroingenio para realizar ese análisis. Nos ayudaremos de las herramientas básicasque nos proporciona Linux. Las siguientes tablas detallan el uso de los comandosfind, grep y strings, y explica como utilizarlas en combinación, una con otra.

8.3.4.1 Findfind [path...][expression]

find se usa para encontrar archivos que reúnen ciertos criterios dentro del sistemaoperativo, no está diseñado para mirar dentro de cada archivo. Debe haber unmillón de permutaciones de expresiones que se pueden combinar para buscarun archivo.

Ejercicio:

1. Lee la página del manual del comando find. En la siguiente tabla completa el“Efecto” para cada una de las “Expresiones”. (Indicación: Cuando se pasa unnúmero como argumento se puede especificar de las siguientes formas: +n paraindicar mayor que n; -n para indicar menor que n; n para indicar igual que n).

Expresión Efecto-amin n Archivos accedidos hace menos de n minutos -anewer-atime-cnewer-iname-inum-name-regex-size-type-user

8.3.4.2 Grepgrep es una herramienta inmensamente potente. Se utiliza para encontrar ciertaslíneas dentro de un archivo. Esto te permite encontrar rápidamente ficheros quecontienen cierta información dentro de un directorio o de un sistema de ficheros.También permite buscar ciertas expresiones comunes. Existen algunos patronesde búsqueda que permiten especificar ciertos criterios que la búsqueda debeencontrar. Por ejemplo: encontrar todas las palabras de un diccionario queempiezan por “s” y terminan por “t” para ayudarte a resolver un crucigrama.

grep ^s.*t$ /usr/share/dict/wordsEjercicios:

11

LECCIÓN 8 – DIGITAL FORENSICS

Page 133: High School Hker

1. Lee la página del manual del comando grep.

2. Busca por Internet expresiones comunes para el comando grep. Intentaconstruir una expresión regular que permita encontrar todas las palabras quetengan cuatro letras y contengan una “a”.

8.3.4.3 Strings

strings es otra utilidad muy útil. Esta herramienta busca dentro de un ficherocualquier tipo de expresiones o frases que puedan ser leídas (“human readablestrings”). Esto nos puede dar gran cantidad de información sobre un ficheroespecífico, y proveer información sobre la aplicación que lo creó, autores, fechade creación, etc.

Ejercicio:

1. Lee la página del manual del comando strings.

8.3.4.4 Awk

awk es un lenguaje de programación diseñado para trabajar con frases. Se utilizapara extraer información de un comando y usarla como parámetros de otro. Porejemplo, para extraer del comando ps únicamente el nombre de los programasque se están ejecutando, deberíamos usar:

ps | awk '{print $4}'Ejercicio:

1. Lee la página del manual del comando awk.

8.3.4.5 El pipe “|”

Todos los comandos anteriores pueden combinarse usando el comando “pipe”(enlace) de UNIX, el cual se representa con el símbolo “|”. Esto nos permite cogerel resultado de un comando para proveer de parámetros a otro. Por ejemplo,para encontrar en el directorio actual todos los ficheros mpg, utilizaremos:

ls | grep mpgEjercicios:

1. Usando el comando ls, el comando grep y el comando pipe, encuentra en eldirectorio actual todos los ficheros que fueron creados este mes.

2. Usando el comando ps y el comando awk, muestra el nombre de todos losprogramas que se están ejecutando.

12

LECCIÓN 8 – DIGITAL FORENSICS

Page 134: High School Hker

8.3.5 Haciendo uso de otras fuentesExisten muchas más vías para examinar la manera en que se ha utilizado unordenador. Casi todas las aplicaciones que se ejecutan en un ordenadorregistran datos adicionales más allá de los que se necesitan para correr laaplicación. Se pueden incluir los archivos temporales que utiliza, los archivostemporales de Internet, etc.

Ejercicios:

1. Qué es el “browser cache”? Encuentra el lugar donde el explorador que utilizasguarda su cache.

2. Qué son los “browser cookies”? Encuentra el lugar donde el explorador queutilizas guarda sus “cookies”.

3. Busca información acerca de las “cookies” del explorador. ¿Qué tipo de“cookies” son y qué tipo de información hay en ellas guardas?

4. Tu ordenador usa directorios temporales donde guardar archivos por defectopara el usuario. Se conocen como “Datos de aplicación” (Application Data).Busca los directorios temporales que tienes disponibles en tu ordenador. Amenudo se suelen llamar como “tmp” o “temp”, pero hay muchos más quedesconoces, que también son temporales. Una buena manera de encontrarloses haciendo un FIND de los archivos que contengan la fecha de hoy.Desaparecen estos archivos al reiniciar el ordenador?

8.4 Network Forensics

8.4.0 IntroducciónNetwork forensics (forensics de red) se usa par buscar donde se encuentra unordenador y para saber si un archivo en particular se ha enviado desde unordenador en concreto. El network forensics es bastante complicado, pero sevan a tratar los temas básicos que se puedan aplicar al día a día.

8.4.1 Firewall Logs¿Quién se conecta a mi ordenador? El firewall es una utilidad que hace que sebloqueen las conexiones entre dos puntos de la red. Existen diferentes tipos defirewalls. Sin tener en cuenta el tipo ni la tarea del firewall, descubriremos que losarchivos “logs” serán los que nos ayuden más. Solamente utilizando los logs,podremos encontrar la manera o conducta con la que nos atacan nuestrofirewall, para así combatirles.

Ejercicios:

1. Visita la web http://www.dshield.org. Esta web contiene los archivos logs demultitud de firewalls de todo el mundo, con los que se puede contrastar losdiferentes ataques que sufren y los patrones que siguen dichos ataques. Esto

13

LECCIÓN 8 – DIGITAL FORENSICS

Page 135: High School Hker

ayuda a los profesionales a verificar si su red estará bien protegida si sufre algúntipo de ataque como el que ya se ha realizado en otro lugar. Haz una leida por laweb y explica cómo se ha realizado este gràfico de proporciones y su significado.

2. En la misma web, lee el apartado “Fight back” y las respuestas de los emailsrecibidos. Intenta explicar su propósito.

8.4.2 La cabecera de los mailsLos e-mails contienen además de la información propia, una información acercade cada ordenador por el que ha ido pasando hasta llegar al ordenador tuyo.Esta información se encuentra en la cabecera. A veces, hay más información enlas cabeceras, pero no es tarea fácil ver esta información. Los clientes de correotienen diferentes maneras de ver dicha información. Lo realmente interesante essaber como ha sido escrita esta información para atrás. En lo más alto de la listaesta tu ordenador, y según van avanzando las líneas, te vas alejando de tuordenador hasta llegar finalmente al ordenador que te ha enviado el correo.

Ejercicios

1. Visita la web http://www.samspade.org y ves a la sección “The Library”.Después de leer esta sección deberías ser capaz de saber leer las cabeceras delos e-mails. Échale un vistazo también a los e-mails falsificados y al abuso de e-mails. Explica los diferentes métodos para poder hacer daño mediante el uso delcorreo electrónico.

2. Determina como averiguar las cabeceras de los e-mails que recibes propios.¿Tienen algún campo en particular que no te pertenezca? Analízala e intentaexplicar cada uno de los campos que hay en ella.

8.5 Lecturas de interésLos siguientes links están en inglés:

http://www.honeynet.org/papers/forensics/http://www.honeynet.org/misc/chall.html - Some forensic exercises.http://www.porcupine.org/forensics/ - The classics http://www.computerforensics.net/http://www.guidancesoftware.com/corporate/whitepapers/index.shtm#EFEhttp://www.forensicfocus.com/http://www.securityfocus.com/infocus/1679http://www.linuxsecurity.com/feature_stories/feature_story-139.htmlhttp://www.linuxsecurity.com/feature_stories/feature_story-140.htmlhttp://www.securityfocus.com/incidentshttp://staff.washington.edu/dittrich/talks/blackhat/blackhat/forensics.htmlhttp://www.openforensics.org/http://fire.dmzs.com/http://www.sleuthkit.org/http://www.fbi.gov/hq/lab/fsc/backissu/oct2000/computer.htm

14

LECCIÓN 8 – DIGITAL FORENSICS

Page 136: High School Hker

LECCIÓN 9SEGURIDAD DEL CORREOELECTRÓNICO (E-MAIL)

Page 137: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto. Elproyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a patrocinarlo a través de la compra de una licencia, una donación oun patrocinio.

Todos los Derechos Reservados ISECOM, 2004.

2

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 138: High School Hker

Índice“License for Use” Information................................................................................................................ 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................49.0 Introducción.......................................................................................................................................5

9.1 ¿Cómo funciona el correo electrónico?...................................................................................59.1.1 Cuentas de correo electrónico.........................................................................................59.1.2 POP y SMTP............................................................................................................................59.1.3 Correo Web..........................................................................................................................7

9.2 Utilización segura del Correo Parte 1: Recibiendo...................................................................79.2.1 Spam, Phishing y Fraude.....................................................................................................79.2.2 Correo HTML..........................................................................................................................89.2.3 Seguridad en Archivos Anexados......................................................................................89.2.4 Encabezados Falsos / Forged headers.............................................................................8

9.3 Utilización Segura del Correo Parte 2: Enviando....................................................................119.3.1 Certificados Digitales.........................................................................................................119.3.2 Firmas Digitales...................................................................................................................129.3.3 Obteniendo un certificado.............................................................................................. 139.3.4 Encriptación / Cifrado.......................................................................................................139.3.5 ¿Cómo funciona?..............................................................................................................139.3.6 Desencriptación.................................................................................................................149.3.7 ¿Es el cifrado irrompible?..................................................................................................14

9.4 Seguridad en las Conexiones....................................................................................................15Lecturas Recomendadas................................................................................................................16

3

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 139: High School Hker

ContribucionesStephen F. Smith, Lockdown Networks

Chuck Truett, ISECOM

Marta Barceló, ISECOM

Kim Truett, ISECOM

Rafael Acosta Serrano, T&E Solutions

Jaume Abella - Enginyeria La Salle

4

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 140: High School Hker

9.0 IntroducciónTodo el mundo hace uso del correo electrónico. Es la segunda aplicación más utilizada sobrela Internet además del explorador. Lo que no te percatas es del nivel significativo de ataquesexistentes derivados del uso del correo electrónico. Y en lo concerniente a tu privacidad, elmal uso del e-mail estriba en comprometer y/o divulgar el contenido del mensaje, oproporcionar información spammer acerca de ti. El propósito de éste módulo es proveertede información sobre cómo funciona el e-mail, la utilización segura de la herramienta,ataques basados en e-mail y las estrategias de seguridad para el e-mail.

LESSON 9 – E-MAIL SECURITY

9.1 ¿Cómo funciona el correo electrónico?Al igual que el correo aéreo es enviado por aire, el ´e´-mail es enviado a través del medio“e”-lectrónico en y entre las redes que conforman la Internet. Cuando envías un correoelectrónico desde tu computadora, los datos son enviados a un servidor SMTP. El servidorSMTP busca el servidor POP3 correcto y envía tu e-mail a ese servidor, donde espera a que elreceptor pueda recuperarlo.

9.1.1 Cuentas de correo electrónicoLas cuentas de correo electrónico están disponibles a través de varias fuentes. Puedesconseguir una a través de tu escuela, trabajo o de un proveedor de servicios de Internet (ISPpor sus siglas en inglés). Cuando obtienes una cuenta de e-mail, te darán una cuenta decorreo que consta de dos partes [email protected]. La primera parte, el nombre delusuario, te identifica en tu red, diferenciándote de otros usuarios de la misma red. La segundaparte, el nombre de dominio, se utiliza para identificar tu red. El nombre de usuario deberáser único dentro de tu red, al igual que el nombre del dominio deberá ser único entre todaslas redes de la Internet. Sin embargo, los nombres de usuarios no son únicos fuera de susredes; es posible que dos usuarios en dos redes distintas puedan compartir el mismo nombre.Por ejemplo, un usuario con la dirección [email protected] no podrá utilizar el mismonombre de usuario en la red bignetwork. Sin embargo, [email protected] [email protected] son direcciones válidas de correo electrónico que pueden referir ausuarios distintos. Una de las primeras cosas que harás cuando configures tu cuenta decorreo es incorporar tu dirección de correo electrónico en tu cliente de correo. El cliente decorreo es el programa que utilizarás para enviar y recibir e-mail. El cliente de correo deMicrosoft Outlook Express es el más conocido (puesto que es una distribución gratuita dentrodel sistema operativo de Microsoft). Sin embargo existen otros clientes disponibles para laplataforma Windows y Linux, incluyendo a Mozilla, Eudora, Thunderbird y Pine.

9.1.2 POP y SMTPDespués de que tu cliente de correo conoce tu dirección de correo electrónico, necesitarásaber dónde buscar el correo entrante y a dónde enviar el saliente.

Tus correos entrantes estarán en una computadora llamada servidor POP. El servidor POP –generalmente con la sintaxis pop.smallnetwork.net o mail.smallnetwork.net – tiene un archivoasociado con tu correo electrónico, el cual contiene correos que te han sido enviados porotros usuarios. POP hace referencia a post office protocol.

5

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 141: High School Hker

Tus correos salientes serán enviados a una computadora llamada servidor SMTP. Este servidor–generalmente con la sintaxis smtp.smallnetwork.net – buscará el nombre de dominocontenido en la dirección de correo electrónico en cualquiera de los correos que envíes,después realizará una búsqueda por DNS a fin de determinar a qué servidor POP3 deberáenviar el correo. SMTP hace referencia a simple mail transfer protocol.

Cuando inicias un cliente de correo electrónico, una serie de acciones se llevan a acabo:1. el cliente abre una conexión de red hacia el servidor POP2. el cliente envía tu contraseña secreta al servidor POP3. el servidor POP envía tu correo entrante a tu computadora4. el cliente envía tu correo saliente al servidor SMTP.

Algo que debes considerar en primera instancia es que no envías tu contraseña al servidorSMTP. SMTP es un viejo protocolo, diseñado en la temprana edad de la creación del correoelectrónico, tiempo en el que casi todos en la Internet se conocían personalmente. Elprotocolo fue escrito asumiendo que quien lo utilizaba era de confianza, por lo que el SMTPno verifica el usuario para asegurarse de que en realidad tú eres tú. La mayoría de losservidores SMTP utilizan otros métodos para autenticar usuarios, pero –en teoría- cualquierpersona puede utilizar cualquier servidor SMTP para enviar correo. (Para mayor información,ver sección 9.2.4 Encabezados Falsos - Forged Headers.)

La segunda consideración es que cuando envías tu contraseña secreta a un servidor POP laenvías en formato de texto plano. Podrá estar escondida o enmascarada por pequeñosasteriscos en el monitor de tu computadora, sin embargo es transmitida a través de la red enun formato legible. Cualquier persona que esté monitorizando el tráfico en la red –con unanalizador de paquetes – será capaz de ver claramente tu contraseña. Puedes sentirteseguro de que tu red es segura, pero la realidad es que tienes poco control sobre lo que estáocurriendo en cualquier otra red por la cual pasan tus datos.

La tercera consideración que debes de saber, y tal vez la más importante, es que –al igualque tu contraseña –tus correos electrónicos son transmitidos y almacenados en formato detexto plano. Es posible que estén monitorizados en cualquier momento en que sontransferidos del servidor a tu computadora.

Todo esto apunta hacia una verdad: el correo electrónico no es un método seguro paratransferir información. Lo que sí es cierto es que es excelente para reenviar bromas, enviaradvertencias de tipo spunkball, etc. Sin embargo, si no te sientes cómodo gritando hacia laventana de tu vecino, tal vez deberías pensar quizá dos veces antes de ponerlo en un correoelectrónico.

¿Te suena paranoico? Bueno, sí es paranoico, pero no necesariamente lo hace noverdadero. Muchas de nuestras comunicaciones de correo tratan acerca de detallesinsignificantes.

Nadie excepto tú, Bob y Alice, se preocupan por tus planes para la cena del próximo martes.Y si Carol desea saber desesperadamente dónde cenarán el próximo martes, lasprobabilidades son pocas de que ella pueda tener un analizador de paquetes corriendo encualquiera de las redes por donde pasa tu correo electrónico. Pero, si se sabe que unacompañía utiliza el correo electrónico para el manejo de transacciones de tarjetas decrédito, no es poco probable que alguien esté intentando o tenga un método para analizaresos números de tarjetas de crédito fuera del tráfico de la red.

6

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 142: High School Hker

9.1.3 Correo WebUna segunda opción para el correo electrónico es el uso de cuentas de correo basadas enWeb. Esto te permitirá utilizar el explorador web para chequear tu correo. Desde que elcorreo de estas cuentas normalmente es almacenado en el servidor de correo web –no entu computadora – es más conveniente utilizar estos servicios desde varias computadoras. Esposible que tu proveedor de servicios de internet (ISP) te permita acceder a tu correoelectrónico a través de POP o vía Web.Sin embargo, deberás recordar que las páginas web son almacenadas de manera temporalo local en computadoras locales. Si chequeas tu correo a través de un sistema basado enweb en una máquina que no sea la tuya, existe la posibilidad de que tus correos puedan serconsultados por otros que utilicen la misma computadora.

Las cuentas de correo basadas en web puedes obtenerlas de manera fácil y gratuita. Estosignifica que te brindan la oportunidad de tener varias identidades en línea. Tú puedes, porejemplo, tener una dirección de correo electrónico exclusivamente para tus amigos, y otrapara tus familiares. Esto es considerado como aceptable, mientras no pretendas defraudar aalguien.

Ejercicios:1. Puedes aprender bastante acerca de cómo se obtienen los correos POP mediante el

uso del programa telnet. Cuando utilizas telnet en lugar de un cliente de correo,tienes que teclear todos los comandos a mano (comandos que un cliente de correogeneralmente los utiliza de manera automática). Utilizando un buscador web,encuentra las instrucciones y comandos necesarios para acceder a una cuenta decorreo utilizando un programa telnet. ¿Cuáles son las desventajas de utilizar éstemétodo para recuperar correo? ¿Cuáles son algunas de las ventajas potenciales?

2. Encuentra tres organizaciones que ofrecen servicios de correo basados en web. ¿Quéofrecen, si es que prometen algo, con respecto a la seguridad al enviar o recibir uncorreo utilizando sus servicios? ¿Hacen algo por autenticar a sus usuarios?

3. (Posiblemente tarea) Determina el servidor SMTP de la cuenta de correo que utilizasfrecuentemente.

9.2 Utilización segura del Correo Parte 1: RecibiendoTodo mundo hace uso del correo electrónico y, para sorpresa de muchos, el correo puedeser utilizado en tu contra. El correo nunca deberá ser manejado como una tarjeta postal, endonde cualquiera puede leer su contenido. Nunca pongas en una cuenta común de correoelectrónico algo que no desees que sea leído. Se ha dicho que existen estrategias paraasegurar tu correo. En esta sección cubriremos la utilización segura y sana del correo y cómoproteger tu privacidad en línea.

9.2.1 Spam, Phishing y FraudeA todo mundo le gusta tener un correo. Hace tiempo, en una galaxia no muy lejana, solíastener el correo únicamente de la gente que conocías, existiendo aspectos que cuidabas.Ahora tienes el correo de gente que nunca escuchaste y que preguntarán sobre dóndecomprar software, drogas, bienes raíces, por no mencionar aquel en donde te ayudan aobtener 24 millones de dólares desde Nigeria. A este tipo de anuncios no solicitados se lesdenomina spam. Es sorprendente para mucha gente que este tipo de correos que reciben,puede proporcionar mucha información de quien envía el correo, cuándo fue abierto el

7

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 143: High School Hker

correo y cuántas veces ha sido leído, si ha sido reenviado, etc. Este tipo de tecnología –llamada web bugs – es utilizada tanto por los spammers como por los que realmente envíanel correo. También, el contestar un correo o hacer click en un enlace para desuscribirse deuna lista puede decirle a quien lo envía que han alcanzado una dirección existente o viva.Otro tipo de preocupación en materia de invasión de privacidad es el creciente ataqueconocido como “phishing”. ¿Has recibido algún correo donde te piden firmar y verificar tucuenta de correo bancaria o de E-bay? Cuidado, porque es un truco para robar informaciónde tu cuenta. Para que estés seguro de éste tipo de ataques, existen otras estrategiassencillas para protegerte, descritas más adelante.

9.2.2 Correo HTMLUna de las preocupaciones en material de seguridad con los correos basados en HTML es eluso de los web bugs. Los web bugs son imágenes escondidas en tu correo que enlazan haciael servidor de quien lo envía, y puede proveerles notificación de que han recibido o abiertoel correo. Otro defecto con los correos HTML es que quien lo envía puede incluir enlaces enel correo que identifican a la persona que hace click en ellos. Esto puede proporcionarinformación a quien lo manda acerca del estado del mensaje. Como regla, debes de utilizarun cliente de correo que te permita deshabilitar la descarga automática de imágenesanexadas o embebidas. Otro problema relacionado con los scripts en el correo es queejecutan una aplicación, si es que tu explorador no ha sido parcheado contravulnerabilidades de seguridad.

Para los clientes basados en web, tienes la opción de deshabilitar la descarga automáticade imágenes, o la visualización del mensaje en modo texto. Cualquiera de ellas es unabuena práctica de seguridad. La mejor manera de protegerte contra los ataques deprivacidad y seguridad basados en correo HTML es el uso de correos en modo texto.

Si necesitas utilizar correo HTML, ¡ten cuidado!

9.2.3 Seguridad en Archivos AnexadosOtra preocupación real es la relacionada con los archivos anexados a los correos. Losatacantes pueden enviar malware –software malicioso por sus siglas en inglés-, virus, caballosde Troya y todo tipo de programas desagradables. La mejor defensa contra correos conmalware es el no abrir un correo si no conoces a quien lo envía. Nunca abras un archivo conextensión .exe o .scr, ya que éstos son extensiones que ejecutan archivos que puedeninfectar tu máquina con cualquier virus. Una buena medida de prevención es que cualquierarchivo que recibas deberás salvarlo a tu disco duro y posteriormente analizarlo con unprograma de antivirus. Ten cuidado con los archivos que parecen ser comunes, como losarchivos zip. Algunos atacantes pueden disfrazar un archivo sólo cambiando el icono uocultando la extensión del archivo, por lo que tal vez no sepas que es un ejecutable.LESSON 9 – E-MAIL SECURITY

9.2.4 Encabezados Falsos / Forged headersOcasionalmente recibirás correos que parecen ser enviados por alguien que conoces, o porel “Administrador”, “Postmaster” o “Equipo de Seguridad” de tu escuela o ISP. El tema delcorreo puede ser “Returned Mail” o “Hacking Activity”, o cualquier otro tema interesante. Esmuy común que sea un archivo anexado. El problema es que requiere alrededor de 10

8

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 144: High School Hker

segundos de trabajo y poco conocimiento técnico para falsear una dirección de correoelectrónico (también, dependiendo de donde vivas, puede ser ilegal.)

Para hacer esto, haces un cambio simple en la configuración de tu cliente de correo y allídonde te pregunta teclear tu dirección de correo (bajo Opciones, Configuración oPreferencias) tecleas cualquier otra cosa. De ahora en adelante todos tus mensajes tendránuna dirección de remitente falsa. ¿Esto significa que ya estás a salvo de ser identificado? No,no realmente. Cualquier persona con la habilidad de leer el encabezado de un correo y querealice una búsqueda podrá imaginarse tu identidad a partir de la información contenida enel encabezado. Lo que significa que un spammer puede ser quien él deseé. Por lo que siFanni Gyotoku [[email protected]] te vende una antena mágica para tucelular que resulta ser una caja de cereales cubierta por una hoja de lata, puedes quejartedirectamente con cox.net, pero no te sorprendas cuando te digan que no existe tal usuario.

Muchos de los proveedores de internet autentican a los que envían correos, lo que significaque debes ser tú quien dices ser para enviar un correo a través de su servidor SMTP. Elproblema radica cuando los hackers y spammers corren un servidor SMTP en su propioordenador y, por lo tanto, no necesitan autenticarse al enviar un correo, y pueden hacer queluzca como ellos deseen. La única manera segura de saber si un correo sospechoso eslegítimo o no es conocer a quien envía el correo y llamarle. Nunca contestes un mensaje quesospeches ha sido falseado, ya que le diría a quien lo envía que ha alcanzado una direcciónexistente. También puedes fijarte en la información que aparece en el encabezado a fin dedeterminar de dónde viene el correo, tal como aparece en el siguiente ejemplo:

Este es un correo electrónico de alguien que no conozco, con un archivo anexadosospechoso. Normalmente borraría éste correo pero quiero saber de dónde viene realmente.Me fijo en el encabezado. Utilizo Outlook 2003 como cliente de correo, y para ver elencabezado necesito ir a Ver>Opciones y así podré ver la información del encabezadocomo aparece abajo:

Microsoft Mail Internet Headers Version 2.0Received: from srv1.mycompany.com ([192.168.10.53]) by mx1.mycompany.comover TLS secured channel with Microsoft SMTPSVC(6.0.3790.0);Mon, 9 Aug 2004 11:20:18 -0700Received: from [10.10.205.241] (helo=www.mycompany.com)

9

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 145: High School Hker

by srv1.mycompany.com with esmtp (Exim 4.30)id 1BuEgL-0001OU-8a; Mon, 09 Aug 2004 11:15:37 -0700Received: from kara.org (67.108.219.194.ptr.us.xo.net [67.108.219.194])by www.mycompany.com (8.12.10/8.12.10) with SMTP id i79IBYUr030082for <[email protected]>; Mon, 9 Aug 2004 11:11:34 -0700Date: Mon, 09 Aug 2004 14:15:35 -0500To: "Sales" <[email protected]>From: "Sales" <[email protected]>Subject:Message-ID: <[email protected]>MIME-Version: 1.0Content-Type: multipart/mixed;boundary="--------cfwriebwwbnnfkkmojga"X-Scan-Signature: 178bfa9974a422508674b1924a9c2835Return-Path: [email protected]: 09 Aug 2004 18:20:18.0890 (UTC) FILETIME=[868FEAA0:01C47E3D]----------cfwriebwwbnnfkkmojgaContent-Type: text/html; charset="us-ascii"Content-Transfer-Encoding: 7bit----------cfwriebwwbnnfkkmojgaContent-Type: application/octet-stream; name="price_08.zip"Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="price_08.zip"----------cfwriebwwbnnfkkmojga—

Ahora, la parte en la que estoy interesado está subrayada arriba. Fíjate que el campo de“Received” es de kara.org con una IP que parece ser una línea DSL de xo.net, la cual noconcuerda con innovonics.com, el supuesto remitente.

Además, si busco el servidor de correo innovonics.com utilizando nslookup, la dirección queme muestra es la siguiente:

C:\>nslookup innovonics.comServer: dc.mycompany.comAddress: 192.168.10.54Non-authoritative answer:Name: innovonics.comAddress: 64.143.90.9

Entonces, mi sospecha era correcta, éste es un correo que contiene algún malware en unarchivo ejecutable a través de un archivo zip. El malware ha infectado la computadora dela persona que tiene la línea DSL, el cual se conoce como un zombie, ya que envía copiasdel malware a todos aquellos que tiene en su agenda. ¡Qué bueno que verifiqué ésto!

Ejercicios:1. Citibank y PayPal son dos de los objetivos más comunes de correos phishing. Investiga

qué están haciendo Citibank o PayPal para evitar/controlar el phishing.2. Investiga si tu banco o emisor de tarjeta de crédito ha publicado una declaración

acerca del uso de correo e información personal.3. (posiblemente tarea) Investiga un correo spam que hayas recibido y mira si puedes

determinar cual es la fuente real.

10

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 146: High School Hker

9.3 Utilización Segura del Correo Parte 2: Enviando

El envío de correo es un poco más cuidadoso. Existen algunos puntos que puedes considerarpara cerciorarte de que la conversación es segura. El primer punto es asegurarte de que laconexión es segura (para mayor información ver sección 9.4 Seguridad en las Conexiones).También existen métodos que te permiten firmar de manera digital tus mensajes, lo quegarantiza que el mensaje proviene de tí y que no ha sido modificado durante el trayecto. Ypara mayor seguridad, puedes encriptar tus mensajes a fin de que nadie pueda leerlos.

Las firmas digitales prueban de dónde viene el correo, y que no ha sido alterado en eltrayecto. Si adoptas el hábito de utilizar firmas digitales para correos importantes, tendrásmucha credibilidad en caso de que en alguna ocasión tengas que negar algún correofalseado que aparente ser tuyo. PGP en particular ofrece niveles de encriptación tancomplejos que requieren computadoras de gran potencia para ser descifrados.

9.3.1 Certificados DigitalesUn certificado digital es único para cada individuo, como si fuese una licencia para conduciro un pasaporte, el cual se compone de 2 partes, una llave pública y una privada. Elcertificado es único para una persona y típicamente los certificados son expedidos por unaAutoridad Certificadora confiable o CA. La lista de Autoridades Certificadoras en quienconfías es distribuida automáticamente (si eres un usuario Microsoft Windows) a través de laactualización de Windows, y la lista es accesible en tu explorador a través de:

Herramientas>opciones de internet>contenido>certificados.

Puedes ir a éste apartado para ver los certificados instalados en tu máquina (tuyos o deotros) y otras autoridades certificadoras en las cuales confías.

11

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 147: High School Hker

Puedes deshabilitar la actualización automática de CAs, y elegir quitar todos los CAs de lalista, aunque no es recomendable. Las instrucciones de cómo hacer esto se encuentradisponible en el sitio web de Microsoft.

9.3.2 Firmas DigitalesUna firma digital es generada por tu software de correo usando tu llave privada a fin degarantizar la autenticidad del correo. El propósito de la firma es doble. El primero es certificarque proviene de ti: es lo que se llama “no repudio”. El segundo es asegurar que el contenidono ha sido alterado, lo que se llama “integridad de datos”. La manera en que un programade correo cumple con este cometido es mediante la ejecución de un proceso que, a partirdel contenido de tu mensaje, genera un resumen del mismo –message digest-. Éste último, siel algoritmo matemático que se utiliza es lo suficientemente fuerte, posee los siguientesatributos.

El mensaje original no puede ser reproducido a partir del resumen. Cada resumen es único.

Después de que el resumen ha sido creado, es cifrado con tu llave privada. El resumencifrado es anexado al mensaje original junto con tu llave pública. El recipiente abre elmensaje, y el resumen es desencriptado con tu llave pública. El resumen es comparado conel resumen idéntico generado por el programa de correo del recipiente. Si concuerdan, escorrecto. Si no, tu cliente de correo te avisará que el mensaje ha sido modificado.

Existen 2 tipos de función de firma/cifrado, S/MIME y PGP. S/MIME es considerada como lamejor opción para el gobierno y corporaciones, tal vez por que utiliza menos recursos delmodelo de autenticación de la autoridad certificadora, y porque es de fácil implantación através del cliente de Microsoft Outlook Express. PGP es muy común dentro de lascomunidades de usuarios finales, debido a que está basada en un esquema web deconfianza no-centralizado, en donde la confianza de los usuarios es validada a través de unsistema “amigo del amigo”, en el cual acuerdas que, si tu confías en mí, entonces puedesconfiar en aquellos que yo confío, y porque los miembros de las comunidades no les interesasi toma cuatro horas el saber como funciona PGP con Thunderbird – ellos consideran estetipo de retos como recreación.

12

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 148: High School Hker

9.3.3 Obteniendo un certificadoSi estás interesado en obtener un certificado digital o un ID digital, necesitas contactar a unaAutoridad Certificadora (Verisign y thawte son las más conocidas, a pesar de que algunosbuscadores pueden encontrar otras). Ambas requieren que les proveas de tu identificación afin de comprobarles que eres tú quien dices ser. Puedes obtener un certificado gratuito dethawte, pero requiere una cantidad significativa de información personal, incluyendoidentificación oficial (como el pasaporte, identificación para pago de impuestos o licenciade manejo). Verisign pide una cuota por su certificado y requiere que pagues esta cuota através de una tarjeta de crédito, sin embargo pide menos información. (Presuntamente,Verisign reenvía los datos con la compañía de la tarjeta de crédito a fin de validar tuinformación personal). Estas peticiones de información pueden parecer intrusivas, perorecuerda, estás pidiendo a éstas compañías que certifiquen tu confianza e identidad. Y –como siempre – chequea con tus familiares o representantes antes de proveer cualquier tipode información (si no, tendrán grandes cargos en sus tarjetas de crédito).

La mayor desventaja al utilizar una autoridad certificadora es que tu llave privada estádisponible para un tercero: la autoridad certificadora. Y si la autoridad certificadora se vecomprometida, entonces tu ID digital está comprometido.

9.3.4 Encriptación / CifradoComo una medida adicional de seguridad, puedes cifrar tu correo electrónico. El cifradopuede convertir el texto de tu correo en un lío mutilado de números y letras que sólo puedenser interpretados por aquellos recipientes confiados. Tus secretos más profundos y tu peorpoesía estarán escondidos para todo el mundo excepto para aquellos ojos en quien confías.

Sin embargo, debes recordar que, mientras esto te suene atractivo –y para todos nosotrosque no deseamos ser expuestos a la pésima poesía –algunos gobiernos no lo aprueban. Susargumentos pueden o no ser válidos (puedes discutir esto entre tus amigos), pero la validezno es el punto. El punto es que, dependiendo de las leyes del país en el que vives, el envío decorreo cifrado puede ser un crimen, independientemente del contenido.

9.3.5 ¿Cómo funciona?La encriptación o cifrado es un poco complicada, por lo que intentaré explicarlo de unamanera no muy técnica:

Jason desea enviar un mensaje cifrado, por lo que lo primero que hace Jason es ir con unaAutoridad Certificadora y obtener un Certificado Digital. Este Certificado tiene dos partes,una llave pública y una llave privada.

Si Jason desea recibir y enviar mensajes cifrados con su amiga Kira, ambos deberánintercambiar sus llaves públicas. Si tú obtienes una llave pública de una AutoridadCertificadora, en la cual has decidido confiar, la llave puede ser verificada de maneraautomática a esa autoridad certificadora. Esto significa que tu programa de correoverificará que el certificado es válido, y que no ha sido revocado. Si el certificado noproviene de una autoridad en la que confías, o es una llave PGP, entonces necesitarásverificar la huella de la llave. Típicamente esto se hace por separado, mediante elintercambio cara a cara de la llave o por la huella de los datos.

13

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 149: High School Hker

Asumamos ahora que tanto Kira como Jason están utilizando esquemas de cifradocompatibles, y han intercambiado mensajes firmados. Esto significa que ambos poseen lallave pública del otro.

Cuando Jason desea enviar un mensaje cifrado, el proceso de cifrado comienzaconvirtiendo el texto del mensaje de Jason en un código pre-enmascarado. Éste código esgenerado utilizando una fórmula matemática llamada algoritmo de encriptación. Existenvarios tipos de algoritmos, sin embargo, para el correo, el S/MIME y el PGP son los máscomunes.

El código enmascarado del mensaje de Jason es cifrado por el programa de correoutilizando la llave privada de Jason. Entonces, Jason utiliza la llave pública de Kira para cifrarel mensaje, por lo que sólo Kira podrá desencriptarlo con su llave privada, terminando así elproceso de encriptación.

9.3.6 DesencriptaciónAhora, Kira ha recibido el mensaje cifrado de Jason. Esto típicamente se indica con un iconode un candado en la bandeja de entrada de ella. El proceso de desencriptación esmanejado por el software de correo, pero lo que hay detrás es algo como esto: el programade correo de Kira utiliza su llave privada para descifrar el código encriptado pre-enmascarado y el mensaje encriptado. Entonces el programa de correo de Kira obtiene lallave pública de Jason donde estaba almacenada (recuerda, intercambiamos llavesanteriormente). Esta llave pública es utilizada para desencriptar el código pre enmascaradodel mensaje. Si el posteo del código enmascarado es igual al código pre enmascarado, elmensaje no ha sido alterado durante su trayecto.

Nota: si pierdes tu llave privada, todos tus archivos encriptados no te serán útiles, por lo quees importante que tengas un procedimiento para realizar el respaldo (backup) tanto de tullave privada como pública.

9.3.7 ¿Es el cifrado irrompible?De acuerdo a los números el nivel de encriptación ofrecido por, por ejemplo, PGP esirrompible. Aunque seguramente un millón de computadoras trabajando para romperlopodrían eventualmente romperlo de manera exitosa, pero no antes de que el millón dechimpancés terminaran el guión para Romeo y Julieta. El número teórico detrás de este tipode encriptación involucra la descomposición en factores de los productos de un grannúmero de números primos y el desafío del hecho de que los matemáticos han estudiado losnúmeros primos por años, por lo que no hay una manera fácil de hacerlo.

Pero la encriptación y la privacidad es más que sólo números. Sin embargo, si alguien tieneacceso a tu llave privada, tendrá acceso a todos tus archivos encriptados. La encriptaciónsólo funciona si y sólo si es parte de un esquema grande de seguridad, el cual ofreceprotección tanto a tu llave privada como a tu pass-phrase o contraseña deencriptación/desencriptación.

Ejercicios:1. ¿La encriptación de correo es legal en el país donde vives? Encuentra otro país donde sealegal y otro donde no lo sea.

14

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 150: High School Hker

2. Los escritores de ciencia ficción han imaginado dos tipos de futuros, uno en donde lagente vive de manera transparente, es decir, sin secretos, y otro en donde tanto lospensamientos como las comunicaciones de todos son completamente privadas. PhilZimmerman, creador de PGP, cree en la privacidad como una fuente de libertad. Lee suspensamientos en ¿porqué necesitas PGP? en http://www.pgpi.org/doc/whypgp/en/. Luego,del escritor de ciencia ficción David Brin, en su artículo titulado 'A Parable about Openness'que puedes encontrar en http://www.davidbrin.com/akademos.html, hace referencia a unaserie de puntos donde aboga por la franqueza como una fuente de libertad. Discute éstosdos puntos de vista. ¿Cuál prefieres? ¿Cuál crees que tendrá mayor aceptación? ¿Cómocrees que será el futuro de la privacidad?

9.4 Seguridad en las ConexionesLo último, pero no menos importante, es la seguridad en las conexiones. Para el correo web,asegúrate de utilizar una conexión SSL hacia tu proveedor de correo. Un pequeño candadodeberá aparecer en la barra de la parte inferior de tu explorador. Si estás utilizando POP y uncliente de correo, asegúrate de que has configurado tu cliente de correo para utilizar SSLcon POP en el puerto 995 y SMTP en el puerto 465. Esto encripta tu correo desde tu máquinahasta el servidor, además de proteger tu usuario y contraseña POP / SMTP. Tu proveedordeberá tener un how-to en su sitio web para saber como configurarlo. Si no te ofrecen unaconexión segura de POP / SMTP, ¡cambia de proveedor!

Ejercicio:Si tienes una cuenta de correo electrónico, averigua si tu cuenta está utilizando unaconexión SSL. ¿Cómo verificarías esto en tu cliente de correo? ¿Tu proveedor proporcionainformación sobre una conexión SSL? LESSON 9 – E-MAIL SECURITY

15

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 151: High School Hker

Lecturas Recomendadas¿Alguien puede leer mi correo electrónico?http://www.research.att.com/~smb/securemail.htmlPágina libre de PGP del MIThttp://web.mit.edu/network/pgp.htmlNoticias generales sobre aspectos de privacidad en la Internet:Centro de Información de Privacidad Electrónicahttp://www.epic.org/yElectronic Frontier Foundationhttp://www.eff.org/Más acerca de PGPhttp://www.openpgp.org/index.shtml¿Cómo el leer un E-mail puede comprometer tu Privacidad?http://email.about.com/od/staysecureandprivate/a/webbug_privacy.htmEvitando los Virus del E-mailhttp://www.ethanwiner.com/virus.htmlUna breve descripción de preguntas de seguridad en E-mail (con un pequeño aviso al final)http://www.zzee.com/email-security/Una breve descripción de preguntas de seguridad en E-mail (sin aviso)http://www.claymania.com/safe-hex.htmlPrecauciones de E-mail basado en Windowshttp://www.windowsecurity.com/articles/Protecting_Email_Viruses_Malware.htmlhttp://computer-techs.home.att.net/email_safety.htmDiferencias Entre Virus de Linux y Windows (con información sobre porqué los programas de E-mail de Linux son más seguros) http://www.theregister.co.uk/2003/10/06/linux_vs_windows_viruses/

16

LECCIÓN 9 – SEGURIDAD DEL CORREO ELECTRÓNICO (E-MAIL)

Page 152: High School Hker

LESSON 10WEB SECURITY AND

PRIVACY

Page 153: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

2

LESSON 10 – WEB SECURITY AND PRIVACY

Page 154: High School Hker

Table of Contents “License for Use” Information............................................................................................................... 1Contributors..............................................................................................................................................110.1 Fundamentals of Web Security..................................................................................................... 1

10.1.1 How the web really works.......................................................................................................110.1.2 Rattling the Locks....................................................................................................................110.1.3 Looking through Tinted Windows - SSL................................................................................. 110.1.4 Having someone else do it for you – Proxies....................................................................... 1

10.2 Web Vulnerabilities..........................................................................................................................110.2.1 Scripting Languages................................................................................................................110.2.2 Common Web Application Problems...................................................................................110.2.3 Guidelines for Building Secure Web Applications................................................................1

10.3 HTML Basics – A brief introduction................................................................................................110.3.1 Reading HTML...........................................................................................................................110.3.2 Viewing HTML at its Source.....................................................................................................110.3.3 Links ..........................................................................................................................................110.3.4 Proxy methods for Web Application Manipulation............................................................. 1

10.4 Protecting your server.....................................................................................................................110.4.1 Firewall.......................................................................................................................................110.4.2 Intrusion Detection System (IDS).............................................................................................1

10.5 Secure Communications................................................................................................................110.5.1 Privacy and Confidentiality....................................................................................................110.5.2 Knowing if you are communicating securely......................................................................1

10.6 Methods of Verification.................................................................................................................110.6.1 OSSTMM.....................................................................................................................................1Exercises...............................................................................................................................................1

Further Reading.......................................................................................................................................1

3

LESSON 10 – WEB SECURITY AND PRIVACY

Page 155: High School Hker

ContributorsSimon Biles

Pete Herzog, ISECOM

Bill Matthews

Hernán Marcelo Racciatti

Chris Ramirez

P. Shreekanth

Kim Truett , ISECOM

Marta Barceló, ISECOM

Dario Riquelme Zornow

4

LESSON 10 – WEB SECURITY AND PRIVACY

Page 156: High School Hker

10.1 Fundamentals of Web SecurityWhat you do on the World Wide Web is your business. Or so you would think. But it's just nottrue. What you do on the web is about as private and anonymous as where you go whenyou leave the house. Again, you would think that it's your business and many, includingISECOM, would agree with you. However, consider a private investigator following youaround town, writing down what you saw and who you spoke with.

The focus of this lesson is to get you learn how to protect yourself on the web and to do that,you will have to learn where the dangers are.

The World Wide Web works in a very straight-forward manner. Once connected to theInternet through you ISP, you open a browser, tell it a website, and you get that website onyour screen. However, the truth is in the details. How does the web really work?

A quick trip to the World Wide Web Consortium (W3C), those fine folks who make standardsfor the web, will teach you all you want to know about the web. http://www.w3.org. Eventhe history of the web: http://www.w3.org/History.html The problem is, will definitions andstandards teach you how to be safe? Apparently not. The people who want to hurt you donot necessarily follow the standards.

10.1.1 How the web really worksThe steps involved in connecting to the Internet and then to the web are very detailed even ifit does seem to be smooth from the user end.

So what happens for real when you just want to get to the ISECOM website? Assuming youare already connected to the internet, here are the steps that occur in order:

1. You open your browser.

2. You type in the URL (website name).

3. Website name saved in History Cache on the hard disk.

4. Your computer looks up the name of the address to your default DNS server to findthe IP address.

5. Your computer connects to the server at the IP address provided at the defaultweb port of 80 TCP if you used “HTTP://” or 443 TCP if you used “HTTPS://” at the frontof the web server name (by the way, if you used HTTPS then there are other stepsinvolved using server certificates which we will not follow in this example).

6. Your computer requests the page or directory you specified with the default oftenbeing “index.htm” if you don't specify anything. But the server decides t's defaultand not your browser.

7. The pages are stored in a cache on your harddisk. Even if you tell it to store theinformation in memory (RAM), there is a good chance it will end up somewhere onyour disk either in a PAGEFILE or in a SWAPFILE.

8. The browser nearly instantaneously shows you what it has stored. Again, there is adifference between “perceived speed” and “actual speed” of your web surfingwhich is actually the difference between how fast something is downloaded(actual) and how fast your browser and graphics card can render the page andgraphics and show them to you (perceived). Just because you didn't see it doesn'tmean it didn't end up in your browser cache.

5

LESSON 10 – WEB SECURITY AND PRIVACY

Page 157: High School Hker

The history of the World Wide Web ( just “web” from now on ) started at CERN1 in 1989. It wasconceived by Tim Berners-Lee and Robert Cailliau who built a basic hypertext based systemfor sharing information. Over the next few years Tim Berners-Lee continued to develop thesystem until in 1993 CERN announced that the web was free for anyone to use, and the webas we know it now exploded onto the scene.

The Web is a client and server based concept, with clients such as Internet Explorer, Firefox,Mozilla, Opera, Netscape and others connecting to web servers such as IIS and Apachewhich supply them with content in the form of HTML2 pages. Many companies, organizationsand individuals have collections of pages hosted on servers delivering a large amount ofinformation to the world at large.

So why do we care about web security then? Web servers often are the equivalent to theshop window of a company. It is a place where you advertise and exhibit information, but thisis supposed to be under your control. What you don't want to do is leave the window open sothat any passer by can reach in and take what they want for free, and you ideally want tomake sure that if someone throws a brick, that the window doesn't shatter ! Unfortunatelyweb servers are complex programs, and as such have a high probability of containing anumber of bugs, and these are exploited by the less scrupulous members of society to getaccess to data that they shouldn't be seeing.

And the reverse is true as well. There are risks also associated with the client side of theequation like your browser. There are a number of vulnerabilities which have been discoveredin the last year which allow for a malicious web site to compromise the security of a clientmachine making a connection to them.

10.1.2 Rattling the Locks

Standard HTML pages are transferred using HTTP3, this standard TCP based protocol is plaintext based and this means that we can make connections to a server easily using tools suchas “telnet” or “netcat”. We can use this facility to gain a great deal of information aboutwhat software is running on a specific server. For example :

simon@exceat:~> netcat www.computersecurityonline.com 80HEAD / HTTP/1.0

HTTP/1.1 200 OKDate: Fri, 07 Jan 2005 10:24:30 GMTServer: Apache/1.3.27 Ben-SSL/1.48 (Unix) PHP/4.2.3Last-Modified: Mon, 27 Sep 2004 13:17:54 GMTETag: "1f81d-32a-41581302"Accept-Ranges: bytesContent-Length: 810Connection: closeContent-Type: text/html

By entering “HEAD / HTTP/1.0” followed by hitting the “Return” key twice, I can gain all of theinformation above about the HTTP Server. Each version and make of HTTP Server will returndifferent information at this request – an IIS server will return the following :

1 Centre Européen pour la Recherche Nucléaire (European Centre for Nuclear Research)2 Hyper Text Markup Language3 Hyper Text Transfer Protocol

6

LESSON 10 – WEB SECURITY AND PRIVACY

Page 158: High School Hker

simon@exceat:~> netcat www.microsoft.com 80HEAD / HTTP/1.0

HTTP/1.1 200 OKConnection: closeDate: Fri, 07 Jan 2005 11:00:45 GMTServer: Microsoft-IIS/6.0P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OURSAMo CNT COM INT NAV ONL PHY PRE PUR UNI"X-Powered-By: ASP.NETX-AspNet-Version: 1.1.4322Cache-Control: public, max-age=9057Expires: Fri, 07 Jan 2005 13:31:43 GMTLast-Modified: Fri, 07 Jan 2005 10:45:03 GMTContent-Type: text/htmlContent-Length: 12934

You can take this further and obtain more information by using the “OPTIONS” request in theHTTP request as follows :

simon@exceat:~> netcat www.computersecurityonline.com 80OPTIONS / HTTP/1.0

HTTP/1.1 200 OKDate: Fri, 07 Jan 2005 10:32:38 GMTServer: Apache/1.3.27 Ben-SSL/1.48 (Unix) PHP/4.2.3Content-Length: 0Allow: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND,PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACEConnection: close

This will give you all of the allowed HTTP commands that the server will respond to.

Doing all of this by hand is rather tedious, and matching it manually against a database ofknow signatures and vulnerabilities is more than anyone would want to do. Fortunately for us,some very enterprising people have come up with an automated solution called “nikto”.

“Nikto” is a Perl script which carries out various tests automagically ! The options are as follows:

-Cgidirs+ Scan these CGI dirs: 'none', 'all', or a value like '/cgi/' -cookies print cookies found -evasion+ ids evasion technique (1-9, see below) -findonly find http(s) ports only, don't perform a full scan -Format save file (-o) Format: htm, csv or txt (assumed) -generic force full (generic) scan -host+ target host -id+ host authentication to use, format is userid:password -mutate+ mutate checks (see below) -nolookup skip name lookup -output+ write output to this file -port+ port to use (default 80) -root+ prepend root value to all requests, format is /directory -ssl force ssl mode on port -timeout timeout (default 10 seconds) -useproxy use the proxy defined in config.txt

7

LESSON 10 – WEB SECURITY AND PRIVACY

Page 159: High School Hker

-Version print plugin and database versions -vhost+ virtual host (for Host header) (+ means it requires a value) These options cannot be abbreviated: -debug debug mode -dbcheck syntax check scan_database.db and user_scan_database.db -update update databases and plugins from cirt.net -verbose verbose mode IDS Evasion Techniques: 1 Random URI encoding (non-UTF8) 2 Directory self-reference (/./) 3 Premature URL ending 4 Prepend long random string 5 Fake parameter 6 TAB as request spacer 7 Random case sensitivity 8 Use Windows directory separator (\) 9 Session splicing

Mutation Techniques: 1 Test all files with all root directories 2 Guess for password file names 3 Enumerate user names via Apache (/~user type requests) 4 Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)

“Nikto” is quite comprehensive in its reporting as you can see from the following scan :

exceat:/# ./nikto.pl -host www.computersecurityonline.com---------------------------------------------------------------------------- Nikto 1.34/1.29 - www.cirt.net+ Target IP: 217.30.114.2+ Target Hostname: www.computersecurityonline.com+ Target Port: 80+ Start Time: Fri Jan 7 12:23:56 2005---------------------------------------------------------------------------- Scan is dependent on "Server" string which can be faked, use -g to override+ Server: Apache/1.3.27 Ben-SSL/1.48 (Unix) PHP/4.2.3- Server did not understand HTTP 1.1, switching to HTTP 1.0+ Server does not respond with '404' for error messages (uses '400').+ This may increase false-positives.+ Allowed HTTP Methods: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND,PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE + HTTP method 'PUT' method may allow clients to save files on the web server.+ HTTP method 'CONNECT' may allow server to proxy client requests.+ HTTP method 'DELETE' may allow clients to remove files on the web server.+ HTTP method 'PROPFIND' may indicate DAV/WebDAV is installed. This may be used to getdirectory listings if indexing is allowed but a default page exists.+ HTTP method 'PROPPATCH' may indicate DAV/WebDAV is installed.+ HTTP method 'TRACE' is typically only used for debugging. It should be disabled.+ Apache/1.3.27 appears to be outdated (current is at least Apache/2.0.50). Apache 1.3.31 isstill maintained and considered secure.+ Ben-SSL/1.48 appears to be outdated (current is at least 1.55)+ PHP/4.2.3 appears to be outdated (current is at least 5.0.1)+ PHP/4.2.3 - PHP below 4.3.3 may allow local attackers to safe mode and gain access tounauthorized files. BID-8203.+ Apache/1.3.27 - Windows and OS/2 version vulnerable to remote exploit. CAN-2003-0460+ Apache/1.3.27 - Apache 1.3 below 1.3.29 are vulnerable to overflows in mod_rewrite andmod_cgi. CAN-2003-0542.+ /~root - Enumeration of users is possible by requesting ~username (responds with Forbiddenfor real users, not found for non-existent users) (GET).+ /icons/ - Directory indexing is enabled, it should only be enabled for specific directories(if required). If indexing is not used all, the /icons directory should be removed. (GET)+ / - TRACE option appears to allow XSS or credential theft. Seehttp://www.cgisecurity.com/whitehat-mirror/WhitePaper_screen.pdf for details (TRACE)+ / - TRACK option ('TRACE' alias) appears to allow XSS or credential theft. Seehttp://www.cgisecurity.com/whitehat-mirror/WhitePaper_screen.pdf for details (TRACK)+ /CVS/Entries - CVS Entries file may contain directory listing information. (GET)

8

LESSON 10 – WEB SECURITY AND PRIVACY

Page 160: High School Hker

+ /images/ - index of image directory available (GET)+ /manual/ - Web server manual? tsk tsk. (GET)+ /cgi-bin/cgiwrap - Some versions of cgiwrap allow anyone to execute commands remotely. (GET)+ /cgi-bin/cgiwrap/~adm - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /cgi-bin/cgiwrap/~bin - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /cgi-bin/cgiwrap/~daemon - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /cgi-bin/cgiwrap/~lp - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /cgi-bin/cgiwrap/~root - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /cgi-bin/cgiwrap/~xxxxx - Based on error message, cgiwrap can likely be used to find validuser accounts. Recompile cgiwrap with the '--with-quiet-errors' option to stop userenumeration. (GET)+ /cgi-bin/cgiwrap/~root - cgiwrap can be used to enumerate user accounts. Recompile cgiwrapwith the '--with-quiet-errors' option to stop user enumeration. (GET)+ /css - Redirects to http://www.computer-security-online.com/css/ , This might beinteresting...+ 2449 items checked - 15 item(s) found on remote host(s)+ End Time: Fri Jan 7 12:25:36 2005 (100 seconds)---------------------------------------------------------------------------• 1 host(s) tested

Using the other options you can fine tune Nikto to do exactly what you need to achieve,including stealth, mutation and cookie detection.

10.1.3 Looking through Tinted Windows - SSL

It wasn't too long before everyone realized that HTTP in plain text wasn't much good forsecurity. So the next variation was to apply encryption to it. This comes in the form of SSL4, andis a reasonably secure 40 or 128 bit public key encryption method. Using a 40 bit key is a lotless secure than the 128 bit and, with specialized hardware, may well be brute forcebreakable within a period of minutes, where as the 128 bit key will still take longer that theage of the Universe to break by brute force. There are however more complex technicalattacks using something called a known cyphertext attack – this involved calculating theencryption key by analyzing a large number of messages ( > 1 million ) to deduce the key. Inany case, you aren't going to be rushing to try and crack 128 bit encryption – so what can welearn about SSL HTTP Servers?

Quite a lot actually. As the SSL merely encrypts the standard HTTP traffic, if we set up an SSLtunnel, we can query the server as we did in section 1.1. Creating an SSL tunnel is quitestraight forward, and there is a utility called “stunnel” purely for this purpose. Enter thefollowing into a file called stunnel.conf, (replacing ssl.enabled.host with the name of the SSLserver that you want to connect to:

client=yesverify=0[psuedo-https]accept = 80connect = ssl.enabled.host:443TIMEOUTclose = 0

Stunnel will then map the local port 80 to the remote SSL Port 443 and will pass out plain text,so you can connect to it using any of the methods listed above :

4 Secure Sockets Layer

9

LESSON 10 – WEB SECURITY AND PRIVACY

Page 161: High School Hker

simon@exceat:~> netcat 127.0.0.1 80HEAD / HTTP/1.0

HTTP/1.1 200 OKServer: Netscape-Enterprise/4.1Date: Fri, 07 Jan 2005 10:32:38 GMTContent-type: text/htmlLast-modified: Fri, 07 Jan 2005 05:32:38 GMTContent-length: 5437Accept-ranges: bytesConnection: close

10.1.4 Having someone else do it for you – Proxies

Proxies are middlemen in the HTTP transaction process. The client requests the proxy, the proxyrequests the server, the server responds to the proxy and then the proxy finally passes backthe request to the client, completing the transaction. Proxy servers are vulnerable to attacksin themselves, and are also capable of being a jumping off point for launching attacks ontoother web servers. They can however increase security by filtering connections, both to andfrom servers.

10.2 Web VulnerabilitiesThe simplicity of giving someone something that they ask for is made much more complexwhen you're in the business of selling. Web sites that sell to you, companies selling products,bloggers selling ideas and personality, or newspapers selling news, requires more than justHTML-encoded text and pictures. Dynamic web pages that help you decide what to ask for,show you alternatives, recommend other options, upsell add-ons, and only give you what youpay for require complex software. When we say goodbye to websites and hello to webapplications we are in a whole new world of security problems.

10.2.1 Scripting Languages

Many scripting languages have been used to develop applications that allow businesses tobring their products or services to the web. Though this is great for the proliferation ofbusinesses, it also creates a new avenue of attack for hackers. The majority of webapplication vulnerabilities come not from bugs in the chosen language but in the methodsand procedures used to develop the web application as well as how the web server wasconfigured. For example, if a form requests a zip code and the user enters “abcde”, theapplication may fail if the developer did not properly validate incoming form data. Severallanguages can be used for creating web applications, including CGI’s, PHP and ASP.

Common Gateway Interface (CGI): Whatis.com defines a CGI as “A standard way for a webserver to pass a web user’s request to an application program and to receive data back toforward to the user.” CGI is part of the web’s Hypertext Transfer Protocol (HTTP). Severallanguages can be used to facilitate the application program that receives and processesuser data. The most popular CGI applications are: C, C++, Java and PERL.

10

LESSON 10 – WEB SECURITY AND PRIVACY

Page 162: High School Hker

PHP – Hypertext Preprocessor (PHP): PHP is an open-source server-side scripting languagewhere the script is embedded within a web page along with its HTML. Before a page is sentto a user, the web server calls PHP to interpret and perform any operations called for in thePHP script. Whereas HTML displays static content, PHP allows the developer to build pagesthat present the user with dynamic, customized content based on user input. HTML pagesthat contain PHP scripting are usually given a file name with the suffix of “.php”.

Active Server Pages (ASP): Web pages that have an .asp Active server pages (ASP), aredatabase drive dynamically created Web page with a .ASP extension. They utilize ActiveXscripting -- usually VB Script or Jscript code. When a browser requests an ASP, the Web servergenerates a page with HTML code and immediately sends it back to the browser – in this waythey allow web users to view real time data, but they are more vulnerable to securityproblems.

10.2.2 Common Web Application ProblemsWeb applications do not necessarily have their own special types of problems but they dohave some of their own terms for problems as they appear on the web. As web applicationtesting has grown, a specific security following has grown too and with that, a specificclassification of web vulnerabilities. Common web application problems are classified belowaccording to the OSSTMM Risk Assessment Values(http://www.isecom.org/securitymetrics.shtml), a specific way to measure security by how itaffects how things work.

RAV What it means Web ExamplesAuthentication

These are the identification andauthorization mechanisms used tobe certain that the person orcomputer using the webapplication is the correct person tobe using it.

Every time you login to a web page thathas your personal data then you areauthenticating. Authentication oftenmeans just giving a login and password.Sometimes it means giving anidentification number or even justcoming from n acceptable IP Address(white-listing).

Non-Repudiation

A record that proves that the datasent to or from the web applicationwas really sent and where.

Although you may not see it, most webapplications keep track of purchasesyou make from a particular IP addressusing a particular browser on aparticular operating system as a recordthat it was most likely smeone on yourcomputer who made that purchase.Without specific “authentication” theycan't guarantee 100% it was you though.

Confidentiality

A way to assure thatcommunication with the webapplication cannot be listened inon by another person.

The HTTPS part of interaction with a webapplication provides pretty goodconfidentiality. It does a decent job ofmaking your web traffic with the webapp from being publicly readable.

11

LESSON 10 – WEB SECURITY AND PRIVACY

Page 163: High School Hker

RAV What it means Web ExamplesPrivacy A way to assure that the way you

contact and communicate withthe web application cannot bepre-determined by another person.

While it is very rare, it is not unimaginablethat a web application that containsvery private information would not evenshow you it is there unless you come fromthe right place and know the right secretcombination to get the web app to beaccessible. One way is to have to clicka picture in 5 different places in aspecific order to get to the login screen.Another manner is called port-knockingand it means that the server requires aspecific sequence of interactions beforeit opens a port, such as the HTTP port, tothe user.

Indemnification

These are ways to assure that theweb application has legalprotection or at the least, can befinancially protected withinsurance.

Some web sites clearly print on the loginscreen that it's for authorized personnelonly. If someone steals a login andpassword or even brute-forces it open,the attacker, if caught, cannot say hedidn't know it was private.

Integrity This is a record of the validity of thecommunication with the webapplication to assure that what issent and then received by theother is the same thing and if itchanged, both the web pplicationand the user have a record of thechange.

Some web apps provide a “HASH” withfiles to be downloaded. This HASH is anumber generated from that specifc file.When you download the file, you cancheck the HASH you generate from thefile against the one they post. This is toassure that some attacker is not trying totrick you with a different file eitherreplaced or through deception, such asin Cross Site Scripting.

Safety This is how we protect the webapplication from it's own securitydevices. If security fails, we needto make sure that it does not affectthe operation of the webapplication as a whole.

It is very possible to have an applicationuse a daemon that can re-initialize itselfor even prevent an attack from crashingany part of itself by presenting itself onlyvirtually. You can also find scenarioswhere a web app uses an intrusiondetection mechanism that “stops”attacks by blocking the attacker by IPaddress. In this case, we can't say Safetyexists if the security device is configuredto prevent an attacker from spoofingthe web app's own resources andcausing this defense to block importanttraffic. Instead, it is considered either amisconfiguration of the defense or insome cases a weakness of design. Don'tconfuse a poorly made or “accidental”defense with a designed loss control.

12

LESSON 10 – WEB SECURITY AND PRIVACY

Page 164: High School Hker

RAV What it means Web ExamplesUsability A way to prevent the user from

having to make security decisionsabout interacting with the webapplication. This means thatproper security is built in and theuser doesn't have to choose whichor what security mechanisms toturn on or off.

When a web app requires use of HTTPover SSL (HTTPS) then we can say that it isusing Usability as part of security.However, if it lets you choose to interactwith it less securely, for example, to sendyour credit card number by insecure e-mail rather than post it via a form byway of HTTPS, then it is NOT exercisingUsabilty.

Continuity This is how we keep a servicebased on a web application fromfailing to work no matter whatproblem or disaster occurs.

Often times a web app that receives alot of traffic will have a reverse proxy infront of it which directs the traffic to oneof many mirrored web servers. This way,if one goes down, service is notinterrupted. Another example is a webapplication that caches its website tomany different servers over the internetso when you visit one, you are ntactually going to the originating webserver. If a cache goes down or getscorrupted, then the traffic will getredirected to another cache or theoriginating website.

Alarm A notification, either immediate ordelayed, regarding a problem withany of these mechanisms.

A basic form of alarm is the log filegenerated by the web server. The badthing about an alarm is that you canchoose to ignore it. This is especially trueif it sounds all the time (think of the storyof the boy who cried “wolf”. Or in thecase of a log file, it may not sound at all.Alarm is only as good as your reactiontime to it.

Exercises:

1. Open up google and type in “inurl:search.asp” or “inurl:search.php”. With any of thewebsites which come up, attempt to type in the following in the search field <script>alert(“hello”)</script>. What happens? Try this for several sites.

2. In google, type in “inurl:login.asp” ond “inurl:login.php”. With any of the websites whichcome up, attempt to type in special characters (@#$^&) for both the username andpassword. What happens? Try this for several sites.

3. Knowing the types of security mechanisms a web application may have, open yourfavorite, interactive website and try to identify if it has security mechanisms which conform toany of the RAV classifications.

4. Commonly discussed web vulnerabilities are Cross Site Scripting (XSS) and SQL injection.What are they and how does an attacker use them to steal data or information from a webapplication?

13

LESSON 10 – WEB SECURITY AND PRIVACY

Page 165: High School Hker

10.2.3 Guidelines for Building Secure Web ApplicationsWhile there are many opinions and most of the details to building with security in mind comefrom the logic of the programmer and their skill with the programming language, these basicguidelines are also derived from materials available from the OSSTMM(http://www.osstmm.org).

1. Assure security does not require user decisions.2. Assure business justifications for all inputs and outputs in the application.3. Quarantine and validate all inputs including app content.4. Limit trusts (to systems and users).5. Encrypt data.6. Hash the components.7. Assure all interactions occur on the server side.8. Layer the security.9. Invisible is best- show only the service itself.10. Trigger it to alarm.11. Security awareness is required for users and helpdesks.

Exercises:

1. Give examples for any three of the above guidelines.2. Give three types of technologies that one could apply to a web application as an

alarm.

10.3 HTML Basics – A brief introductionHTML is a set of instructions that explains how information is to be presented from a web server(Apache, Internet Information Server) to a browser (Firefox, Opera). It is the heart of the WorldWide Web.

HTML can do much more than just display data on a web page. It can also provide dataentry forms, where data can be entered for processing by a higher level language (Perl, PHP,etc). In a business setting this is where HTML is at its most useful but in a hacker setting, this iswhere HTML is at its most vulnerable.

10.3.1 Reading HTMLHTML is communicated with a series of tags or markups. Each opening tag, <h1>, for instance,must have a closing tag, </h1>. This tells the browser to stop the markup described by thepreceding tag. Opening and closing tags are a part of well-formed HTML.

Take, for example, the code:

<html><head><title>Hello World</title></head><body><h1>Hello World!</h1></body>

14

LESSON 10 – WEB SECURITY AND PRIVACY

Page 166: High School Hker

</html>

Figure 1: HTML Code

We are telling the browser this is an HTML document with the tag <html> and we have a titleof 'Hello World' with the <title> tag. The <body> tag tells our browser “here is where theinformation you will be displaying goes.” Finally, the <h1> tags tells the browser to display theinformation in “Heading 1” style. The tags that are preceded with a '/' are merely the closingtag, this tells the browser to stop displaying the contents described by the opening tag.

Exercise 1: Cut and paste the code in figure one and paste it into a text file called hello.html.Open that file in your browser of choice and you should see something similar to this:

15

LESSON 10 – WEB SECURITY AND PRIVACY

Page 167: High School Hker

10.3.2 Viewing HTML at its SourceAll modern browsers contain a way to view the underlying HTML code that generated theweb page you are looking at. In most cases, this is the “view source” option under the “view”menu in your browser.

Exercise 2: Choose View --> View Source in your browser while surfing your favorite web page.

16

Illustration 1View Menu

LESSON 10 – WEB SECURITY AND PRIVACY

Page 168: High School Hker

The results should be something pretty similar to this:

HTML code is visible to anyone with a web browser. This is why it is very important when codingweb pages to not try to hide passwords or important information in the HTML source code. Asyou can see, its not very secret.

10.3.3 Links

Links (or hyper-links) are really the heart of HTML page building. The biggest strength of HTML isthe ability to link to other documents. A link, in the context of HTML is denoted as <ahref=”www.yahoo.com”>www.yahoo.com</a> The link will appear as www.yahoo.com onyour website. This will take visitors of your site to Yahoo.

Links can be checked and followed followed by so-called link checker programs. Theseprograms search HTML source code for the <a href=></a> tags and then create a file or indexof the found links. Spammers will often use this technique to find email addresses or contactforms they can use to spread their mass emails. Link checkers can also be used to check yourwebsite for “broken” links or links that don't go anywhere. This can happen a lot even inrelatively small sites.

Exercise 1: Create a link

Create a link to www.hackerhighschool.org that displays as Hacker High School on your webpage.

Bonus exercise: Use the tool

17

Illustration 2Source viewed in text editor

LESSON 10 – WEB SECURITY AND PRIVACY

Page 169: High School Hker

1. Find and download a link checking program2. Run that program against www.hackerhighschool.org and document how

many broken links you find.

10.3.4 Proxy methods for Web Application Manipulation

An HTTP proxy server serves as a middle man between a web server and a web client(browser). It intercepts and logs all connections between them and in some cases canmanipulate that data request to test how the server will respond. This can be useful for testingapplications for various cross-site scripting attacks (provide reference link here), SQL Injectionattacks and any other direct request style attack. A proxy testing utility (SpikeProxy, WebProxy,etc), will assist with most of these tests for you. While some have an automation feature, youwill quickly learn that it is actually a weak substitute for a real person behind the wheel of suchtools.

Exercise 1: Choose your software

1. Download a proxy utility2. Install the software according to the README file3. Change your browser setting to point to the new proxy

• This is usually port 8080 on localhost for these tools but read theinstructions to be sure.

Once the proxy server is installed and your browser is pointed at it, surf around the site yourtesting. Remember, be sure to use a website that you have permission to test. Once you havesurfed around, point your browser to the proxy's admin page (for SpikeProxy, ithttp://www.immunitysec.com/resources-freesoftware.shtml) and begin testing the site. Fromthe admin interface you can have the tool brute force the site's authentication methods ortest for cross-site scripting. (Actually, we recommend using Mozilla or Firefox andhttp://livehttpheaders.mozdev.org/ and http://addneditcookies.mozdev.org/ together tomodify headers and cookies on the fly without the need for a seperate proxy port. Not onlydoes it really simplify things, it's a much more powerful tool set as we teach it in ISECOM'sOSSTMM Professional Security Tester class (OPST). But since you will need to know aboutsetting up proxies for other things, like ad and spam filters, privacy filters, etc. We thought youshould actually set one up for real and Spike is a good one to try.)

A proxy server can be a powerful tool in helping you determine how solid a web applicationis. For penetration tests or vulnerability assessments, you must have a good proxy tool in yourtoolbox. There are detailed tutorials available on using SpikeProxy athttp://www.immunitysec.com/resources-papers.shtml.

10.4 Protecting your serverThere are several steps that can be taken to protecting your server. These include ensuringthat your software is always updated and patched with any security updates that areavailable from the manufacturer. This includes ensuring that your OS and web servers areupdates as well. In addition, Firewalls and Intrusion detections systems can help protect yourserver, as discussed below.

18

LESSON 10 – WEB SECURITY AND PRIVACY

Page 170: High School Hker

10.4.1 FirewallFirewalls originally were fireproof walls used as barriers to prevent fire from spreading, such asbetween apartment units within a building. The same term is used for systems (hardware andsoftware) that seeks to prevent unauthorized access of an organization's information. Firewallsare like security guards that, based on certain rules, allow or deny access to/from traffic thatenters or leaves an organization (home) system. They are important systems safe guards thatseek to prevent an organization’s system from being attacked by internal or external users. It isthe first and most important security gate between external and internal systems.

Firewalls are generally placed between the Internet and an organization’s information system.The firewall administrator configures the firewall with rules allowing or denying informationpackets from entering into or leaving the organization.

The rules are made using a combination of Internet Protocol (IP) address and Ports; such rulesare made depending on the organization needs e.g. in a school, students are allowed inbased on identity card.

The rule to the security guard in a school would be to allow all persons that carry a valididentity card and deny everyone else. However the security guard would have another rulefor exiting from the school; the rule would be to allow everyone exit except small childrenunless accompanied by adults. A similar system is followed for firewall configurationdepending on the nature of the organization, the criticality of information asset, cost ofsecurity, security policy and risk assessment.

The firewall just like a security guard cannot judge the contents of the information packet; justlike the guard allows all persons with a valid identity card irrespective of nature of the persons,firewall allows entry or exit based mainly on IP address and Port numbers. Hence an entry orexit is possible by masking IP address or Port. To mitigate this risk, organizations use IntrusionDetection System, which is explained in the next section.

There are various kinds of firewall depending on the features that it has viz. packet filter(operates on IP packets), stateful firewall (operates based connection state) or applicationfirewall (using proxy).

Example of a firewall rule could be: Block inbound TCP address 200.224.54.253 from port 135.(An imaginary example); such rule would tell a computer connected to Internet to block anytraffic originating from the computer with an IP address 200.224.54.253 using Port 135.

Important activities relating to firewalls are initial configuration (creating initial rules), systemmaintenance (additions or change in environment), review of audit logs, acting on alarmsand configuration testing.

10.4.2 Intrusion Detection System (IDS)

Imagine in a school that has proper security guards; how will the authorities detect entry ofunauthorized persons? The authorities would install burglar alarm that will ring on entry ofunauthorized persons. This is exactly the function of intrusion detection system in computerparlance. Firewall (security guard or fence) and IDS (burglar alarm or patrolling guard) worktogether; while firewall regulates entry and exits, IDS alerts/denies unauthorized access.

19

LESSON 10 – WEB SECURITY AND PRIVACY

Page 171: High School Hker

So how does IDS help? Just like burglar alarms, IDS alerts the authorized person (alarm rings)that an authorized packet has entered or left. Further, IDS can also instantly stop such accessor user from entering or exiting the system by disabling user or access. It can also activatesome other script; IDS can for example prevent or reduce impact of denial of service byblocking all access from a computer or groups of computer.

IDS can be host based or network based; host based IDS are used on individual computerswhile network IDS are used between computers. Host based IDS can be used to detect, alertor regulate abnormal activity on critical computers; network IDS is similarly used in respect oftraffic between computers. IDS thus can also be used to detect abnormal activity.

IDS like patrolling guard regularly monitors network traffic to detect any abnormality e.g. hightraffic from some computers or unusual activity on a server, e.g. user logged onto applicationand involved in malicious activity. IDS compare any event with historical data to detect anydeviation. On detection of deviation, IDS act depending on the rule created by IDSadministrator such as alerting, storing such intrusion in audit logs, stopping user from doing anyactivity or generating script for starting a string of activities. IDS can also detect deviationbased on its database of signatures – any deviation to signature is detected and acted upon-this action is similar to anti virus software. IDS is also used for detection of any activity oncritical resource or for forensic by quietly watching the suspect.

Exercises:

1. Are both firewall and Intrusion Detection System required in an organization forsecuring its information system? If yes why? If not, why not?

2. Think of an example of a specific use of firewall rules that is applicable to the frontdesk person in a school; does she need to access Internet? If not, how will the rule beenforced?

3. Can a student access the school score database that contains complete informationon examination scores of all students. How will this be controlled? How will this bedetected in case an external party using Internet unauthorizedly accesses it?

10.5 Secure CommunicationsGenerally, the concept associated with security communications are the processes ofcomputer systems that creates confidence and reduces risks. For electronic communications,three requirements are necessary to ensure security. A) Authenticity b) Integrity c) Nonrepudiation.

Authenticity: This concept has to do with ensuring that the source of a communication is whoit claims to be. It is not difficult to falsify electronic mail, or to slightly vary the name of a webpage, and thus redirect users, for example http://www.diisney.com appears to be the Disneyweb page, but it has 2 letters "i" and can be confusing. In this case, you are actuallytransferred to a gambling site and the communications are not safe.

Integrity: That a communication has Integrity means that what was sent, is exactly whatarrives, and has not undergone alterations (voluntary or involuntary) in the passage.

Non repudiation: If the conditions of authenticity and Integrity are fulfilled, non-repudiationmeans that the emitter cannot deny the sending of the electronic communication.

20

LESSON 10 – WEB SECURITY AND PRIVACY

Page 172: High School Hker

For example, if a Web site grants a prize to me, and I can prove it - that is to say, if a Web sitesends a discount coupon, and I verify that the Web site is authentic, and that nobodymanipulated the information in the way, the site cannot deny that the coupon was sent.

The form used to assure these conditions from a Web site is called an electronic certificate.

Maintaining the conditions of security gives us tranquillity in our electronic communications,and allows to assure the principle the privacy in the cyberspace.

10.5.1 Privacy and ConfidentialityMost web sites receive some information from those who browse them - either by explicitmeans like forms, or more covert methods like cookies or even navigation registries. Thisinformation can be helpful and reasonable – like remembering your book preferences onAmazon.com and, therefore,in order to ensure security to the person who browses, many siteshave established declarations of Privacy and Confidentiality.

Privacy refers keeping your information as yours – or limiting it to close family or your friends, oryour contacts, but at the most, those who you have agreed to share the information. No onewants their information shared everywhere without control, for that reason, there are subjectsdeclared as private, that is to say, that of restricted distribution.

On the other hand, the confidentiality talks about that a subject's information will stay secret,but this time from the perspective of the person receiving that information.

For example, if you desire a prize, but you do not want your information distributed, youdeclare that this information is private, authorize the information to a few people, and theymaintain confidentiality. If for some reason, in some survey, they ask to you specifically for thatprize, and you respond that if you have it, you would hope that that information staysconfidential, that is to say, who receive the information keep it in reserve.

We could generalize the definition of confidentiality like "that the information received undercondition of privacy, I will maintain as if it was my own private information". It is necessary todeclare the conditions of the privacy of information handling, to give basic assurances ofsecurity.

Also it is recommended that you read the conditions established by the web site you visit intheir privacy policy.

Exercise:

1. Review the conditions of privacy of world-wide suppliers of WebMail: Google andHotmail and of manufacturer like General Motors motorshttp://www.gm.com/privacy/index.html. Are they equal? Of those, who will share theinformation that I give? What measures will I be able to take if they do not observethese rules?

10.5.2 Knowing if you are communicating securely

21

LESSON 10 – WEB SECURITY AND PRIVACY

Page 173: High School Hker

Even with conditions of Privacy and Confidentiality, somebody can still intercept thecommunications. In order to give conditions discussed at the beginning of this section, a layerof security has been previously discussed called SSL, which uses digital certificates to establisha safe connection (is to say that it fulfills the authenticity, integrity and non repudiation) andprovides a level with encryption in communications (this is to hide information so that ifsomebody takes part of the information, they cannot access it, because the message isencypted so that only the sender that sends it and the receiver, with a correct certificates, isable to understand it). This layer is called Security Socket Layer, SSL, and is visible through twoelements within the web browser.

The communications is considered to be safe when the web address URL changes from HTTPto https, this change even modifies the port of the communication, from 80 to 443. Also, in thelower bar of the navigator, a closed padlock appears, which indicates conditions of securityin the communications.

If you put mouse on this padlock, a message will apepar detailing the number of bits that areused to provide the communications (the encryption level), which as of today, 128 bits is therecommended encryption level. This means that a number is used that can be represented in128 bits to base the communications.

A type of called trick phishing exists (http://www.antiphishing.org/) in which a Web mimics thepage to make seem from a bank (they copy the graphics, so that the clients enter their data,trusting that it is the bank, although it is not it). In order to avoid these situations, theauthenticity of the site should be verified, and checked that the communications are safe(https and the closed padlock), and to the best of your knowledge, it verifies the certificate.

10.6 Methods of VerificationAt this point, you have had opportunity to know the foundations the security in the Web, themain aspects related to some of the vulnerabilities found commonly in the web servers usedto lodge the different sites with which we routinely interact when browsing in Internet, and theform in which different defects in the development of web applications, affect the securityand/or the privacy of the users in general.

On the other hand, you have learned some of the technologies on which we rely to protectour servers and also our privacy. However, probably at this moment, you are realizingquestions such as: I am safe, now that I have taken the corresponding actions? Is my systemsafe? The developers that have programmed some of the functionalities that I have used inmy Web site, have they taked care of ensuring aspects to the security? How I can verify theseaspects?

As probably you have thought, it is not enough to apply manufacturer updates or trust thegood intentions of the developer, when your security or privacy is concerned. In the past,there have been several cases in which manufacturer's patches corrected one vulnerability,but causing another problem in the system, or once patched discovered a new vulnerability.Due to this and other reasons, you will have to consider, that is absolutely necessary to verifyfrequently the implemented systems, in order to the system "remains" safe.

Luckily, many people have developed in their own time, some "Methods of Verification", mostof which are available free, so that we all may take advantage of the benefits of its use. Suchthey are based on the experience of hundreds of professionals, and include numerous "goodpractices" regarding implementing technology in safe form. Therefore, it is recommended,that you adopt these methodologies at the time of making your tasks of verification.

22

LESSON 10 – WEB SECURITY AND PRIVACY

Page 174: High School Hker

An example of these, the OSSTMM is discussed briefly below.

10.6.1 OSSTMMThe OSSTMM, which is an abbreviation for "Open Source Security Testing ManualMethodology" is one of the methodologies of testing security that is widely used. As describedin its introduction, although certain individual tests are mentioned, these are not particularlyrevolutionary, the methodology altogether represents a standard of essential reference, foranyone wanting to carry out a test of security in an ordered format and with professionalquality. The OSSTMM, is divided in several sections. In the same way, it is possible to identifywithin it, a series of specific testing modules, through which each dimension of security istested and integrated with the tasks needed to ensure security.

This sections include: Personnel Security, Data Network Security, Telecommunications Security,Wireless Communications Security, and Physical Security, and the sections of this methodologydetail security from the point of view of WHICH test to do, WHY to do it and WHEN to do it.

The OSSTMM by itself details the technical scopes and traditional operation of security, but ,and this is perhaps one of the very important aspects, not the exact tests, rather it presents,what should be tested, the form in which the test results must be presented/displayed, therules for testers to follow to assure best results, and also, incorporates the concept of securitymetrics with RAVs (Risk Assessment Values) to put a factual number on how much security youhave. The OSSTMM is a document for professionals but it is never too early to try tounderstand it and learn how it works. The concepts are very thorough and it's written in aneasy-to-comprehend style.

Exercises

1. Patching is a common problem today where web administrators are currently needingto patch code as new vulnerabilities are discovered. Research for a case in where anew problem occurred when installing a new security patch. Discuss about thepossibilities and consequences that an administrator, who has a new patch to install,realizes that this will open a breach in its system that already was resolved. Should thepatch still be installed? In relation to this subject, would it matter whether you have thesource code and not?

2. Go to http://cve.mitre.org and go to search for CVEs. Enter the name of a web server(ie Apache) into the search field. When did the latest vulnerability get released? Howoften have vulnerabilities come out (weekly, monthly, etc.)? In reference to questionnumber one, is patching a realistic solution to security? Why or why not? What othersecurity measures can be used if you decide not to play the cat and mouse game ofpatching?

3. Download a copy of the OSSTMM and review the methodology concepts. Whataspects would you emphasize from this methodology? How you think that thismethodology can integrate with your verifications of security?

4. What you can find out of the RAVs?

23

LESSON 10 – WEB SECURITY AND PRIVACY

Page 175: High School Hker

Further Reading

http://www.osstmm.org

http://www.oreilly.com/catalog/websec2/chapter/ch08.html

http://www.w3.org/Security/Faq/

http://www.privacyalliance.org/

http://www.perl.com/pub/a/2002/02/20/css.html

http://www.oreilly.com/catalog/webprivp3p/chapter/ch01.pdf

http://www.defenselink.mil/specials/websecurity/

http://www.epic.org/

http://www.cgisecurity.com/

http://www.eff.org/privnow/

Here are some sites to check out if you want more information on creating your ownweb pages or HTML in general.

http://www.htmlgoodies.com/http://www.htmlhelp.com/http://www.w3schools.com/

24

LESSON 10 – WEB SECURITY AND PRIVACY

Page 176: High School Hker

LECCIÓN 11PASSWORDS

Page 177: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto.

El proyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donacióno una esponsorización.

All works copyright ISECOM, 2004.

2

LESSON 11 - PASSWORDS

Page 178: High School Hker

Índice “License for Use” Information............................................................................................................... 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................411.1. Introducción....................................................................................................................................511.2. Tipos de Passwords.........................................................................................................................6

11.2.1. Cadenas de caracteres.......................................................................................................6 11.2.2. Cadenas de caracteres más un token...............................................................................6 11.2.3. Passwords biométricos.......................................................................................................... 6

11.3. Historia de las Contraseñas...........................................................................................................7 11.3.1. Ejercicio 1................................................................................................................................7

11.4. Construcción de passwords robustos..........................................................................................8 11.4.1. Ejercicio 1................................................................................................................................8 11.4.2. Ejercicio 2................................................................................................................................8

11.5. Cifrado de los passwords..............................................................................................................9 11.5.1. Ejercicio 1................................................................................................................................9 11.5.2. Ejercicio 2................................................................................................................................9 11.5.3. Ejercicio 3..............................................................................................................................10

11.6. Password Cracking (password Recovery) ................................................................................11 11.6.1. Ejercicio.................................................................................................................................11

11.7. Protección contra el descifrado de passwords ......................................................................12 11.7.1. Ejercicio.................................................................................................................................12

Lecturas de ampliación en Internet...................................................................................................13

3

LESSON 11 - PASSWORDS

Page 179: High School Hker

ContribucionesKim Truett, ISECOM

Chuck Truett, ISECOM

J. Agustín Zaballos, La Salle URL Barcelona

Pete Herzog, ISECOM

Jaume Abella, La Salle URL Barcelona - ISECOM

Marta Barceló, ISECOM

4

LESSON 11 - PASSWORDS

Page 180: High School Hker

11.1. Introducción

Uno de los principales personajes de la película MATRIX RELOADED es el “hacedor de llaves”.El hacedor de llaves es un personaje críticamente importante, protegido por MATRIX ybuscado incansablemente por Neo, porque es el encargado de fabricar y mantener lasllaves que dan acceso a las diferentes zonas de MATRIX. MATRIX representa un mundogenerado por ordenador y las llaves que dan acceso a las diferentes estancias sonpasswords o contraseñas. En la película se utilizan passwords de propósito general, passwordspara las puertas traseras o back doors y passwords maestros que dan acceso a cualquierparte.

Los passwords son las llaves con las que se controla el acceso, manteniendo a losindeseables lejos de ti. En definitiva, los passwords controlan el acceso a la información (porejemplo con los passwords en los documentos), restringen el acceso a los recursos (porejemplo con los passwords en las páginas web) o implementan la autenticación(demostrando que tú eres quien dices ser).

5

LESSON 11 - PASSWORDS

Page 181: High School Hker

11.2. Tipos de Passwords

Existen principalmente tres tipos de passwords. Los que necesitan algo que sé, los queimplican algo que tengo y los que añaden algo que soy.

11.2.1. Cadenas de caracteres

En el nivel más básico, las contraseñas son cadenas de caracteres, números y símbolos. Teneracceso a un teclado proporciona un método para introducir este tipo de passwords. Lascontraseñas pueden ir de las más sencillas, como los tres números para acceder a ciertasplazas de garaje, hasta las más complicadas combinaciones de caracteres, números ysímbolos que se recomienda emplear para proteger la información más sensible.

11.2.2. Cadenas de caracteres más un token

En el siguiente nivel, los passwords requieren una cadena de caracteres, números y símbolosmás un token o ficha de algún tipo. Un ejemplo típico es el de los cajeros automáticos. Paraacceder a éstos se necesita una tarjeta y un número personal identificativo o PIN. Seconsideran más robustos ya que si pierdes o olvidas alguno de los dos requerimientos tuacceso será denegado.

11.2.3. Passwords biométricos

El tercer nivel de complejidad son los passwords biométricos. Consisten en utilizar algunacaracterística física no reproducible, como las huellas digitales o el aspecto de la cara, parapermitir el acceso. Un ejemplo es el escáner de retina en el cual el interior del ojo sefotografía para la posterior identificación del sujeto. La retina contiene un patrón único dedistribución de vasos sanguíneos fácilmente apreciable y que se puede utilizar para laidentificación del individuo. Los passwords biométricos son los que se consideran mássofisticados y más seguros de todos los passwords. Sin embargo, un password que se puedatransportar en el dedo o en el ojo no tiene porqué ser más seguro que uno transportado en lacabeza si el software está bien configurado.

6

LESSON 11 - PASSWORDS

Page 182: High School Hker

11.3. Historia de las Contraseñas

En las versiones más antiguas de MS Excel y Word, se guardaban las contraseñas en forma detexto llano o nativo (sin ningún tipo de cifrado) en la cabecera de los documentosprotegidos. Si se conseguía acceder a la cabecera del documento se podía leer lacontraseña. Esto es válido para todas las versiones anteriores a Office 2000.

El sistema operativo Windows llegó a guardar las contraseñas con un formato de texto llanoen un archivo oculto. En el caso de olvidar el password se podía anular simplementeborrando el archivo oculto con lo que desaparecía el password.

Pronto, Microsoft y Adobe empezaron a usar passwords, pero sólo para denotar que losdocumentos necesitaban de una passwords para ser abiertos, no para leer la información.Esto significaba que si el documento se abría con otra aplicación, como por ejemplo el blocde notas (notebook) el password no era necesario y la información podía ser leída sinproblemas.

Microsoft Access 2.0 podía ser abierto como un fichero de texto fácilmente, simplementerenombrando el fichero con extensión “.txt”. Haciendo esto se podía leer perfectamente lainformación contenida en la base de datos.

Los ficheros Adobe PDF 4.0 y anteriores se podían imprimir y, muchas veces, visualizar tambiénusando lectores PDF de Linux o el Ghostview para Windows.

Las redes inalámbricas (wireless networks) tienen un problema con la encriptación, ya que laclave de encriptación se puede calcular una vez se ha capturado un elevado volumen dela información que se transmite por el aire. Actualmente, con la capacidad de cálculo quetienen los ordenadores, cada vez se tarda menos en “crackear” los passwords.

La seguridad de los sistemas Bluetooth se considera muy fiable, una vez el sistema estáconfigurado. El problema es que bluetooth transmite un único password entre los dispositivospara establecer la conexión y éste se envía como texto llano. Si esa contraseña esinterceptada, toda transmisión futura durante esa sesión puede descifrarse fácilmente.

11.3.1. Ejercicio 1

Descárgate de Internet un fichero PDF e intenta abrirlo con otro programa que no sea elAcrobat Reader. Puedes leer correctamente la información que contiene dichodocumento?

7

LESSON 11 - PASSWORDS

Page 183: High School Hker

11.4. Construcción de passwords robustos

Un password robusto es aquél que:

Ø No puede encontrarse en un diccionario

Ø Contiene números, letras y símbolos

Ø Contiene letras mayúsculas y minúsculas

Ø Cuanto más largo, más robusto es

Con un password de 2 letras y 26 letras en el alfabeto, contando además con 10 números(ignorando los símbolos), hay 236 posibles combinaciones (687,000,000 posibilidades). Siaumentamos la longitud del password a 8 caracteres, ya disponemos de 836 combinaciones(324,000,000,000,000,000,000,000,000,000,000 posibilidades).

Hay muchos generadores de passwords robustos disponibles en Internet, pero éstosgenerarán un password que es casi imposible de recordar.

Intente emplear, en cambio, una cadena aparentemente aleatoria de letras o números queusted pueda recordar fácilmente.

Por ejemplo:

Ys=#1pt! (Yo soy el numero uno para ti)

ArJuAg1p (Ariadna, Juan Agustín y 1 perro – miembros de la familia)

LxRzDg24 (Alex Ruiz Diego – consonantes del nombre completo y la edad)

11.4.1. Ejercicio 1

Crea un password robusto que puedas recordar que obtenga una buena puntuación en lasiguiente página web: http://www.securitystats.com/tools/password.php

11.4.2. Ejercicio 2

Busca en Internet 3 páginas web de bancos o cajas de ahorro y averigua el tipo depassword con el que se accede a la información restringida y si recomiendan algún tipo depassword o PIN (longitud, alfanumérico, DNI,…).

8

LESSON 11 - PASSWORDS

Page 184: High School Hker

11.5. Cifrado de los passwords

El cifrado o encriptación de los passwords es un tópico no muy usual. Aunque es importantedistinguir si hablamos de passwords encriptados o no encriptados, lo que realmente marca ladiferencia es el método de encriptación que se utiliza. Esto es debido a que muchas veces,lo que nos parece un fichero encriptado es, simplemente, un fichero “codificado”. Esto haceque para nosotros el fichero no sea leíble directamente, pero si que lo podríamos entender otraducir fácilmente usando un ordenador.

Además, incluso un fichero encriptado podría haber sido generado mediante una clavedébil (fácil de adivinar) o un esquema de encriptación poco robusto.

Por estas razones es importante que, en el caso de encriptar cualquier tipo de información,seas consciente de que estas usando un esquema de encriptación confiable el cual ha sidoprobado y verificado a fondo. Por otro lado, debes asegurarte de que tu password estambién un password robusto. Un buen sistema de encriptación no sirve de nada sin un buenpassword. Y viceversa.

11.5.1. Ejercicio 1

Hemos encriptado una serie de nombres de frutos usando un método de encriptación muybásico llamado “ROT13”. Busca por Internet en que consiste este método y trata de descifrarlas palabras:

a) gbzngr

b) anenawn

c) cvñn

d) cren

e) znamnan

11.5.2. Ejercicio 2

Busca algun sitio web donde puedas descifrar automáticamente estas palabras.

9

LESSON 11 - PASSWORDS

Page 185: High School Hker

11.5.3. Ejercicio 3

Existen muchos sistemas de encriptación, pero realmente, muchos de ellos son simplementesistemas de codificación. Sabes cual es la diferencia? La mayoría de nosotros seguramenteno sabrá responder a esta pregunta. Realmente, la diferencia está en que los sistemas decodificación no necesitan un password para ser decodificados.

De los siguientes sistemas de encriptación, identifica cuales son realmente tipos deencriptación y cuales son esquemas de codificación.

a) Twofish

b) MIME

c) RSA

d) CAST

e) AES

f) BASE64

g) IDEA

h) TripleDES

i) ROT13

j) TLS

10

LESSON 11 - PASSWORDS

Page 186: High School Hker

11.6. Password Cracking (password Recovery)

El Password Cracking o el descifrado de contraseñas para propósitos ilegales es,evidentemente, ilegal. Pero si es su propio password el que quiere descifrar, entoncesestamos hablando de su información. Si de lo que se trata es de que un individuo estáutilizando un password para proteger algo, y entonces se olvida de éste, se necesita unarecuperación de contraseña o password recovery.

El descubrimiento de passwords consiste en seguir unas técnicas básicas:

Echar una mirada alrededor: los passwords se guardan a menudo debajo de los teclados,bajo las alfombrillas del ratón o se cuelgan en las hojas “post-it” personales.

La fuerza bruta: simplemente se prueban passwords de forma secuencial hasta que unofunciona.

Los ataques de diccionario automatizados: estos programas cruzan una serie de palabraspertenecientes a un diccionario hasta que una de éstas funcione como una contraseñaválida.

Hay muchos programas disponibles en Internet que nos pueden ayudar con la recuperaciónde passwords introducidos en diferentes tipos de documentos. Sin embargo, cuanto másnueva es la versión del programa más fiable éste se vuelve y, por consiguiente, más difícil esobtener los passwords descifrados que usan, o encontrar un programa que nos ayude en larecuperación del password.

11.6.1. Ejercicio

Averigua tres tipos de programas que se suelan emplear en desarrollar documentos de todotipo (de texto, hojas de cálculo, compresores de archivos) y que permitan la utilización depasswords para proteger el acceso a los contenidos. A continuación busca algún programao método en Internet que facilite la recuperación de passwords de este tipo de archivos.

11

LESSON 11 - PASSWORDS

Page 187: High School Hker

11.7. Protección contra el descifrado de passwords

Estas son algunas recomendaciones para evitar el descifrado de tus passwords:

1. Utiliza contraseñas robustas que no puedan extraerse con un ataque dediccionario.

2. No anuncies el password cerca del ordenador.

3. Configura el sistema para que en el caso de que se produzcan tres intentosfallidos el sistema se quede bloqueado. La contraseña debería restablecerseentonces. Esto no se aplica a documentos protegidos con password o a losarchivos .zip comprimidos ya que no suelen disponer de la opción de bloqueo.

4. Cambia las contraseñas regularmente.

5. Usa una variedad suficiente de contraseñas para diferentes ordenadores.¿Significa esto que se necesita crear una única contraseña para cada cosa? No.Se puede mantener un password maestro para las cosas sin importancia (quizáspara la cuenta que le exigieron que creara para TheSIMS.com o para su cuentaen el periódico local). Pero utiliza passwords robustos para lo que realmentenecesite estar seguro.

11.7.1. Ejercicio

Analizad en grupos el resto de recomendaciones que se describen en el siguiente enlace:

http://www.securitystats.com/tools/password.php

12

LESSON 11 - PASSWORDS

Page 188: High School Hker

Lecturas de ampliación en Internet

http://www.password-crackers.com/pwdcrackfaq.html

http://docs.rinet.ru/LomamVse/ch10/ch10.htm

http://www.ja.net/CERT/Belgers/UNIX-password

http://www.crypticide.com/users/alecm/-security.html

http://www.securitystats.com/tools/password.php

http://www.openwall.com/john/

http://www.atstake.com/products/lc/

http://geodsoft.com/howto/password/nt_password_hashes.htm

13

LESSON 11 - PASSWORDS

Page 189: High School Hker

LECCIÓN 12LEGALIDAD Y ÉTICA

EN INTERNET

Page 190: High School Hker

“License for Use” InformationThe following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

All works in the Hacker Highschool project are provided for non-commercial use withelementary school students, junior high school students, and high school students whether in apublic institution, private institution, or a part of home-schooling. These materials may not bereproduced for sale in any form. The provision of any class, course, training, or camp withthese materials for which a fee is charged is expressly forbidden without a license includingcollege classes, university classes, trade-school classes, summer or computer camps, andsimilar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page atwww.hackerhighschool.org/license.

The HHS Project is a learning tool and as with any learning tool, the instruction is the influenceof the instructor and not the tool. ISECOM cannot accept responsibility for how anyinformation herein is applied or abused.

The HHS Project is an open community effort and if you find value in this project, we do askyou support us through the purchase of a license, a donation, or sponsorship.

All works copyright ISECOM, 2004.

Información sobre la “Licencia de Uso”Las lecciones y cuadernos de trabajo siguientes son de acceso público y están disponiblesbajo las siguientes condiciones de ISECOM:

Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso nocomercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclosformativos dentro de las actividades académicas propias de la institución. Dichos materialesno pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estosmateriales de cualquier clase, curso o actividad de formación para el que sea necesariopagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendocursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para lacompra de una licencia visite la sección “LICENSE” de la página web del proyecto “HackerHighschool” en www.hackerhighschool.org/license.

El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debeproceder realmente de la influencia del instructor y no basarse únicamente en el uso de laherramienta.

ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma deaplicar, ni sus consecuencias, de cualquier información disponible dentro del proyecto. Elproyecto HHS es un esfuerzo de una comunidad abierta, por lo que si encuentra útil esteproyecto le invitamos a patrocinarlo a través de la compra de una licencia, una donación oun patrocinio.

Todos los Derechos Reservados ISECOM, 2004.

2

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 191: High School Hker

Índice“License for Use” Information................................................................................................................ 2Información sobre la “Licencia de Uso”.............................................................................................. 2Contribuciones........................................................................................................................................412.1. Introducción....................................................................................................................................512.2. Delitos transfronterizos versus Derechos locales.........................................................................512.3. Delitos relativos a las TIC’s.............................................................................................................6

12.3.1. Delitos relacionados con la pornografía.............................................................................712.3.2. Descubrimiento y revelación de secretos: Correo Electrónico........................................812.3.3. Descubrimiento y revelación de secretos: Secretos de Empresa....................................812.3.4. Delitos relacionados con instrumentos tecnológicos para la manipulación deaccesos y/o contenidos....................................................................................................................912.3.5. Daños en programas o documentos electrónicos, soportes o sistemas informáticos.. 912.3.6. Delitos por agresión a la propiedad intelectual...............................................................10

12.4. Prevención de Delitos y Tecnologías de doble uso.................................................................1112.4.1. Los sistemas globales de vigilancia: el concepto “COMINT”......................................... 1112.4.2. El sistema “ECHELON”...........................................................................................................1112.4.3. El sistema “CARNIVORE”......................................................................................................1212.4.4. Ejercicio 1...............................................................................................................................1312.4.5. Ejercicio 2...............................................................................................................................14

12.5. Hacking Ético................................................................................................................................1412.5.1. Ejercicio..................................................................................................................................15

12.6. Los 10 delitos y fraudes más usuales en Internet......................................................................1512.6.1. Ejercicio..................................................................................................................................16

12.7. Lecturas recomendadas.............................................................................................................16

3

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 192: High School Hker

Contribuciones

Francisco de Quinto, Piqué Abogados Asociados

Jordi Saldaña, Piqué Abogados Asociados

Jaume Abella, Enginyeria La Salle (URL) – ISECOM

Marta Barceló, ISECOM

4

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 193: High School Hker

12.1. IntroducciónLas nuevas tecnologías, al configurarse como nuevo paradigma que invade todos losámbitos de la actividad humana, no podían por menos de incidir también en el lado oscurode dicha actividad: la conducta delictiva o criminal de los individuos de los gruposorganizados.

Por este motivo hemos reservado la última de las lecciones del HHS a analizar varios aspectosrelacionados con la legalidad y la ética en Internet, analizando las numerosas conductasque pueden desembocar en delitos y las consecuencias que estas pueden provocar.

12.2. Delitos transfronterizos versus Derechos localesLas nuevas tecnologías, al configurarse como nuevo paradigma que invade todos losámbitos de la actividad humana, no podían por menos de incidir también en el lado oscurode dicha actividad: la conducta delictiva o criminal de los individuos de los gruposorganizados.

Por sus especiales características dos son las fórmulas a través de las que las Tecnologías dela Información y las Comunicaciones (TICs) se relacionan con el delito:

1. Por un lado, las tecnologías ofertan la posibilidad de renovar las tradicionales formas dedelinquir. Entraríamos aquí en figuras delictivas tipificadas tradicionalmente en loscódigos penales pero que tienen una nueva forma de materializarse. Por poner dosejemplos podemos citar el blanqueo de capitales y la pornografía infantil.

2. Por otro lado, por la fuerza de su propia innovación, las TICs han propiciado la apariciónde nuevas figuras delictivas que, por su novedad, están en proceso de incorporación alos códigos penales de los diferentes países. A modo de ejemplo podemos citar lasagresiones a la salud pública por antenas de telefonía o los ataques mediante virus.

Otra característica a destacar de las TICs es su desubicación espacial, la cual afecta muchoal entorno en general, pero sin duda cobra su máxima expresión en el ámbito del “Derecho”que desde los orígenes siempre ha presentado una clara vocación territorial tanto en lo querespecta a la autoridad judicial que juzga (JURISDICCIÓN COMPETENTE) como en lo relativoa la norma que se debe aplicar al juzgar (LEY APLICABLE). Ambos conceptos son aún hoy endía marcadamente geográficos.

En síntesis podemos decir que las TICs son globales y esencialmente transfronterizas y, por elcontrario, la ley y los tribunales están limitados por definición a un determinado estado oterritorio. Además, el fenómeno de la desubicación es en realidad mucho más acusado delo que aparenta. A pesar de que no seamos conscientes de ello, una informaciónbidireccional on-line entre un usuario en Barcelona y un Web Site alojado en un ISP deCalifornia puede pasar por más de 10 ISPs distintos domiciliados en los puntos más disparesdel mundo. Ante esta diversidad de domicilios y nacionalidades cabe preguntarse ¿Qué leyse aplicará en caso de litigio? ¿Cuál de entre todos los posibles será el Tribunal idóneo paraentender del caso?

5

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 194: High School Hker

A modo de ejemplo cabe citar el reciente convenio del Consejo de Europa sobrecibercrimen, firmado el 23 de Noviembre de 2001 en Budapest por 30 países entre los quefiguran, lógicamente, los 15 socios de la U.E., Estados Unidos, Canadá, Japón y Sudáfricaentre otros. El convenio de Budapest instaura el PRINCIPIO DE TERRITORIALIDAD para definir lajurisdicción competente. La firma de este Convenio es la culminación de cuatro años detrabajo que se han plasmado en un documento de 48 artículos que se organizan en torno acuatro categorías:

1. Infracciones contra la confidencialidad

2. Falsificación y fraude informático

3. Infracciones relativas a los contenidos

4. Violaciones de la propiedad intelectual

Una vez descrito el especialmente complejo marco de regulación y sanciones de laactividad criminal en Internet, es obligado cerrar a modo de primera conclusión las tresprincipales dificultades para alcanzar el mínimo consenso internacional deseable sobre lamateria:

1ª DIFICULTAD: CONFLICTO DE JURISDICCIÓN. Elegir el tribunal competente parajuzgar un delito multinacional y transfronterizo. Este problema no estádefinitivamente resuelto por ninguno de los sistemas judiciales conocidos.

2ª DIFICULTAD: CONFLICTO DE LEYES. Una vez elegido el tribunal la primerarigidez con que tropezará su actividad es elegir la ley aplicable al casoconcreto que debe juzgar. De nuevo nos vemos obligados a concluir que loscriterios jurídicos tradicionales no son operativos para su aplicación en elentorno virtual.

3ª DIFICULTAD: EJECUCIÓN DE SENTENCIA EXEQUATOR. Una vez el tribunalcompetente ha emitido sentencia ésta debe ser ejecutada, previsiblemente enpaíses distintos del foro que la ha dictado. Para ello se debe contar con uncompromiso supra-nacional de reconocimiento y aceptación de sentencias.Esta problemática es todavía más complicada de solucionar que las dosanteriores.

12.3. Delitos relativos a las TIC’sLa clasificación de las conductas delictivas es uno de los principios imprescindibles enmateria penal y en España tenemos la gran suerte de que el Código Penal vigente sepromulgó hace relativamente poco tiempo. En efecto, el conocido como Código PenalBelloch se aprobó el 23 de noviembre de 1995 (Ley Orgánica del código Penal 10/1995) y ensu exposición de motivos se reconoce la necesidad de introducir nuevas figuras delictivaspara adaptar los criterios penales a las exigencias sociales actuales.

Entre otras podemos destacar la siguiente clasificación de las acciones potencialmentedelictivas en los seis apartados siguientes:

1. Manipulación en los datos e informaciones contenidas en los archivos osoportes físicos informáticos ajenos.

2. Acceso a los datos y/o utilización de los mismos por quien no estáautorizado para ello.

6

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 195: High School Hker

3. Introducción de programas o rutinas en otros ordenadores para destruirinformación, datos o programas.

4. Utilización del ordenador y/o los programas de otras personas, sinautorización, con el fin de obtener beneficios propios y en perjuicio deotro.

5. Utilización del ordenador con fines fraudulentos.

6. Agresión a la “privacidad” mediante la utilización y procesamiento dedatos personales con fin distinto al autorizado.

El delito tecnológico se caracteriza por las dificultades que entraña descubrirlo, probarlo yperseguirlo. En efecto, son delitos que en la mayoría de los casos no se denuncian, paraevitar la alarma social o el desprestigio por un fallo en la seguridad. Las víctimas prefierensufrir las consecuencias del delito e intentar prevenirlo para el futuro antes que iniciar unprocedimiento judicial. Esta situación dificulta enormemente el conocimiento del número dedelitos cometidos y la planificación de las adecuadas medidas legales sancionadoras opreventivas.

Además resulta difícil tipificar penalmente situaciones sometidas a un constante cambiotecnológico.

Pese a las críticas que pueda recibir, se puede considerar que el nuevo Código Penal es unaherramienta de gran valor para jueces, juristas y abogados a quienes permitirá efectuarconstrucciones jurídicas artificiosas para penar conductas socialmente reprochables quenecesitan tener su cabida en el Código Penal del siglo XXI.

A continuación analizaremos algunos casos concretos de tipificación de delitos relacionadoscon las TIC’s, analizando parte de los artículos donde quedan reflejados, así como las penasque puedan llegarse a imponer.

12.3.1. Delitos relacionados con la pornografía

Artículo 189.

1. Será castigado con la pena de prisión de uno a tres años:

a) El que utilizare a menores de edad o a incapaces con fines o enespectáculos exhibicionistas o pornográficos, tanto públicos como privados opara elaborar cualquier clase de material pornográfico, o financiare cualquierade estas actividades.

A destacar que en el artículo anterior así como en el artículo 186 se hace referencia a venta,difusión o exhibición POR CUALQUIER MEDIO de material pornográfico genérico a menoresde edad, o material elaborado mediante utilización de menores de edad o incapaces.

Ejercicio:

Busca por Internet algún caso famoso de pornografía infantil a través de Internet, ycoméntalo en clase.

¿Cuál ha sido la sentencia aplicada a los autores (si la ha habido)?

¿Cual es el perfil de usuario que comete este tipo de delito?

7

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 196: High School Hker

¿Por qué crees que hay gente que se dedica a estas prácticas?

12.3.2. Descubrimiento y revelación de secretos: CorreoElectrónico

Artículo 197.

1. El que, para descubrir secretos o vulnerar la intimidad de otro, sin suconsentimiento, se apodere de sus papeles, cartas, mensajes de correoelectrónico o cualesquiera otros documentos o efectos personales o interceptesus telecomunicaciones o utilice artificios técnicos de escucha, transmisión,grabación o reproducción del sonido o de la imagen, de cualquier otra señalde comunicación, será castigado con las penas de prisión de uno a cuatroaños y multa de doce a veinticuatro meses.

Ejercicio:

Busca por Internet algún caso de interceptación del correo electrónico y que hayacausado polémica.

¿Cuáles crees que son las causas de dicha polémica?

¿Cuál ha sido la sentencia aplicada a los culpables (si la ha habido)?

12.3.3. Descubrimiento y revelación de secretos: Secretos deEmpresa

Artículo 278.

1. El que, para descubrir un secreto de empresa se apoderare por cualquiermedio de datos, documentos escritos o electrónicos, soportes informáticos uotros objetos que se refieran al mismo, o empleare alguno de los medios oinstrumentos señalados en el apartado 1 del artículo 197, será castigado con lapena de prisión de dos a cuatro años y multa de doce a veinticuatro meses.

2. Se impondrá la pena de prisión de tres a cinco años y multa de doce aveinticuatro meses si se difundieren, revelaren o cedieren a terceros los secretosdescubiertos.

Ejercicio:

Busca por Internet algún caso de descubrimiento y revelación de secretos deempresa, relacionado con alguna multinacional famosa.

¿Cuál ha sido la sentencia aplicada a los autores (si la ha habido)?

¿Cuáles crees que son las causas que han llevado a los autores a realizar dichasacciones?

8

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 197: High School Hker

12.3.4. Delitos relacionados con instrumentos tecnológicos para lamanipulación de accesos y/o contenidos

Estafa con manipulación informática.

Artículo 248.

1. Cometen estafa los que, con ánimo de lucro, utilizaren engaño para producirerror en otro, induciéndolo a realizar un acto de disposición en perjuicio propioo ajeno.

2. También se consideran reos de estafa los que, con ánimo de lucro yvaliéndose de alguna manipulación informática o artificio semejante, consiganla transferencia no consentida de cualquier activo patrimonial en perjuicio deterceros.

Ejercicio:

Busca por Internet algún caso que pueda clasificarse en este tipo de delito.

¿Cuál ha sido la sentencia aplicada a los autores (si la ha habido)?

¿Cuáles crees que son las causas que han llevado a los autores a realizar dichasacciones?

12.3.5. Daños en programas o documentos electrónicos, soporteso sistemas informáticos

Artículo 264.

1. Será castigado con la pena de prisión de uno a tres años y multa de tres aveinticuatro meses el que por cualquier medio destruya, altere, inutilice o decualquier otro modo dañe los datos, programas o documentos electrónicosajenos contenidos en redes, soportes o sistemas informáticos.

Ejercicio:

Busca por Internet algún caso que pueda clasificarse en este tipo de delito.

¿Cuál ha sido la sentencia aplicada a los autores (si la ha habido)?

¿Cuáles crees que son las causas que han llevado a los autores a realizar dichasacciones?

9

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 198: High School Hker

12.3.6. Delitos por agresión a la propiedad intelectual

Artículo 270.

1. Será castigado con pena de prisión de seis meses a dos años o de multa deseis a veinticuatro meses quien, con ánimo de lucro y en perjuicio de terceros,reproduzca, plagie, distribuya o comunique públicamente, en todo o en parte,una obra literaria, artística o científica, o su transformación, interpretación oejecución artística fijada en cualquier tipo de soporte o comunicada a travésde cualquier medio, sin la autorización de los titulares de los correspondientesderechos de propiedad intelectual o de sus cesionarios.

2. La misma pena se impondrá a quien intencionadamente importe, exporte oalmacene ejemplares de dichas obras o producciones o ejecuciones sin lareferida autorización.

Ejercicio:

Busca por Internet algún caso que pueda clasificarse en este tipo de delito ycoméntalo en clase con los compañeros.

Comenta si las siguientes acciones pueden considerarse delito según el artículoanterior:

o Fotocopiar un libro en su totalidad

o Copiar un CD de música que no hayamos comprado

o Hacer una copia de un CD de música que sí hayamos comprado

o Descargar música MP3 o películas en DIVX desde Internet

10

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 199: High School Hker

12.4. Prevención de Delitos y Tecnologías de dobleusoLa única manera solvente para prevenirse ante la agresión criminal en el ámbito de las TICses aplicar razonablemente las medidas de seguridad que se han explicado a lo largo de laslecciones anteriores. También resulta extraordinariamente importante que la aplicación dedichas medidas se haga de tal forma que resulte prácticamente imposible que por nuestraparte se incurra en conductas delictivas o dudosas.

No podemos cerrar este apartado sin antes exponer la realidad de que en ocasionesdeterminadas tecnologías revisten un doble papel y son susceptibles de ser utilizadas para laseguridad y, a la vez, para la agresión. Se trata de las llamadas TECNOLOGÍAS DE DOBLE USO,cuyos máximos exponentes son la criptografía y las llamadas “COMINT” o tecnologías deinterceptación de comunicaciones. Por su trascendencia global exponemos a continuaciónla realidad de este fenómeno y sus alarmantes consecuencias en todos los órdenes de laactividad humana: política, social, económica, de investigación, etc.

12.4.1. Los sistemas globales de vigilancia: el concepto “COMINT”Recientemente se ha elaborado el término COMINT como resultado de la integración de lostérminos “COMmunications INTelligence” y supone la aplicación de un sistema envolventede interceptación de comunicaciones a partir de las posibilidades que brindan el desarrolloy la masiva implantación de las TIC’s. Hoy en día, COMINT representa una amplia actividadeconómica que se ocupa de facilitar a sus clientes, ya sean públicos o privados, decontenidos inteligentes a la carta en las áreas de la diplomacia, la economía o la ciencia.Supone la superación del obsoleto esquema espionaje/militar y la implantación más o menosabierta de los nuevos objetivos antes citados.

Los ejemplos más representativos de estas tecnologías COMINT son los sistemas “ECHELON” y“CARNIVORE” que detallamos a continuación.

12.4.2. El sistema “ECHELON”El sistema tiene sus orígenes en 1947, recién finalizada la II Guerra Mundial, a partir delacuerdo UK/USA con fines claramente militares y de seguridad. Posteriormente se incorporanCanadá, Australia y Nueva Zelanda que actúan en gran medida como suministradores deinformación y subordinados.

El sistema funciona interceptando de forma indiscriminada enormes cantidades decomunicaciones, sea cual sea el medio utilizado para su transporte y almacenamiento,destacando principalmente las siguientes áreas de escucha:

Transmisiones por banda ancha (wideband e Internet).

Facsímil y comunicaciones telefónicas por cable: interceptación de los cables,incluso los submarinos mediante naves equipadas a tal fin.

Telefonía móvil e Internet WAP.

Utilización de técnicas de análisis de tráfico.

Sistemas de reconocimiento de voz.

Sistema de reconocimiento de facciones visuales sobre filmaciones anónimas.

11

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 200: High School Hker

Posteriormente se selecciona la información sensible y valiosa según los fines encargados alSistema Echelon, con ayuda de diversos métodos de Inteligencia Artificial (AI) para definir yaplicar PALABRAS CLAVE.

Cada uno de los cinco componentes del Sistema facilita a los demás “DICCIONARIOS DEPALABRAS CLAVE” que se incorporan en los aparatos de interceptación de lascomunicaciones y de este modo actúan como “filtro automático”. Lógicamente las“palabras” y los “diccionarios” son cambiantes en el tiempo y de acuerdo con los interesesparticulares de los países integrantes del Sistema. En un principio ECHELON tuvo una claravocación militar y de seguridad en el entorno de la Política de Bloques que se materializó enla Guerra Fría siguiente hasta los años ochenta. Posteriormente se reconvirtió en un sistemadual en el que oficialmente se persigue la prevención del crimen internacional organizado(terrorismo, mafias, tráfico de armas y drogas, dictaduras, etc.) pero que en la práctica suincidencia llega a la Economía Global y Políticas Comerciales de empresas y Zonas deInfluencia Económica.

En los últimos tiempos ECHELON viene operando con una estructura en estrella de cincopuntas en torno de dos núcleos. Los dos núcleos son estructuras de la NSA (National SecurityAgency): uno en los Estados Unidos, que coincide con su “cuartel general” en Fort Meade(Maryland), y otro en Inglaterra, al norte de Yorkshire, conocido como Meanwith Hill.

Los puntos de la estrella están ocupados por las estaciones de seguimiento de los socioscolaboradores:

USA (2): Sugar Grove y Yakima.

New Zealand (1): Wai Pai.

Australia (1): Geraldtown.

UK (1): Morwenstow (Cornwell). Existía otra en Hong Kong que finalizó lógicamentecon la cesión del territorio a China.

12.4.3. El sistema “CARNIVORE”El último de los grandes sistemas globales de interceptación y espionaje es el patrocinadopor el FBI americano y conocido como CARNIVORE, con una finalidad aparente de lucharcontra el crimen organizado y refuerzo de la seguridad USA. La potencialidad de sutecnología y lo versátil y fácil de la aplicación de sus áreas de escucha y atención, hapropiciado el choque frontal entre este novísimo sistema y las organizaciones políticas(Congreso Federal) y medios de comunicación.

Fue desarrollado en el primer semestre del año 2.000, y constituye un sistema automáticopara intervenir las comunicaciones por Internet aprovechando uno de los principiosfundamentales de la red: la descomposición de la información en “paquetes” o grupos dedatos uniformes. El sistema llamado CARNIVORE es capaz de detectar e identificar estos“paquetes de información” a través de su implantación en un servidor de un determinadosospechoso. Todo ello en defensa de la seguridad nacional y para reforzar la lucha contra elcrimen organizado y tecnológico.

Las asociaciones en defensa de los derechos humanos de U.S.A. no han tardado nada enponer el grito en el cielo, por lo que sin duda se trata de una nueva agresión a la privacidady confidencialidad de las transacciones de información a través de las TIC’S. En este sentidoel Electronic Privacy Information Center (EPIC) ha pedido a un Juez Federal que el F.B.I.permita el acceso de los ISP’S al sistema de vigilancia, si realmente no se va a utilizar éste almargen de la ley.

12

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 201: High School Hker

A principios de agosto de 2.000 el Tribunal de Apelación del distrito de Columbia rechazó unproyecto de ley impulsado por el F.B.I. para intervenir las telecomunicaciones(fundamentalmente telefonía móvil o celular) sin necesidad de solicitar permiso judicialprevio, mediante un proyecto de la Comisión Federal de Telecomunicaciones que pretendíaforzar a las empresas de telefonía móvil a instalar dispositivos en los aparatos y así conseguirla localización automática de las llamadas. Ello hubiera encarecido un 45% el coste defabricación de los aparatos.

Con estos dos ejemplos vemos cómo se concretan las pretensiones del F.B.I. de generar unEchelon doméstico, centrado en Internet y en la telefonía móvil, conocido comoCARNIVORE. El proyecto ha sido ampliamente rechazado por diferentes instancias judicialesde U.S.A. y por el propio Congreso, por lo que sin duda supone de agresión a los DerechosHumanos de los ciudadanos americanos, por lo menos en su versión inicial. El proyecto seestá reconduciendo, al menos formalmente, incluyendo en su estructura la previaautorización judicial, como requisito para que la información obtenida así pueda seraceptada como prueba en juicio.

12.4.4. Ejercicio 1

Circula por Internet un chiste relacionado con estos sistemas COMINT. Os lo adjuntamos enesta lección para que podáis reflexionar en clase con el resto de compañeros:

Un viejo árabe musulmán irakí afincado en Chicago desde hace más de 40 años,quiere plantar patatas en su jardín, pero arar la tierra es un trabajo muy pesado paraél. Su único hijo, Ahmed, está estudiando en Francia. El hombre viejo le manda un maila su hijo explicándole el problema:

"Querido Ahmed: Me siento mal porque no voy a poder plantar mi jardín con patataseste año. Estoy muy viejo para arar la tierra. Si tú estuvieras aquí, todos mis problemasdesaparecerían. Sé que tú levantarías y removerías toda la tierra por mí. Te quierepapá. "

Pocos días después recibe un mail de su hijo:

"Querido padre: Por todo lo que más quieras, no toques la tierra de ese jardín. Ahí esdonde tengo escondido aquello. Te quiere Ahmed. " A las 4 de la madrugada siguiente aparecen la policía local, agentes del FBI, de laCIA, los S.W.A.T, los RANGERS, los MARINES, Steven Seagal, Silvester Stallone y algunomás de élite y representantes del Pentágono que remueven toda la tierra del jardínbuscando materiales para construir bombas, ántrax, lo que sea. No encuentran naday se van.

Ese mismo día, el hombre recibe otro mail de su hijo:

"Querido padre: Seguramente la tierra ya estará lista para plantar las patatas. Es lomejor que pude hacer dadas la circunstancias. Te quiere Ahmed."

13

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 202: High School Hker

12.4.5. Ejercicio 2

Busca en Internet información sobre los sistemas ECHELON y CARNIVORE, así como suaplicación en las redes y sistemas TIC de tu país, e intenta contestar a las siguientespreguntas:

¿Qué significa el término “ECHELON”? ¿Qué otras denominaciones recibe?

¿Qué elementos componen el sistema ECHELON?

¿Qué elementos componen el sistema CARNIVORE?

Busca un ejemplo de controversia atribuida al sistema ECHELON y relacionada conpersonalidades famosas.

Busca algún ejemplo de aplicación de CARNIVORE relacionado con algúnTERRORISTA mundialmente conocido.

¿Cuál es tu opinión sobre la “legalidad” de dichos sistemas?

12.5. Hacking ÉticoAunque en esta lección hemos hablado únicamente de conductas delictivas, delitos y sussanciones, debemos dejar muy claro que ser un hacker no significa por definición ser undelincuente.

Actualmente, son muchas las empresas que contratan los servicios de los llamados “Hackerséticos” para detectar las vulnerabilidades de sus sistemas informáticos y conseguir así mejorarlas medidas de defensa.

Los hackers éticos, con sus conocimientos, ayudan a definir los perímetros de defensa,realizan ataques “controlados” y consentidos previamente por la organización paracomprobar las defensas de ésta, y se forman constantemente para aprender nuevastécnicas de ataques, exploits, vulnerabilidades, etc.

Como decia Sun Tzu en el libro “El arte de la Guerra”, “Para desplegar una defensa eficaz, laactitud ha de ser la de un ataque a fondo”.

La metodología del hacking ético se divide en varias fases:

1. Planificación del ataque

2. Acceso a Internet

3. Test y ejecución del ataque

4. Recogida de datos

5. Análisis

6. Evaluación y diagnóstico

7. Informe final

Una de las herramientas que utilizan los hackers éticos es la metodología OSSTMM (OpenSource Security Testing Methodology Manual). Es una metodología para el testeo decualquier sistema de seguridad, desde guardias y puertas hasta torres de comunicaciones

14

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 203: High School Hker

móviles y satélites. Actualmente es aplicada y utilizada por importantes organizacionescomo:

– Instituciones Financieras Españolas

– Departamento del Tesoro de U.S. para testeo de instituciones financierasamericanas

– U.S. Navy & Air Force

– Etc.

12.5.1. Ejercicio Busca información sobre Hackers Éticos así como el papel que desempeñan

actualmente en las empresas especializadas en seguridad informática.

Busca información sobre la metodología OSSTMM y otras metodologías parecidas.

Busca información sobre “certificaciones” relacionadas con el Hacking Ético.

12.6. Los 10 delitos y fraudes más usuales enInternet

Como cierre y a modo de ejemplo reproducimos el resumen elaborado por la ComisiónFederal de Comercio de los Estados Unidos respecto de los delitos más frecuentes en la Red.

LOS 10 FRAUDES MÁS USUALES EN COMERCIO ELECTRÓNICO

1. SUBASTAS: subastar lo que no está disponible, no entregar el objeto, …

2. LETRA PEQUEÑA: Ofertar horas gratis de conexión, a cambio de conexión por unaño (revocable). Luego la letra pequeña complica las bajas.

3. TARJETAS DE CRÉDITO: Falsificación o uso fraudulento de las mismas.

4. CAMBIO DE DIAL: Cambiar una conexión a Internet por una telefónica 906 sininformar al usuario.

5. ALBERGUE DE PÁGINAS WEB: Gratuito en período de prueba pero que luego sehace imposible de revocar.

6. PIRÁMIDES FINANCIERAS de dudosa legalidad.

7. VACACIONES GRATIS en lugares paradisíacos.

8. OFERTAS DE EMPLEO dudosas a cambio de aportar algo o comprar algo.

9. INVERSIONES de alto riesgo y sin garantías.

10. CURAS MILAGROSAS. Productos milagrosos de dudosa efectividad.

15

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET

Page 204: High School Hker

12.6.1. EjercicioPiensa detenidamente las siguientes preguntas y coméntalas luego con el resto de loscompañeros:

Después de analizar todo lo comentado en esta lección, ¿crees que has cometidoalguna vez alguna acción que pueda ser considerada como delito?

¿Crees que has sido alguna vez víctima de alguno de los delitos comentados a lo largode la lección?

Comenta en voz alta alguna conclusión a la que hayas podido llegar después de habertrabajado esta lección.

12.7. Lecturas recomendadas

Si se desea tener más información sobre los temas que se han tratado en esta lección sepueden consultar los siguientes links, donde se ve de una forma más detallada toda latemática expuesta:

http://www.perantivirus.com/sosvirus/hackers/carnivor.htm

http://compnetworking.about.com/od/networksecurityprivacy/l/aa071900a.htm

http://webs.ono.com/usr016/Agika/6temas_relacionados/echelon.htm

http://www.guardiacivil.org/telematicos/formatos/ciberdelincuencia.pdf

http://noticias.juridicas.com/base_datos/Penal/lo10-1995.html

http://www.isecom.org/

16

LECCIÓN 12 – LEGALIDAD Y ÉTICA EN INTERNET