Mostrando entradas con la etiqueta scripts. Mostrar todas las entradas
Mostrando entradas con la etiqueta scripts. Mostrar todas las entradas

lunes, 2 de diciembre de 2013

Programacion de scripts con bash


Programando scripts en bash

Antes de empezar a tirar codigo :p adentremonos en un poco de pensamientos personales XD y despues un poco de teoría.

Cuando estas en el mundo del hacking y el pentesting llega un momento en el que es necesario y muy importante el hecho de que uno desarrolle sus propias herramientas o incluso que sepa leer lenguajes de programación para modificar y/o adecuar herramientas que tengamos en nuestro poder, particularmente me refiero a los scripts.

Ya tiene tiempo que tengo el entusiasmo de hacer un post sobre programación enfocada al hacking y pentesting y parece que hoy llego el día :D

Debo de mencionar que todos los ejemplos serán fotografías ya que de esa manera obligaré a todos a escribir el coódigo de nuevo para que no hagan solo lo copien :D de manera que si su script tiene algun error tendrám que identificarlo y repararlo por ustedes mismos :p

Bash:
Es el interprete de comandos que tienen la mayoría de las distribuciones linux (obiamente esto es una definición muy corta) entonces ya que es el interprete de la mayoría de las consolas de linux quiere decir que cuando estemos programando, bash entenderá los comandos de linux.

Antes de empezar a desarrollar nuestras herramientas hay que empezar con lo básico es decir aprendamos un poco de programación en bash.
Lo primero que necesitamos es saber es donde se encuentra el interprete de bash ¿espera el qué? jajaja bueno el interprete es el programa que entiende que es lo que estamos escribiendo en nuestro programa.

entonces para saber donde esta es interprete utilizemos el siguiente comando
which bash
Aqui vemos que la ruta donde se encuentra el interprete de bash es /bin/bash ahora ya podemos empezar a trabajar :D

hagamos nuestro primer programa que imprima un mensaje en pantalla

 ahora si empecemos en la 1er linea va la ubicacion del interprete y en las siguientes lineas el cuerpo de nuestro programa

 Aqui vemos que en la 1er linea mandamos llamar al interprete y las siguientes 4 lineas las usamos para documentar el programa, hasta la 6ta linea damos la instrucción de imprimir un mensaje en pantalla, pero todavía no terminamos hay que darle permisos de ejecución a nuestro archivo

Con el comando ls -l vemos que el archivo esta sin permisos de ejecución, (para permisos y comando chmod creo que hay bastante material en la red ), para ejecutar el script sería de la siguiente manera ./mensaje.sh

 Como vemos en la imagen, no es posible ejecutar el script ya que no tiene permisos de ejecucion entonces ahora demosle permisos puede ser:
chmod +x mensaje.sh
             Ó
chmod 775 mensaje.sh

de nuevo ponemos ls -la y vemos que el color de nuestro script cambio a verde ademas en la parte de la izquierda vemos una x lo cual quiere decir que ya puede ser ejecutado nuestro script
Listo script ejecutado exitosamente, bueno ahora que ya sebemos todos los pasos podemos irnos mas rápido, asi que demosle velocidad a esto :D

Veamos como declarar una variable e imprimirla en pantalla

Hacemos todo lo necesario para poder ejecutar el script y procedemos a ejecutarlo

Ahora veamos variables globales y variables locales
y aqui ejecutamos

Ahora veamos como recibir datos del teclado

Procedemos con la ejecución

Siguiente programa, hagamos un programa que detecta las teclas CTRL+c y usemos la "trampa" de bash

Procedemos a ejecutar la "trampa de bash"

Nuestro siguiente programa leerá un archivo

Aqui la ejecución

Creo que es un buen momento para mencionar las comparaciones aritmeticas en bash
-lt <
-gt >
-le <=
-ge >=
-eq ==
-ne !=

Teniendo ya conocimiento de las comparaciones artimeticas en bash hagamos otro tipo de cosas :)
hagamos  veamos como comprar valores de == en bash

Ejecutamos

Asi como hay operadores aritmeticos hay comparadores de cadena
= equal
!= not equal
< less then
> greater then
-n s1 string s1 is not empty
-z s1 string s1 is empty


Ejecutamos

Ahora veamos el ciclo for

Ejecutamos
También podemos ejecutarlo directamente desde la consola
Ahora hagamos un script para seleccionar en bash
Porcedemos con la ejecucion
Veamos otra manera de hacer elecciones, esta vez con case

Procedemos a ejecutarlo

Ahora veamos operaciones aritmeticas en bash
Procedemos a ejecutar

Por ultimo hagamos un script que detecte todas las ip que estan en uso en nuestra red
Ahora procedemos con la ejecución

Bueno esperemos tener una puequeña base de la programación de scripts en bash espero haya quedado todo entendido y este proximo año uno de sus propositos de año nuevo sea aprender algun lenguaje de scripting.