Autor
|
Tema: <-!-> Taller de Stack Overflows en Windows, por Rojodos (Leído 75,962 veces)
|
Sha0
Desconectado
Mensajes: 17
Sehr gut !!
|
Hehe stack overflow es una tecnica antigua y sencilla, la gracia está en petar las protecciones que impiden que se desvíe el flujo de ejecución.
¿alguien por aqui esta investigando como petar protecciones grsecurity, safe-SEH, kernel match protection, DEP, ASLR?
Voy a ir publicando algunas tecnicas en mi blog, os animo a seguir en el tema y meterle mucha caña a la protarmacion a bajo nivel.
|
|
« Última modificación: 21 Septiembre 2008, 23:12 pm por sirdarckcat »
|
En línea
|
No intentes doblar la cuchara, eso es imposible. Solo intenta comprender la realidad ... que no hay cuchara. -- a hacker --
|
|
|
opsmc
|
Hola a todos, desde hace unos dias me he dedicado <<por sobra de tiempo despedido injustamente >> a hacer algunas travesuras por la red este foro se me hace de poca m... en horabuena Sin embargo tengo una triste duda de novato (ojo ya busque en la ayuda bla bla) :rolleyes:de donde carajos bajo el adjunto Esta como archivo adjunto, para descargarlo, hay que estar registrado (cosas del admin)
|
|
|
En línea
|
La red es el único lugar donde podemos ser realmente nosotros, no reglas, no máscaras...
|
|
|
zhynar_X
Desconectado
Mensajes: 515
Use linux my friend...
|
|
|
|
En línea
|
Me he creado un blog: http://zhynar.blogspot.com Aver si os gusta! Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
|
|
|
~[uNd3rc0d3]~
Desconectado
Mensajes: 188
programando...
|
que buen manual, aun lo estoy leyendo, pero me surguio una duda, en una partes cuando explicabas el primer codigo, en fin apretavas F8 para ver lo que venia y pusiste esto 0022FF00 0022FF28 ASCII "14AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (muchas AAAAs) AAAAAAAAAAAAAAAAAAA" 0022FF04 003D24A3 ASCII "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (muchas AAAAs) AAAAAAAAAAAAAAAAAAA" 0022FF08 0022FF70 ASCII "AAAAAAAAAAAAAAAAAAAAAA(muchas AAAAs) AAAAAAAAAAAAAAAAAAAAAAAA" 0022FF0C 004012C4 RETURN to vuln1.004012C4 from vuln1.004013D0 0022FF10 77BE2048 msvcrt.77BE2048 0022FF14 0022FEF8 0022FF18 77BFAC19 RETURN to msvcrt.77BFAC19 from msvcrt.77C054FD 0022FF1C 0022FFE0 ASCII "AAAAAAAAAAAAA" 0022FF20 77C03EB0 msvcrt._except_handler3 0022FF24 00000000 0022FF28 41414141 <-- Aqui empieza la variable buffer 0022FF2C 41414141 0022FF30 41414141 0022FF34 41414141 0022FF38 41414141 0022FF3C 41414141 0022FF40 41414141 0022FF44 41414141 0022FF48 41414141 0022FF4C 41414141 0022FF50 41414141 0022FF54 41414141 0022FF58 41414141 0022FF5C 41414141 0022FF60 41414141 0022FF64 41414141 0022FF68 41414141 0022FF6C 41414141 <--- Aquí terminaban los 64 bytes de tamaño de buffer. A partir de aquí hemos hecho el overflow. 0022FF70 41414141 <--- EBP salvado del anterior proceso, sobrescrito con AAAA 0022FF74 41414141 <--- Antigua dirección del ret del main () sobrescrito con AAAA 0022FF78 41414141 0022FF7C 41414141 0022FF80 41414141 0022FF84 41414141 lo que yo me pregunto ahi es, como sabes que en 0022FF6C termina los 64b ? porque no le veo logica viendo que hay 18 celdas desde que empieza hasta que termina.... gracias
|
|
|
En línea
|
leete las reglas asi todos estamos mejor
|
|
|
|
Terran
Desconectado
Mensajes: 16
Administrador de Sistemas - Tecnico Informatico
|
lo que yo me pregunto ahi es, como sabes que en 0022FF6C termina los 64b ? porque no le veo logica viendo que hay 18 celdas desde que empieza hasta que termina....
gracias
4 bytes por fila (AAAA) 18 filas x 4 bytes = 64 bytes. Interesante manual
|
|
|
En línea
|
|
|
|
APOKLIPTICO
Desconectado
Mensajes: 3.871
Toys in the attic.
|
Emm no... 18 *4 = 72...
|
|
|
En línea
|
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore ASUS M4A89GTD-PRO/USB3 2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T) Seagate 500 Gb XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
|
|
|
Terran
Desconectado
Mensajes: 16
Administrador de Sistemas - Tecnico Informatico
|
Emm no... 18 *4 = 72...
Estaba en babia.... Pues por alguna razon añadira 8 bytes de mas en el buffer al compilarlo con Dev Cpp.
|
|
|
En línea
|
|
|
|
Jarmen Kell
|
Holaaaaa, bueno tengo una dudilla acabo de empezar con esto asique, sed amables ^^^^
bueno cuando cojo el dev-c++ compiler y compilo el primer código del tutorial me da un error en la linea
strcpy (buffer, argv[1]);
este es el codigo del tutorial:
#include <stdio.h>
int main (int argc, char **argv){ char buffer[64]; if (argc < 2){ printf ("introduzca un argumento al programa\n"); return 0; } strcpy (buffer, argv[1]); return 0; }
y este es la notificación del error:
In function `int main(int, char**)': `strcpy' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it apperars in.) [build error] [jarmenkell.o] Error 1
:S:S:S:S ni idea, aver si me podeis hechar un cable, un saludo gracias!!
|
|
|
En línea
|
R00T@LinuX# ps -e | grep bill 5446 ? 00:00:00 bill-gates R00T@LinuX# kill -9 5446 INMEDIATAMENTE!!!
|
|
|
Jarmen Kell
|
perdon, soy un inutil ajjaj, lo habia guardado como .c xDD duda resuelta, gracias!!
una cosita mas, esto funciona solo bajo xp?, lo stoy probando en vista y en el olly no se ve que sobreescriba la EIP.... tambien tengo montado un xp x64 version, algun problema en las pruebas respecto a xp sp1 o sp2? gracias
|
|
« Última modificación: 26 Diciembre 2008, 15:09 pm por Anon »
|
En línea
|
R00T@LinuX# ps -e | grep bill 5446 ? 00:00:00 bill-gates R00T@LinuX# kill -9 5446 INMEDIATAMENTE!!!
|
|
|
|
|