¿En qué lenguajes y habilidades de programación debe ser competente un trabajador de ciberseguridad?

Solo voy a copiar y pegar una respuesta que hice de un hilo anterior, que tenía piratas informáticos en lugar de trabajadores de seguridad cibernética.

¿En qué lenguajes de programación debe dominar un aspirante a trabajador de ciberseguridad?

Bueno, depende de lo que creas que harás. En mi opinión como aspirante a hacker, debes acostumbrarte a programar en python. Es más simple que muchos otros idiomas y puede realizar tareas potentes con solo comandos simples. Es un gran lenguaje de programación para principiantes en general, ya que puede establecer la base para aprender cosas como c.

Ve a aprender Python, continúa con él hasta que tengas una gran comprensión de todo lo que puedes hacer. Haga programas, aumente su currículum y comience a hacer herramientas de infiltración del sistema. Pruébelos en su sistema u obtenga permiso para probar los sistemas de otros hasta que comprenda cómo entrar en los sistemas y cree su propio método.

Entonces, sugeriría aprender C # o C ++, ya que estos son lenguajes grandes que forman parte de .NET Framework y pueden funcionar mejor cuando se refieren a aplicaciones de escritorio.

¿Por qué aprender C al final? Python es un lenguaje mucho más simple, pero aún tiene el poder suficiente para realizar las tareas que desea. Demonios, ni siquiera necesitas aprender C si no sientes que es necesario. Python se puede usar para casi cualquier tarea, así que asegúrese de priorizar eso.

¿En qué habilidades debe dominar un aspirante a trabajador de ciberseguridad?

Existen muchas herramientas de piratería increíbles, que pueden realizar trabajos sin ningún conocimiento de programación y pueden configurarse a voluntad. Mi sugerencia sería descargar Kali Linux. Si desea mantener su sistema operativo actual, puede realizar un arranque dual (más rápido pero más difícil de configurar y configurar) o ejecutar desde una caja virtual (más lento, pero más conveniente para acceder y configurar). Esto incluirá la mayoría de las herramientas que necesitará para comenzar a hackear, desde MetaSploit hasta NMap.

  1. En primer lugar, aprenda y domine MetaSploit, lo más probable es que lo use mucho, ya que así es como encontrará la mayoría de sus exploits para ingresar a los sistemas. Esta es una de las mejores herramientas en Kali, así que no lo des por sentado.
  2. Aprenda a escanear redes. Programas como WireShark y NMap son buenos para esto. Esto puede escanear redes una vez que entras en ellas, dándote ip’s y puedes dar hashes. Estos se utilizarán principalmente después de que ingrese a los sistemas, por lo que esto no tendrá tanta prioridad como aprender metasploit, pero sigue siendo esencial.
  3. Aprenda programas como HashCat para romper hashes de contraseñas. Esto se usará para obtener acceso de administrador a los sistemas, rompiendo los hash. Se sugiere descargar su propia lista de palabras (las contraseñas utilizadas) con más de 10 gigabytes de contraseñas, pero Kali ya tiene muchas instaladas.

Solo tiene una idea general de Kali. Probablemente haya perdido muchos programas, y se recomienda aprender todo lo que pueda, ya que hay muchas maneras de irrumpir en los sistemas. Ahora en habilidades que podrían ayudar a comprender cómo entrar en los sistemas.

  1. Aprenda cómo funcionan los sistemas, creo que es bueno hacer mi propio sistema, y ​​reforzarlo contra cada exploit que conozco, e intentar piratearlo más tarde. Esto puede ayudar a sus habilidades de resolución de problemas, ya que tendrá que hacer nuevos exploits para entrar en ese sistema. Una vez que se realizan los nuevos exploits, parchelos y comience de nuevo.
  2. Practica la memoria. Juegue juegos de memoria u otras tareas para aumentar la memoria. Siempre es una sensación terrible cuando olvidas un paso, o arruinas algo en tu código o penetración, y eso hace que un buen recuerdo sea un buen rasgo.
  3. Acostúmbrate a obtener errores. Entiendo que puede ser frustrante trabajar horas en un programa y obtener un terrible error que puede hacer que tenga que mirar todo el código o reiniciarlo por completo. Acostúmbrate a esto, los programas fallan todo el tiempo, sucede lo mejor.
  4. Por último, no te quemes. Lea un libro, juegue un juego o salga de vez en cuando. Es mucho mejor tomarse un tiempo libre todos los días, o tomar descansos de vez en cuando que agotarse y no tener motivación durante días. Asegúrese de dormir bien (alrededor de 7 horas todos los días), y si no duerme un día, duerma más al día siguiente. No puedo enfatizar lo importante que es esto, me quedaré sin dormir por un día o dos, y miraré mi código al día siguiente y me avergonzaré de mí mismo por hacerlo tan descuidado.

Solo recuerda, lo haces porque te apasiona, de lo contrario, ¿cuál es el punto? Diviértete con la entrada en los sistemas, ¡y me gustaría desearle personalmente buena suerte!

Un trabajador de seguridad cibernética o alguien que ingrese a este campo debe conocer los conceptos básicos de algunos lenguajes de programación que incluyen C, C ++, Java, Python, Ruby, PHP.

En general, una persona que comienza en ciberseguridad no necesita conocer ningún idioma, ya que en este campo los conceptos principales se basan en la creación de redes. Necesita conocer los conceptos básicos de las redes muy bien.

Solo necesita conocer este lenguaje de programación solo si desea escribir sus propios scripts y herramientas. Python y Ruby son dos lenguajes principales que se usan para hacer herramientas y softwares. Un conocido software Metasploit está construido sobre Ruby.

Debe conocer el lenguaje PHP para fines de seguridad web, que incluye temas como phishing, inyección SQL, CSRF, etc.

Debe conocer C / C ++ para realizar ataques de desbordamiento, ya que en el lenguaje C / C ++ utilizamos punteros, que es la necesidad básica de los ataques de desbordamiento de búfer.

Ahora que se trata de habilidades, debe dominar los conceptos de redes, entonces solo podrá avanzar en este campo. Después de los conceptos de redes, debe comenzar con temas de seguridad cibernética como Malwares, ingeniería inversa, criptografía, ataques inalámbricos, ingeniería social, etc.

A medida que aprende nuevos conceptos, puede practicar de forma práctica. Hay varios sitios web que permiten torneos prácticos o practican problemas como CTF (Capture the Flag), Web Pentesting, etc. También puede encontrar errores en los sitios web. Pocos sitios web incluyen evaluación de vulnerabilidad y programas de recompensa de errores, coordinación de vulnerabilidad, todo sobre CTF (Capture The Flag)

¡Espero que esta respuesta ayude!

Gracias por el A2A. Consulte la respuesta de Chris Romeo a ¿En qué habilidades debería centrarme para convertirme en un valioso ingeniero de seguridad de software? por mis pensamientos sobre las habilidades en las que deberías ser competente.

En cuanto a los lenguajes de programación, es más importante tener una base sólida en al menos un lenguaje orientado a objetos. Podría ser java, ruby ​​o C ++. Obtuve mi base en Java hace años, y la uso como una aplicación de seguridad profesional todo el tiempo.

Aprender un lenguaje de programación siempre te ayudará de alguna manera en el futuro. Casi todos los trabajos complejos de ciberseguridad requieren algún tipo de conocimiento profesional sobre un lenguaje de programación.

Sin embargo, para comenzar con la piratería, cree un Live USB con distribución Debian, Kali, Ubuntu, RedHat o Linux. Comience aprendiendo primero los scripts de shell. La mejor manera de hacerlo es aprender sobre Kali Linux 2.0 en su Live-USB preferiblemente conectado a un MacBook porque tiene muchas herramientas preinstaladas que lo mantendrán alejado de la instalación de funciones adicionales.

Luego debes ir a Python. Python le permitirá crear algoritmos complejos utilizando solo un par de comandos. Y también es uno de los mejores idiomas para principiantes.

Además, como hacker, debes tener el conocimiento para crear sitios web. Para eso debes aprender html, css y javascript. Esto te ayudará enormemente a hackear sitios web porque la mayoría de ellos están codificados usando estos idiomas.

Además, siempre puede usar la función ‘ver código’ de su navegador para ver el código que alimenta el sitio web. Siempre hay una laguna en algún lugar del código.

Por último, pero no menos importante, elige c ++. No es exactamente para principiantes, pero definitivamente es el mejor para aprender cuando te conviertes en un usuario avanzado.

Para aprender habilidades adicionales, dirígete a Hackr.io – Encuentra y comparte los mejores cursos y tutoriales de programación en línea

Primero miraría PHP.

PHP impulsa una gran cantidad de sitios web, incluidos los más de 75 millones de sitios web de WordPress. Drupal y Magento son plataformas CMS basadas en PHP muy populares también.

PHP ha existido durante tanto tiempo que sería imposible para usted, como profesional de seguridad, no tener que lidiar con un sitio web violado que usa PHP de alguna forma.

PHP se basa en C, por lo que aprender PHP le dará la capacidad de comprender otros lenguajes que se basan en C.

También miraría a Python ya que se usa mucho para hackear scripts.

Powershell es la tercera opción, ya que muchos scripts de pirateo ahora están escritos en Powershell como la mayoría de los scripts de Powershell en la lista blanca del sistema operativo Windows.

Saludos

Bagazo

No existe un trabajador de seguridad cibernética , como lo llamaste. Esta definición es demasiado vaga y no coincide con ninguna descripción real del trabajo.

Los roles reales de seguridad cibernética son analista de SOC, ingeniero de redes, analista de malware, experto en inteligencia de amenazas, arquitecto de seguridad de redes, etc.

Cada uno de ellos requiere un cierto nivel de conocimiento de programación, pero no tienen los mismos requisitos, ya que las habilidades se vuelven cada vez más avanzadas durante el ascenso.

Yo diría que cuanto más sepas, mejor. Los lenguajes importantes que debe conocer son Python, C / C ++ / C #, Assembly, Java, HTML, PHP, Perl, Ruby y muchos otros.

Mucho depende de su rol específico, como dije.

Por ejemplo, un analista de malware debe ser competente en C y Assembly para analizar el código viral y evaluar lo que hace sin ejecutarlo, pero, dependiendo de lo que realice el malware, podrían ser necesarias otras habilidades, como PHP u otros si el malware se conecta a la web para hacer algo.

Sugeriría ir a una bolsa de trabajo como Monster o Glassdoor, buscar descripciones de trabajo reales en la industria (como las que mencioné antes) y verificar qué lenguajes de programación se requieren con mayor frecuencia para esos roles.

Un trabajador de seguridad cibernética debe conocer los conceptos de programación y cómo los programadores hacen programas para romper el sistema, debe aprender un solo lenguaje y en casi todos los conceptos de lenguaje de programación son los mismos. Si él / ella debe conocer el lenguaje ensamblador que realmente ayuda en el análisis de malware estático.

Las habilidades deberían ser la resolución de problemas con una computadora, que involucra todo, desde la automatización hasta la respuesta a incidentes y la detención del ataque.

En un mundo ideal, aprenderías todos los que usa

A) Las herramientas que usas

B) Las herramientas que escribirás

C) Las herramientas que estás protegiendo / atacando

Aquí hay una lista de idiomas que necesita saber o conocer lo suficiente para poder leer:

  1. pitón
  2. Java
  3. javascript
  4. php
  5. C / C ++
  6. Tal vez Intel x86 para análisis de malware y Stack smashing / otras cosas de desbordamiento de búfer

Necesitas continuar expandiéndote, pero para ser bueno, necesitas estos.

Las viejas preguntas sobre qué habilidades necesitas para ser un hacker competente 🙂

Si bien puede hacerle a las personas la pregunta precisa y obtener lo que sea que sea su idioma favorito o una lista con viñetas de cada idioma principal, la respuesta es realmente mucho más simple.

Asumiré que su objetivo es convertirse en un profesional de Infosec completo, por lo que nuevamente podemos descartar “depende” o debatir qué habilidades tiene alguien que trabaja como nivel 1 en un SOC en comparación con un CISO.

Yo diría que aprenda bien 1 idioma, para que pueda codificar sus propias herramientas básicas y automatizar partes de su trabajo. Si ese es Python (que es el sabor de la semana), es C o Perl o Java, solo aprende uno que tenga sentido para ti y que sea útil. Esa es la única respuesta real que existe: en mis más de 25 años, a nadie le ha importado cómo crear un guión de Splunk para automatizar informes o qué idioma usé para encontrar alguna aguja en algún montón de heno en alguna parte. Los resultados son lo que cuenta.

Creo que también encontrarás que uno aprende 1 idioma, los otros no parecen un misterio. Si puede codificar en Python, probablemente pueda descubrir Perl. Si conoce C, comprenderá Java. Claro, tal vez no te vayas a desarrollar mañana, pero tendrás las habilidades para descubrir “qué está pasando”.

En Infosec, como la mayoría de las empresas, lo que cuenta son los resultados, no necesariamente cómo llegó allí.

Dicho esto: / usr / bin / perl -e “print ‘perl is 31337 \ n'”;