ÍNDICE
Y
“License for Use” Information
The following lessons and workbooks are open and publicly available under the following terms and conditions of ISECOM:
All works in the Hacker Highschool project are provided for non-commercial use with elementary school students, junior high school students, and high school students whether in a public institution, private institution, or a part of home-schooling. These materials may not be reproduced for sale in any form. The provision of any class, course, training, or camp with these materials for which a fee is charged is expressly forbidden without a license including college classes, university classes, trade-school classes, summer or computer camps, and similar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page at www.hackerhighschool.org/license.
The HHS Project is a learning tool and as with any learning tool, the instruction is the influence of the instructor and not the tool. ISECOM cannot accept responsibility for how any information herein is applied or abused.
The HHS Project is an open community effort and if you find value in this project, we do ask you 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 disponibles bajo las siguientes condiciones de ISECOM:
Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso no comercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclos
formativos dentro de las actividades académicas propias de la institución. Dichos materiales no pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estos materiales de cualquier clase, curso o actividad de formación para el que sea necesario pagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendo cursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para la compra de una licencia visite la sección “LICENSE” de la página web del proyecto “Hacker Highschool” en www.hackerhighschool.org/license.
El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debe proceder realmente de la influencia del instructor y no basarse únicamente en el uso de la herramienta.
ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma de aplicar, 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 este proyecto le invitamos a esponsorizarlo a través de de la compra de una licencia, una donación o una esponsorización.
All works copyright ISECOM, 2004.
Índice
Lección 1: Ser un Hacker
1.1. Introducción 1.2. Recursos 1.2.1 Libros 1.2.2 Magazines y Periódicos 1.2.2.1. Ejerci 1.2.3 Zines y Blogs 1.2.3.1. Ejerci1.2.4 Forums y Listas de Correo 1.2.4.1. Ejerci 1.2.5 Grupos de Notícias 1.2.5.1. Ejerci 1.2.6 Páginas W 1.2.6.1. Ejerci 1.2.7 Chat 1.2.7.1. Ejerci 1.2.8 P2P 1.3. Más lecciones
Lección 2: Nociones de Comandos de Windows y Linux
2.1. Objetivos2.2. Requerimientos y escenario 2.2.1 Requerimientos
2.2.2 Escenario
2.3. Sistema Operativo: WINDOWS
2.3.1 ¿Cómo abrir una ventana de MS-Dos? 2.4. Sistema operativo: LINUX
2.4.1 ¿Cómo abrir una ventana de consola? 2.4.2 Comandos básicos 2.4.3 Herramientas de red 2.5. Ejercicios Prácticos 2.5.1 Ejercicio 1 2.5.2 Ejercicio 2 2.5.3 Ejercicio 3
Lección 3: Puertos y Protocolos
3.1. Objetivos3.2. Conceptos básicos de redes 3.2.1 Dispositivos 3.2.2 Topologías 3.3. Modelo TCP/IP 3.3.1 Introducción
3
ÍNDICE Y GLOSARIO3.3.2 Capas TCP/IP 3.3.2.1 Aplicacionón 3.3.2.2 Transporte 3.3.2.3 IP 3.3.2.4 Acceso a Red 3.3.3 Protocolos
3.3.3.1 Protocolos de la capa de Aplicación 3.3.3.2 Protocolos de la capa de Transporte 3.3.3.3 Protocolos de la capa de Internet 3.3.4 Direcciones IP
3.3.5 Puertos
3.3.6 Encapsulación 3.4. Ejercicios
3.4.1 Ejercicio 1: Netstat
3.4.2 Ejercicio 2: Puertos y protocolos 3.4.3 Ejercicio 3: Mi primer servidor 3.5. Lecturas recomendadas
Lección 4: Servicios y Conexiones
4.1. Introducción 4.2. Servicios 4.2.1 HTTP y la Web 4.2.2 E-mail – POP y SMTP 4.2.3 IRC 4.2.4 FTP 4.2.5 Telnet y SSH 4.2.6 DNS 4.2.7 DHCP 4.3. Conexiones 4.3.1 ISPs4.3.2 Servicio de telefonía tradicional 4.3.3 DSL
4.3.4 Cable Modems 4.4. Lecturas recomendadas
Lección 5: Identificación de Sistemas
5.1. Introducción5.2. Identificación de un servidor
5.2.1 Identificación del propietario de un dominio 5.2.2 Identificación de la dirección IP de un dominio 5.3. Identificación de servicios
5.3.1 Ping y Traceroute 5.3.2 Obtención del banner
5.3.3 Identificación de servicios a partir de puertos y protocolos 5.4. Identificación de un sistema
5.4.1 Escaneo de ordenadores remotos 5.5. Lecturas recomendadas
Lección 6: Malware
6.0 Introducción6.1 Virus
6.1.1 Introducción 6.1.2 Descripción
6.1.2.1 Virus de Sector de Arranque (Boot Sector Viruses) 6.1.2.2 Virus de Archivos Ejecutables
6.1.2.3 Virus Residentes en Memoria (Terminate and Stay Resident - TSR) 6.1.2.4 Virus Polimórfico 6.1.2.5 Virus de Macro 6.2 Gusanos 6.2.1 Introducción 6.2.2 Descripción 6.3 Troyanos y Spyware 6.3.1 Introducción 6.3.2 Descripción 6.4 Rootkits y Backdoors 6.4.1 Introducción 6.4.2 Descripción
6.5 Bombas Lógicas y Bombas de Tiempo 6.5.1 Introducción
6.5.2 Descripción 6.6 Contramedidas
6.6.1 Introducción 6.6.2 Anti-Virus
6.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 Analysis
7.0 Introducción7.1 Netstat y Cortafuegos –firewall - de aplicaciones de hospedaje 7.1.1 Netstat
7.1.2 Cortafuegos (Firewalls) 7.1.3 Ejercicios
7.2 Analizadores de paquetes 7.2.1 Analizando
7.2.2 Decodificando el tráfico de red 7.2.3 Analizando otras computadoras
7.2.4 Sistemas de Detección de Intrusos –IDS por sus siglas en inglés 7.2.5 Ejercicios
7.3 Redes y Sistemas Tipo Señuelo (Honeypots y Honeynets) 7.3.1 Tipos de Sistemas Tipo Señuelo
7.3.2 Construyendo un Sistema Tipo Señuelo 7.3.3 Ejercicios
5
Lección 8: Digital Forensics
8.1. Introducción8.2. Principios del Forensics 8.2.1. Introducción
8.2.2. Evita la contaminación 8.2.3. Actúa metódicamente 8.2.4. Cadena de Evidencias 8.2.5. Conclusiones
8.3. Análisis forense individualizado 8.3.1. Introducción
8.3.2. Fundamentos sobre discos duros y medios de almacenaje 8.3.3. Encriptación, Desencriptación y Formatos de Ficheros 8.3.4 Buscando una aguja en un pajar
8.3.4.1 Find 8.3.4.2 Grep 8.3.4.3 Strings 8.3.4.4 Awk 8.3.4.5 El pipe “|”
8.3.5 Haciendo uso de otras fuentes 8.4 Network Forensics
8.4.0 Introducción 8.4.1 Firewall Logs
8.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ón
9.1 ¿Cómo funciona el correo electrónico? 9.1.1 Cuentas de correo electrónico 9.1.2 POP y SMTP
9.1.3 Correo Web
9.2 Utilización segura del Correo Parte 1: Recibiendo 9.2.1 Spam, Phishing y Fraude
9.2.2 Correo HTML
9.2.3 Seguridad en Archivos Anexados 9.2.4 Encabezados Falsos / Forged headers 9.3 Utilización Segura del Correo Parte 2: Enviando
9.3.1 Certificados Digitales 9.3.2 Firmas Digitales 9.3.3 Obteniendo un certificado 9.3.4 Encriptación / Cifrado 9.3.5 ¿Cómo funciona? 9.3.6 Desencriptación
9.3.7 ¿Es el cifrado irrompible? 9.4 Seguridad en las Conexiones
Lesson 10: Web Security
in progressLección 11: Passwords
11.1. Introducción 11.2. Tipos de Passwords 11.2.1. Cadenas de caracteres11.2.2. Cadenas de caracteres más un token 11.2.3. Passwords biométricos
11.3. Historia de las Contraseñas 11.3.1. Ejercicio 1
11.4. Construcción de passwords robustos 11.4.1. Ejercicio 1
11.4.2. Ejercicio 2
11.5. Cifrado de los passwords 11.5.1. Ejercicio 1
11.5.2. Ejercicio 2 11.5.3. Ejercicio 3
11.6. Password Cracking (password Recovery) 11.6.1. Ejercicio
11.7. Protección contra el descifrado de passwords 11.7.1. Ejercicio
Lección 12: Legalidad y Ética en Internet
12.1. Introducción12.2. Delitos transfronterizos versus Derechos locales 12.3. Delitos relativos a las TIC’s
12.3.1. Delitos relacionados con la pornografía
12.3.2. Descubrimiento y revelación de secretos: Correo Electrónico 12.3.3. Descubrimiento y revelación de secretos: Secretos de Empresa
12.3.4. Delitos relacionados con instrumentos tecnológicos para la manipulación de accesos y/o contenidos
12.3.5. Daños en programas o documentos electrónicos, soportes o sistemas informáticos 12.3.6. Delitos por agresión a la propiedad intelectual
12.4. Prevención de Delitos y Tecnologías de doble uso
12.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 1 12.4.5. Ejercicio 1 12.5. Hacking Ético 12.5.1. Ejercicio
12.6. Los 10 delitos y fraudes más usuales en Internet 12.6.1. Ejercicio
12.7. Lecturas recomendadas
7
Glosario
Para mas definiciones de términos computacionales, se puede consultar
www.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 de
una computadora.
BIOS – basic input/output system (sistema básico de entrada/salida). Es el software incluído
en una computadora que determina lo que puede hacer esta sin acceder a un programa en disco. En las computadoras personales, el BIOS contiene todo el código necesario para controlar la pantalla, teclado, unidades de disco, puertos seriales y diversas funciones adicionales. Típicamente el BIOS se encuentra en una memoria ROM (Memoria de solo acceso) que viene en la placa base.
blog (weblogs) – Página web que funciona como diario electrónico para un individuo, y es
accesible publicamente.
Bombas de tiempo – Código diseñado para ejecutarse en un momento específico en una
computadora. Un ejemplo es cuando se llega a la fecha de expiración de un software de prueba.
Bombas lógicas – Código diseñado para ejecutarse cuando se cumple una condición o
sucede una actividad específica en una red o computadora.
Cache – Es un tipo de memoria especial de alta velocidad. Puede ser una sección reservada
de la memoria principal o un dispositivo independiente. Existen dos tipos principales de cache: de disco y de memoria.
Cliente – Un programa en la computadora local que es utilizado para intercambiar datos
con una computadora remota. Ver Servidor.
Cluster /unidad de asignación – Grupo de sectores de disco. El sistema operativo asigna un
identificador único a cada cluster y mantiene el rastro de los archivos de acuerdo a los clusters que utilizan.
Concentrador – Punto común de conexión para dispositivos de red. Generalmente utilizado
para conectar equipos en redes locales.
Cookie – Es un mensaje proporcionado a un navegador por el servidor web. El navegador
guarda el mensaje en un archivo de texto que puede estar cifrado. Este mensaje es enviado de vuelta al servidor cada vez que el cliente solicita una página nueva. Las cookies pueden ser encriptadas en disco.
Correo electrónico – Servicio que permite la transmisión de mensajes a través de diversas
redes.
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 la
transmisión simultanea de voz y datos a alta velocidad utilizando como medio las líneas telefónicas tradicionales.
Dirección IP – Identificador para una computadora en Internet o una red TCP/IP. El formato
de una dirección IP es un número de 32 bits, escrito como cuatro números separados por puntos. Cada número puede ir desde cero hasta 255.
Dirección MAC (Media Access Control) – Dirección de hardware única que identifica a cada
nodo 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 a
direcciones 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 se
encuentra conectado.
Ethernet – Arquitectura de LAN desarrollada por Xerox Corporation en conjunto con DEC e
Intel 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 la
cabecera 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. Los
firewalls pueden ser implementados a través de hardware, software o una combinación de ambos.
Firma de archivo – Es una pequeña cabecera de 6 bytes al inicio de un archivo, que
identifica 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 de acuerdo 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 a
disposición del público general para su descarga.
GCHQ – Government Communications Headquarters, oficinas de comunicaciones de
gobierno. 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 al
usuario realizar búsquedas de cadenas de caracteres en uno o mas archivos. La salida de la herramienta consta de las líneas donde aparece la cadena buscada.
Gusano – Worm. Programa que se reproduce a si mismo en una red de computadoras, y
generalmente realiza acciones maliciosas como el uso de recursos, pueden incluso llegar a dar de baja el sistema.
HIDS – Acrónimo de host intrusion detection system. Sistema de detección de intrusos basado
en host.
Honeypot – Equipo conectado al Internet, que actúa como un señuelo para atraer intrusos y
así poder estudiar sus actividades, además de monitorear el proceso de intrusión a un sistema.
Http – Hypertext transfer protocol.
9
Hypertexto – Método de organizar y presentar datos, de manera que sea fácil al usuario el
movimiento entre elementos relacionados.
Hypertext transfer protocol (http) – El protocolo utilizado por el World Wide Web. HTTP define
el formato y transmisión de mensajes. También define las acciones que pueden tomar los navegadores 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 permite
crear 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 la
Internet Architecture Board (IAB). Es responsible de asignar direcciones IP en Internet.
Internet Control Message Protocol (ICMP) – Extensión del IP (Internet Protocol) definido en el
RFC 792. ICMP se encarga del envío de mensajes de error, control e información. El comando PING es un ejemplo del uso de ICMP para probar una conexión.
Internet protocol (IP) – IP especifica el formato y direccionamiento de los paquetes. La
mayoría de las redescombinan IP con un protocolo de capa superior como TCP (Transmision Control 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 en
tiempo real, basada en texto.
IP – Internet protocol.
Ingeniería Social – El acto de obtener, o intentar obtener información o datos confidenciales
a 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 en
la 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 valores
se reducen a VERDADERO o FALSO. Esta lógica es importante para las ciencias computacionales, ya que se acomoda perfectamente al sistema numérico binario en el que los posibles valores son 1 y 0.
Loopback – Es cuando una computadora se refiere a si misma. La dirección IP de la interface
de loopback es un número especial (127.0.0.1). Esta interface es virtual, ya que no existe hardware 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 conocido como digestión. Su intención es para utilizarse con máquinas de 32 bits. Es mas seguro que el algoritmo MD4, el cual ya ha sido comprometido.
Modem – Modulador/Demodulador. Dispositivo que convierte las señales analógicas en
señales digitales y viceversa, permitiendo así la comunicación entre computadoras a través de las líneas telefónicas.
MS-DOS (Microsoft Disk Operating System) – MS-DOS es un sistema operativo. Permite la
comunicación entre los usuarios y el hardware de la computadora. También controla el acceso a los recursos, tales como memoria, dispositivos y uso de procesador.
Navegador – Programa que permite a los usuarios conectarse a servidores web para
visualizar 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 del
estado de estos (abierto, cerrado, filtrado).
Nombre de dominio – Nombre que identifica una o mas direcciones IP. Cada nombre de
dominio 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 los servidores web requieren un servicio de nombres de dominio (DNS) que traduzca los nombres en direcciones IP.
NSA – National Security Agency. Agencia nacional de seguridad de Estados Unidos. Es la
organización que coordina, dirige y realiza actividades altamente especializadas para proteger los sistemas de información de Estados Unidos y producir información para la inteligencia.
P2P – Punto a punto (peer to peer).
Paquete – Es una parte de un mensaje que es transmitido a través de una red de
conmutación de paquetes.
Punto a punto (P2P) – es un tipo de red en la cual cada estación cuenta con
responsabilidades y capacidades equivalentes.
Ping – Utilería para determinar si una dirección IP específica es accesible. Su funcionamiento
se 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 un
servidor de correo. La mayoría de las aplicaciones cliente de correo utilizan el protocolo POP o IMAP.
Proveedor de servicio de Internet (ISP) – Compañía que proporciona acceso a internet a los
usuarios.
POTS – Plain old telephone service.
11
ppp – Protocolo punto a punto. Es un método de conectar una computadora al Internet. PPP
es mas estable que sus predecesores como SLIP, y además provee de características de control de errores.
Privilegios de acceso – El privilegio de utilizar la información de una computadora en alguna
forma. 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 los sistemas operativos cuentan con diferentes dipos de privilegios de acceso que pueden ser establecidos 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 de
archivos remotamente.
Prueba de redundancia cíclica (CRC) – Es una técnica común para detectar errores de
transmisió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 sobra de esta división se anexa al mensaje al momento de ser enviado. Cuando el mensaje es recibido, la computadora vuelve a calcular el sobrante y compara el recibido con su propio resultado, 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 para conectar 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 servicio
proporcionado.
RAM (Random Access Memory) – Memoria de acceso aleatorio. Es untipo de memoria que
puede ser accesada de manera aleatoria, significando que se puede acceder cualquier byte 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ña
desconocida.
Rootkit – programa malicioso que permite mantener el acceso a un equipo.
Ruteador – Dispositivo que reenvia paquetes entre redes. Un router debe conectarse en la
frontera de dos redes, comunmente entre dos redes de área local, o una red local y un proveedor de servicios. Los ruteadores utilizan la información del encabezdo de los paquetes y tablas de ruteo para determinar el mejor camino para reenviar un paquete. Entre routers se utilizan 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 utilizadas
cuando se crea un applet, y que previene que ciertas funciones sean ejecutadas cuando el applet es enviado como parte de una página web.
Script kiddie – Persona que utiliza herramientas de hackeo sin conocer su funcionamiento o
propósito.
Sector – es la mínima unidad de acceso en un disco.
Secure Shell – Protocolo diseñado como un reemplazo para Telnet. Utiliza cifrado de datos en
la comunicación y permite la ejecución remota de comandos, así como también la transferencia de archivos.
Servidor – Programa en una computadora remota que provee datos o un servicio a una
computadora cliente.
Servidor Web – Computadora donde se almacenan páginas para que puedan ser
accesadas por otras computradoras.
Servicios – Los servicios de red permiten a computadoras remotas el intercambio de
información.
Sector de arranque – Es el primer sector de un disco duro, donde se encuentra un pequeño
programa que se ejecuta cuando se enciende una computadora. Este programa es registro maestro de arranque (MBR – Master Boot Record).
Sistema de detección de intrusos en red (NIDS) – Network intrusion detection system. Es un
sistema de detección de intrusos en el cual cada paquete que atraviesa la red es analizado.
Sistema operativo – El programa de bajo nivel que se ejecuta en una computadora. Cada
computadora de propósito general debe tener un sistema operativo para ejecutar otros programas. 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 y directorios del sistema, y controlar los dispositivos de entrada y salida. Algunos sistemas operativos son Windows, Unix y Linux.
SMTP – Simple Mail Transfer Protocol. Protocolo para el envío de correo electrónico entre
servidores. La mayor parte de los sistemas de correo electrónico envían utilizan SMTP en Internet.
Sniffer – También conocido como analizador de protocolos. Es un programa o dispositivo que
monitorea los datos que viajan a través de una red.
Spyware – Software que obtiene información del usuario, sin el conocimiento de este, y lo
enví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 segmentos
de una red local.
Tabla de ruteo – Es la tabla donde se almacenan los caminos disponibles para realizar el
proceso de ruteo.
TCP – Transmission Control Protocol. Protocolo de control de transmisión. Permite establecer
una conexión entre dos equipos, y realizar un intercambio de flujos de datos. TCP garantiza la recepción de los datos en el orden en que son enviados.
TCP/IP – Transmission Control Protocol/Internet Protocol. El conjunto de protocolos utilizados
para 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 uso
de recursos y ejecución de comandos.
Topología – La estructura de una red de área local (LAN) o un sistema de comunicaciones.
13
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 el nombre o dirección de cada nodo.
Track – Parte de un disco donde se pueden almacenar datos. Un disco flexible cuenta con
80 (doble densidad)) o 160 (alta densidad) tracks. Para los discos duros, cada plato se divide en tracks; una posición de track en todos los platos (por ambos lados) se llama cilindro. Un disco duro cuenta con miles de cilindros.
Troyano – Programa destructivo que se oculta como una aplicación legítima. A diferencia de
los 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 de
Internet 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 o
aficionados.
LECCIÓN 1
“License for Use” Information
The following lessons and workbooks are open and publicly available under the following terms and conditions of ISECOM:
All works in the Hacker Highschool project are provided for non-commercial use with elementary school students, junior high school students, and high school students whether in a public institution, private institution, or a part of home-schooling. These materials may not be reproduced for sale in any form. The provision of any class, course, training, or camp with these materials for which a fee is charged is expressly forbidden without a license including college classes, university classes, trade-school classes, summer or computer camps, and similar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page at www.hackerhighschool.org/license.
The HHS Project is a learning tool and as with any learning tool, the instruction is the influence of the instructor and not the tool. ISECOM cannot accept responsibility for how any information herein is applied or abused.
The HHS Project is an open community effort and if you find value in this project, we do ask you 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 disponibles bajo las siguientes condiciones de ISECOM:
Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso no comercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclos formativos dentro de las actividades académicas propias de la institución. Dichos materiales no pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estos materiales de cualquier clase, curso o actividad de formación para el que sea necesario pagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendo cursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para la compra de una licencia visite la sección “LICENSE” de la página web del proyecto “Hacker Highschool” en www.hackerhighschool.org/license.
El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debe proceder realmente de la influencia del instructor y no basarse únicamente en el uso de la herramienta.
ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma de aplicar, 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 este proyecto le invitamos a esponsorizarlo a través de de la compra de una licencia, una donación o una esponsorización.
All works copyright ISECOM, 2004.
Índice
“License for Use” Information... 2
Información sobre la “Licencia de Uso”... 2
Contribuciones...4 1.1. Introducción...5 1.2. Recursos ...6 1.2.1 Libros...6 1.2.2 Magazines y Periódicos...7 1.2.2.1. Ejercicios...7 1.2.3 Zines y Blogs...7 1.2.3.1. Ejercicios...7
1.2.4 Forums y Listas de Correo...7
1.2.4.1. Ejercicios...8 1.2.5 Grupos de Notícias...8 1.2.5.1. Ejercicios...8 1.2.6 Páginas Web... 9 1.2.6.1. Ejercicios...9 1.2.7 Chat...11 1.2.7.1. Ejercicios...11 1.2.8 P2P...11 1.3. Más lecciones...12
3
Contribuciones
Pete Herzog, ISECOM Chuck Truett, ISECOMJaume Abella, La Salle URL Barcelona – ISECOM Marta Barceló, ISECOM
1.1. Introducción
Bienvenido al programa Hacker Highschool! Este programa está diseñado para animarte a estar al día y valerte por tí mismo. El tema principal de instrucción es satisfacer la curiosidad hacker que hay en tí y guiarte progresivamente a través de una educación hacker para ayudarte a crecer en un rol responsable capaz de determinar los problemas de seguridad y privacidad 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 los ordenadores. Nosotros pretendemos enseñarte que puede llegar a ser incluso más emocionante el hecho de alertar a otros sobre problemas de seguridad y hacerlos públicos sin preocuparse de ir a la carcel por ello. Como un ciudadano, en muchos países no es sólo tu derecho sino también tu responsabilidad avisar de fallos de seguridad y privacidad a las autoridades convenientes. De este modo estás ayudando a aquellos que no pueden valerse por sí mismos. Esto es lo que hacen los perros guardianes. Es lo que tú vas a aprender a hacer.
5
1.2. Recursos
Esta lección trata del modo de aprender las cosas. Es un tópico extraño para un hacker, pero es lo más importante. Hacking, en realidad, es un proceso creativo basado en experiencias aprendidas en muchos campos. Enseñar hacking es más o menos como enseñar unos buenos hábitos alimentarios: podemos ayudarte a reconocer aquello que debes aprender y no enseñartelo directamente. Esto es especialmente importante debido a los constantes avances en el mundo de los ordenadores. Lo que hoy enseñamos, mañana puede ya no ser importante. Es mucho mejor enseñar al estudiante hábitos de aprendizaje hacker, que son la parte principal del hacking, y es lo que te diferenciará de un script kiddie (una persona que utiliza 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 la web o en una biblioteca. Si tú no entiendes una palabra, o un concepto, es esencial que intentes averiguarlo por tus propios medios. Ignorar esto te hará más difícil entender conceptos que puedas leer en otros manuales. Otros manuales te proporcionarán únicamente enlaces o conceptos que tendrás que comprender por tí mismo para poder responder a las cuestiones que se plantean. Este manual te enseña a valerte por tí mismo, a investigar y a aprovechar todos los recursos que estén a tu alcance. Este es el único punto en el que te proporcionaremos información muy detallada de cómo hacer las cosas. A partir de aquí deberás valerte por tí mismo, así que asegúrate de dedicarle a este capítulo tanto tiempo como sea necesario para aprender a investigar, utilizando todos los recursos que tengas a tu alcance.
1.2.1 Libros
Los libros son una buena forma de aprender la base de todas las ciencias que tu estás deseando explorar. ¿Quieres conocer algo de un campo de la ciencia en detalle, como los detalles del hardware de tu PC en profundidad? Nada te ayudará más que leer un buen libro que trate sobre ese tema. El principal problema es que los libros sobre ordenadores se quedan anticuados muy rápidamente. Debido a esto, no es recomendable leer sobre asuntos que no sean fundamentales. Por ejemplo, aunque a lo largo de los años muchas cosas relacionadas con la seguridad y la privacidad han cambiado, la base sigue siendo la misma. El Arte de la Guerra, el libro de estrategia Sun Tzu, tiene más de 2500 años, pero aún hoy en día es aplicable.
No te limites únicamente a los ordenadores, el hacking y Internet. Los grandes hackers son muy creativos. Muchos de ellos son pintores, escritores y diseñadores. Los hackers pueden ser lo 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 funcionan las cosas. Leer libros de todo, desde Psicología a Ciencia Ficción te hará ser un hacker más versátil y funcional. Recuerda: hacking es imaginarse como funcionan las cosas sin preocuparse de cómo se diseñaron. De este modo podrás identificar problemas de seguridad y vulnerabilidades.
¿Dónde puedes encontrar libros? En todas partes. No es necesario crear una biblioteca propia, pero seguramente querrás anotar cosas en las páginas, y eso es algo que sólo puedes hacer en tus libros. Finalmente, si comienzas un libro, no lo dejes a medias sólo por su tamañ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 y satisfactoria para los hackers, ya que se trata de satisfacer la curiosidad más que “leer”.
1.2.2 Magazines y Periódicos
La utilización de magazines y periódicos es altamente recomendable para tener información concisa y actualizada. No obstante, los magazines a menudo no proporcionan demasiados detalles y se centran demasiado en la comunidad. Esto puede causar información poco precisa creada por la prensa sensacionalista. Obviamente esto se hace para vender más subscripciones. Incluso los magazines gratuitos necesitan subscritores para vender más publicidad.
Otro inconveniente que se debería considerar es el tema que trata el magazine. Un magazine sober Linux intentará desprestigiar a Microsoft Windows porque existe un conflicto entre ellos y es lo que los lectores de Linux esperan leer. Es importante leer entre líneas y no dejarse 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 Blogs
Los 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 y periodistas amateur. Algunos Zines, como el famoso 2600 o el Phrack están escritos por voluntarios que no editan el contenido por errores no técnicos. Esto significa que el lenguaje puede ser rudo para aquellos que esperan esa lectura. Los Zines tratan temas muy fuertes y son muy opinados. De todos modos, casi siempre intentan mostrar y discutir las ideas desde varios puntos de vista ya que no les acostumbra a preocupar el problema de los anuncios y los subscritores.
Los Blogs son la modernización de los Zines. Los Blogs se actualizan más a menudo y son utilizados por las comunidades para discutir temas fuertes. Del mismo modo que los zines, de todos modos, cualquiera puede criticar una historia y mostrar una opinión opuesta. En el caso 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 Correo
Los Forums y las Listas de Correo son comunidades de desarrollo que se centran en muchos temas, a menudo conflictivos. Estos medios contienen información que la gente puede enviar anónimamente y a veces puede no contener “toda la verdad”. Como los Blogs, es
7
importante leer todas las respuestas y los comentarios, y no quedarse únicamente con el primero para conseguir la mejor información.
Puedes encontrar forums que traten prácticamente todos los temas, y muchos magazines y periódicos online ofrecen forums a sus lectores para tener un feedback de los artículos. Para este 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. A menudo, debes buscar en profundidad sobre una idea hasta encontrar alguna comunidad que 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 no pueden encontrarse mediante los grandes motores de búsqueda de Internet. Puedes encontrar información sobre una lista de correo a través de una búsqueda en un buscador de Internet, pero difícilmente encontrarás información sobre posts individuales. Esta información se llama “la web invisible”, ya que contiene información y datos que no son visibles a la mayoria de gente ya que es necesario realizar búsquedas muy específicas, a menudo mediante buscadores de meta información o directamente a traves de las páginas web 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ícias
Los grupos de notícias llevan mucho tiempo funcionando. Existían grupos de notícias antes de que existiera la Web. Google compró un archivo entero de noticias y lo puso en la web http://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 o producto. También es importante para encontrar información oscura que tal vez alguien puso 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 que la web se convirtiera en el primer mecanismo para compartir información. Aun así, los grupos de notícias no han crecido demasiado, ya que su popularidad ha sido reemplazada por otros nuevos servicios web como los blogs y los forums.
a. Usando el Google Groups, encuentra el grupo de notícias más antiguo que envió notícias sobre seguridad.
b. Busca otras formas de utilizar los grupos de notícias. ¿Existe alguna aplicación que se pueda utilizar para leer grupos de notícias?
c. ¿Cuántos grupos de notícias puedes encontrar que hablen sobre hacking?
1.2.6 Páginas Web
El estándar de facto para compartir información actualmente es a través de un navegador web. Mientras esto se clasifica como “la web”, el termino real debería ser “servicios web” ya que no todo lo que hay en la web son sitios web. Si tú compruebas tu e-mail utilizando un servidor web, estás utilizando un servicio web. A menudo, los servicios web requieren privilegios. Esto significa que necesitas un login y un password para tener acceso. Tener acceso y el derecho legal a acceder se conoce como tener privilegios. Acceder a un sitio web que te permita cambiar una página web puede darte acceso, pero como no tienes derecho legal para hacerlo, eso no sería un acceso privilegiado. A menudo nos preocupa el hecho de tener acceso o no a un recurso web, pero hay que tener en cuenta que es posible que accidentalmente algunos sitios web permitan acceso a areas privilegiadas. Si encuentras uno de estos sitios, deberías tener el hábito de escribir al propietario del sitio web y 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 espacio de disco. A veces, los propios buscadores consiguen acceso a sitios privilegiados y buscan la información por tí. A veces es en forma de caché. Muchos motores de búsqueda tienen un link a la caché para buscar las páginas web en la memoria local de la compañía para acelerar 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 versiones guardadas 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 que visites tan sólo porque aparezcan en un buscador. Muchos ataques hacker y virus se esparcen tan sólo por el hecho de visitar una página web o descargar un programa y ejecutarlo. Puedes protegerte a tí mismo no descargando nunca programas de fuentes que no ofrezcan confianza y asegurándote de que tu navegador está actualizado por lo que respecta a parches de seguridad.
1.2.6.1. Ejercicios
a. Utilizando un buscador, encuentra sitios que hayan proporcionado acceso a todo el mundo accidentalmente. Para hacerlo, buscaremos listados de directorios accesibles cuando no te conectas a una página correcta. Por ejemplo escribiendo lo siguiente en el diálogo de búsqueda del buscador:
allintitle: "index of" .pdf
b. De los resultados obtenidos, visita alguna de las direcciones listadas y deberías acceder al contenido de todo el directorio. Este tipo de búsqueda se llama Google Hacking.
9
c. ¿Puedes encontrar tipos de documentos de este modo utilizando Google? Busca 3 listados de directorios que contengan archivos del tipo .xls y .avi.
d. Existen muchos buscadores a parte de google. Un buen hacker sabe cómo y cuando utilizarlos todos. Algunos sitios web se especializan en monitorizar motores de búsqueda como www.searchengine.com. Incluso existe un buscador para “la web invisible”. Busca 10 buscadores que no sean buscadores de meta información.
e. Busca “security testing and ethical hacking” y lista las 3 primeras respuestas.
f. Busca exactamente lo mismo pero sin las comillas. ¿Son diferentes los resultados?
g. Es muy diferente buscar una palabra clave que toda una frase. En el ejercicio D, se ha buscado una frase entera. Ahora, buscamos una o varias palablras clave. Para esto es necesario saber exactamente qué estamos buscando y cómo buscarlo. Cuando se busca una canción, por ejemplo, es más probable encontrar lo que se busca cuando se indica el nombre de la canción y tambien el grupo. Una buena combinación podria ser:
“I am the walrus” +the beatles
De todos modos, ¿Qué pasa si sabes como es la canción, pero no sabes exactamente el título o el grupo que la canta? Ahora, tu búsqueda es similar a la búsqueda por un concepto o idea. Si puedes cantar un trocito de la canción, o tararearla, tal vez encuentres algún patró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 my self you take my self control”. Para buscar esto, si no utilizo las comillas, el buscador encontrará las palabras aunque no esten en el mismo orden. Utilizando las comillas y buscando “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 sobre hacking ético. Si escribo “online resource of magazines for ethical hacking” sin las comillas en un buscador, encontraré resultados que contengan algunas de éstas palabras, lo cual no es tan útil como lo que estoy buscando. Así que, en lugar de eso, necesito pensar, si yo tuviese que 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 mejores resultados 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 Internet Archive. Deberás buscar www.mozilla.org en http://www.archive.org. Intenta localizar cómo bajarte la versión 1 (pero no la instales).
1.2.7 Chat
El Chat tambien se conoce como Internet Relay Chat (IRC) y es un sistema de mensajería instantánea (IM) muy popular y que ofrece una forma muy rápida de establecer comunicación en tiempo real, para preguntar y encontrar información. Como fuente de información, el Chat es una opción que implica preguntar a la gente, y no siempre es fácil encontrar gente dispuesta a colaborar. De todos modos, una vez uno se siente confortable con un cierto grupo de usuarios y canales, puedes ser aceptado en una comunidad y se te permitirá preguntar mas cosas. Eventualmente, tendrás la oportunidad de compartir información de seguridad muy reciente (conocida como zero day o dia cero, lo que significa que acaba de ser descubierta), lo que te permitirá ampliar tu conocimiento. Hay que tener en cuenta que a veces se obtiene información falsa. Es necesario adquirir suficiente experiencia 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 usar entre ellos para hablar?
b. Busca qué es IRC y como puedes conectarte. Una vez seas capaz, entra en el 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 de seguridad informática y 3 canales hacker. ¿Puedes entrar en estos canales?¿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 de Internet. 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 de forma 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 la información que encuentres mediante este método sea robada. Debes ir con cuidado cuando utilices las redes P2P, pero no debe darte miedo utilizarlas.
11
1.3. Más lecciones
Ahora deberías practicar para adquirir práctica con las técnicas de búsqueda de informació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 el programa Hacker Highschool son:
Meta Search The Invisible Web Google Hacking
How Search Engines Work The Open Source Search Engine
LECCIÓN 2
NOCIONES DE COMANDOS
DE WINDOWS Y LINUX
“License for Use” Information
The following lessons and workbooks are open and publicly available under the following terms and conditions of ISECOM:
All works in the Hacker Highschool project are provided for non-commercial use with elementary school students, junior high school students, and high school students whether in a public institution, private institution, or a part of home-schooling. These materials may not be reproduced for sale in any form. The provision of any class, course, training, or camp with these materials for which a fee is charged is expressly forbidden without a license including college classes, university classes, trade-school classes, summer or computer camps, and similar. To purchase a license, visit the LICENSE section of the Hacker Highschool web page at www.hackerhighschool.org/license.
The HHS Project is a learning tool and as with any learning tool, the instruction is the influence of the instructor and not the tool. ISECOM cannot accept responsibility for how any information herein is applied or abused.
The HHS Project is an open community effort and if you find value in this project, we do ask you 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 disponibles bajo las siguientes condiciones de ISECOM:
Todos los trabajos del proyecto “Hacker Highschool” son proporcionados para su uso no comercial con estudiantes de escuelas primarias, secundarias, bachilleratos y ciclos formativos dentro de las actividades académicas propias de la institución. Dichos materiales no pueden ser reproducidos con fines comerciales de ningún tipo. La impartición con estos materiales de cualquier clase, curso o actividad de formación para el que sea necesario pagar un importe, queda totalmente prohibida sin la licencia correspondiente, incluyendo cursos en escuelas y universidades, cursos comerciales o cualquier otro similar. Para la compra de una licencia visite la sección “LICENSE” de la página web del proyecto “Hacker Highschool” en www.hackerhighschool.org/license.
El proyecto HHS es una herramienta de aprendizaje y, como tal, la formación final debe proceder realmente de la influencia del instructor y no basarse únicamente en el uso de la herramienta.
ISECOM no puede aceptar bajo ningún concepto responsabilidad alguna sobre la forma de aplicar, 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 este proyecto le invitamos a esponsorizarlo a través de la compra de una licencia, una donación o una esponsorización.
All works copyright ISECOM, 2004.
Índice
“License for Use” Information...2 Información sobre la “Licencia de Uso”... 2 Contribuciones...4 2.1. Objetivos...5 2.2. Requerimientos y escenario...6 2.2.1 Requerimientos...6 2.2.2 Escenario...6 2.3. Sistema Operativo: WINDOWS...7 2.3.1 ¿Cómo abrir una ventana de MS-Dos?...7 2.4. Sistema operativo: LINUX...12 2.4.1 ¿Cómo abrir una ventana de consola?...12 2.4.2 Comandos básicos...13 2.4.3 Herramientas de red...15 2.5. Ejercicios Prácticos...17 2.5.1 Ejercicio 1...17 2.5.2 Ejercicio 2...17 2.5.3 Ejercicio 3...18 Glosario...19
3
Contribuciones
Daniel 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
2.1. Objetivos
En esta lección introductoria se pretende dar a conocer los comandos básicos de Windows y de Linux, para que el alumno se familiarice con ellos y que le servirán para resolver los problemas 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
2.2. Requerimientos y escenario
2.2.1 Requerimientos
Para 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 ordenadores donde trabajará el alumno, con acceso a Internet, y de la red de servidores de ISECOM destinada 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, y que es necesario solicitar acceso a ella mediante el proceso de inscripción en el programa: www.hackerhighschool.org.
2.3. Sistema Operativo: WINDOWS
Para la mayoría de herramientas referentes al estudio de redes, se utilizan los propios comandos del sistema operativo windows. Es por ello que se va a explicar cómo abrir una ventana 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. El procedimiento 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 el resto de Windows, y pulsar Aceptar.
4.- Aparecerá una ventana similar a la siguiente:
7
5.- Ahora ya se pueden probar los comandos y herramientas que se listan a continuación.
2.3.2 Comandos básicos
Date Muestra o establece la fecha del sistema
Time Muestra o establece la hora del sistema
Ver Muestra la versión de MS-DOS que se está utilizando
Dir Muestra la lista de subdirectorios y ficheros de un directorio o carpeta
Cls Borra la pantalla
mkdir <directorio> md <directorio>
Crea un directorio o carpeta. Por ejemplo:
md utilidades
chdir <directorio> cd <directorio>
Muestra el nombre o cambia el directorio actual . Por ejemplo:
cd utilidades
Rmdir <directorio> rd <directorio>
Borra un directorio o carpeta. Por ejemplo:
rd utilidades
tree <ruta> Muestra de forma gráfica-texto la estructura de
carpetas de una unidad o ruta. Por ejemplo:
tree c:\utilidades
Chkdsk Comprueba un disco y muestra un informe de
estado
Mem Muestra la cantidad de memoria usada y libre en el sistema
rename <origen> <destino> Ren <origen> <destino>
Cambia el nombre de uno o más ficheros. Por ejemplo:
ren nombreantiguo nombrenuevo
LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUXcopy <origen> <destino> Copia uno o más ficheros en otra localización. Por ejemplo:
copy
c:\util\fichero.txt
c:\temporal
move <origen> <destino> Cambia el nombre a ficheros y directorios. Por ejemplo:
move
c:\utilidades
c:\herramientas
type <fichero> Muestra el contenido de un fichero de texto.
Por ejemplo:
type
c:\utilidades\mifichero.txt
More <fichero> Muestra la información pantalla a pantalla. Por
ejemplo:
More
c:\utilidades\mifichero.txt
delete <fichero> del <fichero>
Elimina uno o más ficheros. Por ejemplo:
del c:\utilidades\mifichero.txt
Nota: Las palabras entre corchetes < > no son comandos, sino que deben substituirse por los valores deseados. Hay comandos que pueden emplearse utilizando su forma larga o corta, por ejemplo, “delete” y “del” son el mismo comando.
2.3.3. Herramientas de red
ping <máquina> El comando ping permite enviar “sondas” ICMP (Internet Control Message Protocol) a otra computadora, con el objetivo de saber si ésta es alcanzable a través de la red. Además muestra un resumen estadístico acerca del porcentaje de sondas que no han tenido respuesta y del tiempo de respuesta. Se puede utilizar el nombre de la máquina o directamente su dirección IP en Internet.
Por ejemplo:
ping www.google.com
ping 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
tracert <máquina> El comando tracert es la abreviatura de trace route, el cual nos permite saber la ruta que siguen los paquetes desde el origen, es decir, nuestra máquina, hasta la máquina destino. También se pueden visualizar los tiempos de cada salto. Como máximo, se listarán 30 saltos. Es interesante observar que se obtienen los nombres de las máquinas por las cuales viajan los paquetes.
Por ejemplo:
tracert www.google.com
tracert 193.145.85.2
Algunas opciones:
-h <N> : para especificar N saltos como máximo. -d : no muestra en nombre de las máquinas.
Para ver más opciones:
tracert
ipconfig El comando ipconfig muestra información sobre las
interfaces de red activas en el ordenador. Por ejemplo:
ipconfig
Algunas opciones:
/all : muestra más detalles
/renew : activa las direcciones IP del adaptador
cuando se usa configuración automática con DHCP.
/release : desactiva las direcciones IP del adaptador
cuando 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 print
Para ver más opciones:
route /?
netstat Muestra gran cantidad de información sobre el estado de la red y conexiones de red establecidas con máquinas remotas.
Algunas opciones:
-a Muestra todas las conexiones y puertos escucha. -e Muestra estadísticas Ethernet.
Por ejemplo:
netstat
netstat –an
Para ver más opciones:
netstat /?
11
2.4. Sistema operativo: LINUX
Por el mismo motivo que sobre un Windows se ha necesitado abrir una ventana de MS-Dos, si se utiliza LINUX, la gran mayoría de comandos igualmente se ejecutan desde una ventana que emula como si se estuviera trabajando desde una consola. Es por este motivo que se va a 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:
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 a continuació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 que
estamos trabajando)
finger <usuario> Muestra información sobre el usuario <usuario> Por ejemplo:
finger root
Ls Lista el contenido de directorios Por ejemplo:
ls -la
13
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 /tmp
rm <fichero> Borra ficheros. Sólo el propietario del fichero (o root) puede borrarlo.
Por ejemplo:
rm mifichero
mv <origen>
<destino> Mueve o renombra ficheros y directoriosPor ejemplo:
mv nombreantiguo nombrenuevo
mkdir <directorio> Crea un directorio con nombre “directorio” Por ejemplo:
mkdir midirectorio
rmdir <directorio> Borra el directorio “directorio” si se encuentra vacío Por ejemplo:
rmdir midirectorio
man <comando> Muestra las páginas del manual on-line
Por ejemplo:
man ls
Nota: Las palabras entre corchetes < > no son comandos, sino que deben sustituirse por los valores deseados.
2.4.3 Herramientas de red
ping <máquina> El comando ping permite enviar “sondas” ICMP (Internet Control Message Protocol) a otra computadora, con el objetivo de saber si ésta es alcanzable a través de la red. Además muestra un resumen estadístico acerca del porcentaje de sondas que no han tenido respuesta y del tiempo de respuesta. Se puede utilizar el nombre de la máquina o directamente su dirección IP en Internet.
Por ejemplo:
ping www.google.com
ping 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>. Por ejemplo:
traceroute www.google.com
Para ver más opciones:
man traceroute
Ifconfig El comando ifconfig muestra información sobre las
interfaces activas (ethernet, ppp, etc.). Por ejemplo:
ifconfig
Para 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:
route
Para ver más opciones:
man route
15
netstat Muestra gran cantidad de información sobre el estado de la red y de las conexiones TCP/IP establecidas.
Por ejemplo:
netstat
netstat –an
Para ver más opciones:
man netstat
LECCIÓN 2 – NOCIONES DE COMANDOS DE WINDOWS Y LINUX2.5. Ejercicios Prácticos
2.5.1 Ejercicio 1
Para 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 has detectado? ¿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 los
ficheros con la extensión .sys que se encuentren en c:\. ¿Qué ficheros has 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 (Por Ejemplo 193.145.85.201). Identifica las direcciones IPs de los equipos intermedios.
2.5.2 Ejercicio 2
Para profundizar sobre los conocimientos adquiridos de Linux.
a. Identifica el propietario del fichero “/etc/passwd”. ¿Qué comandos has utilizado?
b. Crea el directorio “trabajo” en nuestro directorio (por ejemplo, si nuestro login es “milogin”, crear el directorio en “/home/milogin”), y copia el fichero “passwd” en el directorio “trabajo” que acabamos de crear. Identifica el propietario del fichero “passwd” que se ha copiado. c. Crea el directorio “.oculto” en el directorio “trabajo”. Lista el contenido
de nuestro directorio. ¿Cómo podríamos listar el contenido de nuestro directorio de forma que pudiéramos visualizar el directorio “.oculto”? d. Identifica el nombre y la dirección IP de tu máquina. ¿Qué comandos
has utilizado? ¿Qué dirección IP tienes?
e. Recuerda el escenario de la práctica (apartado 0.1.2) y traza la ruta hasta alguna máquina del dominio de ISECOM (Por Ejemplo 193.145.85.202). Identifica las direcciones IP de los equipos intermedios.