viernes, 23 de marzo de 2018

¿Que es Veracrypt?





Veracrypt, es un software de encriptación usado para la On The Fly Encryption.
Permite crear un volumen encriptado dentro de un archivo, o encriptar una partición.
En la versión para Windows puede encriptar todo el disco, con autenticación, previa al booteo del sistema.

Es un fork de Truecrypt, otro programa libre, el cual, tras una auditoría, se develo que poseía muchas vulnerabilidades graves.
En Veracrypt, dichos errores, fueron arreglados, e incluye implementaciones mejoradas de funciones de hash y cifrado que mejora la performance del programa.

Actualmente, se encuentra licenciado con la Licencia Apache 2.0.

Los algoritmos de cifrado que utiliza son AES, Serpent, Twofish, Camellia y Kuznyechik.

Veracrypt, incluso permite la negación plausible permitiendo crear un volumen oculto, dentro de otro.
En el caso de Microsoft Windows, también se permite crear un volumen, para correr un sistema operativo cuya existencia pueda ser negada.

El software puede ser descargado desde: https://www.veracrypt.fr/en/Downloads.html (recomiendo siempre descargarlo desde ahi, para tener siempre la última versión), mientras la documentacion oficial, puede ser consultada en https://www.veracrypt.fr/en/Documentation.html




miércoles, 14 de marzo de 2018

Falleció Stephen Hawking

El brillante científico falleció a los 76 años.


(Hawking en un vuelo de Gravedad Zero)

Stephen Hawking, falleció a los 76 años, en su casa en Cambridge, en el Reino Unido.

Hawking nació el 8 de enero de 1942 en Oxford, y se convertiría en una de las figuras mas importantes de la ciencia teórica, como astrofísico y divulgador científico.


Desde Puma-Tech, expreso mi pesar por el fallecimiento de quien considero uno de los científicos más importantes del Siglo XX y XXI.

Les recomiendo los siguientes links de RT

lunes, 5 de marzo de 2018

Ethical Hacking II: Reconocimiento - Usando Nmap I



Nmap es un software de código abierto, que es multiplataforma, utilizado para realizar escaneos de puertos y hosts. Es una de las herramientas mas importantes a la hora de realizar tareas de Ethical Hacking y búsqueda de sistemas vulnerables,

Especificando objetivos.


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

Por Ejemplo, podemos utilizar las siguientes formas:

nmap 208.67.222.123

Siendo el host 208.67.222.123

nmap 8.8.8.0/24

Red 8.8.8.0/24

nmap 8.8.8.1-8.8.8.10

El rango que va desde la ip 8.8.8.1 a 8.8.8.10

nmap www.opendns.com

El host  es www.opendns.com

nmap 208.67.222.123 208.67.220.123

Los hosts son 208.67.222.123 y 208.67.220.123


Descubriendo sistemas 


Nmap ofrece una gran variedad de opciones para personalizar las técnicas utilizadas. Al descubrimiento de sistemas se lo suele llamar sondeo ping.

El propósito de estas sondas es el de solicitar respuestas que demuestren que una dirección IP se encuentra activa.

En varias redes solo un pequeño porcentaje de direcciones IP se encuentran activos en cierto momento.

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.

Controlando 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.

Analizando 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 son los siguientes:

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 


La mayoría de los distintos tipos de sondeo disponibles sólo los puede llevar a cabo un usuario privilegiado. Esto es debido a que envían y reciben paquetes en crudo, lo que hace necesario tener acceso como administrador (root) en la mayoría de los sistemas UNIX. En los entornos Windows es recomendable utilizar una cuenta de administrador, aunque Nmap algunas veces funciona para usuarios no privilegiados en aquellas plataformas donde ya se haya instalado WinPcap.

Aunque Nmap intenta generar resultados precisos, hay que tener en cuenta que estos resultados se basan en los paquetes que devuelve el sistema objetivo (o los cortafuegos que están delante de éstos). Estos sistemas pueden no ser fiables y enviar respuestas cuyo objetivo sea confundir a Nmap. Son aún más comunes los sistemas que no cumplen con los estándares RFC, que no responden como deberían a las sondas de Nmap. Son especialmente susceptibles a este problema los sondeos FIN, Null y Xmas. Hay algunos problemas específicos a algunos tipos de sondeos que se discuten en las entradas dedicadas a sondeos concretos.

Esta sección documenta únicamente los sondeos más utilizados (y más útiles). Para obtener una lista y documentación de todos los tipos de sondeos disponibles y su funcionamiento, podemos visitar la documentación oficial de nmap (http://nmap.org)

Nmap hace un sondeo SYN por omisión, aunque lo cambia a un sondeo Connect() si el usuario no tiene los suficientes privilegios para enviar paquetes en crudo (requiere acceso de administrador) o si se especificaron objetivos IPv6. De los sondeos que se listan en esta sección los usuarios sin privilegios sólo pueden ejecutar los sondeos Connect().

-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.

En algunas ocasiones se recibirá una respuesta al paquete UDP, lo que prueba que el puerto está abierto. Si no se ha recibido ninguna respuesta después de algunas retransmisiones entonces se clasifica el puerto como abierto|filtrado. Esto significa que el puerto podría estar abierto o que hay un filtro de paquetes bloqueando la comunicación. Puede utilizarse el sondeo de versión (-sV) para diferenciar de verdad los puertos abiertos de los filtrados.

Uno de las grandes problemas con el sondeo UDP es hacerlo rápidamente. Pocas veces llega una respuesta de un puerto abierto o filtrado, lo que obliga a expirar a Nmap y luego a retransmitir los paquetes en caso de que la sonda o la respuesta se perdieron. Los puertos cerrados son aún más comunes y son un problema mayor. Generalmente envían un error ICMP de puerto no alcanzable. Pero, a diferencia de los paquetes RST que envían los puertos TCP cerrados cuando responden a un sondeo SYN o Connect, muchos sistemas imponen una tasa máxima de mensajes ICMP de puerto inalcanzable por omisión. Linux y Solaris son muy estrictos con esto.

Nmap detecta las limitaciones de tasa y se ralentiza para no inundar la red con paquetes inútiles que el equipo destino acabará descartando. Desafortunadamente, un límite como el que hace el núcleo de Linux de un paquete por segundo hace que un sondeo de 65536 puertos tarde más de 18 horas. Podemos acelerar los sondeos UDP incluyendo más de un sistema para sondearlos en paralelo, haciendo un sondeo rápido inicial de los puertos más comunes, sondeando detrás de un cortafuegos, o utilizando la opción --host-timeout para omitir los sistemas que respondan con lentitud.

Especificación de puertos y orden de sondeo 

Nmap ofrece distintas opciones para especificar los puertos que se van a sondear y si el orden de los sondeos es aleatorio o secuencial. Estas opciones se añaden a los métodos de sondeos que se han discutido previamente. Nmap, por omisión, sondea todos los puertos hasta el 1024 además de algunos puertos con números altos listados en el fichero nmap-services para los protocolos que se sondeen.

-p <rango de puertos> (Sondea puertos específicos)
Esta opción especifica los puertos que desea sondear y toma precedencia sobre los valores por omisión. Podemos especificar tanto números de puerto de forma individual, así como rangos de puertos separados por un guión (p. ej. 1-1023). Podemos omitir el valor inicial y/o el valor final del rango. Nmap utilizará 1 ó 65535 respectivamente. De esta forma, podemos especificar -p- para sondear todos los puertos desde el 1 al 65535. Se permite sondear el puerto cero siempre que se lo especifique explícitamente. Esta opción especifica el número de protocolo que quiere sondear (de 0 a 255) en el caso de que esté sondeando protocolos IP (-sO).

Podemos especificar un protocolo específico cuando sondeamos puertos TCP y UDP si precedemos el número de puerto con T: o U:. El calificador dura hasta que se especifique otro calificador. Por ejemplo, la opción -p U:53,111,137,T:21-25,80,139,8080 sondearía los puertos UDP 53,111, y 137, así como los puertos TCP listados.

Tengamos en cuenta que para sondear tanto UDP como TCP deberemos especificar la opción -sU y al menos un tipo de sondeo TCP (como -sS, -sF, o -sT). Si no se da un calificador de protocolo se añadirán los números de puerto a las listas de todos los protocolos.

-F (Sondeo rápido (puertos limitados))
Indica que queremos sondear una menor cantidad de puertos (100 puertos) que la que es sondeada por defecto (1000 puertos)

Nmap utiliza un archivo llamado “nmap-services”, el cual contiene una lista de puertos que se encuentra ordenada en base a los que son más utilizados. Por defecto, se sondean los mil puertos más utilizados. Con la opción “-F” se sondean los cien puertos más utilizados, haciendo los sondeos mucho más rápidos.

Detección de servicios y versiones 

Si le indicamos a Nmap que mire un sistema remoto nos podrá decir que tiene abiertos los puertos 25/tcp, 80/tcp y 53/udp. Informará que esos puertos se corresponden habitualmente con un servidor de correo (SMTP), servidor de web (HTTP) o servidor de nombres (DNS), respectivamente, si utiliza su base de datos nmap-services con más de 2.200 puertos conocidos.

Generalmente este informe es correcto dado que la gran mayoría de demonios que escuchan en el puerto 25 TCP son, en realidad, servidores de correo. Pero no debemos confiar al 100% en este hecho. La gente ejecuta a veces servicios distintos en puertos inesperados.

La detección de versiones pregunta para obtener más información de lo que realmente se está ejecutando una vez se han detectado los puertos TCP y/o UDP con alguno de los métodos de sondeo. La base de datos nmap-service-probes contiene sondas para consultar distintos servicios y reconocer y tratar distintas respuestas en base a una serie de expresiones.

Nmap intenta determinar el protocolo del servicio (p. ej. ftp, ssh, telnet ó http), el nombre de la aplicación (p. ej. Bind de ISC, http de Apache, telnetd de Solaris), un número de versión, un tipo de dispositivo (p. ej. impresora o router), la familia de sistema operativo (p. ej. Windows o Linux) y algunas veces algunos detalles misceláneos como, por ejemplo, si un servidor X acepta cualquier conexión externa, la versión de protocolo SSH, etc).

Se utiliza la herramienta de pruebas RPC de Nmap (-sR) de forma automática para determinar el programa RPC y el número de versión si se descubren servicios RPC.

Algunos puertos UDP se quedan en estado open|filtered si un barrido de puertos UDP no puede determinar si el puerto está abierto o filtrado. La detección de versiones intentará obtener una respuesta de estos puertos (igual que hace con puertos abiertos) y cambiará el estado a abierto si lo consigue. Los puertos TCP en estado open|filtered se tratan de forma similar. Podemos encontrar un documento describiendo el funcionamiento, modo de uso, y particularización de la detección de versiones en http://www.insecure.org/nmap/vscan/.

Cuando Nmap obtiene una respuesta de un servicio pero no encuentra una definición coincidente en la base de datos se imprimirá una firma especial y un URL para que podamos enviar los detalles si sabemos lo que está ejecutándose detrás de ese puerto.

La detección de versiones se activa y controla con la siguientes opciones:

-sV (Detección de versiones)
Activa la detección de versiones como se ha descrito previamente. Podemos utilizar la opción -A en su lugar para activar tanto la detección de versiones como la detección de sistema operativo.

--version-intensity <intensidad>
Nmap envía una serie de sondas cuando se activa la detección de versiones (-sV) con un nivel de rareza preasignado y variable de 1 a 9. Las sondas con un número bajo son efectivas contra un amplio número de servicios comunes, mientras que las de números más altos se utilizan rara vez.

El nivel de intensidad indica que sondas deberían utilizarse. Cuanto más alto sea el número, mayor las probabilidades de identificar el servicio. Sin embargo, los sondeos de alta intensidad tardan más tiempo. El valor de intensidad puede variar de 0 a 9. El valor por omisión es 7.

Se probará una sonda independientemente del nivel de intensidad cuando ésta se registra para el puerto objetivo a través de la directiva nmap-service-probes ports.

De esta forma se asegura que las sondas de DNS se probarán contra cualquier puerto abierto 53, las sondas SSL contra el puerto 443, etc.

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.).

Nmap indicará una URL donde podemos enviar las huellas si conocemos (con seguridad) el sistema operativo que utiliza el equipo si no puede adivinar el sistema operativo de éste y las condiciones son óptimas (encontró al menos un puerto abierto y otro cerrado).

Enviando esta información contribuimos al conjunto de sistemas operativos que Nmap conoce y la herramienta será así más exacta para todo el mundo.

La detección de sistema operativo activa es, en cualquier caso, una serie de pruebas que hacen uso de la información que ésta recoge. Una de estas pruebas es la medición de tiempo de actividad, que utiliza la opción de marca de tiempo TCP (RFC 1323) para adivinar cuánto hace que un equipo fue reiniciado. Esta prueba sólo funciona en sistemas que ofrecen esta información.

Otra prueba que se realiza es la clasificación de predicción de número de secuencia TCP. Esta prueba mide de forma aproximada cuánto de difícil es crear una conexión TCP falsa contra el sistema remoto. Se utiliza cuando se quiere hacer uso de relaciones de confianza basadas en la dirección IP origen (como es el caso de rlogin, filtros de cortafuegos, etc.) para ocultar la fuente de un ataque.

Ya no se hace habitualmente este tipo de malversación pero aún existen muchos equipos que son vulnerables a ésta.

Esta información sólo se ofrece en la salida normal en el modo detallado (-v). También se informa de la generación de números de secuencia IPID cuando se activa el modo detallado conjuntamente con la opción -O.

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.

Control de tiempo y rendimiento 

Una de las prioridades durante el desarrollo de Nmap ha sido siempre el rendimiento. Un sondeo por omisión (nmap <nombre_de_sistema>) de cualquier sistema en una red local tarda un quinto de segundo. Esto es menos que el tiempo que uno tarda en parpadear, pero se va sumando al tiempo que se tarda cuando se realiza un sondeo sobre decenas o centenares o miles de equipos.

Además, ciertas opciones de sondeo como puedan ser el sondeo UDP y la detección de versiones pueden incrementar los tiempos de sondeos de forma sustancial. También pueden afectar a este tiempo algunas configuraciones de sistemas cortafuegos, especialmente cuando implementan limitaciones a la tasa de respuestas.

Nmap tiene muchas opciones avanzadas para controlar de una forma granular determinados aspectos que afectan al rendimiento.

Además de estas opciones granulares (que no vamos a tratar en este documento), Nmap permite utilizar plantillas predefinidas, que definen varias de estas opciones, de acuerdo al efecto deseado.

-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> 
Nmap ofrece seis plantillas de tiempos. Podemos especificar cualquiera de éstas con la opción -T seguido de un número o su nombre. Los nombre de las plantillas son:

paranoico (0), sigiloso (1), amable (2), normal (3), agresivo (4) y loco (5)

(respectivamente "paranoid", "sneaky", "polite", "normal", "aggressive" e "insane").

Las primeras dos se utilizan para evadir IDS. El modo amable reduce el sondeo para que éste utilice menos ancho de banda y menos recursos de los sistemas analizados. El modo normal es el valor por omisión, así que la opción -T3 no hace nada realmente. El modo agresivo hace que los sondeos sean más rápidos al asumir que está en una red razonablemente más rápida y fiable. En modo loco asume que está en una red extraordinariamente rápida o que está dispuesto a sacrificar fiabilidad por velocidad.

Mientras que puede ser útil evitar alarmas de IDS con -T0 y -T1, éste tardará mucho más tiempo para sondear miles de sistemas o puertos.

Los efectos principales del uso de T0 es la serialización de los sondeos de forma que sólo se sondea un puerto cada vez, y se espera cinco minutos antes de enviar cada sonda.

Las opciones T1 y T2 son similares pero sólo esperan 15 y 0.4 segundos entre sondas, respectivamente. El comportamiento por omisión de Nmap es T3, que incluye sondeos en paralelo.

Evasión de cortafuegos/IDS y falsificación 

Los filtros de red como los cortafuegos pueden hacer muy difícil el análisis de una red. Nmap ofrece varias funcionalidades para ayudar a entender estas redes complejas, y que también sirven para verificar que los filtros funcionan como se espera de ellos. Incluso tiene mecanismos para saltarse las defensas que no hayan sido implementadas del todo correctamente.

Las compañías, además de restringir la actividad de red, están monitorizando cada vez más el tráfico con sistemas de detección o prevención de intrusos (IDS/IPS). Todos los IDS/IPS principales vienen preinstalados con reglas diseñadas para detectar sondeos de Nmap porque, a veces, se realizan sondeos previos a un ataque.

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().

Vale la pena tener en cuenta que utilizar demasiados señuelos puede ralentizar el sondeo y potencialmente hacerlo menos exacto. Además, algunos proveedores de acceso a Internet filtrarán los paquetes falsificados, aunque hay muchos que no lo hacen.

Salida 

Nmap ofrece varios formatos de salida, incluyendo el modo interactivo para que los humanos lo lean directamente y un formato XML para que sea interpretado por otros programas.

Nmap puede generar la salida en cinco formatos distintos. El formato por omisión es el llamado salida interactiva, y se envía a la salida estándar («stdout»). También está la salida normal, que es similar a la salida interactiva salvo que muestra menos información de ejecución y menos advertencias, ya que se espera que se analice una vez que el sondeo haya terminado en lugar de ser analizada interactivamente.

La salida XML es uno de los formatos de salida más importantes, ya que puede convertirse a HTML, los programas (como la interfaz de usuario de Nmap) pueden interpretarla fácilmente o puede importarse a una base de datos.

Los dos tipos de salida restantes son la sencilla salida para grep (o «grepeable») que incluye la mayoría de la información de un sistema analizado en una sola línea, y la s4L1d4 sCRiPt KiDDi3.

Aunque se utiliza la salida interactiva por omisión y no tiene ninguna opción de la línea de órdenes, los demás formatos utilizan la misma sintaxis. Toman un solo argumento, que es el archivo donde se guardarán los resultados. Pueden especificarse múltiples formatos al mismo tiempo, pero sólo puede especificar el mismo formato una vez.

Por ejemplo, podemos querer guardar la salida normal para nuestra propia visualización mientras se guarda la información del mismo sondeo en formato XML para realizar un análisis posterior con un programa. Para hacer ésto debe utilizar las opciones -oX misondeo.xml -oN misondeo.nmap.

Nmap seguirá imprimiendo la salida interactiva en «stdout» como lo hace habitualmente aunque se guarden en archivos la salida con estas opciones. Por ejemplo, la orden nmap -oX misondeo.xml destino imprime XML en misondeo.xml y llena la salida estándar con los mismos resultados interactivos que habría impreso si no se hubiese especificado la opción -oX.

Podemos cambiar este comportamiento dando un guión como argumento a una de las opciones de salida. Esto hace que Nmap desactive la salida interactiva y que imprima en su lugar los resultados en el formato especificado en la salida estándar. Con lo que la orden nmap -oX - destino enviará únicamente la salida XML a la salida estándar («stdout»). Los errores graves seguirán presentándose, posiblemente, en la salida normal de error, «stderr».

Nmap también ofrece opciones para controlar la información extra que se ofrece sobre el sondeo y añadirlo a los archivos de salida en lugar de sobreescribirlos. Todas estas opciones se describen a continuación.

-oN <filespec> 
Solicita que la salida normal sea redirigida al archivo especificado. Como se ha dicho anteriormente, esto difiere un poco de la salida interactiva.

-oX <filespec> 
Solicita que la salida en XML se redirigida al archivo especificado. Nmap incluye un DTD que pueden utilizar los intérpretes de XML para validar la salida XML. Aunque está dirigida a que la utilicen programas, también puede ayudar a que una persona interprete la salida de Nmap. El DTD define los elementos legales del formato, y generalmente enumera los atributos y valores que pueden tener. La última versión está siempre disponible en http://www.insecure.org/nmap/data/nmap.dtd.

-oG <filespec> 
Este formato de salida se trata el último porque está obsoleto. La salida en formato XML es mucho más poderosa, y es igual de conveniente para los usuarios experimentados.

Sin embargo, la salida para grep es todavía bastante popular. Es simplemente un formato que lista cada sistema en una línea y que puede ser fácilmente tratado con herramientas estándar de UNIX como grep, awk, cut, sed, diff y Perl.

-oA <nombre_base>
Por comodidad, podemos especificar la opción -oA <nombre_base> para guardar los resultados de los sondeos en <nombre_base>.nmap, <nombre_base>.xml, y <nombre_base>.gnmap, respectivamente.

Al igual que la mayoría de los programas podemos poner un prefijo con la ruta del directorio a utilizar.

Continuara...

viernes, 2 de marzo de 2018

Ya salio Puma-Tech TV



Buenos dias, estimados lectores:

Como lo prometido es deuda, les cuento con mucho agrado que ya esta en linea el canal de Puma-Tech TV en Youtube.
Por el momento, durante los dias viernes se van a ir publicando distintos documentales con la tematica del blog. 
Aquellos que asi lo deseeen los invito a subscribirse al mismo.
La url es: https://www.youtube.com/channel/UCgusU7I92ffpby3DYTLZ7YQ/ y prometo que voy a realizar una entrada dns, para que sea mas amigable la url.

Desde el formulario de contacto en el blog, asi como mediante los mensajes mediante el canal, estoy abierto a sugerencias para el mismo.

Un abrazo para todos, y espero que lo disfruten.

Bienvenidos

Primera Jornada de Ciberseguridad Ciudadana

Evento Realizado por el BA-CSIRT El BA-CSIRT , el dia Jueves 12 de Abril de 2018, va a realizar un evento de Ciberseguridad Ciudadana. ...