BlogWonderHowTo

Hackear como un Pro Scripting en Perl para el aspirante a hacker, Parte 1

¡Bienvenidos de nuevo, mis aprendices de hackers!

Para ingresar a los escalones superiores del mundo de los hackers, DEBE desarrollar habilidades de scripting. Está muy bien usar las herramientas de otros hackers, pero para obtener y mantener la ventaja, debe desarrollar sus propias herramientas únicas, y solo puede hacerlo desarrollando sus habilidades de scripting.

La historia de Perl

Probablemente el lenguaje de secuencias de comandos más utilizado en el entorno Linux es Perl, que no es un acrónimo, aunque muchos creen que significa Practical Extraction and Report Language.

Perl fue desarrollado por el lingüista Larry Wall en 1987. Lo diseñó específicamente para manipular texto. Wall estaba interesado en diseñar un lenguaje de secuencias de comandos que fuera capaz de extraer texto de múltiples fuentes para informes, algo que damos por sentado ahora, pero no es simple en un entorno empresarial heterogéneo de 1987.

Por qué Perl es tan importante en Linux

Como casi todo en Linux es un archivo y muchos de ellos son archivos de texto simples, Perl ha demostrado ser particularmente útil en el entorno Linux. Además, Perl nos da la capacidad de usar comandos de scripts de shell en nuestros scripts, lo que lo hace extremadamente útil para tareas de piratería de scripts que requieren comandos de shell y manipulación de texto, como el reconocimiento y la piratería de sitios web.

Perl también es la fuente de expresiones regulares útiles, o regex, que se han abierto camino en muchas aplicaciones de piratería, seguridad y Linux. Estas expresiones regulares nos dan mucho más poder para encontrar patrones de texto en numerosas aplicaciones como Snort, MySQL, etc. Las expresiones regulares se desarrollaron por primera vez para Perl y en algunos casos se conocen como Expresiones regulares compatibles con Perl o PCRE.

Perl en su sistema

Afortunadamente, debido a que Perl se usa tan ampliamente en Linux, todas las distribuciones de Linux vienen con un intérprete de Perl y Kali no es una excepción. Si está ejecutando Windows, puede descargar el intérprete de Perl aquí.

Perl se ha utilizado para desarrollar una serie de herramientas de piratería, incluidas nikto, onesixtyone, snmpenum, fierce, adminfinder y muchas otras. Perl también se ve favorecido por su capacidad para ser utilizado para enviar scripts SQL desde una aplicación web a una base de datos backend (el sitio web de Amazon lo utiliza para este propósito).

Si queremos buscar todos los scripts de Perl en Kali, podemos hacerlo escribiendo:

Podemos ver que hay literalmente cientos de scripts para múltiples propósitos en Kali. Esta es solo la punta del iceberg como una indicación de la importancia de los scripts Perl en la piratería y la administración de Linux de propósito general.

Perl es tan importante que haré al menos tres tutoriales de Perl a medida que avancemos hacia el desarrollo de nuestras propias herramientas / scripts de piratería con Perl, Python y Ruby.

Entonces, ¡comencemos a Perl-ing!

Paso 1: crea un guión

Puede desarrollar sus scripts Perl en cualquier plataforma con el intérprete Perl instalado y cualquier editor de texto, incluyendo vim, emacs, kate, gedit, etc. Aquí usaremos el editor de texto Leafpad que está integrado en Kali para desarrollar un script Perl simple. A medida que avancemos, querremos agregar un entorno IDE que pueda hacer que el desarrollo de scripts y la depuración sean mucho más simples y productivos.

Abramos Leafpad yendo a Aplicaciones, Accesorios y luego Leafpad.

Con Leafpad abierto, escriba lo siguiente:

  • #! / usr / bin / perl
  • imprimir “¡Hola null byte! n;

La primera línea simplemente le dice al sistema qué intérprete usar para ejecutar el código que sigue. El primer segmento, el “#!” se refiere a menudo como el “shebang”. En nuestro caso, queremos que este código sea interpretado por el intérprete de Perl, así que seguimos el shebang con “/ usr / bin / perl”.

La segunda línea es una simple declaración impresa. Queremos que el sistema imprima “Hello Null Byte!”. Terminamos con el carácter especial ” n” que termina la línea.

Ahora vamos a guardarlo y llamarlo “firstperlscript”.

Paso 2: establecer permisos

Naveguemos hasta el directorio en el que lo guardamos y escriba:

Como puede ver, nuestro script se ha guardado con el permiso predeterminado de 644. Para poder ejecutar este script, necesitaremos permisos de “ejecución”, por lo que debemos cambiar los permisos a 755 de esta manera:

  • chmod 755 firstperlscript

Paso 3: ejecutar el script

Ahora que tenemos el permiso de ejecución, podemos ejecutar este mini script escribiendo:

Como puede ver, imprimió “Hello Null Byte!” tal como pretendíamos.

Paso 4: Caracteres especiales en Perl

Perl tiene numerosos caracteres especiales que podemos usar. Como puede ver en el script anterior, usamos ” n”, que es un carácter de nueva línea. Algunos otros de los caracteres especiales de Perl son:

  • 0xx – el carácter ASCII cuyo valor octal es xx
  • a – un personaje de alarma
  • mi – un personaje ESCAPE
  • norte – un personaje NEWLINE
  • r – un personaje de REGRESO
  • t – un personaje TAB

Hay muchos más, pero esto es solo una muestra de los muchos caracteres especiales de Perl. Introduciremos más a medida que los necesitemos en los siguientes tutoriales de Perl.

Paso 5: Variables en Perl

Habiendo ejecutado un script de Perl muy simple, agreguemos algo de capacidad y complejidad. Por lo general, al ejecutar cualquier script, necesitaremos algunas variables para contener información. Las variables en Perl se designan de manera similar a Linux, usando “$” antes de una etiqueta para la variable, como $ nombre.

Ingresemos el siguiente código en nuestro editor de texto.

Ahora, examinemos este sencillo script línea por línea.

  1. La primera línea le dice al sistema qué intérprete utilizar para ejecutar este script.
  2. La segunda línea simplemente imprime la declaración.
  3. La tercera línea imprime una pregunta preguntando al usuario cuál es su sitio web favorito.
  4. La cuarta línea coloca el STDIN en una variable llamada $ nombre.
  5. La quinta línea usa el masticar función en la variable $ nombre. Esta función eliminará cualquier carácter de nueva línea potencial que el usuario haya ingresado al responder nuestra pregunta.
  6. Finalmente, la sexta línea imprime nuestra respuesta con la entrada del usuario que está en la variable $ nombre.

Paso 6: ejecutar el script

Ahora, guardemos este script como segundo guión y cambiar sus permisos de 644 a 755, permitiéndonos ejecutarlo. Finalmente, ejecutémoslo escribiendo:

¡Éxito! Pudimos capturar la entrada del usuario en la variable $ name y luego usar esa entrada en una declaración impresa sobre nuestro sitio web favorito, Null Byte.

Paso 7: comandos de shell en Perl

Una de las ventajas de usar Perl es que nos permite usar comandos de shell directamente desde nuestro script al sistema subyacente. Hay varias formas de hacer esto, pero prefiero usar el sistema función con el comando de shell entre paréntesis y comillas dobles (veremos otros métodos en tutoriales de Perl posteriores).

Para demostrar esto, agreguemos la siguiente línea a nuestro script

Ahora guardémoslo como tercer guión y nos damos permisos para ejecutarlo.

Paso 8: ejecutar el script

Cuando se ejecuta el script, hace lo mismo que nuestro segundo guión, pero también interactúa directamente con el sistema operativo para obtener la dirección IP y otra información de red en el sistema del usuario.

¡Solo puede imaginar lo que esta capacidad puede hacer por nosotros como piratas informáticos!

¡Sigan regresando, mis aprendices de piratas informáticos, para futuras partes a medida que desarrollamos nuestras habilidades de Perl para convertirnos en piratas informáticos profesionales!

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mira también
Cerrar
Botón volver arriba
Cerrar