ATAQUES INFORMÁTICOS
(MÁS COMUNES)
Línea de Profundización 1
MSc. Ing. Misael Fernando Perilla
¿Qué es un ataque informático?
Un ataque informático consiste en aprovechar alguna debilidad o falla
(vulnerabilidad) en el software, hardware, o incluso en las personas que
forman parte de un ambiente informático; a fin de obtener un beneficio, por
lo general de índole económico, causando un efecto negativo en la
seguridad del sistema, que luego repercute directamente en los activos de
la organización.
(Mieres, 2009)
2
Fases de un Ataque Informático
Fase 1:
Reconocimiento
Fase 2:
Exploración
Fase 3: Obtención de
Acceso
Fase 4: Mantener
(Mieres, 2009) Acceso
Fase 5: Cubrir Huellas
3
Fase 1: Reconocimiento
• Esta etapa involucra la obtención de información
con respecto a una potencial víctima que puede
ser una persona u organización.
• Por lo general, durante esta fase se recurre a
diferentes recursos de Internet como Google,
entre tantos otros, para recolectar datos del
objetivo. Algunas de las técnicas utilizadas en
este primer paso son la Ingeniería Social, el
Dumpster Diving, el sniffing.
4
Fase 2: Exploración
• En esta segunda etapa se utiliza la información obtenida en la fase 1 para
sondear el blanco y tratar de obtener información sobre el sistema víctima
como direcciones IP, nombres de host, datos de autenticación, entre otros.
• Entre las herramientas que un atacante puede emplear durante la
exploración se encuentra el network mappers, port mappers, network
scanners, port scanners, y vulnerability scanners.
5
Fase 3: Obtener Acceso
• En esta instancia comienza a materializarse el ataque a través de la
explotación de las vulnerabilidades y defectos del sistema (Flaw
exploitation) descubiertos durante las fases de reconocimiento y
exploración.
• Algunas de las técnicas que el atacante puede utilizar son ataques de
Buffer Overflow, de Denial of Service (DoS), Distributed Denial of Service
(DDos), Password filtering y Session hijacking.
6
Fase 4: Mantener Acceso
• Una vez que el atacante ha conseguido acceder al sistema, buscará
implantar herramientas que le permitan volver a acceder en el futuro
desde cualquier lugar donde tenga acceso a Internet. Para ello, suelen
recurrir a utilidades backdoors, rootkits y troyanos.
7
Fase 5: Cubrir Huellas
• Cuando el atacante ya la logrado obtener y mantener el acceso al
sistema, intentará borrar todas las huellas que fue dejando durante la
intrusión para evitar ser detectado por el profesional de seguridad o los
administradores de la red.
• En consecuencia, buscará eliminar los archivos de registro (log) o alarmas
del Sistema de Detección de Intrusos (IDS).
8
Tipos de ataques
Malware
• Malware o “software malicioso” es un término amplio que describe cualquier
programa o código malicioso que es dañino para los sistemas, intenta invadir,
dañar o deshabilitar ordenadores, sistemas informáticos, redes, tabletas y
dispositivos móviles, a menudo asumiendo el control parcial de las
operaciones de un dispositivo. Al igual que la gripe, interfiere en el
funcionamiento normal.
• La intención del malware es sacarle dinero al usuario ilícitamente. Aunque el
malware normalmente no pretende dañar el hardware de los sistemas o el
equipo de red - con ciertas excepciones que se conozcan - , la meta es robar,
cifrar o borrar sus datos, alterar o secuestrar funciones básicas del ordenador
y espiar su actividad en el ordenador sin su conocimiento o permiso.
(Malwarebytes, s/f)
10
Ejemplos
• Virus (Troyanos)
• Gusanos
• Adware
• Spyware
• Ransomware
11
Code Injection
• Code Injection es el término general para un tipo de ataque que consiste
en ingresar Código para que sea interpretado y/o ejecutado en una
aplicación, buscando explotar datos poco protegidos y mal manejados,
este tipo de ataque es posible realizarlo en aplicaciones con poca o nula
validación de los datos de entrada, como por ejemplo:
• No validación de caracteres (expresiones regulares estándar)
• No validar el formato
• Cantidad de datos de entrada exagerados o sin validar
(OWASP, s/f-a)
12
Ejemplo
13
SQL Injection
• SQL Injection es una técnica de inyección de Código que busca acceder,
robar, alterar o destruir la base de datos, este es uno de los ataques más
comunes en aplicaciones y sitios web.
• En este ataque se busca ingresar código malicioso en sentencias SQL,
vía diferentes entradas de datos en sitios web, pero no limitándose a estás
únicamente.
(3WC, s/f)
14
Ejemplo
15
XSS (Cross-Site Scripting)
• XSS es un ataque de inyección de código malicioso para su posterior
ejecución que puede realizarse a sitios web, aplicaciones locales e incluso
al propio navegador.
• Sucede cuando un usuario mal intencionado envía código malicioso a la
aplicación web y se coloca en forma de un hipervínculo para conducir al
usuario a otro sitio web, mensajería instantánea o un correo electrónico.
Así mismo, puede provocar una negación de servicio (DDos).
(OWASP, s/f-b; UNAM, s/f)
16
Ejemplo
17
Buffer Overflow
• Un buffer overflow (o desborde de memoria) se lleva a cabo cuando un
programa informático excede el uso de cantidad de memoria asignado por el
sistema operativo, escribiendo en el bloque de memoria contiguo. Estos fallos
son utilizados por ciberdelincuentes para lograr ejecutar código arbitrario en
un equipo, de manera que en muchos casos logran tomar control del equipo
víctima o ejecutar un ataque de Denegación de Servicios (DoS).
• Un buffer overflow se produce en una aplicación informática cuando no
cuenta con los controles de seguridad necesarios en su código de
programación. Cabe destacar que para poder llevar a cabo un desborde de
memoria, se debe contar con conocimientos de programación, como también
nociones básicas de arquitectura de Sistemas Operativos.
(“Buffer Overflow | OWASP”, s/f) 18
Explicación gráfica
19
Ingeniería Social
• La ingeniería social basa su comportamiento en una premisa básica: es
más fácil manejar a las personas que a las máquinas.
• Para llevar a cabo este tipo de ataque se utilizan técnicas de manipulación
psicológica con el objetivo de conseguir que los usuarios revelen
información confidencial o realicen cualquier tipo de acción que pueda
beneficiar al ciberdelincuente.
(INCIBE, s/f)
20
Tipos de Ataques de Ing. Social
https://caivirtual.policia.gov.co/
• Phishing
• Spam
• OSINT
• Hunting
• Footprinting
• Fingerprinting
• Farming
• Vishing
• Smishing
21
Ingeniería Inversa
• Reverse engineering (Ingeniería Inversa) es
otro método para descubrir vulnerabilidades,
pues la mayoría de las vulnerabilidades
pueden ser descubiertas dentro del mismo
software, donde en muchos casos los
fabricantes no realizan pruebas suficientes.
• Obteniendo y entendiendo como funciona
un software, es posible encontrar una
debilidad que no fue detectada de manera
temprana.
(Wright, 2019)
22
Otros tipos de Vulnerabilidades
• Bugs (Fallos)
• Weak Passwords (Claves débiles)
• Missing data encryption (Falta de cifrado)
• OS command injection (Inyección de comandos del Sistema Operativo)
• Missing and/or broken authorization (Métodos de validación rotos o débiles)
• Use of broken algorithms (Uso de algoritmos rotos / débiles)
• URL redirection to untrusted sites (Redireccionamiento a sitios inseguros)
• Path-traversal
• Missing authentication for critical function (no validación en métodos críticos)
• Unrestricted upload of dangerous file types (carga de archivos sin restricciones)
• Untrusted inputs in a security decisión (entrada de datos no confiables como decisión tomada)
• Download of codes without integrity checks (descarga de código sin verificación)
23
Medidas a tomar
• Gestión del riesgo.
• Selección de metodología segura.
• Modelado de amenazas.
• Modelado seguro de software.
• Generación de pruebas de seguridad.
• Buenas Practicas de codificación.
• Aplicación de pruebas de seguridad.
Tomado de: https://www.proximityriskassurance.com.au/post/2017/02/20/time-to-act-risk-treatme
•
nt
Pruebas de penetración in situ.
25
Taller
• Juego 2 en uno (XSS & SQL INJ) (https://injection.pythonanywhere.com/)
Realizar informe INDIVIDUAL sobre los ataques desarrollados.
Formato del Informe:
https://templates.office.com/es-es/dise%C3%B1o-de-informe-en-blanco-tm0
3457715
Fecha de Entrega: 26/Ago/2020 12:00 M
26
Referencias
• 3WC. (s/f). SQL Injection. Recuperado el 18 de febrero de 2020, de https://www.w3schools.com/sql/sql_injection.asp
• Buffer Overflow | OWASP. (s/f). Recuperado el 18 de febrero de 2020, de https://owasp.org/www-
community/vulnerabilities/Buffer_Overflow
• INCIBE. (s/f). Ingeniería social: técnicas utilizadas por los ciberdelincuentes y cómo protegerse | INCIBE. Recuperado el 18
de febrero de 2020, de https://www.incibe.es/protege-tu-empresa/blog/ingenieria-social-tecnicas-utilizadas-los-
ciberdelincuentes-y-protegerse
• Malwarebytes. (s/f). ¿Qué es el malware? | Malwarebytes. Recuperado el 18 de febrero de 2020, de
https://es.malwarebytes.com/malware/
• Mieres, J. (2009). Ataques informáticos. Evil-Fingers, 17. Recuperado de www.evilfingers.com
• OWASP. (s/f-a). Code Injection | OWASP. Recuperado el 18 de febrero de 2020, de https://owasp.org/www-
community/attacks/Code_Injection
• OWASP. (s/f-b). Cross Site Scripting (XSS) | OWASP. Recuperado el 18 de febrero de 2020, de https://owasp.org/www-
community/attacks/xss/
• UNAM. (s/f). ¿Qué es y cómo opera un ataque de Cross-Site Scripting (XSS)- | Documentos - CSI -. Recuperado el 18 de
febrero de 2020, de https://www.seguridad.unam.mx/historico/documento/index.html-id=35
• Wright, P. (2019). Reverse Engineering to Find Vulnerabilities, 1–3. Recuperado de http://www.dba-
oracle.com/forensics/t_forensics_reverse.htm
27