Introducción al análisis de vulnerabilidad
Este libro está dividido en 5 partes y 33 capítulos.
Parte 1 Principios de explotación de vulnerabilidades (elemental)
Capítulo 1 Conocimientos básicos
Este capítulo se centra en introducir algunos conocimientos básicos en minería de vulnerabilidades. Primero, presenta algunos conceptos y principios básicos en la investigación de vulnerabilidades; luego, presenta algunos conocimientos básicos sobre la estructura y la memoria de los archivos ejecutables en la plataforma Windows; finalmente, presenta algunas herramientas de software comúnmente utilizadas en el análisis de vulnerabilidades. Incluyendo herramientas de depuración, herramientas de desmontaje, herramientas de edición binaria, etc. Verá estas herramientas una y otra vez en experimentos de depuración posteriores. En la última sección de este capítulo, diseñamos un experimento de craqueo muy simple para practicar la aplicación de la herramienta, eliminar su miedo al binario y esperamos brindarle algo de diversión.
Capítulo 2 Principios y prácticas de desbordamiento de pila
El desbordamiento basado en pila es el método de explotación de vulnerabilidades más básico. Este capítulo primero utiliza una gran cantidad de diagramas esquemáticos para explicar los conceptos y principios de las llamadas a funciones y las operaciones de la pila del sistema en el sistema operativo de una manera simple y fácil de entender. Luego, a través de tres experimentos de depuración, explica gradualmente cómo hacerlo. secuestrar el proceso paso a paso a través del desbordamiento de pila e implantarlo en una máquina ejecutable. Incluso si no tiene ninguna base en lenguaje ensamblador y nunca ha realizado una depuración a nivel binario, puede completar fácilmente el experimento y experimentar la diversión del exploit siguiendo la guía experimental detallada de este capítulo.
Capítulo 3 El arte de desarrollar Shellcode
Este capítulo sigue la discusión del Capítulo 2 y proporciona una introducción más sistemática a cómo organizar buffers, cómo ubicar Shellcode y cómo escribir después de que se produce un desbordamiento y cuestiones prácticas como la depuración del código shell. Las dos últimas secciones también proporcionan algunas técnicas avanzadas para escribir código shell para referencia de amigos con cierta base en ensamblador.
Capítulo 4 Uso de MetaSploit para desarrollar exploits
MetaSploit es la implementación perfecta de Frame Work (arquitectura) en ingeniería de software en tecnología de seguridad. Combina modularización, herencia, encapsulación, etc. Las características orientadas a objetos se utilizan plenamente en el desarrollo de programas de explotación. Desarrollar exploits utilizando esta arquitectura es mucho más sencillo que los exploits escritos directamente en lenguaje C. Este capítulo se centrará en cómo utilizar esta arquitectura para el desarrollo de exploits.
Capítulo 5 Explotación del desbordamiento del montón
Durante mucho tiempo, el desbordamiento del montón en Windows se consideró no explotable, pero no es así. Este capítulo utilizará una discusión incisiva para analizar los principios de la utilización del desbordamiento del montón, lo que le permitirá comprender fácilmente la esencia del desbordamiento del montón. Además, la serie de experimentos de depuración de este capítulo profundizará su comprensión de los conceptos y principios. Discutir tecnologías complejas de una manera fácil de entender es el principio al que siempre se adhiere este libro.
Capítulo 6 Varias técnicas de ataque a la memoria
Después de comprender el desbordamiento de pila básico, este capítulo le mostrará técnicas de ataque a la memoria más avanzadas. Este capítulo se centra en algunas técnicas de explotación avanzadas propuestas en artículos famosos publicados en Black Hat, como atacar el mecanismo de manejo de excepciones de Windows, atacar funciones virtuales, off by one, Heap Spray y otras técnicas de explotación. Para los expertos en seguridad, comprender estas técnicas y técnicas les evitará juzgar erróneamente las vulnerabilidades explotables como tipos de bajo riesgo al analizar las vulnerabilidades; para los entusiastas de la tecnología pirata, es probable que este conocimiento se convierta en una chispa de inspiración técnica;
Capítulo 7 Desbordamiento de búfer en teléfonos móviles
Cuando los ataques de desbordamiento en PC están en pleno apogeo, ¿también desea conocer los problemas de desbordamiento de búfer en plataformas móviles? ¡Entonces no te pierdas este capítulo! Este capítulo toma ARM y Windows Mobile como ejemplos para presentar técnicas de programación y depuración en plataformas de teléfonos móviles. Y al final, utilizo un exploit en un teléfono móvil para revelar el misterio del desbordamiento del búfer en los teléfonos móviles.
Capítulo 8 Otros tipos de vulnerabilidades de software
Las vulnerabilidades de desbordamiento del búfer son solo un aspecto de las vulnerabilidades de software. Echemos un vistazo a otras vulnerabilidades de seguridad populares. Como las causas, técnicas de utilización y medidas preventivas de las vulnerabilidades de seguridad, como vulnerabilidades de cadenas de formato, inyección SQL, inyección XPath y XSS.
Parte 2 Principios de explotación de vulnerabilidades (avanzado)
Capítulo 9 Descripción general de los mecanismos de seguridad de Windows
Después de Windows XP SP2 y Windows 2003, Microsoft ha desarrollado muchos mecanismos de seguridad. agregado. Este capítulo se centrará en el impacto de estos mecanismos de seguridad en la explotación de vulnerabilidades.
Capítulo 10 El ángel guardián en la pila: GS
En respuesta a la función de sobrescribir la dirección de retorno de la función cuando se desborda un búfer, Microsoft utiliza una compilación segura y genial al compilar el programa. Opciones - GS. Este capítulo presentará en detalle el principio de la opción de compilación GS e introducirá varias técnicas de desbordamiento para evitar GS.
Remedio del Capítulo 11: SafeSEH
Atacar S.E.H se ha convertido en un método clásico para explotar vulnerabilidades en la plataforma Windows. Para frenar ataques cada vez más locos, Microsoft introdujo el famoso mecanismo de verificación S.E.H SafeSEH en Windows XP SP2 y versiones posteriores del sistema operativo. Este capítulo realizará un análisis detallado de este mecanismo de seguridad e introducirá sus deficiencias y métodos de derivación.
Capítulo 12 La línea divisoria entre datos y programas: DEP
La causa fundamental de los ataques de desbordamiento radica en el defecto inherente de que las computadoras modernas no distinguen claramente entre datos y código, y DEP parece ¿Pueden estas medidas de protección prevenir realmente los ataques de desbordamiento? La respuesta se revelará pronto.
Capítulo 13 Peek-a-boo en la Memoria: ASLR
El programa ya no utiliza una dirección base fija al cargar. La tecnología ASLR oculta el trampolín utilizado en caso de desbordamiento en el. memoria Levántate, ¿cómo podemos desbordarnos sin un trampolín? Este capítulo te llevará a través de la oscuridad para encontrar una salida al derrame.
Capítulo 14 Protección máxima de S.E.H: SEHOP
La derrota de SafeSEH llevó a Microsoft a lanzar un mecanismo de protección S.E.H más estricto, SEHOP. Aquí te mostraremos la nitidez de este mecanismo de protección.
Capítulo 15 Montón bajo fuerte protección
Cuando es posible el desbordamiento del montón, Microsoft ya no puede ignorar el mecanismo de protección en el montón. Echemos un vistazo al mecanismo de protección en el montón. y analizar sus vulnerabilidades.
Parte 3 Tecnología de minería de vulnerabilidades
Capítulo 16 Introducción a la tecnología de minería de vulnerabilidades
Ya sea desde un punto de vista de ingeniería o desde un punto de vista académico, la minería de vulnerabilidades Es un campo bastante vanguardista. Este capítulo presentará brevemente el conocimiento básico de la tecnología de minería de vulnerabilidades desde dos aspectos: pruebas dinámicas y auditoría estática.
Capítulo 17 Minería de vulnerabilidades de tipos de archivos y Smart Fuzz
Las vulnerabilidades de tipos de archivos surgen sin cesar y continúan amenazando la seguridad de Internet. Cómo probar sistemáticamente formatos de archivos y generar casos de prueba de malformaciones precisos y eficaces para descubrir vulnerabilidades de seguridad en los analizadores de archivos no es una tarea fácil. Este capítulo le informará sobre la tecnología de pruebas de caja gris desde aspectos teóricos y prácticos.
Capítulo 18 Minería de vulnerabilidades FTP
Este capítulo describirá brevemente el protocolo FTP y lo guiará paso a paso a través de varios casos de prueba de vulnerabilidades básicos, lo que le permitirá experimentar vulnerabilidades reales de primera mano. parece.
Capítulo 19 Minería de vulnerabilidades del correo electrónico
Los problemas de seguridad involucrados en el sistema de correo electrónico no son solo desbordamientos del búfer. En los casos de minería de este capítulo, lo encontrará en. Además de las herramientas y además de los métodos comunes, el arma más poderosa es tu cerebro. El mal pensamiento es una de las formas más importantes de pensar en las pruebas de seguridad.
Capítulo 20 Minería de vulnerabilidades de controles ActiveX
Las vulnerabilidades de control solían ser el hábitat de una gran cantidad de trolls de Internet. Este capítulo combinará varios días cero anteriores para presentarle las herramientas y métodos relacionados con las pruebas y depuración de este tipo de vulnerabilidad de forma sistemática.
Parte 4 Seguridad del kernel del sistema operativo
Capítulo 21 Explorando ring0
Para estudiar las vulnerabilidades del kernel, primero debe dominar algunos conocimientos básicos del kernel, como el controlador del kernel. Desarrollo, compilación, ejecución y depuración, estructuras de datos importantes en el kernel, etc. Este capítulo abrirá la puerta para que los lectores exploren ring0 y dominen gradualmente algunos conocimientos básicos del kernel.
Capítulo 22 Tecnología de explotación de vulnerabilidades del kernel
Este capítulo llevará a los lectores a comenzar con la escritura de un programa simple de vulnerabilidad del kernel exploitme.sys, que muestra las ideas, los métodos y la utilización del kernel. vulnerabilidades Redacción y diseño de programas y Ring0 Shellcode.
Capítulo 23 Controlador FUZZ
Después de dominar los principios y métodos de utilización de las vulnerabilidades del kernel, este capítulo ingresará a la etapa de minería de vulnerabilidades del kernel, aprenderá tecnología de minería de vulnerabilidades del kernel más avanzada y finalmente practicará. La tecnología de minería de vulnerabilidades del kernel analiza y descubre las vulnerabilidades del kernel.
Capítulo 24 Análisis de casos de vulnerabilidad del kernel
Este capítulo utiliza varios casos reales de vulnerabilidad del kernel para analizar en detalle varias vulnerabilidades típicas del kernel y analiza las causas y detalles específicos de las vulnerabilidades. construir un método para explotar con éxito la vulnerabilidad.
Parte 5 Caso de análisis de vulnerabilidad
Capítulo 25 Descripción general de la tecnología de análisis de vulnerabilidad
Este capítulo proporciona una descripción general del análisis de vulnerabilidad y las ideas de depuración, e introduce algunas vulnerabilidades auxiliares. Herramientas avanzadas de ingeniería inversa para depuración y análisis.
Capítulo 26 Intrusión RPC: MS06-040 y MS08-067
Debido a que puede lograr una intrusión remota activa, las vulnerabilidades de nivel RPC se conocen como el rey de las vulnerabilidades. Los errores también son extremadamente. raro, y cada uno tiene una historia retorcida. Vale la pena mencionar que las dos vulnerabilidades recientes del sistema RPC en realidad provienen de la misma función. Este capítulo realizará un análisis detallado de esta función no reparada, lo que le permitirá comprender en profundidad la causa de la vulnerabilidad y la importancia de las estrategias de reparación tanto desde el aspecto ofensivo como defensivo.
Análisis del Capítulo 27 MS06-055: Práctico Heap Spray
El "pirateo" de páginas web es un método común utilizado por los atacantes en los últimos años. Este capítulo analiza la vulnerabilidad real de desbordamiento del búfer en el navegador Microsoft IE, le explica por qué no puede hacer clic en enlaces URL de origen desconocido y demuestra la tecnología Heap Spray en combate real.
Análisis del Capítulo 28 MS09-032: Un asesinato causado por "&"
Detrás de una página web de vídeo puede haber un feroz caballo de Troya, que es el famoso Microsoft DirectShow MPEG-2Video ActiveX controlar la vulnerabilidad de ejecución remota de código. Este capítulo analizará las causas y técnicas de análisis de esta vulnerabilidad para usted.
Capítulo 29 Vulnerabilidad de desbordamiento de pila de Yahoo! Messenger
Yahoo no ha sido inmune a la turbulenta tendencia de desbordamiento. Yahoo! Messenger, que es muy popular en el extranjero, también tiene vulnerabilidades muy graves. Este capítulo reproducirá la escena en ese momento y analizará las razones de la vulnerabilidad.
Capítulo 30 CVE-2009-0927: JS en PDF
Es posible que no ejecute un archivo ejecutable casualmente, pero pensará que también hay documentos PDF enviados por otros. ¿Habrá algo escondido? Este capítulo tomará documentos PDF como ejemplo para mostrarle el estilo de las vulnerabilidades de desbordamiento de tipos de archivos.
Capítulo 31: Ant Nest of Dam: Vulnerabilidad de desbordamiento de URL súper larga
El software de seguridad no es necesariamente seguro, incluso este software de filtrado de terminales informáticos que protege el acceso saludable a Internet de los menores puede convertirse en. una ventana para ataques de piratas informáticos. Este capítulo presentará una vulnerabilidad de seguridad en el software Green Dam que ha sido solucionada.
Capítulo 32 Vulnerabilidad de análisis de archivos M3U de Baofengyingyin
Después de regresar a casa por la noche, use Baofengyingyin para abrir el archivo de lista M3U enviado por otros. Cuando esté intoxicado por su contenido, A lean. Pony ha estado operando silenciosamente en segundo plano. ¿Quieres saber cómo llegó este pony a tu computadora? Por favor lea este capítulo.
Capítulo 33 Vulnerabilidad del archivo de acceso directo de LNK
¿Es seguro si no ejecuto ningún archivo sospechoso ni abro URL desconocidas? La respuesta es no. La vulnerabilidad del acceso directo LNK no requiere abrir el archivo. Mientras se explore el archivo malicioso, la carpeta donde se encuentra se envenenará. Se conoce comúnmente como "colgado de un vistazo". Este capítulo le llevará a través del análisis de esta vulnerabilidad mágica.
Failwest