30 agosto, 2016

Para el Hacking... El Python (I)

Buenas hoy os voy a traer la primera de una serie de entradas con las que aprenderemos a usar python, un poquito, para el hacking.

Principalmente hablar del lenguaje, un lenguaje de scripting creado a finales de los 80, por Guido Van Rossum, y blah blah blah.... Para quien quiera saber la historia, aquí os dejo un enlace que os puede interesar: Historia Python .

Bueno verdad que me acabo de saltar toda la historia (SKIP,SKIP,SKIP) pero diremos de el lenguaje que es un lenguaje interpretado, no hace falta compilar, podemos ejecutar directamente el código fuente, pues en cada ejecución se leerá cada sentencia y se interpretará. Es un lenguaje bastante útil en hacking y nos permite a través de sus millones de librerías realizar cosas que en otros lenguajes nos llevarían cientos de lineas ( estoy intentando pasar un código python a C++ y .... MUERTE).

Las sentencias son sencillas y no harán falta escribir los ';' finales de la mayoría de lenguajes. Eso sí habrá que tener cuidado con las tabulaciones pues es muy importante, en vez de  "{ }" las llavecitas de siempre, deberemos tabular cada linea dentro de un if, un else, un for ...

Para los que quieran aprender toda la sintaxis básica aquí os dejo un enlace con un manual de muy pocas páginas: Link más seguro que encontré

Bien hoy vamos a ver un programita que bueno, te hacen un screenshot en la pantalla. Podeis preguntar ¿ Y para qué...? . Bueno yo os doy las herramientas, vosotros pensad su utilidad malig... Digo su utilidad útil para el ma... Bueno pensad como querais.

Este programa hará uso de funciones que el señor Windows, deja de alguna manera en nuestra mano para usar como queramos.
Empecemos con las librerías:


Bien las dos primeras librerias no son necesarias, pero pueden ser útiles. La primera nos dirá si el sistema operativo donde se está ejecutando el programa es Windows o Linux o Mac ... Y la segunda nos valdrá para dar un nombre aleatorio al archivo final (este archivo para mayor facilidad será en formato bitmap).
Seguido, si nos encontramos en la tesitura de estar ejecutando el programa en un sistema operativo Windows, importamos las siguientes librerías, son la versión Python de la api de windows para tratar el Graphic User Interface, Información de usuario, y todo lo relacionado con la api Win32.

Finalmente establecemos una variable con un nombre aleatorio.

Vamos con nuestra función más principal de todas.
He comentado bastante el código (casi linea por linea). Pero bueno un poco os diré que todas estas funciones las proporciona Windows principalmente para otros usos, el GetDesktopWindow() podría usarse para generar ventanas derivadas de la actual (en relación padre-hijo). Tomar las medidas de la pantalla, normalmente pues puede valer para ajustar videos o imagenes al mostrarlos en la pantalla. Y bueno otro montón de funciones que tendrán más utilidades que tomar una captura (algo que de primeras, tiene más uso que los "ilegales").


Finalmente nos queda un main donde poder ejecutarlo, o una función que ejecute esto, lea el archivo, lo borre y luego pase el flujo de datos por algún socket (aham, aham ...).


Bueno, ya vemos aquí lo que realizamos, si no es windows pues oye que la función devuelva que no es windows. Y en caso que si sea Windows, pues ejecutamos, abrimos el archivo, leemos y devolvemos todos esos bytes.


Hasta aquí el primer artículo de una serie de artículos que escribiré sobre Python aplicado al hacking.
Sean buenos, cualquier cosa ya saben: Fare9.

(idea original libro: Black Hat Python).

0 comentarios:

Publicar un comentario