BlogNmap

Hack como un Pro Scripting para el aspirante a hacker, Parte 2 (Declaraciones condicionales)

¡Bienvenidos de nuevo, mis hackers novatos!

Recientemente comencé una serie sobre guiones y he recibido comentarios tan positivos que voy a continuar con esta serie. Como he dicho antes, para pasar de ser un niño de guiones a ser un pirata informático profesional, necesitarás tener algunas habilidades de escritura. Cuanto mejor sea la creación de scripts, más avanzado será su pirateo. En última instancia, nos dirigimos al desarrollo de las habilidades para crear sus propios exploits de día cero.

Dejé de enseñarle los conceptos básicos de las secuencias de comandos de shell en BASH y construí una secuencia de comandos simple que utilizaba nmap con nuestras entradas proporcionadas por el usuario para buscar puertos abiertos en un rango de direcciones IP. Espero que haya guardado ese script, ya que lo construiremos aquí, agregando funcionalidad adicional.

Paso 1: abre un editor de texto

El primer paso para crear cualquier script es abrir un editor de texto. Puede usar cualquier editor de texto, pero usaré kwrite en la versión KDE de BackTrack (si está usando la versión GNOME, gedit funciona igual de bien).

Ahora, en esta lección, estudiaremos declaraciones condicionales. Esas son declaraciones dentro de nuestro guión que nos permiten tomar decisiones. En otras palabras, “Si esto sucede, haz esto. Si sucede lo otro, haz eso”.

Paso 2: Si … entonces … si no

El tipo más básico de enunciado condicional que está disponible en casi todos los lenguajes de programación es el si … entonces … si no. Esto nos permite verificar una condición (si) y si es cierto, luego ejecutar alguna declaración o declaraciones, o demás hacer algo diferente. Su forma básica es:

El demás es opcional, ya que la instrucción condicional se ejecutará sin la cláusula else. En las secuencias de comandos de shell de BASH, cada if … then debe cerrarse con un “fi“o al revés de”si. “

Paso 3: agreguemos un condicional a nuestro script de escáner

Ahora que tenemos el concepto básico de un script condicional, agreguemos uno a nuestro script de escaneo llamado Scannerscript. Preguntémosle al usuario si quiere usar nmap o hping3 para escanear el objetivo. Si dicen que quieren nmap, entonces podemos ejecutar la parte original de nuestro script que hace el escaneo de nmap. Si quieren usar hping3, tendremos que agregar una nueva sección para recopilar información y luego ejecutar un escaneo de hping. Entonces, nuestra estructura de script debería verse así:

  • si quieres ejecutar nmap
  • luego ejecutar comandos y solicitudes de nmap
  • demás ejecutar comandos y avisos de hping

Paso 4: Cree nuestra declaración condicional

Ahora, editemos nuestro Scannerscript para darle al usuario la opción de usar nmap o hping para escanear. Primero, necesitamos preguntarle al usuario cuál quiere usar con un eco declaración.

  • echo “¿Le gustaría escanear usando nmap o hping”

Esto simplemente le pide al usuario que ingrese el escáner que le gustaría usar y que lo ingrese desde el teclado. A continuación, necesitamos capturar su entrada en una variable denominada escáner.

Ahora, viene la parte clave de nuestra declaración condicional, el if … then … else. Creamos una declaración que verifica qué valor ingresó el usuario cuando se le solicita, y luego envía nuestro script a la sección nmap, oa nuestra sección hping aún por crear. Podemos hacer esto con la siguiente declaración:

  • si “$ scanner” = “nmap” entonces

Tenga en cuenta algunas cosas aquí.

Primero el si es minúscula. Cualquier otra cosa arrojará un error de “comando no encontrado”. En segundo lugar, utilicé comillas dobles alrededor del valor de la variable. escáner. Esto es para indicar que quiero que una cadena se compare con la cadena “nmap”. En tercer lugar, al recuperar el valor de una variable, lo precedo con un PS señal.

Paso 5: Construya la sección de escaneo Hping

Ahora que hemos desarrollado nuestra estructura básica y lógica de nuestra declaración condicional, construyamos la sección hping que se ejecutará si el usuario elige que quiere ejecutar un escaneo hping. Comencemos preguntando al usuario qué dirección IP desea escanear y capturando los datos en una variable llamada Dirección IP.

  • echo “¿Qué dirección IP le gustaría escanear?:
  • leer dirección IP

A continuación, preguntemos al usuario qué puerto le gustaría escanear y capturar los datos en una variable llamada hpingport.

  • echo “¿Qué puerto le gustaría buscar?:
  • leer hpingport

Finalmente, preguntemos al usuario cuántos paquetes le gustaría enviar. Recuerde, hping continúa enviando paquetes hasta que se detiene al igual que el comando ping en Linux (y a diferencia del comando ping en Windows que solo envía 4 paquetes y luego se detiene). Podemos determinar cuántos paquetes escanear usando el -C cambie el comando hping. Entonces, preguntemos al usuario cuántos paquetes le gustaría enviar y recopilemos esa información en una variable llamada paquetes.

  • echo “¿Cuántos paquetes le gustaría enviar?”
  • leer paquetes

Paso 6: Cree nuestro comando de escaneo hping3

Ahora tenemos toda la información que necesitamos del usuario y la guardamos en variables para crear nuestro comando hping3.

  • hping3 -c $ paquetes $ dirección IP -p $ puerto hping> hpingscan

Esta declaración dice ejecutar el comando hping3 y enviar $ paquetes número de paquetes al $ Dirección IP Dirección IP, buscando $ hpingport puerto abierto y enviarlo todo a un archivo llamado hpingscan.

Paso 7: Probémoslo

Para ejecutar este script y ver si funciona, primero volvamos a guardarlo como Scannerscript. Ahora vamos a abrir una terminal y ejecutarla escribiendo;

Como puede ver, cuando le pedí que ejecutara el escaneo de nmap, lo hizo.

Ahora viene la parte crítica. Pidamos a nuestro Scannerscript que ejecute un escaneo de hping. Para hacerlo, tendrá que verificar si el usuario solicitó un escaneo nmap o hping, y si es un escaneo hping, salte la sección nmap de nuestro código y vaya directamente a la sección hping. Esto utiliza nuestra declaración condicional. Hagamos un intento.

¡Éxito! Nuestro script permitió al usuario seleccionar un nmap o un escaneo hping usando el condicional if … then … else!

En futuros tutoriales, continuaremos desarrollando la funcionalidad de este script, así que asegúrese de guardarlo. Eventualmente veremos otros lenguajes de scripting como Perl, Ruby y Python para que podamos construir nuestro propio exploit de día cero.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar