¿Qué lenguajes de programación son mejores para la seguridad cibernética?

Cofundé una de las principales compañías de seguridad cibernética de la nación y trabajé como científico jefe durante 10 años. La pregunta supone que hay un idioma o uno mejor, pero la respuesta es realmente MUCHAS.

Para ser un individuo completo y completo en el mundo de la Seguridad Cibernética, debe aprenderlos a todos.

  • Ensamblador: para desmontar el malware si elige seguir esta ruta. Esto es útil pero no estrictamente obligatorio. Sin embargo, puede proporcionar una buena base sobre la cual se construyen muchas cosas.
  • Perl: para hackear todos los cortos y una herramienta útil. También es un gran paso hacia PHP.
  • Python: para interactuar con archivos, lidiar con binarios y mucho más
  • JS – para diseccionar exploits basados ​​en web
  • Adobe Flash: por desgarrar sabes qué
  • C – para escribir código eficiente de bajo nivel o leer código fuente abierto
  • SQL: no para codificar sino para construir repositorios de datos y consultarlos de manera eficiente
  • VB: nuevamente, no es estrictamente necesario, pero puede ser particularmente útil cuando se trata de Windows.

Esto está lejos de ser una lista completa, pero para ser bueno en Seguridad Cibernética debes ser un hombre del Renacimiento cuando se trata de idiomas. Mientras más, mejor.

Más allá de la codificación, realmente debería aprender los principios básicos de las redes: es decir, el vehículo sobre el que transitan los eventos de Seguridad Cibernética.

Dentro de ese campo, le recomiendo encarecidamente que se convierta en un experto en TCP / IP y todo lo demás. Las redes son un componente masivo de la seguridad cibernética y es casi un lenguaje propio.

Todos los idiomas que le dan la posibilidad de implementar mecanismos de seguridad son aceptables. Cuando implementa un mecanismo de seguridad, un problema muy importante es minimizar los flujos de diseño, las debilidades y los errores. Entonces, los idiomas que apoyan esto son bienvenidos Estoy de acuerdo con Jonathan Day en que un lenguaje formal es muy útil.

Pero, ¿qué hacer si necesita alguna aplicación de ciberseguridad de misión crítica , donde un error de software puede tener graves consecuencias: aviónica, control de tráfico aéreo, cohetes, satélites y otros sistemas espaciales? Luego elige Ada. Como se menciona en Ada (lenguaje de programación)

“Ada es un lenguaje de programación de computadora de alto nivel estructurado, estáticamente tipado, imperativo, de amplio espectro y orientado a objetos, extendido desde Pascal y otros lenguajes. Tiene soporte de lenguaje incorporado para el diseño por contrato, tipeo extremadamente fuerte, concurrencia explícita, ofrecer tareas, pasar mensajes síncronos, objetos protegidos y no determinismo. Ada mejora la seguridad del código y la mantenibilidad mediante el uso del compilador para encontrar errores a favor de los errores de tiempo de ejecución. Ada es un estándar internacional; la versión actual está definida por ISO / IEC 8652: 2012 “.

Otro tema importante es la velocidad de las operaciones de seguridad . A los usuarios no les gusta cuando la seguridad es un cuello de botella en sus operaciones. Por lo tanto, las versiones seguras del lenguaje C son bienvenidas en este caso.

Es obvio que debe conocer los lenguajes de programación de computadoras para aprender Ethical Hacking . El conocimiento del lenguaje de programación es una ventaja en el aprendizaje de la seguridad cibernética, ya que le ayuda a comprender la aplicación cibernética de una mejor manera.

Si tiene un gran interés en este campo, entonces debe comenzar a aprender el pirateo ético y puede convertirse en un experto en este campo. Debido al aumento de las fallas de seguridad en el sistema de redes de varias organizaciones, existe una gran demanda de expertos en seguridad cibernética. .

Hay mucha información al respecto, como tutoriales, videos en YouTube, PDF, libros, etc., pero estas cosas no serán suficientes para convertirse en un experto en piratería ética.

Te recomiendo la Academia Kratikal como el mejor centro de capacitación en toda la India. Cuentan con las facultades altamente calificadas de IIT y NIT de allí y ofrece conferencias atentas con el máximo aprendizaje práctico. Para registrarse en el curso de piratería ética, haga clic aquí.

Y lo más interesante que me gustaría decirte es que un experto en seguridad cibernética gana $ 92,600 anualmente , según una encuesta.

Entonces, sin perder su tiempo, ¡comience a aprender un aprendizaje ético!

Obviamente, el conocimiento de los lenguajes de programación es una ventaja adicional en el dominio de seguridad cibernética. Como le ayuda a comprender el funcionamiento de la aplicación de una mejor manera y, finalmente, al piratear / descifrar la aplicación.

Si hablamos sobre qué lenguajes de programación son mejores para la seguridad cibernética, te sugiero que aprendas JavaScript y Python .

JavaScript lo ayudará a comprender:

  • DOM basado en XSS (cross site scripting)
  • Encontrar y modificar elementos
  • Robar galletas
  • Manipuladores de eventos para realizar acciones maliciosas
  • Manipulación de formularios

Puede aprender JavaScript en el siguiente portal: Javascript para Pentesters

Python, por otro lado, lo ayudará a escribir scripts para automatizar tareas y herramientas para mejorar su arsenal.

Puedes aprender Python en el siguiente portal: Python para Pentesters

Para un estudiante de ingeniería en ciencias de la computación, el punto de partida puede ser: – Conocimiento de aplicaciones web, lenguajes front-end, marcos como HTML / CSS, Php será útil. También es crucial comprender el flujo de aplicaciones y la lógica común utilizada. También sugeriría pasar por una publicación mía relevante: la respuesta de Ankit Giri a ¿Cuál es un buen área de inicio entre la seguridad de la aplicación web o la seguridad del sistema para un estudiante interesado en la seguridad informática?

Consulte también la siguiente respuesta mía en la respuesta de Ankit Shankar Giri a ¿Cuál es el futuro de la seguridad cibernética en la India? Soy un estudiante de ingeniería informática (3er año), ¿cómo empiezo a aprender sobre seguridad cibernética desde cero?

LOS MEJORES IDIOMAS DE PROGRAMACIÓN PARA LA SEGURIDAD CIBERNÉTICA

C

Casi todos los sistemas operativos vienen con C y casi todas las bibliotecas y marcos con los que se tratará se construirán o construirán parcialmente con C. ¿Por qué? Es un lenguaje sencillo y eficiente (cuando se hace correctamente) que puede hacer básicamente cualquier cosa, desde el uso de redes de socket para hacer el procesamiento de imágenes.

Desde la perspectiva de Info / CyberSec, este lenguaje es excelente para aprender (algo o mucho) porque te hace comprender cómo funcionan ciertas cosas ‘básicas’. También le facilita comprender cómo funciona un exploit o herramienta específica y cómo puede modificarla para que haga más por usted.

C se usa en una gran cantidad de software, pero generalmente veo que se usa en el desarrollo de sistemas integrados y en otros programas de bajo nivel (donde trabaja cerca del hardware, como las tarjetas de red).

Inherentemente, la mayoría de las bibliotecas criptográficas se basan en el código C, por lo que C sería una gran apuesta si desea entrar en la criptografía.

Aquí hay una gran lista de libros desde principiantes hasta avanzados. ¡Realmente no puedes equivocarte demasiado con StackOverflow!


C ++

Hay una gran cita de Bjarne Stroustrup, el fundador del lenguaje (o biblioteca):

“C hace que sea fácil dispararte en el pie; C ++ lo hace más difícil, pero cuando lo haces, te vuela toda la pierna ”.

Básicamente, puedes pensar en C ++ como el hermano mayor de C en crack, metanfetamina y esteroides, todo al mismo tiempo. Es un lenguaje absolutamente fantástico que creo que todos deberían al menos aprender un poco, aunque solo sea para comprender cuán difícil es trabajar y apreciar el tipo de personas que trabajan con él a diario.

Como se mencionó anteriormente, se basa en el mismo código fuente que C, con un montón de bibliotecas que hacen que C ++ sea mucho más fácil de trabajar y al mismo tiempo le brinde el tipo de acceso de bajo nivel que esperaría de C.

Literalmente, hay TONELADAS de buenos programas construidos o que usan C ++ para partes de él. Uno que sobresale es nmap, una herramienta ampliamente utilizada que le permite escanear y enumerar un servidor.

C ++ se usa en muchas configuraciones de recursos limitados y de rendimiento crítico, como en servidores de comercio electrónico y en aplicaciones de inventario, por lo que todo lo que necesita ser rápido y seguro.

Aquí hay otro gran artículo con algunos buenos ejemplos de libros si quieres aprender C ++. Me mantendría alejado del manual de C ++ si eres un principiante completo. Lo tengo en casa, pero cada vez que lo recojo para obtener algunas referencias cada vez que estoy programando algo, encuentro que me siento aún más confundido y que sé mucho menos que cuando lo recogí inicialmente. Sin embargo, es un libro fantástico: solo necesita tener un conocimiento previo de C ++ u otros lenguajes.


PITÓN

Dios, ¿por dónde empiezo? Me encanta este lenguaje

Si eres nuevo en programación y quieres aprenderlo como una habilidad, entonces te sugiero comenzar con este lenguaje. La sintaxis no solo es muy fácil de entender (cuando superas las malditas sangrías), sino que también tiene una gran cantidad de bibliotecas para hacer básicamente cualquier cosa que quieras hacer.

Puede hacer cualquier cosa, desde programación multiproceso para usar sus bibliotecas para enviar paquetes TCP a las máquinas. El potencial del lenguaje aumenta aún más por lo fácil que es conectar el código C en él, que combina la velocidad de desarrollo de Python con la eficiencia de C.

Python también se usa ampliamente cuando se realizan análisis de criptografía y malware. Entonces, si quieres trabajar con eso, ¡deberías echar un vistazo a Python! (Lo sé, ¡es increíble!).

En el caso de aprender Python, sugiero buscar este sitio web y usarlo junto con los documentos de Python. Cuando tenga una base sólida y haya escrito uno o algunos programas medianos y grandes, le sugiero que obtenga una copia de Violent Python, ya que tiene mucho que enseñar. Está orientado principalmente al lado de seguridad ofensivo de las cosas, pero si comprende cómo piensa el lado ofensivo, ¡puede usar eso para construir guiones defensivos también!

Confía en mí, si no sabes este idioma, ¡ deberías !


GOLPETAZO

Bash es un excelente lenguaje de secuencias de comandos para aprender en caso de que esté principalmente en un sistema operativo Linux (o si está usando ‘Bash para Windows’).

Desde mi punto de vista personal, es una gran herramienta para usar en las pruebas de penetración, ya que generalmente viene incluido en la mayoría de las máquinas que he atacado, lo que significa que puedo enviar fácilmente un script que podría automatizar los procesos que necesito realizar (como limpiar registros) )

Sugeriría a las personas que no están familiarizadas con Linux que aprendan algo del lenguaje, ya que no solo ayudaría a automatizar las tareas domésticas, sino que probablemente también le presentará nuevos comandos.

Aquí hay un enlace a TLDP que introduce conceptos de principiante-intermedio a los scripters.


JAVASCRIPT

Lo sé, algunos de ustedes podrían estar rascándose la cabeza ahora, pero desnudos conmigo.

Simplemente no puede ir a ningún lado hoy en día donde al menos no está viendo algo hecho en JavaScript, lo que significa que es importante para nosotros al menos comprender los fundamentos básicos de cómo funciona este lenguaje, independientemente de si queremos usarlo para exploits o si necesitamos fortalecer nuestro sistema.

Solía ​​ser que JavaScript era principalmente un lenguaje del lado del cliente (lo que significa que ejecutaba código en el sistema invitado en lugar de en el servidor), pero hoy en día lo vemos tanto en el servidor como en el lado del cliente.

Esto significa que (dependiendo de su mentalidad) hay el doble de la cantidad de exploits potenciales o el doble de las cosas que necesitan ser endurecidas.

Entonces, ¿qué haces realmente con JavaScript? Principalmente vemos JavaScript utilizado en nuestros navegadores o en servidores web. Algunos marcos comunes (a partir del 16/02-17) son NodeJS, AngularJS, ReactJS, jQuery, etc. El primero (NodeJS) es un marco del lado del servidor que le permite crear API para transferir datos desde el servidor y los otros tres son principalmente del lado del cliente con sus propias fortalezas y debilidades individuales.

La razón para aprender este idioma es simple: se usa en todas partes, por lo que saber que siempre será beneficioso para usted, independientemente de cuál sea su propósito. Además de ser utilizado en todas partes, también es muy fácil de aprender, por lo que incluso si es un principiante, aprenderá fácilmente cómo usar el idioma para cosas básicas como mostrar texto en una página web.

Aquí hay algunos buenos recursos para aprender el idioma. Como dice el título, es para principiantes que desean aprender el idioma en un corto período de tiempo.


IDIOMAS DE ESCRITURA PROPIETARIOS

Esto incluye todos los idiomas de varios proveedores de redes como Cisco.

Estos idiomas le beneficiarían principalmente si trabaja con su hardware respectivo. Como si estuviera trabajando con Cisco IOS, estaría trabajando con TCL para automatizar las cosas.

Tengo una experiencia extremadamente limitada con este tipo de lenguajes, y todo lo que realmente puedo decir es que conocer estos lenguajes de scripting te beneficiaría si vas a trabajar con cierto tipo específico de hardware o un tipo particular de red y su seguridad.


Sé que hay un montón de otros idiomas que he echado de menos (Ruby, Java, etc.) y me doy cuenta de que muchos de ustedes podrían estar en desacuerdo con que coloque JavaScript en la lista. Pero sí creo que es cada vez más importante para nosotros al menos tener una comprensión básica de cómo funciona ese idioma simplemente porque está en todas partes.

Espero que esto sea una lista decente y ayude a algunos de ustedes en su búsqueda de aprender sobre la parte del lenguaje de programación de Info / CyberSec.

Si me perdí algún idioma importante, ¡no dudes en enviarme un mensaje!

La seguridad cibernética o comúnmente conocida como tecnología de la información son las técnicas para proteger computadoras, redes, programas y datos de un ataque autorizado. También se puede decir que es un tipo de prácticas que salva a un dispositivo del acceso no autorizado.

Hay muchos desafíos que se enfrentan al software de seguridad cibernética para realizar

  • Seguridad de la red
  • Seguridad de la aplicación
  • Puesto final de Seguridad
  • Seguridad de datos
  • Gestión de la identidad
  • Seguridad de la base de datos y la infraestructura.
  • Seguridad en la nube
  • Seguridad móvil
  • Educación del usuario final

Para realizar estas tareas, el software de seguridad cibernética necesita la ayuda de lenguajes de programación para que no pueda realizarse fácilmente. Los lenguajes de programación que generalmente se usan para la seguridad cibernética son:

  • Pitón
  • C
  • C ++
  • HTML
  • JavaScript
  • SQL
  • Lenguajes de ensamblaje

Si está interesado en entrar en detalles de varias programaciones para aprender ciberseguridad, entonces puede consultar Hackr.io: encuentre y comparta los mejores cursos y tutoriales de programación en línea, tienen algunos de los mejores tutoriales desde los que puede consultar

Es obvio que debe conocer los lenguajes de programación de computadoras para aprender Ethical Hacking . El conocimiento del lenguaje de programación es una ventaja en el aprendizaje de la seguridad cibernética, ya que le ayuda a comprender la aplicación cibernética de una mejor manera.

Debe tener los conocimientos básicos de todos los lenguajes de programación de computadoras para poder comprender mejor la seguridad cibernética.

Si tiene un gran interés en este campo, entonces debe comenzar a aprender el pirateo ético y puede convertirse en un experto en este campo. Debido al aumento de las fallas de seguridad en el sistema de redes de varias organizaciones, existe una gran demanda de expertos en seguridad cibernética. .

Hay mucha información al respecto, como tutoriales, videos en YouTube, PDF, libros, etc., pero estas cosas no serán suficientes para convertirse en un experto en piratería ética.

Te recomiendo la Academia Kratikal como el mejor centro de capacitación en toda la India. Cuentan con las facultades altamente calificadas de IIT y NIT de allí y ofrece conferencias atentas con el máximo aprendizaje práctico. Para registrarse en el curso de piratería ética, haga clic aquí.

Y lo más interesante que me gustaría decirte es que un experto en seguridad cibernética gana $ 92,600 anualmente , según una encuesta.

Entonces, sin perder su tiempo, ¡comience a aprender un aprendizaje ético!

Eso depende de la aplicación. Por ejemplo, Java es el lenguaje de la empresa y lo ha sido durante mucho tiempo. Hoy en día hay muchas aplicaciones de servidor escritas completamente en Java. Sin embargo, ya no verá muchas aplicaciones Java del lado del cliente. De hecho, ha habido muchos avisos de seguridad en los últimos años que sugieren que las personas deshabiliten los applets de Java en los navegadores web. Entonces, en el caso de Java, lo que es bueno para las implementaciones de servidores es necesariamente bueno para las aplicaciones cliente, debido a preocupaciones de seguridad.

Una de las características que tienen Java y .NET que se considera segura para un desarrollo seguro es que ambas ejecutan aplicaciones en código administrado. Administrar código evita muchos de los problemas de seguridad asociados con el uso de lenguajes informáticos de uso general (por ejemplo, desbordamientos de búfer, desbordamientos de pila, código que llega a áreas de memoria no asignadas). Donde estos lenguajes fallan, es que todos tienen la capacidad de salir del código administrado y entrar en código desprotegido. Esto a menudo es necesario debido a las limitaciones del código administrado para acceder a las funciones del sistema. Hay muy pocos lenguajes de programación que se ejecutan completamente en código administrado. Por ejemplo Ada, Smalltalk, Prolog y algunos lenguajes de secuencias de comandos. El problema es que la mayoría de los sistemas operativos no están escritos en código administrado, por lo que las funciones del sistema de llamada generalmente requieren llamar a código no administrado.

Entonces, lo que es más importante que el lenguaje son las prácticas de desarrollo seguras. Eso significa centralizar las llamadas al código no administrado en una parte manejable de su aplicación con clases de fachada para proteger el programa para realizar llamadas no administradas al código del sistema. También debe haber una verificación de límites robusta en los objetos y las matrices, de modo que cuando se pasan a la clase las funciones de llamada del sistema; no tienen la posibilidad de sobrepasar ninguna memoria intermedia. Si sigue estas y otras prácticas de desarrollo seguro con respecto a las pruebas de seguridad, en realidad cualquier lenguaje de programación, especialmente los lenguajes de scripting, se puede usar de forma segura. Este es un gran tema; Le sugiero que investigue y aprenda sobre las prácticas de desarrollo seguro primero y luego elija qué lenguaje de computadora desea usar. Python, por ejemplo, si se desarrolla de forma segura, no debería presentar ningún problema de seguridad inherente.

  • python: si no puedes python, no puedes programar. Es un lenguaje fácil y absurdamente popular para las herramientas de seguridad. Bonificación: también aprende Ruby, es en lo que está escrito Metasploit.
  • C: conocer C y cómo interactúa con el hardware es fundamental para los programas compilados de ingeniería inversa. (Divulgación: ayudo a ejecutar DEF CON Capture the Flag, que ha sido un programa muy compilado desde que asumimos el control).
  • HTML y JavaScript: no puede comprender XSS y CSRF sin estos idiomas.
  • SQL: no puede hacer la inyección SQL sin conocer SQL.
  • Ensamblaje: conocer los dialectos populares de los lenguajes ensambladores es valioso para la ingeniería inversa. (A tener en cuenta: i386, x86-64 y ARM (32 y 64) son arquitecturas importantes)

Primero necesita alguna base sobre computadoras, redes, protocolos, servidores, Internet y algoritmos, antes de aprender lenguajes de programación específicos utilizados en ciberseguridad.

Aplicaciones web

1. HTML

2. Javascript

3. Bases de datos SQL

4. PHP

Explotar escritura

  1. Ensamblador
  2. C
  3. Pitón
  4. Rubí

Herramientas de escritura

  1. C / C ++
  2. Perl
  3. Pitón
  4. Java
  5. Rubí
  6. SQL

Ingeniería inversa

  1. Ensamblador
  2. C

Obviamente, el conocimiento de los lenguajes de programación es una ventaja adicional en el dominio de seguridad cibernética. Como le ayuda a comprender el funcionamiento de la aplicación de una mejor manera y, finalmente, al piratear / descifrar la aplicación.

Si hablamos sobre qué lenguajes de programación son mejores para la seguridad cibernética, te sugiero que aprendas JavaScript y Python.

JavaScript lo ayudará a comprender:

DOM basado en XSS (cross site scripting)

Encontrar y modificar elementos

Robar galletas

Manipuladores de eventos para realizar acciones maliciosas

Manipulación de formularios

Puede aprender JavaScript en el siguiente portal: Javascript para Pen Testers

Python, por otro lado, lo ayudará a escribir scripts para automatizar tareas y herramientas para mejorar su arsenal.

Puede aprender Python en el siguiente portal: Python para Pen Testers

Para un estudiante de ingeniería en ciencias de la computación, el punto de partida puede ser: – Conocimiento de aplicaciones web, lenguajes front-end, marcos como HTML / CSS, Php será útil. También es crucial comprender el flujo de aplicaciones y la lógica común utilizada. También sugeriría pasar por una publicación mía relevante: la respuesta de Ankit Shankar Giri a ¿Cuál es un buen área de inicio entre la seguridad de la aplicación web o la seguridad del sistema para un estudiante interesado en la seguridad informática?

Consulte también la siguiente respuesta mía en la respuesta de Ankit Shankar Giri a ¿Cuál es el futuro de la seguridad cibernética en la India? Soy un estudiante de ingeniería informática (3er año), ¿cómo empiezo a aprender sobre seguridad cibernética desde cero?

Borrarás la búsqueda de información en este Tutorial de elementos de seguridad informática

Okay. No soy un desarrollador profesional, ingeniero o especialista en seguridad (aunque me gustaría serlo …) pero después de mis años de “jugar” creo que tengo una comprensión básica de todo el “campo de seguridad cibernética”.

Es mi opinion que

R: definitivamente debes aprender las secuencias de comandos de shell de Linux. Si realmente quiere aprender hacki ético … ejem ciberseguridad … necesita aprender cómo rastrear un sistema. Sí, sé que no es un lenguaje de programación, pero es necesario para aprender cómo mantener las cosas “seguras” (que es un tema completamente diferente).

B: perl: personalmente no conozco ningún perl, pero sí sé que es una buena herramienta para automatizar ciertos máximos, como un desbordamiento de búfer.

C: c / c ++ (obtuviste eso. Si lo hiciste, si no genial … excelente de todos modos. Es un lenguaje de propósito general. Es bueno saber si quieres entender la seguridad de una herramienta de código abierto.

D: pitón y rubí. Sí, los emparejé como emparejé c y cpp, estos lenguajes son muy buenos para producir herramientas para pruebas de lápiz y producir módulos útiles para hacer palanca y manipular y arañar los sistemas y la red. De nuevo, por favor, no me arranques la cabeza. Solo estoy expresando mi opinión por lo que he visto y experimentado.

E: google. Omg esto es algo que la gente da por sentado. Este motor de búsqueda puede hacer la mayor parte del trabajo por usted. Solo tiene que ingresar los bits correctos. (JOHNNY LANG) si quieres entrar en la seguridad cibernética. Necesitas aprender a manipular google. La programación más importante que necesita para ser un experto en seguridad cibernética es …

esperadlo …

F: tu boca de mierda. Tu capacidad para comunicarte y extraer información vital sobre el sistema (KEVIN MITNICK) solo necesitas llamar y preguntar … largo aliento y mi primera respuesta Espero que sepas que los lenguajes de programación no tienen nada que ver con la seguridad cibernética, son los humanos quienes lo implementan.

Si quiere decir qué idiomas son más seguros, busque idiomas que tengan estos atributos clave:

  • Fuertemente tipado
  • Cadena primitiva sin carácter delimitador
  • Sin punteros
  • Gestión de memoria implícita y recolección de basura.
  • Verificación de límites de tiempo de ejecución (matrices, cadenas, etc.)

Obviamente, C / C ++ tiene un puntaje bajo en estos criterios, mientras que Java lo hace bastante bien.

Sin embargo, para la programación web, hay consideraciones adicionales, como secuencias de comandos entre sitios, inyección SQL y otras amenazas de los diez principales de OWASP. Aquí los lenguajes de script del lado del navegador tienden a ofrecer la seguridad más débil.

Veracode escaneó el código fuente de miles de aplicaciones web comerciales, y descubrió que las escritas en ASP y PHP son las más vulnerables, y las aplicaciones web Java son en realidad más frágiles que C ++.

¿Lección aprendida? Limite las secuencias de comandos del cliente a elementos de presentación de interfaz de usuario simples, use un lenguaje robusto del lado del servidor para la lógica empresarial y realice la validación de entrada en todo lo que provenga del cliente.

Nuno tiene una buena lista. También agregaría a esa lista:

  • Golpetazo
  • Potencia Shell
  • VBA
  • VBS

Bash es un lenguaje muy práctico para conocer, ya que es fácil realizar la manipulación básica de datos y la automatización.

Powershell está ganando popularidad con una velocidad aterradora. Hay muchas herramientas de explotación de publicaciones muy útiles escritas en Powershell.

VBA / VBS es una opción muy popular si está escribiendo documentos maliciosos de MS Office.

Dicho esto, te animo a que aprendas tantos idiomas como puedas. Si al menos puedes entender los conceptos básicos de la mayoría de los idiomas, estarás por delante de la mayoría.

Recientemente, durante una prueba de penetración, descubrí que podía cargar / descargar archivos a un dispositivo tipo SCADA sin ninguna credencial. No fue hasta que descubrí un archivo “.lua” en la carpeta de carga que esta vulnerabilidad se volvió muy interesante.

En un examen más detallado, parecía que el archivo contenía un código Lua cortado. Sospeché que era posible cargar mi propio código Lua personalizado. Si encontraba una manera de activar la ejecución, podría obtener acceso completo a ese sistema.

Así que me tomé el tiempo de aprender un poco de Lua básica para poder acceder al servidor. Mi pequeña incursión en Lua valió la pena. Descubrí que reiniciar el dispositivo haría que el servidor ejecutara mi script Lua.

En pocas palabras, ahora tenía acceso del sistema de acceso a la red interna porque me tomé el tiempo de aprender un poco de Lua. 🙂

¡Feliz pirateo!

Para la seguridad cibernética, definitivamente desea al menos un idioma formal. Sugeriría Occam-Pi o Spark 2014. Aunque no obtuve respuestas definitivas sobre sus méritos relativos, puedo decir que lo harán pensar sobre lo que significa la seguridad y dónde pueden ocurrir vulnerabilidades. También son excelentes idiomas para escribir código seguro.

También desea un dialecto seguro de C. C es increíblemente rápido e increíblemente de bajo nivel, pero también es una mezcla increíblemente congelada de buenas y malas ideas. Desea aprender y utilizar las buenas ideas, ofreciéndole el máximo rendimiento y el tipo de acceso de bajo nivel que necesita para realizar tareas en el cable y operaciones complicadas. Utilice un compilador de C completo, para el rendimiento, a menos que exista una necesidad legítima de alta integridad. En ese caso, use un compilador para un dialecto C probado. Por lo general, omitir métodos y funciones defectuosas es suficiente, los compiladores de C suelen ser lo suficientemente buenos.

Cada lenguaje de programación tiene dos lados: el mejor y el peor.

Mejor:

Javascript, python, C, C ++ se utilizan en el campo de la seguridad. Si desea proteger sus datos, información y hacer que los datos sean confidenciales en la red, estos lenguajes de programación se utilizan principalmente.

Lo peor

Los hackers están utilizando algunos conceptos principales de lenguajes de programación como C, C ++, Java, Perl.

Puedes ver que C y C ++ son útiles y también son dañinos …

La seguridad no está en el lenguaje, sino en cómo la usas. Las personas pueden usar prácticas inseguras en cualquier lenguaje de programación.

La mayoría de las personas te dirán Ruby o Python, pero necesitas algunos conceptos básicos sobre informática como estructura de datos, algoritmo si ya lo sabes, ve y aprende Python, es un lenguaje muy hermoso y muy flixable.

Yo también en la misma pista no es posible dominar en todos los idiomas ……

La seguridad cibernética es un gran océano, así que aplique la lógica de división y conquista …

Principalmente necesidades de seguridad cibernética

Habilidades en programación

Base de datos

Tecnología web

Pentesting

Modos de ataque …

Algunos idiomas importantes son

Pitón

PHP

JavaScript

SQL

Perl, C, Assembly, Python, Java y mucho más. Primero tiene que definir lo que le gustaría hacer en el mundo cibernético, que es una gran palabra para muchos campos. Luego, después de definir lo que le gustaría escribir, deberá pensar cuáles son los requisitos para esta tarea y qué lenguaje de programación puede brindarle el mejor resultado. No se confunda con tener un solo lenguaje de programación para todos los campos.