Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - theowl

#1
Dudas Generales / ¿Por dónde empiezo?
22 Diciembre 2021, 23:08 PM
Hola! cómo están todos? Bueno, siempre me ha interesado el mundo del hacking y la seguridad informática, pero las 3 cosas que más me llama la atención de este mundo es la programación de exploits, la programación de malware, y la ingeniería inversa. Ahora bien, se que para desarrollar una muy buena habilidad en cada una de estas áreas tomaría una vida, sin embargo se que también están en cierta forma conectadas.

Mi pregunta es, qué camino elegir?, por dónde empezar?, estoy seguro que cuando domine alguno de los 3 temas, ingresar al otro va a ser un poco más fácil y de esta forma aventurarme a tener mis pinitos en las 3 áreas.

Con qué material empezar? algún libro en particular?

Gracias de antemano.
#2
Bugs y Exploits / Ayuda con exploit
14 Diciembre 2021, 23:27 PM
Hola!

Estoy aprendiendo de forma autodidacta ensamblador y por cosas de la vida, llegué a un tutorial llamada "Guia para hacer exploits" Leí la teoría y había una práctica sobre desbordamiento de búfer.

El código que dan es este:

#include <stdio.h>

int main() {
        int cookie;
        char buf[80];
       
        printf("buf: %08x cookie: %08x\n", &buf, &cookie);
        gets(buf);

        if (cookie == 0x41424344)
                printf("you win!\n");
}

En la guia explican por qué la función gets() es vulnerable y explican como realizar un pequeño exploit para aprovecharse de la vulnerabilidad.

Este sería el exploit

python -c 'print ("A" * 80 + "\x44\x43\x42\x41")' | ./stack1

Mi pregunta es, porqué no se imprime la cadena "you win!" se supone que al hacer el desbordamiento por sobrepasar los 80 bytes se asigna "\x44\x43\x42\x41" a la variable cookie que es la que esta contigua al array buf dentro de la pila.

Lo irónico es que estoy siguiendo la guia, no se porque no me funciona.
dejo por aca la guia por si alguien quiere echarle un vistazo y darme una luz.
Gracias!

https://fundacion-sadosky.github.io/guia-escritura-exploits/buffer-overflow/1-practica.html
#3
Cordial saludos, chicos.

Acudo a ustedes porque estoy bastante perdido para abordar mi aprendizaje sobre asm.

Tengo varias dudas.

Mi primera duda sería, la programación de ensamblador de un procesador de 8 bits es diferente a la programación de uno de 16 bits, y este a su vez es diferente de uno de 32 o 64 bits? Es decir, si aprendo a programar ensamblador para procesadores de 32 bits no podré programar para uno de 64 bits? Cuales son las diferencias sustanciales, las interrupciones?

Mi otra duda es, he pensando en aprender de esta forma, descargar un emulador de un procesador de 8 bits y programar una aplicación para entender el procesador y demás.
Luego hacer lo propio con uno de 16 bits, de 32 y 64 bits. Todo esto con el fin de entender los procesadores. Les parece buena idea? o como aprendieron ustedes?

Que opinan de utilizar Masm32 para empezar a aprender? Para iniciar es recomendable empezar con emu8086? o mejor con DosBox?

La ultima pregunta es la siguiente, si yo aprendo a programar en ensamblador para un procesador de 16 bits y quiero posteriormente desensamblar un programa que funciona en windows para ver su funcionamiento, es posible que no entienda el código porque aprendí fue ensamblador para procesadores de 16 bits?

Muchas Gracias por la ayuda que me puedan brindar.