TOPICOS VULNERABILIDADES
Enviado por diegobaroja • 28 de Marzo de 2017 • Práctica o problema • 3.325 Palabras (14 Páginas) • 681 Visitas
Página 1 de 14
TOPICOS VULNERABILIDADES
- NO VA EL TEMA DE PRACTICA DE PHISING
- Si INGENIERÍA SOCIAL: Técnica de engaño al usuario no concienciado para recoger información, email, llamadas, coqueteo personal de tipo sexual. o Recoger información: análisis web, servidores, metadatos, buscadores. o Se lleva a cabo en canales tecnológicos. o Utilizada para saltar los mecanismos complejos de seguridad. o Engaño para reescribir usuario y password en páginas falsas.
- Mitigación: Comprensión y concienciación de las correcta aplicación de las políticas por parte del recurso humano. Charlas informativas
▪ Pruebas de seguridad para verificar la aplicación de las políticas.
- Si FOOTPRINTING: Recolectar información pública de bases de datos sobre información de personas o sitios y vulnerabilidades de aplicaciones, así como de la parte lógica de la infraestructura, como direccionamiento, dominios o Paso1: Selección del sitio.
- Búsqueda de patrones y errores en todo el sitio. Enlaces o conexiones a BDD.
- Descargarse el sitio completo con Httrack, y buscar en las líneas de código comentarios del diseñador (donde puede colocarse claves de acceso en el código o rutas)
- Paso2: Buscar en google sobre el dominio investigado.
- Su búsqueda se asemeja a una tela de arañas, en las cuales se suelen quedar en cache sitios que en ocasiones se han vuelto privados. Revisar archive.org
- Uso de diferentes verbos para mayor detalle de la búsqueda: site, para toda la información del sitio.
- Listar subdominios y direcciones IP, con Anubis, y así determinar el tamaño de la organización. Otro sería Netcraft para inclusive averiguar el Sistema Operativo.
- Repositorio para búsquedas de datos confidenciales con Google Hacking Database (GHDB)
- Con el buscador Bing se puede encontrar varios dominios que comparten la misma IP (virtual host).
- También a través del uso del servicio serversniff.net, se puede encontrar hosts que comparten el mismo dominio.
- Vulnerabilidad http: Los web masters en ocasiones no filtran los mensajes de error 404, lo que permite visualizar la versión del servidor web apache y de esas forma buscar los focos de vulnerabilidades. Inyectar get /http/1.0 (en un telnet al servidor) para verificar la información que a veces camufla el web master.
- Información DNS: – Forzar transferencias de zona, Resolución inversa (a partir de una IP) mediante la consulta a los registros PTR (recursos). Ataques de fuerza bruta mediante fuzzers o por diccionario. Ataques de fuerza bruta mediante identificación de relaciones. Todo esto con Anubis y nslookup.
- GoogleSetscans (Anubis): Permite buscar palabras relacionadas a partir de una. Funcional para ataques de diccionario.
- Wfuzz (Anubis): Para encontrar páginas no enlazadas en el servidor.
- Fuzzy scan (Anubis): Escaneo de diccionario. Busca patrones en nombre de ficheros.
- Metadatos: FOCA para recolectar ficheros y extraer sus metadatos. EvilFoca permite realizar ataques DoS y de DNS.
- Obtención de emails: La herramienta theharvester.
- Paso3: Procesamiento de la información, filtrar lo útil y desechar el resto.
- Nombre de usuarios: Para mejorar los ataques de diccionario y averiguar contraseñas, o aplicar ingeniería social. Su cargo en la organización también es importante.
- Cuentas de emails (login): En ocasiones son las mismas para el acceso a servicios y aplicaciones internas de las organizaciones.
- La plataforma y aplicaciones: A través de las versiones descubiertas se puede buscar en Google las vulnerabilidades y explotarlas.
- Sitios web o dominios: Para un escaneo de puertos.
- Agentes externos: Proveedores como ISP, la escucha de la comunicación podría proporcionar información sensible.
- Información sensible: Datos personales, teléfonos, direcciones, password.
- Sucursales o nodos intermedios: Para ataques de intercepción de información en la infraestructura.
- Reglas de firewall o IDS: Para la modificación de las mismas o buscar alternativas para eludirlas.
- Arquitectura y protocolos: Establecer vulnerabilidades de los mismos.
- Puertos abiertos: Saber que entradas están disponibles.
- Direccionamiento IP: Especialmente el público para ubicarlo en Internet, o interno para ubicar un objetivo en específico.
- Antivirus: Para aplicar técnicas de desactivación o escoger virus que no los detecten dependiendo su motor.
- Políticas o procedimientos internos: Para conocer como es la institución
- Si FINGERPRINTING: Fotografía de las máquinas y servidores, puertos. Escaneo TCP, SynScan.
- Encontrar vectores de ataque. o Nmap: Escaneos de host y puertos. o Wireshark: Analizar paquetes y su lógica.
- Búsqueda de respuestas por parte del atacante a solicitudes enviadas al servidor
- Nexus: Plugins sobre una aplicación web, políticas definidas. Herramientas de escaneo.
- Metasploit: Herramienta de explotación. Coger las salidas de Nexus, para determinar vulnerabilidades. Para lanzar sploit en contra de las máquinas.
- A un alto nivel permite controlar la máquina de forma transparente y remota. Sin el detalle del sploit.
- Generación de shellcodes.
- Msfconsole: Todo en uno de forma interactiva. Permite usar el resto de opciones. o Msfcli: Interfaz de línea.
- Msfupdate: Actualiza el Metasploit. o Exploit: Ejecuta el Exploit. o Sessions: Para interactuar con las máquinas explotadas.
- Armitage: Herramienta para administrar de forma gráfica.
- Core impact: Herramienta de pago para explotar y auditar software o infraestructura de red.
- Canvas: Viene con código fuente completo. 370 exploits y más económico que core impact.
- BUFFER OVERFLOW: Es un error de software que se produce cuando se copia una cantidad de datos sobre un área que no es lo suficientemente grande para contenerlos, sobrescribiendo de esta manera otras zonas de memoria.
- Fallos de programación.
- Al escribir fuera de una zona de memoria protegida, generalmente se produce una excepción, que desemboca en una terminación del programa.
- Al alterar el flujo del programa, un usuario malintencionado puede obtener el control del sistema.
- Se produce porque la arquitectura no separa la memoria de datos de la del programa. o Si el programa tiene privilegios especiales es una falla grave de seguridad.
- La memoria está compuesta por: Text, que contiene el código; Data, que contiene la datos globales, su tamaño se decide en compilación; luego la pila, para almacenar los argumentos de llamadas a funciones, las variables locales y los valores de los registros; Heap, tiene las variables dinámicas. [pic 1]
- La pila funciona bajo LIFO (Last In First Out).
- Registro ESP contiene la dirección de memoria (un puntero) de la parte superior de pila crece hacia arriba, ESP cambia frecuentemente durante la ejecución de un programa por esto resultaría muy engorroso usarlo como referencia.
- Registro EBP apunta al extremo inferior de la pila, siendo más precisos contiene la dirección de la parte inferior de pila, Cada vez que se llama a un nuevo procedimiento, se guarda EBP en la pila (para ser recuperado al terminar el procedimiento) y se mueve el nuevo valor de ESP a EBP. De esta forma EBP se convierte en la base de referencia a las variables locales.
- Registro EIP, este indica la dirección a la siguiente instrucción a ejecutar. Cuando se llama a un procedimiento se pone en la Pila el EIP para reanudar la ejecución. Si está pudiera ser modificada, cambiaría la ejecución a la siguiente instrucción y por tanto poder ejecutar cualquier código. Vulnerabilidad. o Windows utiliza un esquema de memoria plana (CPU puede referenciar de manera directa todas las direcciones de memoria).
- BIG ENDIAN: Empieza guardando el MSB. LITTLE ENDIAN: Empieza guardando el LSB.
- Race Condition: interacción entre hilos en un proceso multihilo o bien por la concurrencia de otros procesos ajenos al proceso vulnerable.
- Integer overflow: Generalmente suceden al intentar almacenar un valor demasiado grande en la variable asociada generando un resultado inesperado (valores negativos, valores inferiores, etc.).
Puede ser un problema si estos valores son datos de entrada de un usuario.
- Cadenas de formato: Durante el diseño de un programa puede resultar útil permitir que un usuario introduzca datos de entrada para posteriormente ser mostrados por pantalla. En algunos lenguajes de programación se debe identificar el tipo de dato que se desea mostrar.
- PREVENIR ATAQUES DE BUFFER
- No sobrepasar el tamaño del buffer en la programación.
- Evitar el uso de funciones de la librería por default string, o reescribirlas. Proyecto Libsafe o Detectar cualquier intento de ejecución de código ilegitimo en la pila, ejemplo de esto es la solución SecureStack.
- DEP (Data Execution Prevention), ayuda a evitar la ejecución del código desde las páginas de datos.
- Stack/Canary Cookies, añadir valor aleatorio en la pila que será comprobado una vez se salga de dicha función.
- ASLR (Address Space Layout Randomization), otra forma de combatir los desbordamientos de buffer consiste en modificar el kernel de Linux para que el segmento de pila no sea ejecutable. Pero los atacantes podrían forzar a llamar otras zonas de memoria.
- Arranques en sistemas Windows: o Servicios de arranque automático.
- Winlogon, Explorer.exe, Inicia el escritorio, Es creado con las credenciales y permisos del usuario.
- RunOnce, Entradas del registro de un solo uso. Se utilizan habitualmente para eliminar restos de un proceso de instalación, aunque también son utilizadas por el malware para iniciarse.
- Sticky Keys o sethc.exe: ¿Cómo saltarse el login? Protección, Cifrado de disco, Protección de BIOS (contraseña).
- Fichero SAM: Es la base de datos dónde se almacenan las credenciales en local equipo: Windows %WinDir%\system32\config\sam; En AD %WINDOWS%\NTDS\ntds.dit.
- Contraseñas – Hashes. ¿Qué es una credencial? Forma de verificar que un usuario es quién dice ser o no. Usuario + Contraseña. ¿Cómo se almacena? Hash! LM (LAN Manager) Hash débil. Seguridad de red: no almacenar valor de hash de LAN Manager en el próximo cambio de contraseña.
- Mecanismos de protección:
- DEP, ASLR, Stack cookies, Scanner Cookies; tratan de evitar la ejecución de código aprovechándose de las vulnerabilidades.
- HACKING WEB: Una vulnerabilidad web puede definirse como un fallo de seguridad en: Una aplicación web hecha a medida, la arquitectura, el diseño, la configuración, el mismo código.
o HTTP no fue diseñado para ser seguro.
- OWASP: Top 10 de vulnerabilidades. (The Open Web Application Security Project) es un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro.
- Se calcula el riesgo dependiendo de un conjunto de factores:
- Facilidad de emplear el vector de ataque.
- Predominio de la vulnerabilidad.
- Facilidad de detección de la vulnerabilidad.
- Impacto técnico sobre la empresa u organización.
- Inyección: Manipular las entradas de una aplicación para mandar comandos al intérprete de órdenes y que éste los ejecute, (SQL muy común). Causa común es la falta de restricción de las entradas (sanearlas). Puede permitir a un atacante leer una base de datos, modificarla, cuentas y SO.
▪ Protección contra Inyección, evitar usar intérpretes, delimitar valores de consulta, verificar y validar las entradas, minimizar los privilegios de usuarios de acceso.
- XSS Cross Site Scripting: Un atacante manda un vector de ataque al navegador de la víctima aprovechando un fallo en una aplicación web. La aplicación no valida la entrada del usuario y permite introducir código, para robar sesiones o introducir malware. Se oculta en iframes o imágenes. Puede ser persistente (BDD), no persistente (email, url), inyección en Dom (manipula código).
▪ Protección contra XSS: Investigar las aplicaciones más vulnerables y evitar su uso; filtras salidas con un formato codificado; validar las entradas mediante listas blancas.
...
Disponible sólo en Clubensayos.com