<-!-> FAQ - Biblioteca - Recopilatorio de Shellcodes - ¡Leer!

(1/3) > >>

Rojodos:
Para una introducción a lo que se trata en este subforo ve a: Taller de Introduccion a Bugs y Exploits

Para una introducción a las vulnerabilidades de stack overflow ve a: Taller de Stack Overflows en Windows

Para una introducción al análisis de vulnerabilidades binarias usando GDB ve a: Uso de GDB para analizar programas sencillos, complejos y vulnerabilidades




FAQ - EXPLOITS

-- BUGS --

Los bugs son fallos en el diseño / implementacion de software (fallos en la programacion normalmente) o hardware (fallos de diseño o de montaje). Estos fallos pueden comprometer al soft/hard, permitiendo que un atacante consiga algun privilegio, alguna informacion, o realize alguna accion para lo que el sistema no estaba programado / implementado.

Por ejemplo, el bug UNICODE de los windows (mas bien en los IIS...), permitia a los que visitaban una web pudieran acceder al directorio principal del disco duro donde estaba alojada la web, y ejecutar una shell con sus respectivos comandos.

Normalmente, los bugs en si no dan nada a los hackers, sino que estos programan "exploits" con los que atacar estos bugs (explicado en EXPLOITS en esta FAQ). Nuevamente, como ejemplo, las contraseñas de los Windows usando LM (LanManager) tienen varios bugs de diseño y algoritmizacion, que hacen que la contraseña no sea tan dificil de romper como deberia. Muchos crackeadores se basan en estos bugs para crackear dichas contraseñas rapidamente. El bug en si no permite nada, pero un exploit basado en ese bug si que lo permite.

Obviamente el caso del UNICODE por ejemplo no necesita exploit (aunq los hay) porque los chicos de Windows se lo curran mucho en la seguridad xDDDD

Hay bugs en los que el hacker no puede conseguir nada (informacion, privilegios) pero puede atacar a la makina, provocando un mal funcionamiento o incluso su caida o reinicio. Esto es llamado DoS (Denial of Service, Denegacion de Servicio).

La palabra "bug" es "bicho" en ingles, y viene de que una polilla (otros hablan de cucarachas) se instalo en la valvula de vacio de un ordenador antiguo (esos que ocupaban una habitacion entera) debido al acogedor calor que emitia. De ahi tambien viene Debugear o Debug, que es buscar el jodido bicho xD. En makinas, se refiere a la depuracion en ejecucion de un programa para encontrar los fallos del mismo.

-- EXPLOITS --
Que Son y ejemplos:
http://www.elhacker.net/exploits/

Como se usan:
http://foro.elhacker.net/index.php?board=32;action=display;threadid=11830

-- SHELLCODES --

http://foro.elhacker.net/index.php?board=32;action=display;threadid=16513

http://www.elhacker.net/exploits

RECOPILACION DE POST INTERESANTES:

BoF en inet network afecta a BIND por Anon
http://foro.elhacker.net/bugs_y_exploits/bof_en_inetnetwork_afecta_a_servidor_dns_bind-t196923.0.html

Analisis de un Bug: 'imlib2' Library 'load()' CVE-2008-5187 por Anon
http://foro.elhacker.net/bugs_y_exploits/analisis_de_un_bug_imlib2_library_load_cve20085187-t237384.0.html

- Mi primera shellcode para un exploit -
http://foro.elhacker.net/index.php/topic,12032.0.html

- Explotando el bug de buffer overflow remoto (NSIISlog.DLL)
http://foro.elhacker.net/index.php?board=32;action=display;threadid=15919

- Aprendiendo Buffers Overflow
http://foro.elhacker.net/index.php?board=32;action=display;threadid=21086

- Como se Usan los Exploits?????
http://foro.elhacker.net/index.php?board=32;action=display;threadid=11830

- Mini manual del concepto exploit
http://foro.elhacker.net/index.php?board=32;action=display;threadid=18915

- Offsets en overflows
http://foro.elhacker.net/index.php?board=32;action=display;threadid=17319

- que es una shellcode?
http://foro.elhacker.net/index.php?board=32;action=display;threadid=16513

- buffer overflow // Desbordamiento de Buffer

http://foro.elhacker.net/index.php?board=32;action=display;threadid=6838

http://foro.elhacker.net/index.php?board=32;action=display;threadid=6151

- Mi primera Shellcode para un exploit!!!
http://foro.elhacker.net/index.php?board=32;action=display;threadid=12032

- Exploit para el overflow del RPC de windows (DCOM)
http://foro.elhacker.net/index.php?board=32;action=display;threadid=15974

- RECOPILATORIO DE EXPLOITS
http://foro.elhacker.net/index.php/topic,32810.0

- Textos sobre Exploits y demas - BIBLIOTECA -
http://foro.elhacker.net/index.php/topic,38455.0

- PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
http://foro.elhacker.net/index.php/topic,22708.0

- LOS FAMOSOS OFFSETS
http://foro.elhacker.net/index.php/topic,37817.0

- Microsoft Windows XP Task Scheduler (.job) Universal Exploit (MS04-022)
http://foro.elhacker.net/index.php/topic,37176.0

- Aprendiendo a Hackear... utilizando exploit dcom
http://foro.elhacker.net/index.php/topic,36222.0

- Exploit Win 2k/XP (MS03-049) (shell remota)
http://foro.elhacker.net/index.php/topic,22504.0

- Win32Create Admin User Account
http://foro.elhacker.net/index.php/topic,35867.0

- Usar Buffers libres en un Stack Overflow...¿?
http://foro.elhacker.net/index.php/topic,35602.0

- Reverse Shell
http://foro.elhacker.net/index.php/topic,26483.0

- [MOD] ¿Manual de C/C++ orientado a Exploits?
http://foro.elhacker.net/index.php/topic,33996.0

- Aprender hacer shellcode
http://foro.elhacker.net/index.php/topic,23212.0

- Exploits Getadmins en Windows.
http://foro.elhacker.net/index.php?board=32;action=display;threadid=10995

- Format String Vulnerability - De que trata esto...(texto)
http://foro.elhacker.net/index.php/topic,79262.0.html

Tutorial de MetaSploit FrameWork
http://foro.elhacker.net/index.php/topic,93294.0.html

Buffer overflow como si estuviera en primero
http://www.milw0rm.com/papers/278


NIVEL WEB

http://foro.elhacker.net/index.php/topic,49215.0.html
http://www.net-security.org/dl/articles/WASC-TC-v1_0.pdf

- SQL Injection para principiantes, ejemplos en aplicaciones reales.
http://foro.elhacker.net/index.php/topic,142203.0.html

Gospel:
Wola

Ya que estamos en horas bajas y ultimamente no aparecen públicos nuevos exploits, aquí os dejo un buen material para saber más sobre cómo explotar algunas de las vulnerabilidades conocidas en servicios de Microsoft Windows con los exploits mencionados en el RECOPILATORIO DE EXPLOIT @ http://foro.elhacker.net/index.php/topic,32810.0

Los siguientes trabajos han sido presentados por aspirantes a la Certificación GIAC.
GIAC (Global Information Assurance Certification) es un estandar para la certificación profesional en conocimientos de seguridad informática fundado por el Instituo SANS (www.sans.org), una de las más importantes organizaciones dedicadas a la búsqueda de nuevas vulnerabilidades y mejora de la seguridad en la red.


La presentación de todos los trabajos sigue las mismas pautas:

1) Descripción de la vulnerabilidad
2) Descripción del exploit
     - Variantes del exploit
3) Cómo funciona el exploit
4) Escenario imaginario donde aplicar el exploit
     - Scaneando a la víctima
     - Explotando la vulnerabilidad con el exploit
     - Asegurando futuros accesos
     - Cubriendo el rastro
5) Firma de ataque del exploit
     - Captura del tráfico generado durante la utilización del exploit
6) Cómo protegerse del exploit
7) Fuentes y Links

Aunque he encontrado muchísimos trabajos, todos referidos a temas de seguridad, aquí os dejo sólo aquellos cuyo contenido está relacionado con el análisis de exploits.
Por desgracia, decir que todos los textos están en inglés...


Citar

[!] MS03-026: Windows RPC DCOM Interface Buffer Overrun

RPC-DCOM Vulnerability & Exploit by Brian Porter
www.giac.org/practical/GCIH/Brian_Porter_GCIH.pdf

Microsoft RPC-DCOM Buffer Overflow Attack using Dcom.c by Dean Farrington
www.giac.org/practical/GCIH/Dean_Farrington_GCIH.pdf


Citar

[!] MS03-043: Windows Messenger Service Buffer Overflow

Exploiting Heap Overflow in Microsoft Messenger Service with msgr07.exe by Patti Lawrence
www.giac.org/practical/GCIH/Patti_Lawrence_GCIH.pdf

An Analysis of the Windows Messenger Service Buffer Overflow Vulnerability by Peter Hewitt
www.giac.org/practical/GCIH/Peter_Hewitt_GCIH.pdf


Citar

[!] MS03-049: Windows Workstation Service WKSSVC.DLL Buffer Overflow

A Study of the o_wks.c Exploit for MS03-049 by Eric Arnoth
www.giac.org/practical/GCIH/Eric_Arnoth_GCIH.pdf

Out of Bounds! Windows Workstation Service by Michael Harbison
www.giac.org/practical/GCIH/Michael_Harbison_GCIH.pdf


Bien, cómo véis me aburro mucho durante examenes, así q espero que a alguien le resulte interesante la lectura de estos textos (aunq leer un pdf en inlgés puede hacerse bastante duro).

Hmmm....sobre los textos referentes a la explotación de MS03-043, ambos hacen uso del exploit de Adik. La verdad es que he llegado a tener pesadillas con este exploit. No me creo que haya dos textos que demuestren que funciona para Windows 2000 SP3 y Windows XP SP1 y a mi no me haya funcionado para Windows 2000 SP4 ni Windows XP SP0, y eso que he buscado correctamente los offsets válidos  ???


Salu2

Rojodos:
Bueno, aqui dejo una recopilacion de textos interesantes sobre explotacion y demas. Asi reducimos el numero de post con chincheta en el foro.

Stack Overflows en Linux (por Hakin9)

http://foro.elhacker.net/index.php/topic,37482.0

Win32 Shellcodes by Kekabron -Undercon 2002-

http://foro.elhacker.net/index.php/topic,37252.0

Analizando una shellcode fake (falsa)

http://foro.elhacker.net/index.php/topic,23846.0

Rompiendo la proteccion anti-overflows de los windows 2k3 (ingles)

http://foro.elhacker.net/index.php/topic,36551.0

Interesantes textos sobre ANÁLISIS DE EXPLOITS [GIAC Certification]

http://foro.elhacker.net/index.php/topic,33735

Introduction to Shellcoding - How to Exploit Buffer Overflows

http://tigerteam.se/dl/papers/intro_to_shellcoding.pdf

Explotando buffer overflows en Fedora Core 2

http://foro.elhacker.net/index.php/topic,54212.0.html

Usando SEH para tomar el control - muy basico
http://foro.elhacker.net/index.php/topic,55974.0.html  (Nuevo!)

Explotacion de los archivos PIE en Red Hat (la continuacion del texto como explotar buffer overflows en Fedora)
http://foro.elhacker.net/index.php/topic,57138.0.html  (Nuevo!)

Recopilacion de textos (español)

Varios textos sobre overflows y shellcoding en español =) (Lo enconter en la sección de cracking de elhacker.net xDDD)

Recopilacion de Textos (ingles)
La mejor recopilacion de texots (la mayoria en ingles) la encontre en la web de HEAP (thx) y pesa algo de 14mb =)

Que los disfruteis :D

Salu2

Griph:
He quedado de acuerdo con Gospel para ir reuniendo el material de los distintos post de este foro en forma de un sólo texto para cada post.

Si alguien quiere colaborar, simplemente que envíe el texto por IM o por correo eletrónico; y luego se posteará en este tema.

Esta información la puedes encontrar a continuación:

¿Qué es una ShellCode?

Offsets en OverFlows:

¿Cómo se usan los Exploits?

El Desbordamiento del Buffer: Buffer OverFlow (Desbordamiento de la Memoria)

TODA LOS TEXTOS QUE DEJO AQUÍ ESTÁN EN CASTELLANO

Bueno para darle un poco más de tecnisismo a este foro aquí dejo suficiente material como para que despejes muchas dudas:


* Textos Sobre Programación de Exploits y ShellCodes

_ Exploits, por mitrein
_ Ejemplos de códigos de Bugs y Exploits, por NetSearch
_ Ejemplos de códigos de Bugs y Exploits, por DDiego
_ Automatizacion de Xploits Locales Bajo Linux, por RaiSe

_ Desbordamiento de la Pila, por RaiSe
_ Explotar Stack Overflow en UNIX x86, por dex
_ Stack OverFlow en Linux (IPgh0st)
_ Stack Overflow con Stack No Ejecutable, por Ripe

_ ASM y Buffer Overflows
_ Aprovechamiento de Buffer Overflow en Alpha Linux, (honoriak)
_ Buffer Overflows para 'kiddies' (Plataformas x86), (honoriak)
_ Buffer Overflows - Rasman & Winhlp32, por FCA00000
_ Buffer Overflows (b0f's), por kekabron
_ Buffer Overflow Exploits en Perl (1), (Taseh)
_ Buffer Overflows en Perl (2), (Taseh)
_ Desbordando el Buffer, por Doing y Ripe
_ Desbordamiento_de_Buffer_en_win32, por dark spyrit AKA Barnaby Jack (honoriak)
_ Escribiendo Exploits Basados en Buffer OverFlows (honoriak)
_ 'Exploiting' Avanzado de Buffer Overflows, (honoriak)

_ Guia de Shells
_ Shellcodes en Linux-i386 (1), por RaiSe
_ Shellcodes en Linux-i386 (2), por RaiSe
_ ShellCodes en win32 y OverFlows, por RaiSe y Eid0

_ Bugs de Formato (1-2), por RaiSe
_ Format Bugs Que son, De donde vienen, por lamagra (honoriak)
_ Explotando Format Bugs, por 0x90

_ Heaps Overflows (1-2), por cafo
_ Introduccion a los heap-bss overflow, por Pluf
_ Integer Overflow, por Runlevel
_ Overflows Alfanumericos, por RaiSe
_ Denial Of Service, por Swoish

_ Curso de Lenguaje C, por El_Max_5 (41 Kb)
_ Instrucciones de Ensamblador Basicas
_ Curso de Ensamblador, por AESOFT (91 Kb)


Bueno lo que pasó en cuanto a qué el tamaño del archivo con los textos aumentara es que cuando habían dos ficheros con los textos, habían algunos escritos repetidos. Entonces, los uní y saque los textos que repetidos (que eran pocos, en realidad).

Saludos y Suerte,

Griph

Griph:
Una Shell code es una serie de ordenes en ensamblador que hace algo a lo cual sacamos provecho; ejecutar /bin/sh para obtener una shell, por ejemplo copiar una shell y setearla con suid root, etc. Tiene características de programación un tanto especiales.

Se usa para conseguir ejecutar un código después de haber sobreescrito la dirección de retorno de un programa/función mediante un overflow, o mediante cualquier otro método válido. Es decir, el valor de la dirección de retorno que se sobre-escribirá será la de nuestra shellcode. Cuando se programa una ShellCode simplemente cabe decir que cuando se produzca el desbordamiento y el salto se ejecutará nuestra ShellCode.

Nota: Lo de ejecutar bin/bash, setuid(0), etc. es en GNU/Linux o UNIX. Las ShellCodes para Windows (se construyen, obviamente, de distinta forma) hacen "otras cosas" como ejecutar cmd.exe (la shell del MSDOS), descargar y ejecutar algo silenciosamente (como un troyano), añadir un usuario definido como administrador del sistema, etc.

Cuando se programa una ShellCode a veces es necesario harcodearla, lo cual significa que hay que meter en el código en assembler (ASM) la dirección exacta del RET, de los strings, de las llamadas a funciones, etc. El problema es que la dirección del RET así como las llamadas a las funciones en una shellcode, varían según se ejecute en un Sistema Operativo (SO) o en otro (es decir que varía si se ejecuta en un sistema Windows, GNU/Linux, UNIX, Solaris,
BSD, etc. Esto pasa sobre todo con el software de Micro$oft, por eso los exploits para productos de esta empresa traen un mini menú para elegir el SO (win NT, win 2k, win XP, wink3...) así como los SPs (Service Packs) instalados.

Por tanto, es posible que los testeos que hagas en tu servidor no funcionen en otros que tengan un sistema operativo diferente (o incluso iguales).

Algunas aclaraciones:

* ASM: Assambler Programming Languaje, es decir Lenguaje de Programación Ensamblador. Es el lenguaje de nivel más bajo y por consiguiente el que interactúa de forma más directa con el hardware del ordenador.

* RET: Return Address, es decir Dirección de Retorno. Ésta contiene la dirección de memoria que ejecutará cuando termine la función, o hacia dónde tiene que regresar y ejecutar. Cabe decir que el RET se almacena en la Pila.

* String: Es una cadena de Texto. Ejemplos:
_ "Hola"
_ "\xcd\x80"
_ {'h','o','l','a','\0'}
Son todos Strings.


Más información:

www.shellcode.com.ar
www.google.com

Navegación

[0] Índice de Mensajes

[#] Página Siguiente