Modern Entorno de Usuario Linux Explotación (corrupción de memoria)

Original fecha: 21/04/2013

¿Qué es este
He estado trabajando en cursos me estoy liberando de forma gratuita en la explotación de las aplicaciones de espacio de usuario modernas de Linux. Tengo lo suficiente para la validez de liberar el material para todo el mundo que ha estado pidiendo. Esto requiere conocimientos básicos acerca de desbordamientos de pila, formateo de cadenas, trozos de código en préstamo (ROP / JOP / lo que sea-OP), y etc Por ejemplo, no va a hablar sobre cimientos de un desbordamiento de pila, pero usted debería ser capaz de escribir una o te pierdes inmediatamente. Las únicas buenas guías reales que encontré en la explotación x64 deshabilitado ASLR o direcciones de libc codificados utilizados (mirarte mov RDI, persona rsp). También me cansé de los entrenamientos que se reproducen las personas que, por ejemplo, piensan que sobrescribe parciales sólo son útiles si el búfer de al ESP (material de la OSCE). Yo lo denomino la multitud esp jmp y tenemos que deshacernos de esta plantilla multitud explotación y predicar que exploran los binarios y nuestro medio ambiente. En lugar de limitarse a quejarse acerca de estos temas, escribí algo que espero que alivia algunos problemas.

Qué está cubierto?

1.) Moderno Defensas

En primer lugar, las defensas modernas están cubiertos al detalle que no he visto en charlas o presentaciones. Hay una gran cantidad de matices de la diversión, que no se oye hablar mucho. Por ejemplo, ¿sabías que el enlazador muere en opciones RELRO y continúa sin previo aviso en IA-64 plataformas? No, no vamos a utilizar la arquitectura derivaciones específicas como esa, es divertido saber. Esto a menudo entrar en el código y proporcionar la comprensión en profundidad de las defensas que nos encontramos con ellos y tenemos que trabajar alrededor de ellos.

2.) Omisión D_FORTIFY_SOURCE al escribir primero público desarrollen para Sudo cadena de formato (CVE-2012-0809)

A continuación, vamos a saltar al pasar por los mecanismos de protección de formato de cadena en D_FORTIFY_SOURCE de glibc encadenando el desbordamiento nargs int (CVE-2012 hasta 0864) para escribir explotar la primera pública, que yo sepa, por la cadena de formato sudo_debug exploit (CVE-2012-0809). Muchas cosas divertidas van a ser cubiertos aquí cuando se trabaja para conseguir la explotación fiable.

3.) Memcpy Moderno (exploits) en el mundo x64

Por último, la explotación moderna en aplicaciones de espacio de usuario de 64 bits será cubierto. Esto comienza con un servidor de ejemplo tenedor y volver a compilar con más opciones de seguridad como los de derivación. Explotación a distancia se cubrirá (pero las muestras estará obligado a localhost para facilidad), por lo que no hay trucos de explotación locales impares están cubiertos aquí. Los mecanismos de protección se añaden secuencialmente por la cantidad de aplicaciones que utilizan estas protecciones en más inestable del núcleo actual (3.8.8) para x64 Fedora. Cuantas más aplicaciones que usan la protección, más rápido podremos llegar a ellos. Una vez dicho esto, comenzamos con ASLR en todo el sistema y NX (por defecto), romper canarios pila (en realidad la explotación a través de él), y luego saltando sobre RELRO parcial. Cuando haya terminado, se cubrirán por completo relro y PIE.

4.) Técnicas Varios

Quiero compartir técnicas que han sido públicos para siempre, pero mayormente ignorado. LD_PRELOAD, vsyscall (algo así como pre-Windows 8 estilo ke_user_shared_data) trucos y mucho más están cubiertos. Preste mucha atención para un montón de diversión de la gente parece ignorar, excepto el phrack / STS multitud.

5.) Sin terminar

Este curso se encuentra actualmente sin terminar . Todo python actual código de explotación y de la muestra de software es compartido. Por desgracia, una cadena de ROP completo en la pequeña aplicación aún no está terminado. La mayoría de las llamadas al sistema pueden utilizarse dado arbitrariamente controlamos RAX y sabemos ubicación instrucción syscall estática (s), pero RCE genérico no se ha terminado debido a la falta de conseguir puntero a cadena controlada por más de 8 bytes. Lo entenderás cuando llegues al final. Se proporciona la cadena de ROP actual para todos ustedes para jugar con como voy a seguir haciéndolo en mi tiempo libre.

NO PAX

No, una gran cantidad de derivaciones cubiertos no pasará por alto la protección PAX. Me gustaría que esta para ser utilizado como munición por qué PAX conjunto de parches es tan increíblemente importante y tal vez algunos núcleos de la línea principal debe tratar de ofrecer kernels parcheados con él. Lo sentimos Spender.

Courseware? Al igual que en el entrenamiento?

Con el estilo y formato, el plan es terminar esto y darle webcasts gratuitos a cualquier persona que quiera seguir a lo largo. No creo que el hecho de que he puesto mes en algo, inmediatamente debería cobrar dinero ridícula para ello. Así que me voy a dar el mío de forma gratuita con la esperanza de que otros podrían hacer lo mismo. Voy a anunciar estos webcasts gratuitos cuando llegue el momento.

Anything Else?

No es que se me ocurre! Los códigos de explotar y servidor de ejemplo está disponible en este post. La presentación está en formato ODP, por lo que sería mejor no usar Microsoft Office para poder verla o te lío layouts arriba. Si obtengo una solicitud abrumadora para el formato ppt, voy a volver a escribir para ustedes. Además, si alguien quiere contribuir (hacer que se vea más profesional, que me ayude con el contenido / la cadena), me envía cartas de admirador / odio (por favor, que esto es más para la formación en lugar de un guía pdf a través de ejemplos), por favor, envíe un correo electrónico a [email protected]. Si alguien quiere el Fedora 16 VM que creé para el Sudo explotar, por favor hágamelo saber y voy a dar un lugar decente para subirlo a (6,0 g).

Por favor, disfruten!

Linux Explotación Presentación (ODP)
Materials.tar (guiones, ejemplo del servidor, etc)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *