¿Cuál es el mejor lenguaje de programación para hackear?

La piratería generalmente está destinada a romper un código. Hay tres secciones de piratería: piratería web, escritura de exploits e ingeniería inversa y cada una de ellas requiere un lenguaje de programación diferente

1. Hackeo web

Dado que la mayor parte de la tecnología se basa en la red mundial, es importante aprender a hackear la web para ser un buen hacker. Digamos que está interesado en hackear aplicaciones web y / o sitios web, entonces necesitará aprender codificación web. Los sitios web utilizan principalmente HTML, PHP y JavaScript, por lo que es importante aprender estos tres.

HTML:

Uno de los lenguajes web de marcado estático más fáciles y ampliamente utilizados en todos y cada uno de los sitios web que ve en su navegador. Se recomienda aprender HTML porque ayuda a comprender las acciones web, la respuesta y la lógica.

JavaScript:

JS es una programación web del lado del cliente que se usa principalmente en sitios web para una mejor interfaz de usuario y una respuesta rápida. Si está interesado en una carrera de piratería, debe aprender JavaScript porque ayuda a comprender el mecanismo del lado del cliente, que es esencial para encontrar fallas del lado del cliente.

PHP:

Un lenguaje dinámico del lado del servidor que se encarga de administrar las aplicaciones web y la base de datos. PHP se considera uno de los lenguajes más esenciales porque controla todo en el sitio y el servidor, como el capitán de un barco. Se recomienda aprender PHP muy bien.

SQL:

SQL es responsable de almacenar y administrar datos confidenciales y confidenciales, tales como credenciales de usuario, información bancaria y personal sobre los visitantes del sitio web. Los piratas informáticos de Black Hat se dirigen principalmente a la base de datos SQL y roban información que luego se vende en un foro web subterráneo oscuro. Si desea ser un buen investigador de seguridad, debe aprender SQL para poder encontrar fallas en un sitio web e informarlas.

2. Explotar escritura

Después de la piratería web, otra característica más importante de la piratería son los exploits. Puedes descifrar un software en particular escribiendo un exploit. Pero para escribir un exploit necesitas aprender Python o Ruby.

Pitón:

Se dice que un investigador de seguridad o hacker debería conocer Python porque es el lenguaje central para crear exploits y herramientas. Los expertos en seguridad e incluso los hackers profesionales sugieren que dominar Python es la mejor manera de aprender a hackear. Python ofrece una mayor flexibilidad y puedes crear exploits solo si eres bueno en Python.

Rubí:

Ruby es un lenguaje simple pero complicado orientado a objetos. Ruby es muy útil cuando se trata de explotar la escritura. Se utiliza para las secuencias de comandos meterpreter por piratas informáticos. La herramienta de hackers más famosa, Metasploit framework está programada en Ruby. Aunque Ruby puede no ser tan versátil como Python, el conocimiento de Ruby es imprescindible para comprender las hazañas.

3. Ingeniería inversa

Ingeniería inversa, el proceso de tomar el código binario de un programa de software y recrearlo para rastrearlo hasta el código fuente original. Si conoce la ingeniería inversa, puede encontrar fallas y errores fácilmente. Si desea aprender ingeniería inversa, necesita conocer C, C ++ y Java. El proceso de convertir el código escrito en lenguaje de alto nivel en un lenguaje de bajo nivel sin cambiar el programa original se conoce como ingeniería inversa.

Para obtener más respuestas, sígueme y vota mi respuesta …

Los idiomas son útiles para hacer cosas. El tipo de cosas para las que es adecuado depende por completo del tipo de lenguaje, los marcos disponibles, los sistemas operativos que tienen intérpretes / compiladores, etc.

Veamos algunos idiomas útiles.
Lenguajes de script

Perl

  • Lenguaje de escritura
  • Propósito general
  • Disponible en la mayoría de los sistemas operativos * nix desde los años 90.
  • Ideal para hacks rápidos y guiones cortos.

Rubí

  • Lenguaje de escritura
  • Propósito general
  • Multiplataforma
  • Orientado a objetos
  • Reflexivo (puede ver su propia estructura y código)
  • Bueno para marcos dinámicos

Pitón

  • Lenguaje de escritura
  • Propósito general
  • Multiplataforma
  • Diseñado para un código fuente claro y legible
  • Enorme marco de bibliotecas

JavaScript

  • Lenguaje de escritura
  • Basado en la web
  • Multiplataforma (disponible en todos los principales navegadores)

Entonces, ¿qué los hace particularmente buenos para pentesting? Bueno, la mayoría de las pruebas implican escribir rápidamente herramientas desechables para hacer un trabajo específico para una prueba específica. Escribir una herramienta de este tipo en C o C ++ cada vez que desee hacer un trabajo rápido es engorroso y requiere mucho tiempo. Además, tienden a producir binarios o fuentes específicos de la plataforma que requieren una compilación específica de la plataforma, en lugar de secuencias de comandos multiplataforma que simplemente se ejecutan. Los lenguajes de secuencias de comandos le brindan la flexibilidad de producir tales herramientas de forma rápida y sencilla.

Por ejemplo, Ruby y Python son populares para tareas más complejas porque tienen bibliotecas integrales, mientras que Perl es popular para ataques rápidos de procesamiento de datos. JavaScript se utiliza comúnmente como un lenguaje simple basado en el navegador al que todos tienen acceso. Otros lenguajes como C tienden a usarse para tareas de bajo nivel que interactúan con el sistema operativo.

Ahora, el otro lado de la moneda son los idiomas utilizados como cargas útiles. Aquí es donde la línea se vuelve borrosa, porque los requisitos son muy variados. Para atacar cajas de Windows, cualquier carga útil que no tenga dependencias fuera de lo que proporciona el sistema operativo es útil. Esto podría ser C, C ++, VBScript, x86 asm, C # / VB.NET (.NET 2.0 está en la mayoría de las máquinas en estos días), etc. Para atacar cajas de Linux, puede usar C, C ++, scripts de bash o Perl. Java también es común para ataques multiplataforma.
¡Al final del día, elija el idioma que mejor le parezca para el trabajo!

La mayoría de los piratas informáticos no requieren escribir grandes cantidades de código (o, a menudo, ningún código). Mis hacks más exitosos tuvieron más que ver con mi conocimiento de los patrones de programación y el comportamiento del usuario. La gente usa el término piratería de manera muy amplia en estos días, por lo que es posible que haya escuchado el término como sinónimo de programación, pero ese uso de la palabra es bastante reciente (eso no lo hace incorrecto, pero generalmente es obvio cuando la gente lo usa para solo significa programación).

La conclusión para mí es que si estás escribiendo mucho código, realmente no estás pirateando, solo estás desarrollando. Admitiré que cuando estoy enojado con un poco de código, como cuando tengo que hacer algo feo para evitar un error en una biblioteca, usaré el término piratería para describirlo, pero soy más pensando en lo que quiero hacerle al desarrollador de dicha biblioteca.

Ahora también hay “craqueo” que requiere más conocimiento sobre el lenguaje utilizado por la aplicación o el núcleo que es su objetivo. Pero aún así a menudo no escribe mucho código, simplemente escribe la cantidad mínima para que el programa haga lo que desea (o se bloquea, según su objetivo). La mayor parte de mi craqueo involucró el uso creativo de un depurador (software o hardware), por lo que lo que estaba viendo era un ensamblaje desmontado (que a menudo había sido generado por uno o más compiladores, por lo que sería un código realmente extraño) y el resultado fue un archivo de parche Saber cómo el compilador generaba símbolos, archivos ejecutables organizados, etc. era un poco necesario de conocimiento.

Es posible que desee conocer algunos lenguajes de programación más específicos para obtener acceso completo a su objetivo. En este capítulo, repasaremos qué lenguajes de programación querrá saber y qué pueden hacer para ayudarlo a desarrollar sus habilidades de piratería. Hay diferentes tipos de piratería que puedes aprender y todo depende de lo que intentes piratear en cuanto a qué lenguaje de programación será mejor para que aprendas. Cuando conozca la programación, podrá: Modificar las secuencias de comandos y herramientas existentes de acuerdo con sus necesidades. Comprender las vulnerabilidades en el sistema. Diferenciarlo de los amantes de las herramientas y los niños de secuencias de comandos. Ayudarlo a escribir sus propias secuencias de comandos y herramientas. Ayudarle a escribir Códigos de shell, exploits, etc. Pentesting / Hacking de aplicaciones web Si quiere pentest o hackear usando una aplicación web, querrá saber HTML, JAVAScript, así como PHP / SQL. JAVAScript se usa para ayudarlo a aprender los conceptos básicos de Cross Site Scripting. JAVAScript es un lenguaje de script que es multiplataforma, pero solo en los principales navegadores, ya que este lenguaje de programación está basado en la web. HTML es mejor conocido como Lenguaje de marcado de hipertexto (HTML) que lo ayudará a conocer los conceptos básicos de la creación de páginas web, así como cualquier otra información que se pueda mostrar en un navegador web. Este es probablemente uno de los lenguajes de programación más importantes que debe aprender. PHP / SQL lo ayudará con la mayoría de las aplicaciones web, ya que están escritas usando PHP y MySQL. Esencialmente, esto lo ayudará a ingresar a cualquiera de las aplicaciones web. Escritura / comprensión de exploits, códigos de shell, kits de raíz, etc. Si desea comprender o escribir códigos de shell, kits de raíz, exploits y mucho más, querrá conocer ensamblaje e incluso C & C ++. Assembly es el lenguaje de programación que lo ayudará cuando se trata de comprender y escribir cualquier código de shell. Esto también lo ayudará cuando se trata de ingeniería inversa de cualquier software o aplicación. C & C ++ te ayudará con los exploits que encuentres en la web. Hay alrededor del sesenta por ciento de los exploits que están en la web y están escritos en código C y C ++. Cuando comprenda este código, podrá comprender los desbordamientos del búfer y los desbordamientos de la pila. Entonces, si eres un hacker o un probador de bolígrafo, necesitarás aprender C & C ++. Creación de herramientas y secuencias de comandos Cuando desee crear sus propias herramientas y escribir sus propias secuencias de comandos, la mejor opción para aprender es Bash, Ruby e incluso Python. Ruby es un lenguaje que se usa cuando quieres escribir tus propios scripts y herramientas. El Metasploit Frame Work se escribe usando Ruby. Por lo tanto, si desea utilizar Metasploit Frame Work, saber cómo entender a Ruby es de vital importancia. Ruby es un lenguaje de programación multiplataforma y orientado a objetos. Este lenguaje funciona bien con marcos dinámicos y es reflexivo, lo que significa que puede ver su propia estructura y codificación. Bash te ayudará cuando intentes escribir scripts más pequeños para la automatización. Python es un programa fácil de aprender y codificar. También es un lenguaje muy poderoso y de alto nivel. La mayoría de las herramientas y scripts escritos para automatización en realidad se escriben usando Python. Por lo tanto, conocer Python es esencial cuando se trata de ayudarlo con la escritura de Exploit. Python también es un lenguaje multiplataforma que fue diseñado para usarse con códigos fuente claros y legibles. Este lenguaje de programación tiene un gran marco de bibliotecas que se pueden usar al escribir sus códigos. Otro lenguaje de programación que querrás saber es Perl. Con Perl podrás usarlo para hacks rápidos y escribir scripts cortos. Encontrarás Perl en la mayoría de los programas * nix OSes. Esto ha sido usado desde los años noventa

¿Te refieres a ser un hacker o un cracker?
Un ” Hacker “, es alguien que construye / explora / pioneros / ingenieros , no solo en un sentido de programación y computación, sino en cualquier ‘discípulo’ / campo.
Un ” Cracker “, por otro lado, es alguien que rompe los sistemas, pasa la seguridad, etc. Los medios se refieren a ” Crackers ” como ” Hackers “. Entonces, si quieres ser uno de esos tipos que ‘piratea’ el mainframe de la NSA, o ‘piratea’ los sistemas de seguridad de un banco, entonces eres Cracker (según ESR).

Entonces, para responder a su pregunta: si quiere convertirse en un Cracker, entonces no conozco ningún recurso de buena reputación, pero si quiere ser un Hacker (no del tipo ‘medios’), le sugiero que lea este artículo (Cómo convertirse en un Hacker) por Eric S. Raymond. Habla mucho más en profundidad sobre las diferencias entre un Hacker y un Cracker , y los pasos que debes seguir para convertirte en un hacker. 🙂

Y en cuanto al lenguaje, iría con Python. Un lenguaje fácil de aprender, de alto nivel y ampliamente utilizado.

EDITAR: agregue qué idioma debe aprender.

Ningún lenguaje de programación es el “mejor” para aprender a hackear. De hecho, todo depende de lo que TÚ quieras hacer.

Imagine lo que le gustaría saber ante todo.

  • Si desea comenzar creando sitios y comprender cómo protegerlos: debemos comenzar con JavaScript, SQL o Python
  • Si está dispuesto a conocer la programación funcional, saber cómo funciona la máquina dentro del mejor lenguaje es C
  • Y, por último, si desea crear programas funcionales rápidamente sin un conocimiento especial de todo el sistema o los idiomas web (aunque esto no es particularmente recomendable), puede comenzar con Python o incluso VB .NET.

También debe ser posible aprender varios idiomas al mismo tiempo o uno tras otro de acuerdo con sus deseos.

Si hay 5 idiomas para dominar, son-

  1. C o / y C ++
  2. PHP o ASP
  3. C # o VB .NET
  4. Java o Python
  5. JavaScript

Puede comenzar con HTML si lo desea, digamos que debería ser rápido y fácil.

Vea cómo convertirse en un hacker

¡Gracias!

Depende de lo que quieras decir con piratería. Si quieres divertirte con la programación, elige cualquier idioma.

Pero si te refieres a la programación con intención maliciosa, entonces probablemente quieras evitar los controles del sistema y la verificación de corrección.

Para eso, los lenguajes de bajo nivel como ensamblador y C son los mejores.

C tiene la filosofía básica de “Confiar en el programador”. La comunidad de hackers ama eso. Los programadores sin intenciones malintencionadas cometen errores, por lo tanto, la verificación de la corrección, como Hoare Logic (pre-post-condiciones, invariantes) es la mejor. Siempre verifica los límites. La flojedad de C en esto probablemente le ha costado al mundo billones de dólares y es el principal defecto utilizado deliberadamente por los hackers.

Por lo tanto, no se debe confiar en que los buenos programadores no cometan errores (incluso los mejores, aunque los mejores programadores son aquellos que reconocen que la programación es difícil y que necesitamos ayuda, y entienden las herramientas).

Pero cuando hay hackers, el mantra de C de “Confiar en el programador” es, en el mejor de los casos, ingenuo.

Necesitamos superar esa ingenuidad de la industria inicial y desarrollar sistemas e idiomas que trabajen juntos para hacer que la piratería sea realmente difícil. Tiempo para que C y C ++ se pongan a pastar.

La respuesta a esta pregunta depende de sus intereses y objetivos. Básicamente hay tres secciones: pirateo web y pentesting, escritura de exploits e ingeniería inversa y cada una de ellas requiere una codificación diferente.

Hay muchos lenguajes de programación útiles para hackear, pero no es posible dominarlos todos. Y aquí está la lista de los lenguajes de programación más útiles para hackear, esta lista ha salido al realizar una encuesta entre lectores de noticias de hackers. No es de extrañar que Python haya estado en la parte superior de la lista.

  1. Pitón
  2. Rubí
  3. JavaScript
  4. C
  5. C#
  6. PHP
  7. Java
  8. C ++
  9. Haskell
  10. Clojure
  11. CoffeeScript
  12. C objetivo
  13. Ceceo
  14. Perl
  15. Scala
  16. Esquema
  17. Otro
  18. Erlang
  19. Lua
  20. SQL

Diferentes demandas causan diferentes requisitos de PL.

  1. Software de craqueo => Ensamblaje, C, C ++
  2. Redes => Cualquier lenguaje de programación de alto nivel como Java, Python, Go, JavaScript …
  3. Creación de software de alto rendimiento => C, C ++, OCaml …
  4. Construir fácilmente el software multiplataforma => Python, Java, JavaScript, OCaml …
  5. Web Front-end => JavaScript, Web Assembly …
  6. Creación de software empresarial => Java, C # …
  7. Estudio del lenguaje de programación => C, Haskell, OCaml …
  8. Programa de prueba formal => Coq, Agda, TLA + …

Entonces, en mi opinión, mi elección sería

  1. C y OCaml: para aprender cómo funciona el lenguaje informático y de programación.
  2. Java (C #), Python y JavaScript: lo ayudan a construir rápidamente sus herramientas para hackear.
  3. Coq, Agda o TLA +: Ayuda a construir tus herramientas casi imbatibles de manera matemática.

lenguaje de programación se utiliza para construir software.

y piratear es una cosa diferente, no hay idiomas. Se basa en la creación de redes. y se trata de acceder a algún recurso que no está autorizado.

Pero debe tener conocimientos básicos de PHP, JavaScript, Python, C, C ++, etc. para saber cómo funcionan las cosas (si desea destruir algo, debe saber cómo se creó, a menos que no funcione)

Por lo general, “piratería”, supongo que realmente quiere decir que la prueba de penetración o la explotación de sistemas específicos, se realiza en lenguajes de secuencias de comandos. Estos son generalmente lenguajes interpretados, muy buenos para usar grandes bibliotecas para realizar tareas simples con un mínimo de código / esfuerzo.

Esto se debe a que los usas para muchas cosas pequeñas. Estos scripts que escribe a menudo no tienen que ser mantenibles, los tira en segundos mucho tiempo. También ayuda que estos lenguajes puedan hacer cosas que los lenguajes más “complejos” o “industriales” requieren 20 líneas, los lenguajes de secuencias de comandos a menudo pueden hacerlos en 2–3.

Por lo tanto, los lenguajes de script como python, perl, lisp, ruby, etc., tienden a usarse mucho. Rápido, sin tiempo de compilación, bibliotecas masivas, versátil, a menudo estándar en muchas máquinas (especialmente Unix). A menudo, una sintaxis extremadamente simple y versátil, con una gran cantidad de “azúcar sintáctico”, o atajos en el lenguaje, para minimizar el esfuerzo sin perjudicar los resultados.

Antes que nada necesitas saber programación …

Principalmente como Qbasic, java, C ++, etc. Para comenzar desde un nuevo nivel

Primero haga la programación en computadoras …

Si tiene éxito, entonces el binario no.

Y luego el primer paso …

Enraizamiento

2do paso …

Hackeo de Wifi … (con precaución)

No hay un “mejor” lenguaje, pero el script de shell (Powershell para Windows) es un requisito y la mayoría de las personas conocen al menos un poco de Python. Algunos tipos de análisis y explotación de vulnerabilidades requieren ensamblaje, y un conocimiento práctico de las estructuras de memoria de C ++ puede ser muy útil.

Inglés, no en serio, ya sea inglés o el idioma nativo donde se encuentre el usuario. Los intentos de “pirateo” más fáciles y mejores son el proceso de ingeniería social. Es fácil acceder a una computadora cuando el usuario le dice su contraseña o le permite sentarse en su computadora. Este tipo de acceso se llama ingeniería social y es uno de los métodos más comunes disponibles, también casi siempre funciona.

Supongo que esperaba cosas como descifrar contraseñas, escribir exploits, etc. En ese caso, depende de muchos factores. Generalmente con componentes escritos en diferentes idiomas para diferentes tareas.

La ingeniería inversa depende del idioma en que se escribió el código en primer lugar y de cómo desea hacerlo. Algunos de nosotros podemos leer el código de máquina puro, aunque la mayoría prefiere al menos desarmarlo para ensamblarlo. En el caso de Java, podemos regresar a un archivo fuente Java equivalente.

Si estoy apuntando a los servicios web Javascript, SQL y cualquier idioma web que el servidor esté ejecutando para generar los datos, ahora son mi caja de herramientas principal.

Luego hay herramientas que tengo para administrar estas cosas, a menudo están escritas en idiomas para facilitar la modificación y la codificación rápida. Cosas como Ruby y Python.

Gracias por A2A

Hackear significa que escribes algo de código haciendo alguna funcionalidad que es necesaria sin seguir los patrones habituales, generalmente porque tienes límites de tiempo cortos. ¿Es eso lo que quieres decir con piratería? Entonces todo lenguaje de programación servirá.

¿O quiso decir crackear que está entrando en aplicación y sistema que es ilegal por cierto en caso de que no esté probando sus propias cosas? Entonces bash scripting, Python, Golang y C ++ podrían ser buenas herramientas.

Te doy una pista. Aprenda programación real en lugar de código rápido y sucio. Te llevará más lejos.

El mejor lenguaje de programación para hackear es el lenguaje que se empleó para construir lo que sea que intente hackear.

Perdón por la digresión. No hay un “mejor lenguaje” para decir la verdad. Para el pirateo general, estoy de acuerdo con el usuario de Quora.

En primer lugar, nos gustaría corregir un pequeño error de que no aprendemos lenguajes de computadora. Aprendemos lenguajes de programación. La computadora solo puede comprender dígitos binarios y, por lo tanto, sus idiomas están en forma binaria. Y llegando al punto de hackear, le recomendamos que aprenda Python. Al usar python, puede usar inyección SQL, pruebas de penetración y mucho más. hazte experto en python. Y también me gustaría agregar que si está interesado en hackear, como complemento, intente aprender la línea de comando del terminal kali. Descargue el sistema operativo kali y practique en él.

Python Sí Python es el lenguaje necesario en la piratería porque con el uso de python puede crear herramientas de piratería como Brute forcer, Dos Attacker, Bug Hunter.

También se necesita HTML, PHP, JavaScript, SQL, MySQL, etc.

Gracias

La mayoría dice Python también, pero si hablamos de piratería, el pirata informático es quién puede resolver las cosas en cualquier sistema pero no en un sistema operativo específico. Como pirata informático, debe saber casi 10 principales / idiomas en tendencias, pero no estoy diciendo que U debe ser perfecto en todos los 10 idiomas principales, pero si por casualidad se produce algún problema en cualquier idioma, al menos U puede comprender las cosas que están frente a su cara … cómo funcionan los piratas informáticos, pero como sabe, el conocimiento es el océano si quiere ir más allá Algo específico que deberías ir. eso es bueno … El conocimiento siempre aumenta cuando se comparte con alguien … así que manténgase en contacto con alguien que también esté interesado en estas cosas y siga a las personas que son profesionales en estas cosas y que lo guían en la dirección correcta para cumplir su objetivo … Buena suerte …

Tomando algunas clases de prueba de pluma. Entramos en otras computadoras y obtenemos acceso a la raíz (en una configuración de laboratorio) con cero programación. Todo ha sido la línea de comandos de Linux y Windows, incluso algunas cosas de GUI, pero ninguna programación en absoluto. Utilizamos principalmente Kali. Aunque hay un prodigio en la clase y él recomienda y usa Python. Prueba hackthissite.org