Lenguajes de Programación para Ciberseguridad

agosto 30, 2022

La programación dentro de dominios de la ciberseguridad como el pentesting, es algo elemental, si vas a dedicarte a detectar fallos de seguridad en aplicaciones, debes saber cómo está hecha una aplicación para poder detectar dichos fallos, saber leer y sobre todo entender código de otras personas es algo imprescindible si vas a ser un pentester.

Este tema realmente es algo muy debatible, muchos afirman que saber programar no es algo 100% necesario para el pentesting, la verdad es que, si lo es, no al nivel de crear una aplicación desde cero, pero si es necesario el que tengas esa independencia a la hora de crear tus propias herramientas, adecuar código de terceros dependiendo el contexto, leer y entender el código de una aplicación que estés auditando y demás.

Es por eso por lo que, hoy vamos a comentar cuáles son los lenguajes de programación ideales para aprender si te interesa el pentesting, estos lenguajes los vamos a dividir en tres grupos, los elementales, los orientados a pentesting web y los orientados a pentesting a sistemas operativos.

Elementales

Python

Este es el lenguaje que de verdad deberías aprender no solo si vas a dedicarte profesionalmente al pentesting, actualmente Python es por lejos el lenguaje de programación con la sintaxis más fácil de entender, además de contar con características atractivas para principiantes como el hecho de ser fuertemente tipado, no ser un lenguaje compilado y a su vez ser interpretado.

PowerShell Scripting

En este caso nos encontramos en un paradigma que solo es útil en sistemas Windows, pues al ser un lenguaje de scripting, nos permite combinar el uso de los comandos nativos de la powershell en conjunto con la lógica de programación, a pesar que la mayoría de servidores en el mundo usan distribuciones de Gnu/Linux, los sistemas Windows Server desde hace mucho tiempo se están haciendo un hueco cada vez más grande en el mercado y, es por esto que, si te dedicarás profesionalmente al pentesting, vas a toparte con muchos entornos de Active Directory, por lo que saber moverte de forma eficaz allí es elemental.

Bash Scripting

Seguidamente, tenemos otro lenguaje de scripting pero aplicado a distribuciones de Gnu/Linux y compatible con la Bourne Again Shell y derivadas, este lenguaje es bastante útil de cara a la creación de herramientas que te ayuden en tu labor como pentester u otras herramientas que no sean necesariamente para labores de seguridad ofensiva.

Realmente para pentesting es muy recomendable que en tu arsenal cuentes con el conocimiento de por lo menos estos tres lenguajes.

Lenguajes para Pentesting Web

JavaScript

Este lenguaje es entendido por casi todos los navegadores (digo casi porque hay tal y cual excepción, pero muy puntual) es el lenguaje que le da interactividad a las páginas web y se ejecuta en el lado del cliente, además, su sintaxis es bastante simple, no tanto como Python pero si es una buena opción para empezar si quieres programar desde cero.

PHP

A muchos no les cae muy bien este lenguaje, la verdad es que PHP es usado en la inmensa mayoría de sitios web existente hoy en día, por lo que saber su sintaxis y desenvolverse bien en entornos donde se use este lenguaje es elemental, además que hay muchas vulnerabilidades web que, puedes detectar solamente leyendo el código de la aplicación, lo cual es algo muy positivo en tu labor como pentester, recuerda que se trata de descubrir la mayoría (preferiblemente todos) los puntos débiles de los sistemas y aplicaciones para que luego estos fallos sean corregidos y los activos queden más seguros.

SQL

Este lenguaje como tal no es de programación (si hablamos de PL/SQL, sí) pero es usado para hacer consultas a bases de datos y, casi cualquier aplicación hoy en día usa por lo menos una base de datos, por lo que conocer la sintaxis de SQL es algo que no debe faltar en tu arsenal.

HTML y XML

Estos definitivamente no son lenguajes de programación, son lenguajes de etiquetas y, aprenderlos es muy simple, en una tarde puedes tener una base de ellos y, no es como que sean 100% necesarios, pero, si vas a auditar aplicaciones web, es recomendable que por lo menos, tengas una breve idea de este par.

Lenguajes para pentesting a sistemas

Go

Este lenguaje creado por Google, es lo mejor que existe para trabajar con conexiones y sockets, por lo que si planeas desarrollar una herramienta donde sepas que vas a interactuar mucho con otros dispositivos, Golang es tu lenguaje.

C

C es C y lo demás es monte y culebra (solo los venezolanos entenderán), este lenguaje es el padre, básicamente lo que sea que puedas imaginar, de alguna forma puedes hacerlo con C, por ponerte un ejemplo, Windows, esta hecho en C (aunque tiene partes en ensamblador y C++) pero conocer sobre C no solo te abrirá muchas puertas en ciberseguridad, sino en cualquier rama de la informática, eso sí, si lo comparamos con Python a nivel de sintaxis, son muy diferentes, ya que la sintaxis de C no es tan sencilla como la de Python, pero por las posibilidades que nos ofrece, vale la alegría aprenderlo.

Existen también otros lenguajes, como Java, Ruby, Perl y demás, sin embargo, ya quedará a decisión tuya cuáles aprender.

Cómo Eliminar Virus de WordPress

Si administras un sitio web hecho con WordPress, posiblemente has caído en el error de...
Google Hacking

Google Hacking Guía Elemental

El Google Hacking o Google Dorking, es el nombre que se le da al uso de operadores de...
VirtualBox Vs VMware

VirtualBox o VMware ¿Cuál elegir?

A la hora de querer implementar máquinas virtuales, es necesario primero que todo elegir...
Discord antivirus

El Mejor Antivirus para Discord

Discord es por lejos, una de las plataformas más usadas en tema de gestión de...