¿Cuales son los requisitos para que un lenguaje pueda crear exploits?

Iniciado por Caroxh1, 19 Noviembre 2019, 17:49 PM

0 Miembros y 1 Visitante están viendo este tema.

Caroxh1

Soy nuevo en este tema del hacking. Tengo una duda que no he podido resolver, he leido diversos documentos que explican que son los exploits, como se llevan a cabo con METAEXPLOITS FRAMEWORK. He visto en el foro que los usuarios dicen que los lenguajes de programación utilizados para crear exploits son PYTHON y RUBY, pero no me queda claro que es lo que estos lenguajes de programación poseen para poder realizar los exploits, osea:¿por qué no puedo puedo hacer un exploit en lenguajes de programación como javascript?. ¿Estos lenguajes tienen características especiales?. Además de esto me gustaría saber qué es lo que buscamos al crear un exploit, por qué no utilizar uno ya existente. De antemano muchas gracias.

kub0x

Hay lenguajes más potentes que otros a la hora de acceder a ciertas características que ofrece el OS (sistema operativo). Por ejmplo, mencionas que en javascript no te sería posible. Dependiendo del tipo de exploit, javascript podría valer. Imagina cualquier bug de corrupción de memoria en el navegador (FireFox?) donde tu exploit en JS corrompe la memoria y sobreescribe a placer o mismamente explotar un use-after free mediante un spray. Pero vamos que en los años que corren aunque tengas el exploit existen medidas de prevención para que estás cosas no sucedan (aslr, dep, seh, canary y demás).

Python y Ruby son válidos porque cuentan con librerías que facilitan al programador la escritura en memoria y la llamada de funciones a punteros, es decir, menos código, mayor abstracción equivale a menor tiempo invertido en escribir el "esqueleto" del exploit. Aun así yo prefiero C para exploit locales o en red, puesto que te permite acceder al subsistema de red o memoria dependiendo de los privilegios que tengas.

Ruby se utiliza en Metasploit ya desde muchos años y el framework es un conjunto de librerías que define un modelo genérico para distintos tipos de exploit de esta forma  el usuario empleando la herramienta puede reconocer, configurar y ejecutar cada uno de esos exploits. De hecho podrías modificarla y añadir tus propias creaciones basadas en exploits previos o 0-days.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


animanegra

Se pueden hacer exploits en casi cualquier lenguaje. El requisito probablemente más indispensable es que puedas sacar datos por pantalla y eso lo permiten todos. Por ejemplo, en javascript podrías generar un exploit y ejecutarlo via phantomjs para utilzarlo via terminal como entrada de pantalla para un pograma específico.
O hacer un html estatico y un codigo javascript para automatizar la explotación de un sqlinjection para atacar un sistema (o sistemas) web. Según las paticularidades del lenguaje hay algunos que son más propicios que otros.

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.