elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 09:14  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  Mini script para scaneo [bash]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mini script para scaneo [bash]  (Leído 1,696 veces)
elsebasoto

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Mini script para scaneo [bash]
« en: 27 Marzo 2011, 22:48 »

Hola gente, les traigo un pequeño script que hice para realizar escaneos

La idea es que muchas veces quiero obtener un listado de IP que dispongan de un determinado servicio abierto y no conseguí las IP una debajo de la otra.

Lo que hice fue utilizar unas opciones de Nmap para quitar información que me sobra y que a su vez acelera mucho el proceso.

Espero que les sea de tanta utilidad a ustedes como me fue a mi.

Si ponen -h les va a decir como usarlo.

Obviamente que está mas que en versión beta así que se aceptan criticas constructivas.  :D:D:D

Gracias y saludos a todos

Código:
#!/bin/bash

case ${1} in
"-h" )
echo -e "Search a service from an IP range"
echo -e "Usage:"
echo -e "scan.sh [service] [target] [output_file]"
echo -e "Service:"
echo -e "\tsmb"
echo -e "\thttp"
echo -e "\tftp"
echo -e "\tsmtp"
echo -e "\ttftp"
echo -e "Target:"
echo -e "\t192.168.1.1"
echo -e "\t192.168.1.0-255"
echo -e "\t192.168.1.0/24"
echo -e "Example: ./scan.sh smb 192.168.1.0/24 smb.txt"
echo -e "Author: elsebasoto"
exit
;;
"smb" )
ports="445"
start="32"
;;
"http" )
ports="80"
start="31"
;;
"ftp" )
ports="21"
start="31"
;;
"smtp" )
ports="25"
start="31"
;;
"tftp" )
ports="69 -sU"
start="31"
;;
esac

# Variables
target=${2}
output=${3}

# Scan target
nmap -v -n -PN -p $ports $target | grep "Discovered" > ./target.txt

# Split IP
while read line
do
   ip=${line:$start:15}
   echo $ip >> ./ip.txt
done < ./target.txt

# Sorting
if [ $output == "" ]; then
output="./ip.txt"
fi

sort ./ip.txt -o $output

# Cleaning temporal files
rm ./ip.txt ./target.txt


« Última modificación: 28 Marzo 2011, 12:20 por Novlucker » En línea
D4RIO


Desconectado Desconectado

Mensajes: 996


STOP CENSORSHIP


Ver Perfil WWW
Re: Mini script para scaneo [bash]
« Respuesta #1 en: 30 Marzo 2011, 17:25 »

Valida las variables de entrada, observa:

Código
# Sorting
if [ $output == "" ]; then
output="./ip.txt"
fi
 
sort ./ip.txt -o $output
 
# Cleaning temporal files
rm ./ip.txt ./target.txt

Si no se pasa archivo de salida, se definira ouput como ip.txt, se escribirá el archivo de salida alli, y luego se borrara porque ip.txt se cuenta como temporal y output por default.

Por otro lado debes considerar que estás usando archivos temporales cuando no los necesitas.


En línea

RSA/RSA 4096 confiable x-hkp://keys.keysigning.org 789D025D<<back|track>> user
elsebasoto

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Mini script para scaneo [bash]
« Respuesta #2 en: 31 Marzo 2011, 02:53 »

Muchas gracias por la anotación del ./ip.txt  :P

Quedaría así

Código:
# Cleaning temporal files
rm ./target.txt


Me gustaría mucho si me cuentas como hacer todo esto sin archivo auxiliar porque la verdad es que no se me ocurre.

Gracias por la ayuda!!!!  ;-) ;-) ;-) ;-)
En línea
D4RIO


Desconectado Desconectado

Mensajes: 996


STOP CENSORSHIP


Ver Perfil WWW
Re: Mini script para scaneo [bash]
« Respuesta #3 en: 31 Marzo 2011, 13:36 »

básicamente, el splitteo lo podés hacer con AWK y a lo sumo con Perl. Después lo pasas por un pipe a sort.

Pero el hecho de que no hayas visto lo del fichero temporal me hace pensar que no lo revisaste bien. Analizalo y deberías poder quitar ese fichero.
En línea

RSA/RSA 4096 confiable x-hkp://keys.keysigning.org 789D025D<<back|track>> user
elsebasoto

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Mini script para scaneo [bash]
« Respuesta #4 en: 23 Abril 2011, 00:30 »

Actualización

nmap -v -n -PN -p $ports $target | grep "Discovered" | awk -F "on " '{print $2}'

de ahí para abajo es historia pasada.

Le agradezco a xD4RIOx que me comentó el AWK

Saludos
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Script para bash
GNU/Linux
NEO+ 4 660 Último mensaje 30 Agosto 2006, 13:57
por NEO+
Nuevo script en bash para cracking local
Hacking Básico
[zOrK] 1 341 Último mensaje 2 Noviembre 2006, 04:54
por Zinc
Bash Script para hacer consultas de MYSQL
GNU/Linux
^Tifa^ 12 2,460 Último mensaje 12 Septiembre 2007, 21:41
por [ Alberto]
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 2,553 Último mensaje 4 Noviembre 2010, 15:58
por moikano→@
[Bash] Script para Organizar
Scripting
panchocolate 6 982 Último mensaje 7 Abril 2011, 04:23
por panchocolate
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines