Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: ARSET en 10 Enero 2013, 20:08 pm



Título: NMAP NSE subscan en un script
Publicado por: ARSET en 10 Enero 2013, 20:08 pm
Hola mi pregunta es se puede hacer un especie de sub-escaneo por medio de un script de nmap "*.nse" o algo asi?

>nmap -v -v -iR 1000 -p 80 --script mi_script.nse

y a los que encuentre con el puerto 80 TCP y  open les hago otro escan tipo

>nmap -v -v -A variable.host


Gracias de antemano e tratado buscando en google pero hay poca info en español sobre como crear script para nmap y poca explicación para sus librerías.  :huh:


Título: Re: NMAP NSE subscan en un script
Publicado por: ameise_1987 en 10 Enero 2013, 21:16 pm
lamentablemente el inglés es necesario si no te quieres estacar en conocimientos, y eso es para cualquier campo, no solo informática.

descripción completa del funcionamiento del LUA + NSE .(inglés)

http://media.blackhat.com/bh-us-10/whitepapers/Vaskovitch/BlackHat-USA-2010-Fyodor-Fifield-NMAP-Scripting-Engine-wp.pdf

algo de información en español.
http://www.linux-magazine.es/issue/77/032-035_ScriptingNmapLM77.pdf

lo que buscas claro que se puede hacer, pero tendrás que leerte la documentación de nmap además te recomiendo echar un vistazo a los script de nmap que se encuentran en la ruta /usr/share/nmap/scripts .

saluos!.


Título: Re: NMAP NSE subscan en un script
Publicado por: ameise_1987 en 13 Enero 2013, 06:24 am
Código
  1. description=[[
  2.                Este script es una *****!!
  3.            ]]
  4. categories={ "p**a","dios" }
  5.  
  6.  
  7. action = function(host,port)
  8.    os.execute("nmap -sV "..host.." -p "..port)
  9. end
  10.  
  11.  
  12. portrule=function(host,port)
  13.    local puertos={number=80,protocol="tcp"}
  14.    local respuesta=nmap.get_port_state(host,puertos)
  15.  
  16.    if respuesta ~= nil and respuesta.state=="open" and port.protocol=="tcp" and port.state=="open" then
  17.  
  18.        print("\n+++ PUERTO 80 ABIERTO, REALIZANDO SEGUNDO ESCANEO ++++\n")
  19.        action(host.ip,port.number)
  20.        return 0
  21.    end
  22. end
  23.  
  24.  

mira este código que hice, primero en portrule, verifico si el puerto 80 tcp previamente escaneado se encuentra abierto, si lo está ejecuta la función action que ejecuta nuevamente nmap con el segundo escaneo. si eres vivo, modificas este y lo tienes listo, para hacerlo funcionar debes copiarlo a /usr/share/nmap/scripts , luego ya sabes como echar a andar un script en nmap.

nmap www.google.cl -p 80 --script prueba

saluos!

PD: acá hay un tutorial de LUA para que comprendas este lenguaje, luego la información que te da fiodor de su herramienta es bastante intuitiva.

http://foro.elhacker.net/scripting/tutorial_comenzando_en_lua_by_me-t311076.0.html


Título: Re: NMAP NSE subscan en un script
Publicado por: ARSET en 15 Enero 2013, 01:02 am
 ;D
Excelente ni mandado a hacer jajaja
muchas gracias, el os.execute() era la instrucción que yo no sabia como expresar.


Título: Re: NMAP NSE subscan en un script
Publicado por: it3r en 15 Enero 2013, 02:03 am
Código
  1. description=[[
  2.                Este script es una *****!!
  3.            ]]
  4. categories={ "p**a","dios" }
  5.  
  6.  
  7. action = function(host,port)
  8.    os.execute("nmap -sV "..host.." -p "..port)
  9. end
  10.  
  11.  
  12. portrule=function(host,port)
  13.    local puertos={number=80,protocol="tcp"}
  14.    local respuesta=nmap.get_port_state(host,puertos)
  15.  
  16.    if respuesta ~= nil and respuesta.state=="open" and port.protocol=="tcp" and port.state=="open" then
  17.  
  18.        print("\n+++ PUERTO 80 ABIERTO, REALIZANDO SEGUNDO ESCANEO ++++\n")
  19.        action(host.ip,port.number)
  20.        return 0
  21.    end
  22. end
  23.  
  24.  

mira este código que hice, primero en portrule, verifico si el puerto 80 tcp previamente escaneado se encuentra abierto, si lo está ejecuta la función action que ejecuta nuevamente nmap con el segundo escaneo. si eres vivo, modificas este y lo tienes listo, para hacerlo funcionar debes copiarlo a /usr/share/nmap/scripts , luego ya sabes como echar a andar un script en nmap.

nmap www.google.cl -p 80 --script prueba

saluos!

PD: acá hay un tutorial de LUA para que comprendas este lenguaje, luego la información que te da fiodor de su herramienta es bastante intuitiva.

http://foro.elhacker.net/scripting/tutorial_comenzando_en_lua_by_me-t311076.0.html

hola, me surgio una duda que no entiendo, cual es la diferencia entre  respuesta.state=="open"  y  port.state=="open"

saludos


Título: Re: NMAP NSE subscan en un script
Publicado por: ameise_1987 en 15 Enero 2013, 02:15 am
respuesta es la respuesta del método que llamamos para obtener el estado del puerto, el otro es el puerto que se pasa por linea de comandos, se hace una doble comprobación que esta descrita en la documentación, ahora ¿por qué se hace ?, lo mejor es preguntarle a fiodor, por que igual no encuentro mucha lógica.


Título: Re: NMAP NSE subscan en un script
Publicado por: it3r en 15 Enero 2013, 14:41 pm
respuesta es la respuesta del método que llamamos para obtener el estado del puerto, el otro es el puerto que se pasa por linea de comandos, se hace una doble comprobación que esta descrita en la documentación, ahora ¿por qué se hace ?, lo mejor es preguntarle a fiodor, por que igual no encuentro mucha lógica.


Gracias, justamente no entendía porque revisaba 2 veces si estaba abierto el puerto.

PD:Que bonito ver scripts en lua :).