Laboratorio Practico Google Dorks, Whois

GOOGLE DORKS Los google dorks son simplemente combinaciones de operaciones de búsqueda estructurada de tal forma que el

Views 253 Downloads 5 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

GOOGLE DORKS

Los google dorks son simplemente combinaciones de operaciones de búsqueda estructurada de tal forma que el resultado de la misma permita evidenciar información que en una búsqueda normal no es mostrada. https://www.exploit-db.com/ https://www.exploit-db.com/google-hacking-database/

Algunos códigos son:

filetype:sql “# dumping data for table” “`PASSWORD` varchar” Bases de datos sql volcadas completas, tienen datos de usuarios y contraseñas. Se pueden hacer modificaciones en la cadena de búsqueda, para sacar otros tipos de información.

ext:pwd inurl:(service | authors | administrators | users) “# -FrontPage-“ Usuarios y claves de administradores, para modificar la web

intitle:”index of” “Index of /” password.txt Servidores con un archivo llamado password.txt. Se puede centrar por países con site:.es o por páginas educativas con site:.edu

filetype:inc intext:mysql_connect password -please -could -port filetype:sql “MySQL dump” (pass|password|passwd|pwd) Google nos da más de 2.000 usuarios y contraseñas de bases de datos MySQL

“there are no administrators accounts yet” “create the Super User” inurl:admin.php

Instalaciones de php nuke ( PHP-Nuke es un sistema automatizado de noticias basado en la web y sistema de gestión de contenido ) a mitad de proceso, que nos piden que elijamos la contraseña de administrador.

XSS inurl:".php?cmd=" inurl:".php?z=" inurl:".php?q=" inurl:".php?search="

Harvester es una script que fue diseñado para utilizar los motores de búsqueda comunes como recurso para buscar principalmente direcciones de correo electrónico, aunque también puede servir para buscar información relevante distinta a los correos electrónicos.

Con -d especificamos el dominio al cual buscar

También ayuda a identificar direcciones ip

Los reverse DNS o rDNS básicamente hacen lo contrario a los DNS “normales”. Es decir, en vez de resolver un nombre de dominio hacia una IP, lo que hace es resolver una IP hacia un nombre de host. La resolución inversa o rDNS se encuentra completamente separada de la resolución DNS regular, por lo tanto, por ejemplo, si el dominio “sunombrededominio.com” apunta hacia la IP 1.1.1.1, no necesariamente significa que la resolución inversa para la IP sea 1.1.1Para almacenar los registros de resolución inversa, se utiliza un tipo de registro DNS específico: el registro PTR. El registro PTR es el registro de recurso (RR) de un dominio que define las direcciones IP de todos los sistemas en una notación invertida.

Theharvester -d unal.edu.co -b google -n

|less (nos permite ver la información de forma clara)

Esto podría servir para vender listas de correo a empresas de marketing.

Netcraft Netcraft es una compañía que hace auditorías de seguridad. En este sitio la herramienta que vamos a utilizar es la que nos permite saber qué servicios o que aplicaciones está corriendo un sitio web en específico. https://www.netcraft.com

Whois Whois está relacionado con los nombres de dominio y con los servidores DNS. Es un comando que nos permite consultar en los servidores DNS que hay disponibles para identificar la información de registro dentro de una base de datos de dominios en particular. Nombre de dominio = Nombre que identifica un servidor o un servicio a través de la web. Servidores DNS = Nos permiten registrar un nombre de dominio, una palabra que sea fácil de recordar en lugar de tener que utilizar toda una dirección IP cada vez que queramos acceder a un sitio. https://who.is

CONSULTAS DE DNS DNS = Servidores expandidos por todo el planeta. Las DNS son las siglas que forman la denominación Domain Name System o Sistema de Nombres de Dominio y además de apuntar los dominios al servidor correspondiente, nos servirá para traducir la dirección real, que es una relación numérica denominada IP, en el nombre del dominio. HOST: en Kali hace una solicitud para identificar la ip y los servicios asociados al dominio. La Solicitud se realiza desde la estación de trabajo al servidor dns del ISP. ZONA DE TRANSFERENCIA: información enviada de un servidor dns a otro DNSENUM: Se obtiene información de un dominio especifico. Mostrar todos los subdominios asociados a un dominio. DNSMAP: Consulta de DNS mediante pruebas de fuerza bruta para identificar mas servicios de un dominio especifico para conocer más ips implicadas. NSLOOKUP: Permite realizar búsquedas mediante querys a nivel de DNS. Posee su propia consola de comandos. su función es determinar si una dirección determinada responde.

DNSMAP Podemos hacer ataques de fuerza bruta Que se puede hacer con dnsmap:

1. Encontrar interesantes servidores de acceso remoto.

2. Búsqueda de servidores mal configurados y / o sin parche.

3. Búsqueda de nuevos nombres de dominio que le permitirá asignar bloques de red nonobvious/hard-to-find

4. A veces usted encontrará que algunos subdominios por fuerza bruta al resolver las direcciones IP internas (RFC 1918). Esto esta muy bien ya que a veces son reales hasta al día registros “A” que significa que * es * posible enumerar los servidores internos de una organización de destino de la Internet utilizando sólo el estándar de resolución de DNS (como oppossed a las transferencias de zona, por ejemplo).

5. Descubrir dispositivos embebidos configurados mediante servicios de DNS dinámico . Este método es una alternativa a los dispositivos de búsqueda de Google a través de técnicas.

Se puede hacer fuerza bruta con una función de la lista de palabras dnsmap o una lista de palabras por el usuario. Los resultados se pueden guardar en formato CSV y formato legible para su posterior procesamiento.

Sintaxis dnsmap [opciones]

Opciones -w {word-list.txt}Word-list que tiene el usuario a usar -r {Direccion a guardar} Genera una salida con los resultados -c {Direccion a guardar} Genera una salida de formato csv -d {Tiempo en milisegundos} Tiempo de retraso o respuesta -i {IP a ignorar, para meter varias separadas por una coma} IP con faltos positivos, las pasa por alto

Ejemplos

Ataque de fuerza bruta a los sub-dominios con el built-in word-list dnsmap facebook.com

Ataque de fuerza bruta a los sub-dominios pero esta vez con una word-list personal dnsmap facebook.com -w lista.txt

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp/ dnsmap facebook.com -r /tmp/

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp/ y esperando un muestreo de 3 milisegundos dnsmap facebook.com -r /tmp -d 300

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp, con un tiempo de 0.8 segundos, generando un archivo csv en /tmp y que ignore las ips siguientes y que use una word-list personal.

dnsmap facebook.com -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt

Directorio donde se encuentran combinación de letras para ataque

Podemos copiar el archivo dnsmap.txt

Presionar cualquier tecla para regresar´

Un registro MX (del inglés Mail eXchange record, en español "registro de intercambio de correo") es un tipo de registro, un recurso DNS que especifica cómo debe ser encaminado un correo electrónico en internet.

Zonas de transferencia y brute-force a DNS Comando host = Es un comando que hace un request de DNS básico para obtener una IP, similar al request de cuando escribimos en el navegador el nombre de un sitio web, por ejemplo, www.unal.edu.co

Para tomar en cuenta: Muchas veces un solo nombre de dominio puede estar asociado a varias direcciones IP o a varios servidores, esto se hace sobretodo cuando son servidores que demandan mucho tráfico para tener varios servidores disponibles para el mismo servicio.

Comando dnsenum = Alista todos los subdominios que estén asociados a un dominio.

¿Cómo funciona DNS? DNS es una red de servidores que está expandida por todo el planeta. Cuando nosotros estamos conectados a internet, estamos conectados a un DNS que nos proporciona el proveedor de servicio de internet que tengamos, al cual hacemos el request para que con un dominio, nos muestre su ubicación.

HERRAMIENTA DIG El comando unix dig (domain information groper), con el permiso de nslookup, es una de las mejores opciones a la hora de hacer troubleshooting o debug de problemas DNS. Vamos a ver unos cuantos ejemplos de algunas las posibilidades que nos ofrece. A la hora de contar con servicios, dominios, sitios web y demás, muchas veces se escapan detalles como suelen ser las configuraciones en los servidores DNS, por lo que veremos de

qué se trata la transferencia de zona a los DNS y cómo esto puede exponer información e infraestructuras.

Como hemos visto anteriormente, los servidores DNS básicamente son equipos que se encargan de resolver nombres de dominio a direcciones IP. Esto permite a los usuarios acceder a servicios de manera amigable, ya que recordar las direcciones IP sería más complejo. Para obtener este tipo de información se puede utilizar el comando dig en los sistemas Linux y OS X; es una herramienta de consultas a servidores DNS, como veremos a continuación:

Vemos que al realizar la consulta, automáticamente se listan los servidores DNS que se encargan de resolver las consultas. Para realizar esta consulta se utiliza el siguiente comando:

dig NS midominio.net

Una vez ejecutado el comando en un entorno Linux, mostrará la lista de los correspondientes servidores encargados de responder a las solicitudes para ese dominio.

¿Por qué un atacante querría realizar la transferencia de zona y recolección los registros de los servidores DNS?

Sucede que a través de ellos se llega a recolectar información de una red corporativa, exponiendo en ocasiones sus direcciones IP internas, servidores y equipos. Para recolectar esta información debe usarse el parámetro “axfr” (a este tipo de ataque también se lo denomina AXFR) donde el comando queda de la siguiente manera:

dig @ns1.midominio.net axfr midominio.net

El parámetro “axfr” es quien permite la transferencia de zona de dicho DNS, ya que se usa para sincronizar y actualizar datos de la zona cuando se produjeron cambios. Si bien la transferencia puede hacerse vía “axfr”, también es posible hacerla de forma incremental, denominada entonces “ixfr” -cuando se ejecuta la solicitud se obtiene la transferencia de toda la zona como respuesta. Sin la debida configuración, esto le permite a un atacante replicar la base de datos DNS, obteniendo información sensible.

Una vez hecho esto, si el ataque tiene éxito, podrá verse cómo resulta la exposición de mucha información, como veremos en la siguiente captura de pantalla:

Puede apreciarse en el ejemplo mostrado que se listan direcciones IP, servicios que seguramente son de uso interno como portales de login, servicios de correo e inclusive los portales disponibles para las versiones móviles.

¿Cómo puedo ver esta información desde Windows?

De la misma forma en que podemos obtener esta información con el comando dig desde sistemas Linux, también podemos obtenerla desde sistemas Windows con Nslookup. Veamos en la siguiente captura de pantalla cómo hacerlo:

Una vez abierta la consola, se puede iniciar la secuencia de comandos:

El primero a ejecutar es nslookup seguido de la tecla Enter; esto inicia la herramienta para realizar consultas a servidores DNS El segundo es: set type=ns (aquí se especifica que el tipo de consulta en este caso Name Server); una vez presionado Enter, en la siguiente línea debe colocarse el dominio a consultar, por ejemplo com.ar

El tercero a ejecutar es: set type=all seguido de la tecla Enter (aquí se especifica que se realicen todas las consultas posibles) El cuarto y último es: ls ejemplo.com.ar, el cual se encargará de listar la información disponible Entonces ¿Qué hacemos para prevenir la fuga de este tipo de información? (SOLUCIÓN)

Es muy importante comprender que toda esta información podría ser explotada por un cibercriminal para comprometer un equipo o la red completa. Sabiendo esto de antemano, disponemos de las herramientas para realizar el análisis proactivo para su prevención. Para evitar estos dolores de cabeza de fuga de información, desde el Laboratorio de Investigación de ESET Latinoamérica recomendamos revisar los archivos de configuración en los servidores DNS. Cabe destacar que dependiendo del software que se esté utilizando para este servicio, será donde se encuentra ubicado su archivo de configuración para permitir o denegar el o los equipos autorizados a realizar dicha transferencia. Por ejemplo, para solucionar este problema en bind, se debe acceder al archivo named.conf.local (ubicado por defecto en /etc/bind) y editarlo, con la finalidad de admitir la transferencia de zona solo a direcciones IP de servidores DNS secundarios de confianza. Para hacerlo debe modificarse el archivo de la siguiente forma:

Es importante tener siempre presente que este archivo puede variar su configuración y ubicación dependiendo de qué software se utilice. Recomendamos comprender cómo funciona el que se está utilizando y realizar la configuración correspondiente.

Como pudimos ver, algo que puede parecer tan simple representa un serio riesgo de seguridad. Vimos cómo utilizando herramientas propias del sistema operativo, en conjunto con malas configuraciones del otro lado, se logra recopilar una gran cantidad de información sensible.

A través de la información obtenida, el atacante puede comprender la topología de la red y de esta forma intentar vulnerarla. Por eso, es necesario trabajar de forma proactiva para detectar este tipo de situaciones y corregirlas, antes que sea aprovechado por un atacante. Aplicando las correcciones necesarias a estos problemas proactivamente podremos utilizar la tecnología de forma segura y sin tantas preocupaciones.

Podemos decirle que no busque nada

Que muestre respuesta (mostrará la ip)

Consulta a un servidor específico

-t para especificar que tipo de registro dns quiero obtener

Por ejemplo mostrará solamente dominios MX

Tenemos a disposición una gran cantidad de herramientas programadas para encontrar subdominios útiles mediante técnicas de fuerza bruta o diccionario. La técnica de AXFR es mucho mas rápida y efectiva pero, por desgracia para el atacante, solo funciona si el servidor DNS primario esta mal configurado y permite realizar transferencias de zonas a cualquier parte.

Si el servidor está bien administrado dará un mensaje como este.

ATAQUE FUERZA BRUTA

Tarea: Probar diferentes formas de explorar dominios con fierce.

HTTrack HTTrack = Es una herramienta que se utiliza para clonar sitios web. Esto lo hace de tal modo que no se tiene que recurrir al servidor del sitio original en ningún momento.

Presentación de la fase de escaneo • • • •

Para cada uno de los servicios de auditorio tenemos 4 fases: Determinar si un sistema está encendido. Hacer escaneo de puertos. Obtener información de servicios. Escanear vulnerabilidades.

Barrido de pings y barrido de puertos usando fpingy nmap Tenemos el objetivo de identificar que hosts o qué direcciones IP están disponibles en los segmentos de red que ya hayamos identificado para tratar de ver dentro de ellos, más adelante, qué posibles vulnerabilidades vamos a poder explorar. Comando fping = Nos sirve para hacer un barrido de pings en un segmento de red.

Aparecen los que no responden, los que si responden aparecen en el archivo de texto que indicamos guardara la información

Listado de puertos comunes: http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-es-4/ch-ports.html https://nmap.org/download.html

Nmap (http://nmap.org) es un programa de código abierto, multiplataforma, que sirve para efectuar escaneos (también conocidos como “sondeos”) de puertos. Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red. Especificación de objetivos

Todo lo que se escribamos en la línea de parámetros de Nmap que no sea una opción se considera una especificación de sistema objetivo. El caso más sencillo es la indicación de sólo una IP, o nombre de sistema, para que sea analizado.

Podemos especificar los objetivos de las siguientes formas: nmap 8.8.8.8

Host 8.8.8.8

nmap 8.8.8.0/24

Red 8.8.8.0/24

nmap 8.8.8.1-8.8.8.10

Desde 8.8.8.1 a 8.8.8.10

nmap www.google.com

Host www.google.com

nmap 8.8.8.8 4.4.4.4

Hosts 8.8.8.8 y 4.4.4.4

Las opciones -P* (que permiten seleccionar los tipos de ping) pueden combinarse. El ARP discovery (-PR) se realiza por omisión contra objetivos de la red Ethernet local incluso si se especifica otra de las opciones -P*, porque es generalmente más rápido y efectivo. Las siguientes opciones controlan el descubrimiento de sistemas. -sP (Sondeo ping)

Esta opción le indica a Nmap que únicamente realice descubrimiento de sistemas mediante un sondeo ping, y que luego emita un listado de los equipos que respondieron al mismo. La opción -sP puede combinarse con cualquiera de las opciones de sondas de descubrimiento (las opciones -P*, excepto -P0) para disponer de mayor flexibilidad. -P0 (No realizar ping)

Con esta opción, Nmap no realiza la etapa de descubrimiento. Bajo circunstancias normales, Nmap utiliza dicha etapa para determinar qué máquinas se encuentran activas para hacer un análisis más agresivo. Por omisión, Nmap sólo realiza ese tipo de sondeos, como análisis de puertos, detección de versión o de sistema operativo contra los equipos que se están “vivos”. (El segundo carácter en la opción -P0 es un cero, y no la letra O) -n (No resolver nombres)

Le indica a Nmap que nunca debe realizar resolución DNS inversa de las direcciones IP activas que encuentre. Ya que DNS es generalmente lento, esto acelera un poco las cosas.

-R (Resolver nombres de todos los objetivos)

Le indica a Nmap que deberá realizar siempre la resolución DNS inversa de las direcciones IP objetivo. Normalmente se realiza esto sólo si se descubre que el objetivo se encuentra vivo.

Estos son los comandos utilizados: fping-a-g 192.168.20.1 192.168.20.254 ``` dondela-aindicalospuertosabiertos (alive) lageselsegmentodered, esdecir, desdela 20.1hastala 20.254

nmap 192.168.20.3 Realiza un nmap a los 1.000 puertos por defecto y realiza una fase de

ping antes de iniciar

nmap -Pn -p- 192.168.20.3 hace un nmap pero sin la fase de ping inicial y a los 65.000 puertos, esto demora más puesto que hace un scan a 65.000 puertos en lugar de 1.000

https://s3-us-west-2.amazonaws.com/stationx-public-download/nmap_cheet_sheet_0.6.pdf

Nmap a todos los puertos

Introducción al análisis de puertos

Nmap comenzó como un analizador de puertos eficiente, aunque ha aumentado su funcionalidad a través de los años, aquella sigue siendo su función primaria. Aunque muchos analizadores de puertos han agrupado tradicionalmente los puertos en dos estados: abierto o cerrado, Nmap es mucho más descriptivo. Se dividen a los puertos en seis estados distintos: abierto, cerrado, filtrado, no filtrado, abierto|filtrado, o cerrado|filtrado. Estos estados no son propiedades intrínsecas del puerto en sí, pero describen cómo los ve Nmap. Por ejemplo, un análisis con Nmap desde la misma red en la que se encuentra el objetivo puede mostrar el puerto 135/tcp como abierto, mientras que un análisis realizado al mismo tiempo y con las mismas opciones, pero desde Internet, puede presentarlo como filtrado. Los seis estados de un puerto, según Nmap: Abierto

Una aplicación acepta conexiones TCP o paquetes UDP en este puerto. El encontrar esta clase de puertos es generalmente el objetivo primario de realizar un sondeo de puertos.

Cerrado

Un puerto cerrado es accesible: recibe y responde a las sondas de Nmap, pero no tiene una aplicación escuchando en él. Pueden ser útiles para determinar si un equipo está activo en cierta dirección IP (mediante descubrimiento de sistemas, o sondeo ping), y es parte del proceso de detección de sistema operativo. Los administradores pueden querer considerar bloquear estos puertos con un cortafuegos. Si se bloquean aparecerán filtrados, como se discute a continuación. Filtrado

Nmap no puede determinar si el puerto se encuentra abierto porque un filtrado de paquetes previene que sus sondas alcancen el puerto. El filtrado puede provenir de un dispositivo de cortafuegos dedicado, de las reglas de un enrutador, o por una aplicación de cortafuegos instalada en el propio equipo. Estos puertos suelen frustrar a los atacantes, porque proporcionan muy poca información. A veces responden con mensajes de error ICMP del tipo 3, código 13 (destino inalcanzable: comunicación prohibida por administradores), pero los filtros que sencillamente descartan las sondas sin responder son mucho más comunes. Esto fuerza a Nmap a reintentar varias veces, considerando que la sonda pueda haberse descartado por congestión en la red en vez de haberse filtrado. Esto ralentiza drásticamente los sondeos. No filtrado

Este estado indica que el puerto es accesible, pero que Nmap no puede determinar si se encuentra abierto o cerrado. Solamente el sondeo ACK, utilizado para determinar las reglas de un cortafuegos, clasifica a los puertos según este estado. El analizar puertos no filtrados con otros tipos de análisis, como el sondeo Window, SYN o FIN, pueden ayudar a determinar si el puerto se encuentra abierto. Abierto|filtrado

Nmap marca a los puertos en este estado cuando no puede determinar si el puerto se encuentra abierto o filtrado. Esto ocurre para tipos de análisis donde no responden los puertos abiertos. La ausencia de respuesta puede también significar que un filtro de paquetes ha descartado la sonda, o que se elimina cualquier respuesta asociada. De esta forma, Nmap no puede saber con certeza si el puerto se encuentra abierto o filtrado. Los sondeos UDP, protocolo IP, FIN, Null y Xmas clasifican a los puertos de esta manera.

Cerrado|filtrado

Este estado se utiliza cuando Nmap no puede determinar si un puerto se encuentra cerrado o filtrado, y puede aparecer sólo durante un sondeo IPID pasivo. Técnicas de sondeo de puertos -sS (sondeo TCP SYN)

El sondeo SYN es el utilizado por omisión y el más popular. Puede realizarse rápidamente, sondeando miles de puertos por segundo en una red rápida en la que no existan cortafuegos. El sondeo SYN es relativamente sigiloso y poco molesto, ya que no llega a completar las conexiones TCP. También funciona contra cualquier pila TCP en lugar de depender de la idiosincrasia específica de una plataforma concreta, al contrario de lo que pasa con los sondeos de Nmap Fin/Null/Xmas, Maimon o pasivo. También muestra una clara y fiable diferenciación entre los estados abierto, cerrado, y filtrado. A esta técnica se la conoce habitualmente como sondeo medio abierto, porque no se llega a abrir una conexión TCP completa. Se envía un paquete SYN, como si se fuera a abrir una conexión real y después se espera una respuesta. Si se recibe un paquete SYN/ACK esto indica que el puerto está en escucha (abierto), mientras que si se recibe un RST (reset) indica que no hay nada escuchando en el puerto. Si no se recibe ninguna respuesta después de realizar algunas retransmisiones entonces el puerto se marca como filtrado. También se marca el puerto como filtrado si se recibe un error de tipo ICMP no alcanzable (tipo 3, códigos 1,2, 3, 9, 10, ó 13). -sT (sondeo TCP connect())

Nmap le pide al sistema operativo subyacente que establezcan una conexión con el sistema objetivo en el puerto indicado utilizando la llamada del sistema connect(), a diferencia de otros tipos de sondeo, que escriben los paquetes a bajo nivel. Ésta es la misma llamada del sistema de alto nivel que la mayoría de las aplicaciones de red, como los navegadores web, utilizan para establecer una conexión. Generalmente es mejor utilizar un sondeo SYN, si éste está disponible. Nmap tiene menos control sobre la llamada de alto nivel Connect() que cuando utiliza paquetes en crudo, lo que hace que sea menos eficiente. La llamada al sistema completa las conexiones para abrir los puertos objetivo, en lugar de realizar el reseteo de la conexión medio abierta como hace el sondeo SYN.

Esto significa que se tarda más tiempo y son necesarios más paquetes para obtener la información, pero también significa que los sistemas objetivos van a registrar probablemente la conexión. Un IDS decente detectará cualquiera de los dos, pero la mayoría de los equipos no tienen este tipo de sistemas de alarma. Un administrador que vea muchos intentos de conexión en sus registros que provengan de un único sistema debería saber que ha sido sondeado con este método. -sU (sondeos UDP)

Aunque la mayoría de los servicios más habituales en Internet utilizan el protocolo TCP, los servicios UDP también son muy comunes. Tres de los más comunes son los servicios DNS, SNMP, y DHCP (puertos registrados 53, 161/162, y 67/68 respectivamente). Dado que el sondeo UDP es generalmente más lento y más difícil que TCP, algunos auditores de seguridad ignoran estos puertos. Esto es un error, porque es muy frecuente encontrarse servicios UDP vulnerables y los atacantes no ignoran estos protocolos. El sondeo UDP se activa con la opción -sU. Puede combinarse con un tipo de sondeo TCP como el sondeo SYN (-sS) para comprobar ambos protocolos al mismo tiempo. Los sondeos UDP funcionan mediante el envío (sin datos) de una cabecera UDP para cada puerto objetivo. Si se obtiene un error ICMP que indica que el puerto no es alcanzable (tipo 3, código 3) entonces se marca el puerto como cerrado. Si se recibe cualquier error ICMP no alcanzable (tipo 3, códigos 1, 2, 9, 10, o 13) se marca el puerto como filtrado. Detección de sistema operativo

Uno de los aspectos más conocidos de Nmap es la detección del sistema operativo (SO) en base a la comprobación de huellas TCP/IP. Nmap envía una serie de paquetes TCP y UDP al sistema remoto y analiza prácticamente todos los bits de las respuestas. Nmap compara los resultados de una docena de pruebas como puedan ser el análisis de ISN de TCP, el soporte de opciones TCP y su orden, el análisis de IPID y las comprobaciones de tamaño inicial de ventana, con su base de datos nmap-os-fingerprints. Esta base de datos consta de muchísimas huellas de sistema operativo y cuando existe una coincidencia se presentan los detalles del sistema operativo. Cada huella contiene una descripción en texto libre del sistema operativo, una clasificación que indica el nombre del proveedor (por ejemplo, Sun), el sistema operativo subyacente (por ejemplo, Solaris), la versión del SO (por ejemplo, 10) y el tipo de dispositivo (propósito general, router, switch, etc.).

La detección de sistema operativo se activa y controla con las siguientes opciones: -O

Tal y como se indica previamente, activa la detección de sistema operativo. También se puede utilizar la opción -A para activar la detección de sistema operativo y de versiones. --osscan-limit

La detección de sistema operativo funcionará mejor si se dispone de un puerto TCP abierto y otro cerrado. Si definimos esta opción, Nmap no intentará la detección de sistema operativo contra sistemas que no cumplan este criterio. Esta opción puede ahorrar mucho tiempo, sobre todo si está realizando sondeos -P0 sobre muchos sistemas. Sólo es de aplicación cuando se ha solicitado la detección de sistema operativo con la opción -O o -A. --fuzzy

Cuando Nmap no puede detectar un sistema operativo que encaje perfectamente a veces ofrecerá posibilidades que se aproximen lo suficiente. Las opciones tienen que aproximarse mucho al detectado para que Nmap haga esto por omisión. Evasión de cortafuegos/IDS y falsificación

No hay ninguna herramienta mágica (u opción de Nmap) que permita detectar y evitar cortafuegos y sistemas IDS. Esto requiere habilidad y experiencia. -f ; --mtu

La opción -f hace que el sondeo solicitado (incluyendo los sondeos ping) utilicen paquetes IP fragmentados pequeños. La idea es dividir la cabecera del paquete TCP entre varios paquetes para hacer más difícil que los filtros de paquetes, sistemas de detección de intrusos y otros filtros detecten lo que se está haciendo. Especificando esta opción una sola vez Nmap dividirá los paquetes en ocho bytes o menos después de la cabecera de IP.

De esta forma, una cabecera TCP de veinte bytes se dividiría en 3 paquetes. Dos con ocho bytes de cabecera TCP y uno con los últimos cuatro. Obviamente, cada fragmento tiene su propia cabecera IP. Especificando la opción -f otra vez podemos utilizar fragmentos de dieciséis bytes (reduciendo la cantidad de fragmentos). O podemos especificar un propio tamaño con la opción --mtu. No debemos utilizar la opción -f si se utiliza --mtu. El tamaño debe ser múltiplo de ocho. Aunque la utilización de paquetes fragmentados no nos ayudará a saltar los filtros de paquetes y cortafuegos que encolen todos los fragmentos IP (como cuando se utiliza la opción CONFIG_IP_ALWAYS_DEFRAG del núcleo de Linux), algunas redes no pueden tolerar la pérdida de rendimiento que esto produce y deshabilitan esa opción. Otros no pueden habilitar esta opción porque los fragmentos pueden tomar distintas rutas para entrar en su red. -D

Realiza un sondeo con señuelos. Esto hace creer que el/los equipo/s que utilice como señuelos están también haciendo un sondeo de la red. De esta manera sus IDS pueden llegar a informar de que se están realizando de 5 a 10 sondeos de puertos desde distintas direcciones IP, pero no sabrán qué dirección IP está realizando el análisis y cuáles son señuelos inocentes. Aunque esta técnica puede vencerse mediante el seguimiento del camino de los routers, descarte de respuesta y otros mecanismos activos, generalmente es una técnica efectiva para esconder la dirección IP. Se debe separar cada equipo de distracción mediante comas, y podemos utilizar ME (“YO”) como uno de los señuelos para representar la posición de la verdadera dirección IP. Si ponemos ME en la sexta posición o superior es probable que algunos detectores de sondeos de puertos habituales ni siquiera muestren nuestra dirección IP. Si no utilizamos ME, Nmap lo pondrá en una posición aleatoria. Tengamos en cuenta que los equipos que utilicemos como distracción deberían estar conectados o puede que accidentalmente causemos un ataque de inundación SYN a los objetivos. Además, sería bastante sencillo determinar qué equipo está realmente haciendo el sondeo si sólo uno está disponible en la red. Puede que queramos utilizar direcciones IP en lugar de nombres (de

manera que no aparezca en los registros del servidor de nombres de los sistemas utilizados como señuelo). Se utilizan los señuelos tanto para el sondeo de ping inicial (si se utiliza ICMP, SYN, ACK, o cualquier otro) como durante la fase de sondeo. También se utilizan los señuelos durante la detección de sistema operativo (-O). Los señuelos no funcionarán con la detección de versión o el sondeo TCP connect().

Wireshark Wireshark es una herramienta de código abierto, multiplataforma, de análisis de red. Nos permite capturar y analizar el tráfico que llega a nuestro sistema. Funciona al igual que lo puede hacer cualquier otro sniffer tal como Windump, TCPDump ó dsniff. Pero, al contrario de estos, lo hace mostrando los datos a través de un entorno gráfico y de forma más amigable y entendible. Antes que nada, tras arrancar Wireshark, el menu Capture > Interfaces…. nos muestra la siguiente pantalla:

Solo tendremos que pulsar en Start para capturar a través de la interface que nos interese. Inmediatamente Wireshark comienza a capturar. Si les diera mensaje de error realizar los siguientes pasos. Cambiar la línea disable_lua = false a disable_lua = true

El who has lo que hace es preguntar en toda la red quien tiene esa ip y responde con la información mac de esa máquina. Se establecen 3 zonas de datos. La primera es la zona de listado de los paquetes capturados con información del Número de Frame, tiempo en segundos de la captura, Origen, Destino, protocolo involucrado y por último un campo de información extra que previamente Wireshark a decodificado.

La segunda zona muestra los datos del Frame capturado.

• • • •

Frame 23 (los numera secuencialmente). Nos da información sobre la hora de llegada el tamaño, etc. Ethernet II nos muestra la cabecera Ethernet II que a su vez pertenece a la capa de enlace de datos. Donde podemos identificar MAC origen y MAC destino. Transmission Control Protocol. (TCP): Puerto origen, puerto destino, flags, etc. TCP Segment Data, con todo el contenido del campo Data del segmento TCP.

Filtros

Wireshark contempla dos tipos de Filtros. Filtros de captura y Filtros de visualización. En Wireshark para los filtros de captura podemos hacer uso de los mismos filtros de TCPDump / Windump, ya que usa la misma librería pcap. Los filtros de captura (Capture Filter) son los que se establecen para definir qué paquetes vamos a capturar. Los filtros de visualización (Display Filer) establecen un criterio de filtro sobre las paquetes capturados y que estamos visualizando en la pantalla principal de Wireshark. Estos filtros son más flexibles y potentes. Filtros de Captura

Estos filtros están basados en las librerías pcap. Los filtros son los mismos que podemos aplicar para Windump / TCPDump.

Si no establecemos ninguno, Wireshark capturará todo el tráfico y lo presentará en la pantalla principal. Aún así podremos establecer filtros de visualización (display filter) para que nos muestre solo el tráfico deseado. Se aplican en Capture > Options:

En el campo Capture Filter introducimos el filtro o pulsamos el botón Capture Filter para filtros predefinidos:

Combinación de Filtros. Podemos combinar las primitivas de los filtros de la siguiente forma: • • •

Negación: ! ó not Unión o Concatenación: && ó and Alternancia:|| ó or Vamos ahora a los filtros: Filtros basados en hosts Ejemplo Significado host 192.168.1.20 Paquetes con origen o destino 192.168.1.20 src host 192.168.1.1 Paquetes con origen 192.1681.1 dst host 192.168.1.1 Paquetes con destino 192.168.1.1 Filtros basados en puertos Ejemplo Significado port 21 Paquetes con puerto origen o destino 21 src port 21 Paquetes con puerto origen 21 not port 21 and not port 80 Paquetes excepto origen y destino puertos 21 y 80 portrange 1-1024 Paquetes con puerto origen y destino en un rango de puertos 1 a 1024 dst portrange 1-1024 Captura todos los paquetes con puerto destino en un rango de puertos 1 a 1024 Filtros protocolos Ethernet / IP Ejemplos ip Captura todo el tráfico IP tcp Captura todos los segmentos TCP arp Captura todo el tráfico ARP Filtros basados en red Ejemplos net 192.168.1.0 Tráfico con origen y destino subred 1.0 net 192.168.1.0/24 Tráfico para la subred 1.0 máscara 255.0 dst net 192.168.2.0 Tráfico con destino para la subred 2.0 net 192.168.2.0 and port 21 Tráfico origen y destino puerto 21 en subred 2.0 broadcast Solo el tráfico broadcast not broadcast and not multicast Todo el tráfico excepto broadcast y el multicast Filtros de Visualización (Display Filter)

Los filtros de visualización establecen un criterio de filtro sobre las paquetes que estamos visualizando en la pantalla principal de Wireshark. Al aplicar el filtro en la pantalla principal de Wireshark aparecerá solo el tráfico filtrado a través del filtro de visualización.

Comparación Forma 1

Forma 2

Significado

==

eq

Igual a

!=

neq

Distinto a

>

gt

Mayor a


=

ge

Mayor o igual a