Módulo1 Unidad03 Principios 2021 EH
Módulo1 Unidad03 Principios 2021 EH
Módulo1 Unidad03 Principios 2021 EH
Ethical Hacking
Módulo 1:
Unidad 3:
Comprender los servicios que se utilizan y a la vez, como esos mismos servicios son vulnerables.
También se verán varios laboratorios, que dejarán en claro, la importancia tanto de comprender
cómo de utilizar los servicios de Red.
Objetivos
Que los participantes logren…
Existen amenazas relacionadas con fallas humanas, con ataques malintencionados o con
catástrofes naturales.
Sitios como Exploit-DB o Security Focus, informan los distintos agujeros (vulnerabilidades)
que pueden tener los sistemas operativos.
Para la forma de mitigación, se necesita siempre estar al tanto de las actualizaciones y parchear
los sistemas operativos, de esa forma uno no estaría expuesto, al menos con la vulnerabilidad
declarada.
Fuente: https://www.cvedetails.com/top-50-products.php?year=2019
En estos casos, mantenerse informado sobre cómo las aplicaciones más conocidas es un punto
positivo, para estar enterado de cuándo actualizar.
Se recomienda realizar un relevamiento completo de las aplicaciones que uno tiene, y a partir de
ahí, chequear y analizar si existe la posibilidad de actualizarlas.
Estadísticas de los lenguajes de programación más vulnerables
Estos son los errores más buscados por los atacantes, ya que son errores propios de programación
y la vulnerabilidad encontrada puede llegar a ser tomar control completo de un sistema o
aplicación.
Así como evitar que se realicen prácticas indebidas, por ejemplo, el uso de USB no permitido, o
abrir mails desconocidos o clickear a todo lo que salga, sin antes revisar o analizar.
Lo que uno se debe preguntar, de qué sirve aplicar políticas de seguridad si los usuarios no
cumplen con los requisitos de conocimientos necesarios.
1- analizar si los mails tienen un destinatario directo, si no se distingue, estamos ante una
campaña de envío masivo.
3- lo que pide, generalmente propósito económico, contacto bancario, todo lo que pueda ir
directo a una estafa, es síntoma.
Debido a su complejidad, se recolectan datos que le dan al atacante las pautas para tener éxito,
las más habituales son:
• Identificación del sistema operativo:
Los ataques difieren mucho según el sistema operativo que esté instalado en el ordenador
Los servicios: Son los programas que carga el propio sistema operativo para poder funcionar,
servicio de impresión, actualizaciones automáticas, servicios de chat…
Los puertos son las vías que utiliza el ordenador para comunicarse, 21 es el del FTP, 995 el del
correo seguro…
Protocolos: Son los diferentes lenguajes establecidos que utiliza el ordenador para comunicarse
De este modo si se escanea todo este entorno el atacante se hace una idea de cómo poder realizar
el ataque.
Escaneo de vulnerabilidades.
En conclusión existen multitud de tipos de técnicas de ataques de red aunque existen cuatro tipos
básicos:
Buscar en Internet alguna noticia de un incidente (ataque) informático (no importa el tipo de
técnica de ataque) y hacer un análisis personal de cómo PIENSAN que sucedió y cómo habría
que evitarlo de acuerdo a sus puntos de vista o conocimientos (postear en el foro).
El mismo queda para que TODOS lean los trabajos de sus compañeros.
http://hackmageddon.com
https://www.zdnet.com/blog/security/
https://www.redpacketsecurity.com/
Por favor, en caso de que los links no funcionen, avisar al instructor, ya que es muy común que
se cambien, den de baja o se actualice la misma URL.
Servicios de Red
Dentro de una red, podremos encontrar o agregar servicios relacionados con la seguridad, la
protección de datos y la configuración de la red.
El tipo más simple de NAT proporciona una traducción una-a-una de las direcciones IP.
La mayoría de los NAT asignan varias máquinas (hosts) privadas a una dirección IP expuesta
públicamente.
En conclusión, cada equipo conectado a cada red, se identifica hacia otras redes, con una única
IP PÚBLICA, teniendo nuestra identificación pública de nuestro NAT.
En este ejemplo, vemos que la IP 192.168.50.50 (Privada) se identificara en Internet con la IP
220.16.16.5 (Publica).
También notamos que quiere llegar a un objetivo IP 98.10.10.5 (Privada), el cual recibirá la
notificación de la IP PUBLICA NAT (220.16.16.5) correspondiente a la IP Origen PRIVADA.
Trabaja en capa 4 (TRANSPORTE) del modelo OSI, el NAT trabaja en capa 3 (RED), ya que
solo gestiona direccionamiento IP.
Aquí vemos como traduce 3 direcciones IP privadas a 1 única IP pública, asignando a cada
privada un puerto específico.
Y como nuestro router tiene una sola IP Pública (200.10.90.17), lo que hará el mismo es
asignarle un puerto a cada servicio e IP.
10.10.10.1:21 ----- 200.10.90.17:5001
Por otro lado, a nivel WAN, se pide una IP pública y el puerto identificador para cada servicio.
Las direcciones MAC son identificadores únicos a nivel mundial para cada dispositivo y por lo
tanto es imposible encontrar 2 tarjetas de red o 2 dispositivos de red que tengan la misma Mac
Address.
La totalidad de fabricantes en el momento de fabricar el hardware, como por ejemplo una tarjeta
de red Wireless, graban la Mac Address en formato binario en una memoria ROM del dispositivo
que están fabricando.
Como la memoria ROM es solo de lectura es totalmente imposible modificarla y por lo tanto esto
implica que la Mac address o identificador de un dispositivo nunca se podría modificar.
Más adelante veremos que es posible hacer creer a otras personas o a integrantes de la red que
nuestra MAC Address es otra diferente a la real (posibilidad de cambiar la MAC).
El motivo por el cual es posible modificar la MAC de la tarjeta de red de nuestra PC es simple.
Cuando se arranca nuestro ordenador la tarjeta de red copia la dirección MAC a nuestra memoria
RAM.
Una vez copiada la Mac Address a la memoria RAM la totalidad de veces que se requiere de la
Mac Address se usará la Mac Address almacenada en la memoria RAM.
Por lo tanto si queremos cambiar nuestra Mac Address tan solo tenemos que modificar la Mac
Address almacenada en nuestra memoria RAM .
Aquí vemos las MAC aprendidas por una PC, usando el comando ARP -A
DNS (Domain Name Service)
Cada equipo conectado directamente a Internet tiene al menos una dirección IP específica. Sin
embargo, los usuarios no desean trabajar con direcciones numéricas, como por ejemplo
194.153.205.26, sino con un nombre de dominio o más específicamente, con direcciones
(llamadas direcciones FQDN) como por ejemplo es.kioskea.net.
Es posible asociar nombres en lenguaje normal con direcciones numéricas gracias al sistema
llamado DNS (Sistema de Nombres de Dominio).
Esta correlación entre las direcciones IP y el nombre de dominio asociado se llama resolución de
nombres de dominio (o resolución de direcciones).
Espacio de nombre:
La estructura del sistema DNS se basa en una estructura de arbórea en donde se definen los
dominios de nivel superior (llamados TLD, Dominios de Nivel Superior); esta estructura está
conectada a un nodo raíz representado por un punto.
Cada nodo del árbol se llama nombre de dominio y tiene una etiqueta con una longitud máxima
de 63 caracteres.
Por lo tanto, todos los nombres de dominio conforman una estructura arbórea inversa en donde
cada nodo está separado del siguiente nodo por un punto (".").
El extremo de la bifurcación se denomina host, y corresponde a un equipo o entidad en la red. El
nombre del ordenador que se provee debe ser único en el dominio respectivo, o de ser necesario,
en el sub-dominio. Por ejemplo, el dominio del servidor Web por lo general lleva el nombre
www.
La palabra "dominio" corresponde formalmente al sufijo de un nombre de dominio, es decir, la
recopilación de las etiquetas de nodo de la estructura arbórea, con excepción del ordenador.
El nombre absoluto está relacionado con todas las etiquetas de nodo de una estructura arbórea,
separadas por puntos y que termina con un punto final que se denomina la dirección FQDN
(Nombre de Dominio totalmente calificado). La profundidad máxima de una estructura arbórea
es 127 niveles y la longitud máxima para un nombre FQDN es 255 caracteres. La dirección
FQDN permite ubicar de manera única un equipo en la red de redes. Por lo tanto, es.kioskea.net.
es una dirección FQDN.
Los equipos llamados servidores de nombres de dominio permiten establecer la relación entre los
nombres de dominio y las direcciones IP de los equipos de una red.
Cada dominio cuenta con un servidor de nombre de dominio, llamado servidor de nombre de
dominio principal, así como también un servidor de nombre de dominio secundario, que puede
encargarse del servidor de nombre de dominio principal en caso de falta de disponibilidad.
Cada servidor de nombre de dominio está especificado en el servidor de nombre de dominio en
el nivel superior inmediato, lo que significa que la autoridad sobre los dominios puede delegarse
implícitamente. El sistema de nombre es una arquitectura distribuida, en donde cada entidad es
responsable de la administración de su nombre de dominio. Por lo tanto, no existe organización
alguna que sea responsable de la administración de todos los nombres de dominio.
Los servidores relacionados con los dominios de nivel superior (TLD) se llaman "servidores de
dominio de nivel superior". Son 13, están distribuidos por todo el mundo y sus nombres van
desde "a.root-servers.net" hasta "m.root-servers.net".
Un DNS es una base de datos distribuida que contiene registros que se conocen como RR
(Registros de Recursos), relacionados con nombres de dominio. La siguiente información sólo es
útil para las personas responsables de la administración de un dominio, dado que el
funcionamiento de los servidores de nombre de dominio es completamente transparente para los
usuarios.
Ya que el sistema de memoria caché permite que el sistema DNS sea distribuido, los registros
para cada dominio tienen una duración de vida que se conoce como TTL (Tiempo de vida). Esto
permite que los servidores intermediarios conozcan la fecha de caducidad de la información y
por lo tanto que sepan si es necesario verificarla o no.
● Nombre de dominio: El nombre de dominio debe ser un nombre FQDN, es decir, debe
terminar con un punto. En caso de que falte el punto, el nombre de dominio es relativo, es
decir, el nombre de dominio principal incluirá un sufijo en el dominio introducido;
● Tipo: Un valor sobre 16 bits que define el tipo de recurso descrito por el registro. El tipo
de recurso puede ser uno de los siguientes:
A: este es un tipo de base que hace coincidir el nombre canónico con la dirección
IP. Además, pueden existir varios registros A relacionados con diferentes equipos
de la red (servidores).
● A: la dirección IP de 32 bits:
● CNAME: el nombre de dominio;
● MX: la prioridad de 16 bits, seguida del nombre del ordenador;
● NS: el nombre del ordenador; PTR: el nombre de dominio
● PTR: el nombre de dominio;
● SOA: varios campos.
● Los dominios que se conocen como "genéricos", llamados gTLD (TLD genérico). Los
gTLD son nombres de dominio de nivel superior genéricos que ofrecen una clasificación
de acuerdo con el sector de la actividad. Entonces cada gTLD tiene sus propias reglas de
acceso:
o gTLD historial:
▪ .arpa relacionado con equipos pertenecientes a la red original;
▪ .com inicialmente relacionado con empresas con fines comerciales. Sin
embargo, este TLD se convirtió en el "TLD predeterminado" y hasta
personas reales pueden adquirir dominios con esta extensión.
▪ .edu relacionado con las organizaciones educativas;
▪ .gov relacionado con las organizaciones gubernamentales;
▪ .int relacionado con las organizaciones internacionales;
▪ .edu relacionado con las organizaciones militares;
▪ .net inicialmente relacionado con las organizaciones que administran
redes. Con el transcurso de los años este TLD se ha convertido en un TLD
común, y hasta personas reales pueden adquirir dominios con esta
extensión.
▪ .org está normalmente relacionado con organizaciones sin fines de lucro.
o nuevos gTLD presentado en noviembre de 2000 por ICANN:
▪ .aero relacionado con la industria aeronáutica;
▪ .biz (negocios) relacionado con empresas comerciales;
▪ .museum relacionada con los museos;
▪ .name relacionada con el nombre de personas reales o imaginarias;
▪ .info relacionado con organizaciones que manejan información;
▪ .coop relacionado con cooperativas;
▪ .pro relacionado con profesiones liberales.
o gTLD especial:
▪ .arpa relacionado con las infraestructuras para la administración de redes.
El arpa gTLD también sirve para la resolución inversa de equipos en red y
permite hallar el nombre relacionado con una dirección IP.
● Los dominios que se conocen como "nacionales", se llaman ccTLD (código de país
TLD). El ccTLD está relacionado con los diferentes países y sus nombres se refieren a las
abreviaturas del nombre del país definidas en la norma ISO 3166.
En INTERNET, es constante la consulta con servidores DNS (ROOT HINTS), los cuales
contienen la información necesaria para encontrar un dominio.
RECORDAR:
La información proporcionada por un servidor DNS se presenta en diferentes categorías llamadas
registros.
A: son los registros principales, relaciona un nombre con una dirección IP
MX: identifica a los servidores de correo electrónico correspondientes del dominio consultado,
son utilizados por los servidores SMTP que posean correos electrónicos destinados a usuarios
dentro de nuestro dominio.
Utilizar y probar el comando “nslookup”, usar como guía el help del mismo comando.
https://norfipc.com/redes/como-usar-comando-nslookup-windows.html
Recordar que es un comando propio del sistema operativo, hay cientos de comandos y puede
resultar tedioso buscar información por muchos lados, por eso en esta práctica intentamos
estimular al alumno a realizar estos ejercicios, que son parte del conocimiento básico que uno
debe tener y exponemos links de ayuda recomendados.
Gracias a este servicio, no es necesario configurar un dispositivo en forma manual, el solo hecho
de conectarlo a la red, tomaría un direccionamiento automático de acuerdo a como lo
configuramos.
Explicar el proceso de DHCP en este dibujo, y especificar cómo sería el direccionamiento IP que
ofrecería a los dispositivos (la máscara es 255.255.255.0 o podría ser la 255.255.0.0)
AYUDA: hay un servicio que todavía no se enseñó que permitiría el uso de dos segmentos de
red diferentes a través de un SW, ¿cuál es?
Laboratorio teórico: Potenciales ataques
DHCP STARVATION
Es un ataque que consiste en inundar con peticiones DHCP REQUEST al servidor DHCP, con
direcciones MAC falseadas y con el objetivo de agotar su espacio de direcciones asignables. El
objetivo es que el servidor DHCP no sea capaz de responder a otros clientes.
DHCP SPOOFING
Consiste en suplantar al servidor de DHCP de una red y modificar los parámetros de red que
reciben los equipos conectados al renovar o solicitar una nueva IP.
Un DHCP rogue server es un servidor que se encuentra en la red fuera del control del
administrador de la misma para hacer ataques de tipo MITM modificando los parámetros de red
que reciben los equipos de la red. Tiene el inconveniente de que no puede asegurarse que reciba
la configuración los equipos del servidor atacante al existir un atacante legítimo en la red.
Tipo de ataque que mejora la utilización de un DHCP rogue server para hacer DHCP spoofing
ya que se asegura de que los equipos reciban la configuración del servidor atacante.
Dado que toda la comunicación DHCP se realiza enviando los paquetes a la dirección MAC de
broadcast FF:FF:FF:FF:FF:FF todos los clientes reciben los paquetes DHCP. Así que existe la
posibilidad de que un atacante monitorice los intercambios DHCP y en un determinado punto de
la comunicación envíe un paquete especialmente formado para modificar su comportamiento.
Uno de los puntos donde nos interesaría intervenir es cuando el servidor reconoce con un DHCP
ACK la configuración del cliente. Primero se tiene que escuchar toda la comunicación poniendo
atención en el paquete REQUEST donde el cliente solicita la IP Gateway de aquellos datos que
anteriormente le ha ofrecido el servidor DHCP.
Una vez recibido el REQUEST el atacante responde con un ACK como lo haría el servidor
DHCP real pero estableciendo la configuración de red modificada.
Ataque consistente en realizar peticiones DHCP REQUEST al servidor hasta que deja
de recibir respuesta del servidor porque este ha agotado su pool de direcciones
disponibles. Es un ataque de tipo denegación de servicio, ya que cualquier otro equipo
que haga petición de concesión o renovación de DHCP no va a obtener respuesta del
servidor.
De acuerdo a lo aprendido en las últimas 3 unidades, hacer un entregable, explicando cuáles
podrían ser potenciales formas de mitigar los ataques en cada servicio o protocolo, por ejemplo,
un ataque a un servidor DHCP.
A continuación se brinda un aporte, pero la idea es que lo hagan con sus palabras:
VACLs proporcionan control de acceso a todos los paquetes que se incluyen dentro de
la VLAN permite filtrar paquetes a determinados puertos.
Habría que bloquear el tráfico proveniente del puerto 67 para aquellos puertos del
switch destinados al usuario final. El problema de esta contramedida es que podría
evadirse fácilmente si se falsifica la MAC e IP de los paquetes (y que en el caso de
DHCP Ack Inyector es posible)
DHCP snooping
Provee una protección más fiable.
La idea de esta funcionalidad es diferenciar entre dos tipos de puertos en un entorno
conmutado: por una lado puertos confiables (trusted port) y, por otro, puertos no
confiables (untrusted host).
Los primeros no tendrán restricciones de cara al tipo de mensajes DHCP que puedan
recibir, puesto que serán aquellos conectados a un entorno controlado (en este caso a los
servidores DHCP). Sin embargo, los segundos únicamente podrán enviar aquellos
paquetes que en condiciones normales un cliente necesita enviar para conseguir su
configuración DHCP (DHCPDiscover, DHCPRequest, DHCPRelease).
Los untrusted port por tanto serán configurados en aquellos puertos conectados a los
usuarios finales y en el caso de que dicho puerto reciba un paquete suplantado
DHCPoffer, un DHCPack, o DHCPNack (este es el caso de DHCP Ack Inyector),
serán bloqueados.
Cómo presentar los ejercicios de la unidad
Hay dos tipos de ejercicios, los de la unidad y los que se exponen como
obligatorios (que son los finales de cada módulo)
La idea está en que cada uno pueda desarrollar todos los ejercicios y expresarlos
en un archivo .doc o .pdf y lo suba al correspondiente foro que estará
habilitado.
Esto significa que en un solo archivo deberán estar todos los ejercicios, así
centralizamos lo de cada uno.
Es muy IMPORTANTE que realicen todos los ejercicios, ya que al ser un curso a
distancia, es una herramienta para saber si hubo una buena comprensión de la
unidad.
Luego, los mismos serán revisados por el instructor dentro de los 5 días de
haberlo subido, por eso es importante que lo hagan pronto, para que no se les
sume ejercicios de otras unidades.
Pueden ser revisados por todos los demás alumnos e instructor para dar puntos
de vista, ayuda o guía.
Los únicos ejercicios que tienen puntuación son los finales, que se
realizan cada 4 unidades, pero más adelante se hablará de esto.
Bibliografía utilizada y sugerida
Harrington, J.(2006) Manual práctico de seguridad de redes. Editorial Anaya Multimedia.
México
Dorsel, R.(2020) Hacking for Beginners: Mastery Guide to Learn and Practice the Basics of
Computer and Cyber Security. Editorial Charlie Creative Lab. EEUU
Trew, P.(2020) Kali Linux Hacking: A Complete Guide to Learni the Fundamentals of Hacking,
Cyber Security, and Penetration Testing. Editorial Charlie Creative Lab. EEUU
Link complementarios:
http://www.slideshare.net/mamuga/tipos-de-ataques-y-
vulnerabilidades-en-una-red
https://www.youtube.com/watch?v=DoQcznhxbhw
En caso de que los links que se exponen no funcionen, por favor avisar al instructor (es normal
que un sitio pueda cambiar su URL, dominio o variables, lo cual como la unidad se prepara a
principio de año podría suceder que se haya modificado)