07 mayo, 2018

Nmap DHCP Discover: Conocer los servidores DHCP de una red

El protocolo de red DHCP (Dynamic Host Configuration Protocol) permite la asignación de configuración IP, como mínimo la dirección IP y máscara de red, en una arquitectura cliente/servidor. Si un equipo cliente tiene una configuración en su interface de red en modo automático, el cliente solicita una configuración IP de red si existe un servidor DHCP en la misma red este ofrece asignando un configuración de direccionamiento IP en el cliente que realizó la solicitud.

Figura 1: Esquema DHCP.

El protocolo BOOTP (Bootstrap Protocol) es utilizado por lo clientes para obtener una dirección IP automáticamente. Los puertos por defecto utilizados por BOOTP son: 67/udp (servidor) y 68/udp (cliente).

Proceso de funcionamiento DHCP en cliente/servidor
  1. El cliente solicita una IP difundiendo una mensaje DHCP DISCOVER á la subred local.
  2. Los servidores ofrecen una dirección IP (DHCP OFFER) y el resto de parámetros de configuraciones locales para el cliente (DNS, nombre de dominio, puerta de enlace, etc.), si esta está configurada para ser entregada en las opciones de configuración del servidor DHCP. Si ningún servidor DHCP responde al cliente, este envia un DHCP DISCOVER cada 0, 4, 8, 16 y 32 segundos y luego un intervalo aleatorio hasta un minuto. Si pasado 1 minuto no se recibe respuesta:
    • Si el cliente usa APIPA (Automatic Private IP addressing), el cliente se autoconfigurará con una IP (en el caso de Microsoft usará una IP de la red 169.254.0.0/24).
    • La interface del cliente no se inicia (IP 0.0.0.0/0).
  3. El cliente al recibir el DHCP OFFER indica a uno de los oferentes que acepta la IP recibida (DHCP REQUEST).
  4. El servidor envía una configuración DHCP ACK al cliente indicándole los términos de arrendamiento. A partir de ahora el cliente ya puede usar una IP asignada.
  5. El cliente solicita una renovación de la IP cuando pase la mitad del tiempo de conesión.
  6. El servidor le concede la renovación.
  7. El cliente libera la IP.

Figura 2: Esquema de funcionamiento DHCP cliente/servidor.

En la figura 3 se puede ver un ejemplo de captura de tráfico pcap de la solicitud cliente-servidor de un asignamiento automático de una dirección IP. Vemos los datagramas DHCP Discover, Offer, Request y finalmente ACK.

Figura 3: Captura pcap Wireshark del funcionamiento DHCP.


Conocer el servidor/es DHCP de una misma red en un cliente Linux

El fichero /var/lib/dhcp/dhclient.leases alamacena, entre otras cosas, las concesiones de direcciones que ofrecen al cliente los servidores DHCP.

Para descubrir los servidores DHCP, si la interface de red está en modo de asignación automática. Podemos liberar la dirección IP actual y volver a asignar una nueva configuración IP con la utilidad dhclient.
$ sudo dhclient -r eth0
$ sudo dhclient eth0
En la imagen de la figura 4 se puede ver como se crea el fichero dhclient.leases después de liberar (parámetro -r de dhclient) y volver a solicitar una nueva dirección IP (simplemente dhclient) a los posibles servidores DHCP de la misma red. En este caso el servidor DHCP es el mismo que la puerta de enlace.

Figura 4: Asignación de direción IP en un cliente Ubuntu.

En el log del sistema /var/log/syslog vemos la comunicación que fue realizada entre el cliente y el servidor DHCP.

Figura 5: Encontrando servidor DHCP en /var/log/syslog.


Conocer el servidor/es DHCP de una misma red en un cliente Windows

Un equipo cliente Windows poderemos liberar su configuración IP actual con el parámetro /release de la utilidad ipconfig y volver a solicitar una nueva configuración IP al servidor DHCP de esa red con el parámetro /renew.
ipconfig /release
ipconfig /renew
Figura 6: Liberación y asignación de nueva IP a un cliente Windows.

Con ipconfig /all se puede ver la configuración completa en las interfaces de red, al contrario que en sistemas Linux, Windows ya nos muestra el servidor DHCP que le ofreció la concesión de dirección IP.

Figura 7: Conocer servidor DHCP en cliente Windows.


Conocer el servidor/es DHCP con Nmap DHCP Discover

Si estamos en una red en la que sabemos que pueden exister múltiples servidores DHCP e incluso servidores DHCP Relay, existe una utilidad-script dentro de la utilidad Nmap que nos permitirá descubrir los servidores DHCP disponibles de la red.

Con -sU escaneamos UDP y -p escaneamos un puerto, que en este caso sería el 67 (67/udp). Pasamos el script "dhcp-discover" y a continuación el target que sería la dirección de red con su notación CIDR.
nmap -sU -p 67 --script=dhcp-discover <target>
En la imagen vemos el servidor DHCP marcado como el server identifier. 

Figura 8: DHCP Discover con nmap.

Estos scripts están ubicados en el directorio scripts/ de Nmap con formato propietario .nse (Nmap Scripting Engine) editables. Otra opción sería utilizar el script "broadcast-dhcp-discover".

En la website oficial de Nmap se detallan las diferencias entre los scripts .nse:

Saludos!

11 marzo, 2018

Ver el log del firewall de Windows en tiempo real [pfirewall.log]

Para poder ver el log del firewall de Windows en tiempo real primero tendremos que habilitar la creación y almacenamiento del log.

Windows le asigna el nombre por defecto pfirewall.log ubicado en "%systemroot%\System32\LogFiles\Firewall\pfirewall.log".

Para configurar el log del firewall (firewall.cpl) nos vamos a las propiedades avanzadas de WFAS (Windows Firewall Advanced Security), eligiremos el perfil en el que se registrará el log y lo persnoalizamos, especificando un path en el que se almacenará el registro de log o simplemente dejaremos el que Windows establece por defecto. Opcionalmente podemos registrar los paquetes descartados y/o los paquetes correctos.

Estableciendo el path y opciones del registro de log del Firewall de Windows.
Figura 1: Estableciendo el path y opciones del registro de log del Firewall de Windows.

En el editor de directivas de grupo local (gpedit.msc) habilitamos la GPO local que permitir el registro del log del Firewall de Windows Defender, en el caso de Windows 10 es el mismo que el firewall de Windows simplemente aquí se llama de otra manera o mejor dicho, en Windows 10 se le otorga ese nombre.

Habilitar la GPO local que permite el registro de log para el Firewall de Windows Defender.
Figura 2: Habilitar la GPO local que permite el registro de log para el Firewall de Windows Defender.

Finalmente el paso que da lugar al título de esta entrada. ¿Cómo poder ver este log en tiempo real?.

Para ello hacemos uso de la colección de herramientas desarrollada por Cygnus Cygwin la cual descargamos e instalamos en nuestro equipo.

Esta nos proporciona un sistema POSIX. Una shell que nos permite ejecutar una suite de herramientas de comandos de sistemas Unix. Proporcionando así un compartamiento similar a sistemas Unix en entornos Windows.

El comando tail en sistemas Unix muestra las últimas líneas de uno o más archivos, si se acompaña del parámetro -f podemos ver las últimas líneas de un archivo en tiempo real, si el sistema estuviese escribiendo en ese mismo instante.

Con la siguiente instrucción a través de la shell que nos proporciona Cygwin podemos entonces ver en tiempo real el log del firewall de Windows.
tail -f /cygdrive/c/Windows/System32/LogFiles/Firewall/pfirewall.log
Otra alternativa a "tail -f" sería "less +F", o simplemente el comando less y una vez que estemos visualizando el fichero presionar "Shift+F", con esto veremos el fichero a tiempo real y podremos interrumpir el proceso en cualquier momento con "Ctrl+C" y con los cursores del teclado nos podemos desplazar por el fichero un punto anterior para poder analizarlo, si queremos nuevamente volver a visualizar el fichero en tiempo real con "Shift+F", de modo que en ningún momento se cierre el fichero. Con la letra "q" saldríamos del less y por lo tanto del fichero que estemos visualizando.

Log en tiempo real del log del firewall de Windows pfirewall.log.
Figura 3:Log en tiempo real del log del firewall de Windows pfirewall.log.

Saludos!

02 febrero, 2018

Blogger ya permite el cambio de HTTP a HTTPS para dominios personalizados

Hasta principios de este año Blogger solo permíta la implementación HTTPS y redirección HTTP a HTTPS en sus propios subdominios blogspot.com o blogspot.com.es.

Recientemente Blogger añadió una funcionalidad que nos permite hacer lo mismo pero para dominios personalizados, dominios personalizados adquiridos desde el propio panel de Blogger. Es decir, permitía comprar un dominio disponible a través de una empresa registradora de terceros (Registrar) pero con la gestión subyacente de Google-Blogger para la configuración de ese nombre de dominio (DNS).

Para poder activar HTTPS y la redirección de HTTP a HTTPS para un nombre de dominio personalizado. Podremos hacerlo dentro del dashboard de Blogger en: Configuración > Lo básico > y nos vamos al apartado HTTPS. Ahí seleccionamos que "Si" a la disponibilidad de HTTPS.

Transcurridos entre uno a dos días, tiempo necesario para la verificación del cambio de protocolo, se nos habilitará la opción de poder redirigir a HTTPS. Esta hará que siempre que se consulte nuestro nombre de dominio o cualquier enlace que aún esté en HTTP fuerce el cambio a HTTPS, redireccionando siempre a este protocolo.

Cambio de HTTP a HTTPS en dominios personalizados de blogger
Figura 1: Cambio de HTTP a HTTPS en dominios personalizados de blogger.

En mi caso, ya tengo las dos opciones habilitadas. El autoridad certificadora (CA) es Let's Encrypt que dispone de certificados gratuítos y es la que actualmente usa Google para ofrecer esta funcionalidad, que en prinpcio es gratuíta.

Let's Encrypt​ como CA en un dominio personlizado de blogger.
Figura 2: Let's Encrypt​ como CA en un dominio personlizado de blogger.

Podemos realizar un búsqueda WHOIS del nombre de dominio para conocer a la entidad registradora o "Registrar", que en este caso es "enom.com". Esta es una de las empresas de terceros asociadas con Google para conceder dominios perosnalizados a través de la plataforma de Blogger.

Para realizar búsqueda WHOIS podemos hacerla de varias formas:
  • Cualquier web que permita realizar búsquedas WHOIS (por ejemplo oficialmente la ICANN): https://whois.icann.org
  • Con la herramienta de comandos de Sysinternals WHOIS de Microsoft.
  • Instalando el paquete WHOIS en sistema Linux: "apt install whois".

Búsqueda WHOIS - Registrar del dominio personalizado de Blogger.
Figura 3: Búsqueda WHOIS - Registrar del dominio personalizado de Blogger.

Esto es un gran punto a favor de blogger ya que a partir de ahora todos aquellos dominios personalizados que estén funcionando bajo la plataforma de Blogger no se verán afectos a las futuras "restricciones" de los navegadores web cuando los usuarios navegen en sitios sin cifrar. A parte de inspirar más confianza y "seguridad" a los visitantes de nuestro sitio web.

Saludos!
Entradas Relacionadas