¿Que lenguajes de programacion son utiles cuando se trata de hacking?

Iniciado por Retr02332xd, 24 Junio 2019, 08:16 AM

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

Retr02332xd

Quisiera que me dijeran cual y porque.

Otra pregunta es...

En el mundo del hacking que parte de las matematicas, estadistica,fisica etc. Todo lo que abarca los numeros, que campos de estos son utiles para el hacking,porque, como se aplican(ejemplos).

Es una duda que tengo, se que las matematicas son fundamentales, pero que parte exactamente y a que se le aplica en el mundo del hacking, y de paso, que lenguajes de programacion son utiles para el hacking y porque?

Muchas gracias.

[MOD] No esta permitido publicar simultaneamente el mismo post en diferentes Subforos. Leer Reglas del Foro.

@XSStringManolo

#1
Te voy a nombrar los que yo considero más importantes.
C++, Python, ASM, Shell, javascript, SQL, PHP, Perl, Ruby, Java, Lua, Google Dorks.

C++: Lo pongo de primero por los conocimientos sobre memoria, binario, hexadecimal que se aprenden aprendiendo el lenguaje. El servidor más usado globalmente es de código abierto y desarrollado en este lenguaje. El control a bajo nivel y las posibilidades que tiene te permiten hacer cualquier cosa. Útil, para crackear, útil para desarrollar rats, botnets, drivers... y muchos programas comerciales están desarrollados en este lenguaje. Tiene una comunidad con mucha experiencia y conocimientos. Su aprendizaje otorga conocimientos más produndos que no obtendrías con otros lenguajes.

Python: La mayoría de las herramientas para hacking, pentesting, y demás suelen estar desarrolladas en este lenguaje. Tienes la psibilidad de programar/reprogramar durante un ataque sin necesidad de abrir un proyecto, compilarlo, abrir el ejecutable, etc para cada problemilla que te encuentres. Prácticamente puedes hacer de todo sin engorronarte con códigos super complejos. Aún por encima de ser de los más completos y prácticos también es de los más accesibles. Muy noobfriendly, fácil para empezar a programar, burradas de librerías bien documentadas, automatización, etc.

ASM: Me parece imprescindible para aprovechar las vulnerabilidades encontradas al máximo. Trabajas directamente con la arquitectura, procesos, etc. Lo que te obliga a aprender a trabajar y entender cada objetivo. A parte de eso también puedes usarlo para desarrollar directamente el malware. No es bueno para uso general si hablamos de inversion de tiempo/recompensa. Para objetivos específicos se deja acariciar un poquito más y siempre aprendes algo nuevo. No lo recomiendo como primer ni segundo lenguaje si no eres un friki del hardware y los sistemas.

Shell: De poco te sirve adentrarte en un sistema si no sabes ni que usuarios tiene, permisos, archivos... No es un "lenguaje de programación" pero es indispensable tener nociones básicas/intermedias y un conocimiento intermedio/avanzado de lo que te ofrece.

javascript: Es de lejos el lenguaje más utilizado. La mayoría de vulnerabilidades fáciles de encontrar y explotar se realizan con un par de líneas de este lenguaje. Mucha versatilidad para explotar vulnerabilidades front-end o back-end. Se puede desarrollar malware. Es lo más multiplataforma que existe. Te permite tanto atacar aplicaciones y páginas web como aplicaciones de escritorio. Es indispensable.

SQL: Se utiliza para consultas a bases de datos. Practicamente cualquier credencial va a estar en una base de datos. Es sencillo, es muy usado y muy efectivo. Puedes desarrollar software para hacer consultas automáticas y obtener inmensidad de bases de datos de mucho valor económico, lo que convierte SQL en otro indespensable para "hackers". El robo de información preocupa desde corporaciones gigantes a la web del super de la esquina en la que tienes tu cuenta bancaria asociada para que te suban la compra a casa. Por lo que es gran objetivo de black hats que se van a aprovechar de cualquier vulnerabilidad para conseguir la base de datos. Que más tarde venderán a otros ciberdelincuentes o usarán indevidamente.

PHP: Muchísimas páginas webs están desarrolladas con tecnología basada en PHP, por ejemplos CMS. Hay muchos fallos de seguridad conocidos y cualquiera de ellos podría permitirte acceder fácilmente a un servidor o servicio de hosting donde puede haber otras páginas web que no tienen fallos de seguridad. De los mejores oara hackear páginas webs pequeñas, o páginas web diseñadas con una tecnología muy estendida y usada. No es difícil encontrarse páginas con versiones desactualozadas y vulnerables.

Perl: Suele venir por defecto preinstalado en muchos sistemas. Siempre es un recurso extra que tienes si tienes acceso a un servidor remoto. Puedes crear scripts portables para ejecutar directamente en una máquina remota como recurso para cuando bash no es suficiente. También puedes hacer un montón de herramientas de hacking.

Ruby: Es muy similar a Python y Pearl pero más orientado a web. De los mejores si no el mejlr lenguaje para hacer herramientas de hacking específicas para web y para exploits. Tienes al rey Metasploit desarrollado principammente con este lenguaje.

Java: Está siempre en el top 3 como el lenguaje más popular en entorno comerciales. Esto significa que hay servidores desarrollados en Java, decenas de miles en dispositivos móviles, bancos, etc. Usado para desarrollo, usado para cracking, usado para herramientas de hacking... De los más completos y 100% indispensable para hacking en Android.

Lua: De los más rapidos, ligeros y sin límite. Algunos de los malwares y exploits más eficientes y complejos se han desarrollado en Lua, a la vez que muchos sistemas para dispositivos. Multiplataforma y fácil integración con múltiples lenguajes. Muy muy útil para hacer de chicle entre lenguajes y aplocaciones así como para desarrollar módulos o programas totalmente funcionales. Muy sencillo y versatil.

Google dorks: No es un lenguaje como tal pero es de esos conocimientos imprescindibles que te permiten encontrar objetivos vulnerables o vulnerabilidades en sistemas/organizaciones con gran despliege por la red.


Hay muchos más que no nombro por no ser tan a propósito general y que pueden ser igual o más válidos que los nombrados bajo muchas circunstancias. Y otros que omito por su aprendizaje casi obligado al interesarse por alguno de los lenguajes de la lista.


Las matemáticas son menos que obligatorias para el hacking. Están bien para el desarrollo comercial, resolución de problemas, conversiones, entender ciertas operaciones. Pero nada indespensable a mi parecer. Las matemáticas prácticas del hacking no son tan complejas como en la carrera, pero sí puedes ser imprescindibles para algunos algoritmos y cifrados.
Y aunque no sepas matemáticas si tu capacidad resolutiva es eficaz, puedes buscar alternativas menos eficientes que podrías conseguir con un conocimientos extenso de matemáticas aplicadas, pero que te resolverían los problemas y sería igual de válidas en situaciones donde el gasto de recursos, rendimiento, velocidad de produccion y tamaño no sean factores a indespensables. Si no que lo prioritario sea hacer el trabajo.

xxChema

Otras !,..

Gracias string Manolo ,.. Muy clarificador.




Chema.

Retr02332xd

Muy informativo, pero, no creo que un hacker los sepa todos, asi que de acuerdo a esta respuesta, cual crees tu que saben los hackers, por ejemplo python lo saben todos, como los mas usados porque clsro, depende de la opinion de cada quien, para mi un hacker debe saber python,javascript,c ++, sql y bash scripting. Que piensas?

@XSStringManolo

Cita de: Retr02332xd en 24 Junio 2019, 18:13 PM
Muy informativo, pero, no creo que un hacker los sepa todos, asi que de acuerdo a esta respuesta, cual crees tu que saben los hackers, por ejemplo python lo saben todos, como los mas usados porque clsro, depende de la opinion de cada quien, para mi un hacker debe saber python,javascript,c ++, sql y bash scripting. Que piensas?
Qué dices? Obvio que nadie los sabe todos porque habrá 200 lenguajes o dios sabe cuantos. Cómo que Python lo saben todos? Puedes tener a un analista de sistemas sacándote únicamente bugs de códigos en C++ y no sabe ni lo que es un import. O un desarrollador front end que solo busca xss con javascript.
Por saber no tiene ni que saber programación o a encender un ordenador. Puede ser un Phreaker o un criptógrafo/matemático.
En mi primera frase aclaro que estos lenguajes son los que YO considero más relevantes. Es 100% opinión tratando de ser orientativo de alguna manera. Podría decir que todos sirven o que solo aprenda javascript porque es el que más vulnerabilidades explota y quedarme tan ancho.