Realizar una Enumeración por Fuerza Bruta utilizando dnsrecon (Video)
Realizar una Enumeración Estándar utilizando dnsrecon (Video)
Herramientas Eliminadas de Kali Linux
Kali Linux es una distribución basada en el sistema operativo GNU/Linux Debian, la cual está orientada hacia las más diversas tareas relacionadas con seguridad de información; tales como; pruebas de penetración, investigación en seguridad, forense de computadoras, e ingeniería reversa.
Kali Linux incluye cientos de herramientas, siendo comprensible por diversas razones, no es factible siempre mantener todas las herramientas en Kali, consecuentemente el proyecto de manera regular elimina herramientas.
Las herramientas eliminadas son presentadas en tres columnas de nombres; Paquete, Fecha, Razón. La columna Paquete expone el nombre del paquete eliminado, la columna Fecha expone la fecha de eliminación, y la columna Razón exponer la razón de su eliminación. Entre las diversas razones para eliminar un paquete se tienen; versión de Pythons, herramientas no mantenida o rota, estar incluida en otra herramienta, cambio de su licencia, o ser una herramienta obsoleta. Siendo factible también obtener más detalles sobre su eliminación, en caso sea requerido.
Así mismo es relativamente fácil validar la eliminación de herramientas, utilizando comandos como apt o which.
Es importante recordar, al realizar pruebas de penetración, hacking ético, u otros tipos de evaluaciones, siempre utilizar las más recientes versiones de las herramientas, iniciando con el criterio fundamental al utilizar herramientas actualmente con soporte.
Fuentes:
https://www.kali.org/tools/
https://www.kali.org/docs/tools/removed-tools/
Retransmisiones (Relays) utilizando la Herramienta Netcat
Netcat es una utilidad de red la cual lee y escribe datos a través de conexiones de red utilizando el protocolo TCP/IP. Está diseñada para ser una herramienta "back-end" confiable la cual puede ser utilizada directamente, o controlada fácilmente mediante otros programas y scripts. Al mismo tiempo es una herramienta para exploración y depuración de redes con muchas funcionalidades, pues puede crear casi cualquier tipo de conexión necesaria, además de tener diversas capacidades integradas interesantes.
Una retransmisión (Relay) aplicado a redes, está relacionado con aquello lo cual permite o es utilizado para reenviar paquetes desde una red hacia otra. Al actuar como un intermediario permite conexión e intercambio de datos entre redes.
Para utilizar Retransmisión en el sistema operativo GNU/Linux, primero se requiere crear un FIFO (tubería nombrada). En este caso el nombre es “backpipe”, creado con el comando nknod.
$ nknod backpipe p
La opción p crea un FIFO (First Input First Output)
Retransmisión Servidor - Cliente
Crea una retransmisión la cual envía paquetes desde un puerto local, hacia un cliente Netcat conectado hacia una dirección IP destino sobre un puerto.
$ nc -l -p 8080 0
$ nc localhost 8080
Se crea un escenario en el cual al establecer una conexión hacia el puerto local número 8080, esta es retransmitida hacia la dirección IP indicada y el puerto 80. Consecuentemente cualquier dato enviado será retransmitido hacia la dirección IP indicada, y los datos recibidos serán mostrados en consola.
Retransmisión Servidor - Servidor
Crea una retransmisión la cual envía paquetes desde cualquier conexión sobre un puerto local hacia cualquier conexión sobre otro puerto.
# nc -l -p 8888 0
# nc localhost 88
Se crea un escenario en el cual cualquier dato enviado sobre el puerto local número 8888 será retransmitido hacia el puerto local número 88. Así mismo cualquier dato recibido desde el segundo puerto local será mostrado en la consola.
Retransmisor Cliente - Cliente
Crea una retransmisión la cual envía paquetes desde la conexión hacia una dirección IP sobre un puerto, hacia un cliente Netcat conectado hacia otra dirección IP sobre un puerto.
$ nc 192.168.0. 1 80 0
# nc -l 192.168.0. 50 -p 2233
Se crea un escenario en el cual, cualquier dato enviado hacia la segunda dirección IP será retransmitido hacia la primera dirección IP. Así mismo cualquier dato recibido desde la primera dirección IP será mostrado en la consola.
Fuentes:
https://netcat.sourceforge.net/
https://linux.die.net/man/1/mknod
https://linux.die.net/man/1/tee
Captura de Banners TCP utilizando la Herramienta Netcat
Netcat es una utilidad de red la cual lee y escribe datos a través de conexiones de red utilizando el protocolo TCP/IP. Está diseñada para ser una herramienta "back-end" confiable la cual puede ser utilizada directamente, o controlada fácilmente mediante otros programas y scripts. Al mismo tiempo es una herramienta para exploración y depuración de redes con muchas funcionalidades, pues puede crear casi cualquier tipo de conexión necesaria, además de tener diversas capacidades integradas interesantes.
Se procede a ejecutar Netcat para establecer conexiones hacia un rango de puertos TCP, desde los cuales se requiere obtener o capturar su banner.
$ echo "" | nc -v -n -r -w1 192.168.50 1-100
El comando “echo” muestra una línea de texto hacia la salida estándar.
La opción “-v” define verbosidad. Utilizarla dos veces para obtener más verbosidad
La opción “-n” define únicamente dirección numérica IP, no DNS.
La opción “-r” permite escanear los puertos locales y remotos de manera aleatoria.
La opción “-w” define el tiempo de espera para conexión y lectura final de red
El resultado del comando echo y las dobles comillas imprime una línea en blanco. El resultado de este comando es canalizado como entrada para el comando Netcat. Consecuentemente aquello lo cual enviará Netcat al establecer una conexión hacia un puerto TCP será una linea en blanco.
La definición de los puertos hacia los cuales se realizarán conexiones para obtener su banner, se define con el siguiente formato; puerto inicial, luego el símbolo guion, luego el puerto final. En este caso se establecerán conexiones desde el puerto TCP número 1 hasta el número 100.
Los resultados del escaneo realizado se muestran en columnas, mostrándose la dirección IP hacia la cual se establece una conexión, el puerto, su servicio asociado, y el mensaje producto de la conexión establecida. El mensaje “Connection timed out” indica la conexión ha superado el tiempo de espera definido. Caso contrario se muestra el texto “open”, lo cual indica el puerto está abierto, para luego mostrar el banner devuelto por el software, programa, o aplicación proporcionando un servicio.
Es importante mencionar no todos los puertos descubiertos en estado abierto devolverán un banner al recibir una línea en blanco. Para estos escenarios se pueden utilizar herramientas más especializadas como Nmap, o utilizar un cliente específico para establecer la conexión hacia el servicio descubierto.
Fuentes:
https://netcat.sourceforge.net/
https://linux.die.net/man/1/echo
Escaneo de Puertos TCP utilizando la Herramienta Netcat
Netcat es una utilidad de red la cual lee y escribe datos a través de conexiones de red utilizando el protocolo TCP/IP. Está diseñada para ser una herramienta "back-end" confiable la cual puede ser utilizada directamente, o controlada fácilmente mediante otros programas y scripts. Al mismo tiempo es una herramienta para exploración y depuración de redes con muchas funcionalidades, pues puede crear casi cualquier tipo de conexión necesaria, además de tener diversas capacidades integradas interesantes.
Se procede a ejecutar Netcat para realizar un escaneo de puertos hacia una dirección IP.
$ nc -v -n -r -z -w1 192.168 .0.50 1-100
La opción “-v” define verbosidad. Utilizarla dos veces para obtener más verbosidad
La opción “-n” define únicamente dirección numérica IP, no DNS.
La opción “-r” permite escanear los puertos locales y remotos de manera aleatoria.
La opción “-z” es el modo de Entrada/Salida cero. Utilizado para escanear.
La opción “-w” define el tiempo de espera para conexión y lectura final de red
La definición de los puertos a escanear se define en el siguiente formato; puerto inicial, luego el símbolo guion, luego el puerto final. En este caso se escaneará desde el puerto TCP número 1 hasta el número 100.
Los resultados del escaneo realizado se muestran en columnas, entre estas la dirección IP escaneada, el puerto escaneado, su servicio asociado, y el mensaje producto de la conexión establecida. Se percibe fácilmente como los puertos descubiertos en estado Abierto incluyen el texto “Open”, en lugar de “Connection timed out”.
De hecho existen otras herramientas diseñadas específicamente para realizar diversos tipos de escaneos, con muchas funcionalidades y características como la herramienta Nmap. Pero resulta importante conocer diversas maneras y herramientas para realizar procedimientos similares, dado el hecho se enfrentarán diversos escenarios a evaluar.
Fuentes:
Validar DNSSEC utilizando el Comando delv
DNSSEC (DNS Security Extensions) o por su traducción al idioma español; Extensiones de Seguridad para DNS, añade seguridad al Sistema para Nombres de Dominio (DNS).
DNSSEC fue diseñado para proteger Internet de ciertos ataques, como el envenenamiento del caché DNS. Es un conjunto de extensiones para DNS los cuales proporcionan; autenticación del origen de datos DNS, integridad de datos, y denegación autenticada de existencia.
Estos mecanismos requieren cambios en el protocolo DNS. DNSSEC agrega cuatro nuevos tipos de registros de recursos: Firma de registro de recursos (RRSIG), Llave Pública DNS (DNSKEY), Firmante de Delegación (DS) y Siguiente Seguro (NSEC). Estos nuevos RRs son descritos en detalle en el RFC 4034.
delv
delv es una herramienta para enviar consultas DNS y validar los resultados, utilizando la misma lógica de validación y resolución interna de named.
delv envía hacia un servidor de nombres especificado todas las consultas necesarias para obtener y validar los datos solicitados; esto incluye la consulta solicitada original, las consultas posteriores para seguir las cadenas CNAME o DNAME, las consultas de DNSKEY, y los registros DS para establecer una cadena de confianza para la validación de DNSSEC. No realiza una resolución iterativa, sino simula el comportamiento de un servidor de nombres configurado para la validación y el reenvío de DNSSEC.
La manera más simple de utilizar el comando delv es definir el nombre de host a consultar, y el nombre o dirección IP del servidor de nombres a consultar. Adicionalmente se puede definir el tipo de consult DNS, A, AA, MX, TX>T, etc.
$ delv example. edu.pe ns-cloud-b2. googledomains.com.
Un registro RRSIG contiene la firma para un conjunto de registros RR con un nombre, una clase, y un tipo particular. El registro RRSIG especifica un intervalo de validez para la firma y utiliza el Algoritmo, el Nombre del Firmante, y la Etiqueta Llave para identificar el registro DNSKEY, el cual contiene la llave pública factible de ser utilizado por un validador para verificar la firma.
El mensaje “unsigned answer” indica la respuesta no ha sido firmada digitalmente utilizando una llave DNSSEC válida. No pudiendo verificarse la autenticidad e integridad de los datos recibidos.
Desde la perspectiva de la ciberseguridad, las firmas digitales de DNSSEC permiten asegurar los datos de una zona DNS no se han alterado durante su transmisión, lo cual intenta proteger contra ataques como el envenenamiento del caché DNS. Así mismo una respuesta firmada indicaría la información proviene de una fuente fiable.
Fuentes:
https://www.dnssec.net/
https://manpages.ubuntu.com/manpages/focal/man1/delv.1.html
https://kb.isc.org/docs/aa-01152
https://www.cyberciti.biz/faq/unix-linux-test-and-validate-dnssec-using…
Obtener el SPF, DKIM, y DMARC utilizando el Comando dig
dig es una herramienta flexible para interrogar servidores de nombres DNS. Realiza búsquedas DNS y muestra las respuestas devueltas por los servidores de nombres consultados. Muchos administradores de DNS utilizan dig para solucionar problemas debido a su flexibilidad, facilidad de uso, y claridad de resultados.
Para las siguientes demostraciones primero se requiere obtener los servidores de nombres (DNS), para el dominio en evaluación.
$ dig -t NS presidencia. gob.pe
SPF - Sender Policy Framework
Es un estándar abierto que especificando un método técnico para prevenir la falsificación de direcciones remitente. Más precisamente protege la dirección del remitente del “sobre”, el cual se utiliza para la entrega de los mensajes.
$ dig -t TXT presidencia. gob.pe @ns1.opticalip.com.pe
DKIM - DomainKeys Identified Mail
Permite que una organización asumir responsabilidad para un mensaje en tránsito. La organización es un manejador del mensaje, ya sea como su creador o como un intermediario. Su reputación es la base para evaluar si se debe confiar en el mensaje para su posterior procesamiento, como la entrega. Técnicamente DKIM proporciona un método para validar la identidad de un nombre de dominio asociado a un mensaje a través de la autenticación criptográfica.
$ dig -t TXT mail._domainkey.presidencia.gob.pe @ns1.opticalip.com.pe
DMARC - Domain-based Message Authentication, Reporting & Conformance
Es un protocolo para autenticación, políticas, y reporte de correo electrónico. Se construye sobre los ampliamente desplehados protocolos SPF y DKIM, agregando un vínculo hacia nombre de dominio del autor (“From:”), políticas publicadas para el manejo de errores de autenticación por parte de los destinatarios e informes de los destinatarios hacia los remitentes, para mejorar yvigilar la protección del dominio contra correo electrónico fraudulento.
$ dig -t TXT _dmarc.presidencia.gob.pe @ns1.opticalip.com.pe
Desde la perspectiva de la Ciberseguridad, SPF, DKIM y DMARC, pueden ayudar a prevenir o evitar ataques de Spoofing; en lo referente a mensajes de correo electrónicos falsos. En la actualidad casi la totalidad de proveedores utilizan estas comprobaciones. Así mismo puede ayudar a mantener una buena percepción o reputación sobre una organización. Adicionalmente al hecho de existir requerimientos para cumplimiento.
Fuentes:
http://www.open-spf.org/
https://dmarc.org/
http://dkim.org/
https://linux.die.net/man/1/dig
Búsqueda de Dominios Reversos Asociados utilizando Whois
WHOIS es un protocolo de petición /respuesta orientado a transacciones basado en TCP, el cual se utiliza ampliamente para proporcionar servicios de información a los usuarios de Internet. Aunque originalmente se utilizó para proporcionar servicios de "páginas blancas" e información sobre nombres de dominio registrados, las implementaciones actuales abarcan una rango más amplio de servicios de información. El protocolo entrega su contenido en un formato legible para los seres humanos.
Dominios reversos asociados
Se puede utilizar la opción “-d” para visualizar los dominios reversos asociados con bloques de direcciones IP devueltos por una consulta sobre una dirección IP o rango de direcciones IP.
$ whois -d 194.55. 26.46
Esta opción debe ser utilizada cuando se consulta, una dirección IP, un rango de direcciones IP, o un prefijo de dirección IP.
Esta opción devuelve: una coincidencia exacta o el rango de direcciones IP más pequeño incluyendo la dirección IP, o el rango especificado en la consulta. También devuelve el dominio reverso más pequeño abarcando ese rango de direcciones IP.
Esta opción resulta importante para visualizar el dominio reverso asociado con una dirección IP o rango de direcciones IP, y verificar si dominios reversos han sido creados para todo el espacio de direcciones IP asignada.
En la demostración realizada los resultados muestran el texto “Reverse delegation for customer Deutsche Welle” en el campo de nombre “descr”. Así mismo tres servidores de nombres en los campos de nombre “nserver”. Entre otra información mi relevante.
Fuentes:
https://datatracker.ietf.org/doc/html/rfc3912
https://www.ripe.net/publications/docs/ripe-401/
https://linux.die.net/man/1/whois
https://www.apnic.net/manage-ip/using-whois/searching/query-options/