Você está na página 1de 39

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 non-
obvious/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 <target-domain> [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 <s1 [,s2],[ME]...>

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

< lt Menor a

>= ge Mayor o igual a

<= le Menor o igual a

Combinación

! not Negación (no)

&& and Unión (y)

|| or Alternancia (uno u otro)

Otros operadores

contains Buscar una determinada cadena de caracteres

Ejemplos
Sintaxis Significado
ip.addr == 192.168.1.40 Tráfico por host 192.168.1.40
ip.addr != 192.168.1.25 Todo excepto host 192.168.1.25
ip.dst == 192.168.1.30 Host destino 192.168.1.30
ip.src == 192.168.1.30 Host origen 192.168.1.30
ip Todo el tráfico IP
tcp.port ==143 Origen o destino puerto TCP/143
ip.addr == 8.8.8.8 and tcp.port ==
Origen y destino puerto TCP/80 y host 8.8.8.8
80
http contains “www.terra.com” Paquetes HTTP que contienen www.terra.com
frame contains “@miempresa.es” Correos con origen o destino al dominio miempresa.es.
icmp[0:1] == 08 Tráfico icmp de tipo echo request
ip.ttl == 1 Paquetes IP cuyo campo TTL sea igual a 1
Paquetes cuyos campo Tamaño de Ventana del segmento TCP sea distinto
tcp.windows_size != 0
de 0
ip.tos == x Paquetes IP cuyo campo TOS sea igual a x
ip.flags.df == x Paquetes IP cuyo campo DF sea igual a x
udp.port == 53 Visualiza todo el tráfico UDP puerto 53
tcp contains “terra.com” Segmentos TCP conteniendo la cadena terra.com

Laboratorio 1
Utilizar Wireshark para capturar el tráfico de red en un sistema que no se encuentre
activamente realizando conexiones de red (que no se esté utilizando para navegación web,
chat, etc.)
Detectar qué tipo de tráfico no solicitado es recibido (que no sea una respuesta a tráfico
que haya generado nuestro propio sistema).
Detectar qué tráfico genera el sistema de forma automática (por ejemplo, para descarga
de actualizaciones de software y sistema operativo)

Laboratorio 2
En un sistema en el cual nos encontremos navegando por internet, utilizar wireshark para
detectar el tráfico relacionado con dicha navegación, implementando los siguientes filtros
de visualización:
Protocolo TCP
Puerto destino TCP/80 o TCP/443 (según corresponda a HTTP o HTTPS)

Opcionalmente, también podemos aplicar filtros para mostrar únicamente el tráfico


desde/hacia una dirección IP particular, que puede ser la dirección del servidor web en el
cual estamos navegando.