Ahora que estoy de vacaciones (bendita semana santa) he sacado un hueco para terminar uno de los muchos artĆculos que tengo pensado escribir sobre el lenguaje de programaciĆ³n python, donde a pesar de ser yo un reciĆ©n llegado al mundo python, ya me siento extremadamente cĆ³modo programando en python, hasta tal punto que se ha convertido en mi lenguaje favorito.
En artĆculos anteriores os hable de como usar python como lenguaje de Hacking, al hilo de los mismos, os voy a introducir en algunos conceptos y/o comandos de python de utilidad en el Ć”rea de la Seguridad InformĆ”tica, como por ejemplo ejecutar comandos del sistema de forma segura (evitando inyecciĆ³n arbitraria de comandos) desde un programa escrito en python.
IntroducciĆ³n
Cuando aprendes a programar lo habitual es empezar con el lenguaje pseudo-cĆ³digo y C, en mi experiencia programando, de C pase a emsablador Morotorla 6880 y luego C++; en el momento que empiezas a utilizar la programaciĆ³n orientada a Objetos descubres los beneficios e inconvenientes de los cuales no os voy a hablar. Lo mejor de python es la flexibilidad, rapidez e ingente cantidad de recursos disponibles con los que contar.
Tras probar varios lenguajes de programaciĆ³n (con sus contras y sus pros) me quedo con python, siendo este el inicio de una serie de artĆculos o publicaciones, donde os mostrare algunos ejemplos prĆ”cticos de programaciĆ³n en python (orientados a hacking), como es el caso de Ć©ste artĆculo, donde vamos a ver como leer los puertos abiertos del sistema (listening port).
¿ Por donde empiezo ?
Existen al menos tres maneras distintas de ejecutar un comando del sistema desde un programa escrito en python, la primera es utilizando las librerĆas del sistema os, la segunda, utilizando la librerĆa subprocess y la tercera, es utilizando la librerĆa commands.
Vamos a ilustrar con algunos ejemplos prĆ”cticos la utilizaciĆ³n de las diferentes librerĆas. Sin embargo, tanto como la librerĆas commands, como la librerĆa os, ha sido sustituidas por subprocess, por lo que centrarĆ© los ejemplos en subprocess.
Nota: Los ejemplos estan preparados para funcionar solamente en sistemas UNIX,
No obstante, las librerĆas commands, y os, ha sido sustituidas por subprocess.
Ejemplo 1
Ejecutar cualquier comando del sistema a travƩs de un programa escrito con python (run a system command through python script), en el ejemplo se ha utilizado "ls -lsa", para listar el contenido de un directorio.
CODE_
Example python code - e1-py |
Ejemplo 2
Ejecuta cualquier comando introducido por el usuario desde el teclado o STDIN !
Example python code - e2.py |
Ejemplo 3:
Ejecutar y mostrar el resultado de listar los archivos de un directorio "ls -ls", utilizando parametrizaciĆ³n del comando y usando tuberĆas en lugar de ejecuciĆ³n directa en la SHELL, es una forma mĆ”s segura de ejecutar comandos directamente en sistema, evitando ataques de COMMAND OS Injection sobre vuestro cĆ³digo, claro esta que esto es meramente un ejemplo didĆ”ctico y las diferencias entre los ejemplos son minimamente significativas.
CODE_
EjecuciĆ³n
ST2Labs > python e3.py
OUT_
Todos los ejemplos los puedes descargar desde mi repositorio ST2Labs en GitHub (https://github.com/ST2Labs/ST2Example).
#ST2Labs
0 comentarios:
Publicar un comentario