IDE Backdoor con Python

Scripting

Primero aprende informática y toda la teoría. Después desarrolla un estilo de programación. Entonces, olvídalo todo y hackea.»

George Carrette [1990]

He utilizado muchas veces python para optimizar tareas, automatizar procesos, en competiciones de CTF o para explotar alguna vulnerabilidad, en contexto laboral realizando ejercicios de hacking ético, pero siempre desde un entorno local ocupando mis propios editores pero hace poco realice un curso de Python en línea, y todo el proceso educativo y práctico se realizó en forma remota, ocupando un Sandbox que me permitía ejecutar todos los comandos de cada modulo aprendido. Cuando llegamos a la implementación de librerías, pensé, otra tarea cotidiana, si ya tienes nociones del lenguaje, ya que muchas funcionalidades que se utilizan requieren que se haga uso de una librería particular.

Pero no me había enfrentado a una interfaz remota, entonces me entro la curiosidad y me surgieron muchas preguntas, ejecutando un programa en forma local tienes accesos a los recursos locales, pero en un servidor remoto como implementa seguridad en su interfaz?, existirán librerías que no puedo utilizar?, existen comandos que estén prohibidos o el Sandbox esta tan «hardenizado» que no importa y en ese momento me sentí Harry Potter frente a La Sección Prohibida de la biblioteca de Hogwarts y comencé tímidamente, primero importando una librería utilizada para la ejecución de shell, luego ejecutando algunos comando.

Entonces la consola se comporto perfectamente, entregando todo lo que inicialmente solicite, pero esto será correcto, ¿debería tener acceso a comandos y archivos del contenedor?, quizás sólo sucedía en esta interfaz, así que decidí buscar otros en internet, la búsqueda me arroja más resultados de los que imagine.

Un IDE o entorno de desarrollo integrado es una aplicación que facilita al programador el desarrollo de software, normalmente un IDE consiste en un editor de código fuente, con herramientas adicionales como autocompletado, inteligencia de código, navegadores de clases, buscador de objetos, además poseen capacidad de depuración y compilación o interprete, según el lenguaje utilizado, entre otras funcionalidades que facilitan la construcción de un software, pero lo ya descrito representa en su gran mayoría a un IDE de escritorio, aunque existen versiones en línea con mucha funcionalidad o los llamados entornos de programación inteligente como AWS Cloud 9, Visual Studio Online o Codeanywhere entre otros. Pero lo que buscaba era algo más parecido a editores de códigos simples y la verdad encontré muuuchos de ellos.

Como se puede apreciar en las imágenes anteriores esta «funcionalidad», se repite en todos los editores que revise, algunos con más o menos comando, con más o menos privilegios. Estoy casi seguro que estos contenedores aún tienen más que decir y entregar, este es el comienzo de una hermosa y larga amistad.

Y por si se lo estaban preguntando. Si, aprobé el curso de Python!

#HappyHacking !