lunes, 29 de enero de 2018

Python, ¿por qué es el lenguaje más usado en seguridad?

No quería acabar el mes de enero sin escribir mi primer post. Profesionalmente me considero SecDevOps, y aunque mi pasión es la parte SecOps, hoy vamos a hablar de Dev ;)

Tanto si tienes experiencia como si eres nuevo en el área de la seguridad, te estarás preguntando o te habrás preguntado porque Python es el lenguaje más utilizado en el campo de la seguridad. A continuación dejo la respuesta a esta pregunta.



Python es multiparadigma agrupa la programación orientada a objetos, la imperativa y, en menor medida, la funcional. Además, no necesita compilar el código, porque es interpretado. Esto, y la sintaxis legible que ofrece, hace que programar con Python sea fácil y rápido.


Python también cuenta con una gran comunidad que ha desarrollado una gran cantidad de paquetes (librerías) de código abierto. Si entramos en el repositorio (Python Package Index - PyPi) donde se almacenan estos paquetes, podemos encontrar unos cuantos que nos ayudan a trabajar con la seguridad, como por ejemplo:

a) scapy: herramienta interactiva para la manipulación de paquetes de red.

b) python-nmap: contiene una clase para usar nmap y acceder a los resultados con python 3.

c) pytbull: es un marco de prueba IDS/IPS flexible, con más de 300 pruebas, agrupadas en 9 módulos, que cubren una amplia gama de ataques (clientSideAttacks, testRules, badTraffic, fragmentedPackets, MultipleFailedLogins, evasionTechniques, shellCodes, denialOfService, pcapReplay)

d) scrapy: framework de alto nivel para Web Crawling y Web Scraping.

e) y un gran etcétera.


¿Entonces si "cacharreo" y/o trabajo en seguridad tengo que utilizar Pyhton?

No, puedes utilizar cualquier lenguaje (Bash, Perl, Ruby, C, Java). Pero si estás en seguridad, te verás en situaciones en las que tendrás que hacer tus propios "scripts", ya sea para realizar un escaneo de puertos, para capturar tráfico, para explotar una vulnerabilidad o, simplemente automatizar cierta tarea. Realizar la misma funcionalidad con cualquier otro lenguaje de programación de "scripting" que no sea Pyhton te costará bastante más tiempo, ya que no encontrarás paquetes pre-desarrollados para tal fin. Y utilizar otro lenguaje que no sea de "scripting" se convierte en un infierno de tarea.

Si os ha gustado este post, apoyadlo, hacédmelo saber y continuaremos hablando de SecDev.

Un saludo.

@jortfal :)
Hacking & Programming with a Smile!

0 comentarios:

Publicar un comentario