viernes, 21 de septiembre de 2018

Comandos útiles para Exim

Exim es el Mail Transport Agent o MTA, que viene por defecto en los servidores que corren CPanel, muy popular en los servicios de Hosting Compartido.

           

Aunque, se pueden realizar la mayoria de las tareas desde el Web Host Manager (o WHM), mediante un navegador web, nunca esta de mas, tener a mano una lista de comandos.

Para listar los mails en la Queue
exim -bp
 
Para saber el numero de mails en la Queue
exim -bpc
 
Muestra  algunos detalles de los mails en la Queue
exim -bp | exiqsumm

Si necesitamos eliminar un mail en particular:
exim -Mrm '<id correo>'
 
Congelar un mail:
exim -Mf '<id correo>'
 
Forzar el envio de un mail:
exim -M '<id correo>'
 
 
Eliminar todos los mails que estan Frozen
exiqgrep -z -i | xargs exim -Mrm


Ver en tiempo real que esta haciendo Exim
exiwhat

Mostrar las cabeceras de un mail en concreto:
exim -Mvh '<id correo>'
 
Ver el contenido de un correo:
exim -Mvb '<id correo>'
 
Ver los logs de un correo:
exim -Mvl '<id correo>'

Forzar la mailqueue:
exim -qff

Buscar los mails de un determinado emisor:
exiqgrep -f [usuario]@dominio
 
Buscar mails de un determinado receptor:
exiqgrep -r [usuario]@dominio
 

Si por alguna razón queremos eliminar la mailqueue completa podemos hacerlo de las siguientes formas:

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | sh
 
 
rm /var/spool/exim/input/*

viernes, 14 de septiembre de 2018

Que es VirtualBox?

Virtualbox es un software desarrollado por la empresa Oracle (anteriormente desarrollado por Sun Microsystems), el cual nos permite virtualizar un sistema operativo en nuestra maquina.
Es ideal, por ejemplo para probar alguna distribución de GNU/Linux o una nueva versión de Microsoft Windows, dentro de una ventana sin salir de nuestro sistema operativo.

Actualmente se encuentra en su versión 5.2.18.

Lo pueden descargar para desde los siguientes Links


En el siguiente link pueden descargar maquinas virtuales pre-armadas, para probar durante el Fin De semana.

miércoles, 5 de septiembre de 2018

Intersec 2018 Buenos Aires.

Entre el 29 y el 31 de agosto de este año, se realizó el evento de Intersec 2018.
El mismo tuvo lugar en el Predio de la Sociedad Rural Argentina en la Ciudad de Buenos Aires.


Acá les dejo algunas fotos del evento:





























jueves, 30 de agosto de 2018

Evento de Intersec

Finalmente, no va a haber tutoriales este viernes en el Blog.
Voy a estar asistiendo al evento de Intersec


Les prometo subir fotos a Facebook, pueden seguir al Blog en https://www.facebook.com/pumatechinformatica

miércoles, 22 de agosto de 2018

Procesando Texto en GNU/Linux



En este post, vamos a tratar los comandos mas utilizados para procesar texto en GNU/Linux

cat

Dicho comando pasa el contenido de un archivo a STDOUT, lo cual nos va a permitir visualizar el contenido del archivo que le pasemos como argumento

Las opciones son:

-s    quita las líneas en blanco repetidas
-A    muestra los caracteres no imprimibles ($: nueva línea, ^I: tab)

Ejemplos:

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh


# cat -A /etc/passwd
root:x:0:0:root:/root:/bin/bash$
daemon:x:1:1:daemon:/usr/sbin:/bin/sh$
bin:x:2:2:bin:/bin:/bin/sh$



Podemos redireccionar la salida a un archivo diferente de la siguiente forma:

# cat /etc/passwd > passwd.bkp

cut

Permite separar en secciones el contenido de un archivo o lo que le pasemos por STDIN

Las opciones son:

-d    Define un delimitador, para separar en campos (el predeterminado es TAB)

-c    Cantidad de caracteres

-f    Campo o campos a mostrar

Por ejemplo, si quiero mostrar los primeros 8 caracteres por línea de /etc/passwd
# cut -c1-8 /etc/passwd
root:x:0
daemon:x
bin:x:2:



Veamos los primeros 8 caracteres y del 20 al 25
# cut -c1-8,20-25 /etc/passwd
root:x:0ot:/bi
daemon:x:/usr/
bin:x:2:/bin/s


Usamos ";" como delimitador y mostramos la primer columna

# cut -d":" -f1 /etc/passwd
root
daemon
bin


Ahora usamos el signo “:” y como en el ejemplo anterior, la primer columna
# cut -d":" -f1 /etc/passwd
root
daemon
bin

Usamos el signo “:”  y mostramos la primer y la sexta columna

#cut -d":" -f1,6 /etc/passwd
root:/root
daemon:/usr/sbin
bin:/bin
sys:/dev
sync:/bin

Head
Dicho comando nos permite ver las 10 primeras lineas

Opciones:

-n [numero]    Muestra el número de líneas especificado (anteponiendo un signo “-”, muestra todo excepto esa cantidad de líneas)

-c [número]    Muestra el número de caracteres especificado (número seguido de k muestra en kilobytes)

Mostramos los  6 primeros caracteres

# head -c6  /etc/passwd
root:x



less

Nos permite visualizar archivos


# less /var/log/messages


sort

Nos permite ordenar el contenido de un archivo de diferentes maneras:



-f        Ignora la diferencia entre mayúsculas y minúsculas
-r        Ordena de manera inversa
-k [columna]    Define columna para ordenar
-M        Ordena por mes (sólo inglés)
-n        Ordena de manera numérica
-d        Toma letras, números y espacios en blanco

Por Ejemplo

# sort /etc/passwd
avahi:x:109:122:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
backup:x:34:34:backup:/var/backups:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
clamav:x:111:124::/var/lib/clamav:/bin/false

#sort -r /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh
vde2-net:x:107:118::/var/run/vde2:/bin/false
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh


[juan@juan ~]$ ls -la |sort  -n -k 5
-rw-rw-r-- 1 juan juan 2408172 Jun 22 22:49 linux.pdf
-rw-r--r--   1 juan juan  2710249 May 26 13:48 ibmsamqt-3.2.3.1-2.i386.rpm
-rw-rw-r-- 1 juan juan  3360412 Jun 10 00:38 vlc-0.7.0-1.i386.rpm


split

El comando split divide un archivo en varios, ya sea por cantidad de líneas o un tamaño determinado.

Sintaxis

split [opciones] [archivodeentrada] [archivodesalida]

Opciones:

-l [número]    Cantidad de líneas para cortar (Se puede omitir la “l” Ej: usar -3, para 3 líneas)

-b [número]    Cantidad de bytes para cortar

Creará varios archivos de 10 líneas. El resultado se guardará en passwd-cortadoXX donde XX serán letras incrementándose.

# split -l 10 /etc/passwd passwd-cortado


tac

El comando tac pasa el contenido de un archivo a la salida estándar (STDOUT) de manera invertida, el resultado será mostrar en pantalla el contenido de un archivo comenzando por el final.


[juan@juan]# cat tac
uno
dos
tres


[juan@juan]# tac tac
tres
dos
uno

Tail

El comando tail nos permite mostrar las últimas líneas de un archivo. De manera predeterminada mostrará las últimas 10 líneas.

Opciones:

-n [numero]    Muestra el número de líneas especificado (anteponiendo un signo “+”, muestra comenzando en la línea especificada hasta el final)

-c [número]    Muestra el número de caracteres especificado (número seguido de k muestra en kilobytes)

-f        Captura el archivo y muestra la salida mientras se va modificando

[root@juan ~]# tail -n 1 prueba.txt
tres

Tr

El comando tr traduce cadenas de texto tomadas por STDIN y devolviendo el resultado por STDOUT

Sintaxis

tr string1 string2

Opciones:

-d     Borra los caracteres en el string1 de la salida.
-s     Borra los caracteres repetidos
-c     Se usa para completar el string1 o todos los caracteres que no están.

Parámetros

a-z    todos los caracteres de la a la z
\\     un caracter \
\nnn     un caracter ascii con el valor octal nnn
Caracteres de control →

\a bell
\b backspace
\f form feed
\n newline
\r carriage return
\t horizontal tab
\v vertical tab

Convierte las minúsculas en mayúsculas

[juan@juan]# cat file1 | tr a-z A-Z
1 JACK WALLEN
2 JESSICA WALLEN
3 JOHNNY WALLEN
4 JERI WALLEN



También convierte las minúsculas en mayúsculas

[juan@juan]$  cat file1 | tr '[:lower:]' '[:upper:]'
1 JACK WALLEN
2 JESSICA WALLEN
3 JOHNNY WALLEN
4 JERI WALLEN


[juan@juan]$ cat prueba.txt
1 Jack     Wallen
2 Jessica    Wallen
3 Johnny     Wallen
4 Jeri     Wallen


Remueve los espacios repetidos

[juan@juan]$ cat file1 | tr -s '[:blank:]'
1 Jack Wallen
2 Jessica Wallen
3 Johnny Wallen aa
4 Jeri Wallen
[/code]

[juan@juan]$ cat file1
1        Jack Wallen
2 Jessica    Wallen
3 Johnny        Wallen  aa
4 Jeri Wall     en

Quita todos los caracteres no imprimibles, excepto el de nueva línea “enter” (newline)
[juan@juan]$ cat file1 | tr -dc '[:print:]\n'
1 Jack Wallen
2 Jessica    Wallen
3 Johnny Wallen  aa
4 Jeri Wallen

uniq

El comando uniq elimina líneas duplicadas en un archivo

Opciones

-c    Muestra la cantidad de repeticiones

[juan@juan]]$ cat rino.txt
Juan
Pedro
Maria
Rino
Rino
Marina
Pedrito
Hola
Hola

[juan@juan]$ uniq rino.txt
Juan
Pedro
Maria
Rino
Marina
Pedrito
Hola

Muestra la cantidad de repeticiones

[juan@juan]# uniq -c rino.txt
1 Juan
1 Pedro
1 Maria
2 Rino
1 Marina
1 Pedrito
2 Hola

Muestra sólo lo que se repite
[juan@juan]# uniq -d rino
Rino
Hola

Muestra lo que no se repite

[juan@juan]# uniq -u rino
Juan
Pedro
Maria
Marina
Pedrito

wc

El comando wc se utiliza para contar líneas, caracteres y palabras.

Opciones:

-w   Cantidad de palabras

-l    Cantidad de líneas

-c    Cantidad de caracteres

Si no se especifican opciones mostrará cantidad de líneas, palabras y caracteres

# wc /etc/passwd

  43   64 2099 /etc/passwd

Cantidad de líneas

# wc -l /etc/passwd
43 /etc/passwd


Cantidad de palabras

# wc -w /etc/passwd
64 /etc/passwd

Cantidad de caracteres

# wc -c /etc/passwd
2099 /etc/passwd


md5sum

El comando md5sum se usa principalmente para verificar si dos o más archivos son iguales, o para verificar si cambió su contenido. Por ejemplo:

# md5sum /etc/fstab /tmp/fstab

d58f2a9875fd3b23d59ad5a11a425250  /etc/fstab

d58f2a9875fd3b23d59ad5a11a425250  /tmp/fstab

# echo -e “\n” >> /tmp/fstab

# md5sum /etc/fstab /tmp/fstab

d58f2a9875fd3b23d59ad5a11a425250  /etc/fstab

48105cb61d48a02a7339f5b1b4b6b154  /tmp/fstab

De esta manera se puede determinar que el archivo fue modificado. No debería usarse para determinar de manera confiable la integridad de un archivo.

sha256sum

Esta herramienta es similar a md5sum pero utiliza un algoritmo más seguro, que utiliza palabras de 32 bits.

# sha256sum   /etc/fstab /tmp/fstab
6aa8d7e00da052eea6373c09c8165a6a474202816076d46ccc56d3470ced9295  /etc/fstab

bee4784df968264324aea32f856e6ab9770c1010e1532ed3c8abbfc3f98f2e09  /tmp/fstab
sha512sum


Esta herramienta tiene la misma finalidad que sha256sum pero  utsa  palabras de 64 bits.

# sha512sum   /etc/fstab /tmp/fstab

d984857a94754b09d36642fe57cbc9b5e7c5bea256dd9527fba3aeddcf174a3f62734a74fd70c9c8e4f5da362116601831f2af0eb1695e00632533a10571d77a  /etc/fstab

84142a51f09f87a67c6f9bf098a395c451f096cbf8ed8b5a24ed69dee5f5333b1b6e52cc2dea8274e2a75e1dc3dc20951a616d93d3e0a2171c8d1b03563e04fe  /tmp/fstab


Tanto sha256sum como sha512sum se usan frecuentemente para verificar la integridad de imágenes ISO descargadas de Internet.

bzcat

Este programa sirve para leer archivos comprimidos con bzip2:

# bzcat /usr/share/doc/gcc/ChangeLog.tuples.bz2

xzcat

Este programa sirve para leer archivos comprimidos con xz:

# xzcat  /usr/share/doc/gcc/ChangeLog.tuples.xz

zcat
Este programa sirve para leer archivos comprimidos con gzip:

# zcat /usr/share/doc/gcc/ChangeLog.tuples.gz


miércoles, 8 de agosto de 2018

¿Que es el Modelo OSI?

El Modelo OSI (Open Standards Interconnection) es un sistema de referencia, creado en el año 1980.


 

El objetivo principal del mismo, es la de estandarizar  la creación de protocolos, que actúan en sus diferentes capas, para fomentar la compatibilidad, a la hora de interconectar dispositivos de diferentes fabricantes, en una red informática.

Dicho modelo, se divide en 7 capas, las cuales son las siguientes:

  1. Capa Física
  2. Capa de enlace de datos
  3. Capa de Red
  4. Capa de transporte
  5. Capa de sesión
  6. Capa de presentación
  7. Capa de Aplicación. 
La Capa Física, es la primera, y en esta, nos encontramos con los medios físicos (tal como su nombre lo indica) para interconectar, los dispositivos de red, y la forma en la que se transmiten los datos.

La Capa de enlace de Datos, se encarga del direccionamiento físico, acceso al medio, detección de errores, control de flujo y la distribución ordenada de las tramas.

La Capa de Red, identifica el sistema de enrutamiento entre dos o mas redes.

La Capa de Transporte, tal como lo indica el nombre, se encarga de transportar los paquetes de un dispositivo final(*) a otro.

La Capa de Sesión se encarga de mantener y controlar los enlaces entre diferentes dispositivos.

La Capa de Presentación se encarga, de representar la información, en formatos que permitan que la misma sea reconocible. También se encarga del cifrado y descifrado de los datos.

Por ultimo tenemos la Capa de Aplicación, la cual permite que las aplicaciones accedan al resto de las capas, y definen los protocolos utilizados por los programas para intercambiar información en una red.



(*) utilizo el termino dispositivo final, para englobar tanto a PC's, MAC's, Smartphones, Cámaras IP, Teléfonos IP, etc

lunes, 6 de agosto de 2018

Cambiando a DNS alternativos.

Por distintas razones, podemos querer cambiar los dns que nos brinda nuestro proveedor de internet por otros Alternativos.
En este caso les voy a dejar como hacerlo por los de Google (8.8.8.8 y 8.8.4.4) en Windows

Vayan a Panel de Control, Conexiones de Red



Seleccionen la conexion a modificar, en este caso elijo la de red-juan 2 y hagan click derecho sobre la misma. Vayan a propiedades y elijan Protocolo de Internet Version 4 y hagan click en el boton Propiedades.


Les va a aparecer una ventana como la siguiente:

Cambien la opcion a Usar las siguientes direcciones de Servidor DNS, y pongan como primario 8.8.8.8 y 8.8.4.4 como secundario, tal cual la imagen.
Acepten los cambios, y van a estar usando los DNS de Google.
Tambien pueden usar los de Open DNS cuyas direcciones son las siguientes: 208.67.222.222 y 208.67.220.220.



miércoles, 25 de julio de 2018

¿Que es una CDN?

Una Content Delivery Network, o red de distribucion de contenidos, es una red de Servidores, que contiene copias de los datos de una red, con el objetivo de maximizar el ancho de banda a los equipos cliente, de dicha informacion.




Red tradicional (izquierda) y Red CDN (Derecha).





Entre los beneficios mas importantes podemos destacar:

  • Mayor capacidad de conexión.
  • Entrega de la informacion con mas velocidad a los usuarios.
  • Disminución de los costos asociados a la entrega de contenidos.
  • Reducción de la pérdida de paquetes, ya que se trabaja con servidores cercanos al usuario.
  • Se tiene 100% de disponibilidad de información, incluso ante la caída de uno de los servidores
  • Mayor resiliencia ante ataques de Denegación de Servicio..

Uno de los proveedores mas importantes, es Akamai, para grandes proyectos, Cloudflare e Incapsula para sitios web medianos.

viernes, 20 de julio de 2018

Software Retro

En este pequeño post, queria dejarles un link a WinWorld, donde van a poder descargar tanto Sistemas Operativos, Juegos y utilidades retro.
Y feliz dia del amigo.....


https://winworldpc.com/library/operating-systems

miércoles, 18 de julio de 2018

Gestion de Usuarios y Grupos en GNU/Linux

La correcta gestion tanto de usuarios como de grupos en un sistema GNU/Linux, junto a los permisos, es uno de los pilares fundamentales en lo que se refiere al sistema del pinguino.




En este Post, vamos a ver como crear, modificar y eliminar tanto usuarios como grupos.

Creacion de usuarios


Para crear usuarios, lo hacemos mediante el comando usseradd cuya sintaxis es la siguiente:

#useradd [opciones] nombre-de-usuario

Entre las opciones mas importantes tenemos las siguientes:

-g Es el grupo principal al cual va a pertenecer el usuario. (Dicho grupo debe existir previamente)
-d Directorio home del usuario, por ejemplo /home/juan
-m Crea la carpeta home, si no existe
-s Selecciona el interprete de comandos que va a usar el usuario, por ejemplo /bin/bash

Supongamos que queremos crear el usuario juan, que pertenezca al grupo autores y utilice bash como interprete de comandos.
Lo hacemos de la siguiente forma:

# useradd -g autores -d /home/juan -m -s /bin/bash juan
Asi, creamos al usuario juan y con el parametro -m crea el home. De lo contrario lo tendremos que crear manualmente despues.

Un paso fundamental es crear una password para dicho usuario

#passwd juan

Modificacion de usuarios

Se utiliza el comando usermod,  y nos va a permitir modificar el nombre del usuario, su carpeta home, su intérprete de comandos y los grupos a los que pertenece
Supongamos que queremos cambiar el home de juan, lo hacemos de la siguiente forma:

#usermod -d /home/directorio-de-juan juan

Y se cambiara el home a directorio-de-juan 

Eliminación de usuarios

Se realiza con el comando userdel seguido del username .Para eliminar el home, debemos pasarle el parametro -r.
Por ejemplo

# userdel -r juan

De esta forma, eliminamos al usuario juan, y su home.

Creación de grupos


El comando groupadd nos permite añadir un grupo, al cual le tenemos que pasar el nombre del mismo como parametro.
Supongamos que queremos crear el grupo redactores:

#groupadd redactores

Modificación de grupos

El comando groupmod  nos va a permitir modificar el nombre de un grupo o el group id del mismo. La sintaxis es: groupmod [-g nuevo-gid] [-n nuevo-nombre] nombre-grupo, por ejemplo:

#groupmod -g 2000 redactores

Eliminando grupos

Se realiza mediante el comando groupdel, pasando como parametro el nombre del grupo

#groupdel redactores

Para que funcione, ningun usuario tiene que tener dicho grupo como primario, de lo contrario, no se va a eliminar.

Añadir usuarios a un grupo

Se utiliza el comando adduser seguido del nombre del usuario y del nombre del grupo al que queremos añadirle, por ejemplo, queremos añadir el usuario juan al grupo redactores.

#adduser juan redactores

Eliminar usuarios de un grupo

Usamos el comando deluser seguido del nombre del usuario y del nombre del grupo del que queremos quitarle, por ejemplo quitamos a juan del grupo redactores.

#deluser juan profesores

miércoles, 11 de julio de 2018

Hola VPN Hackeada para robar divisas de MyEtherWallet

A pesar que el valor del Bitcoin, continua decreciendo, el uso de criptomonedas, va en aumento. Asimismo, algunos analistas creen que el uso del dinero actual, tal como lo conocemos, va a ir siendo utilizado cada vez menos.
Por este motivo, muchos ciber-criminales, intentan vulnerar los sistemas de criptodivisas, y los sistemas de almacenamiento - o wallets.
En el caso de MyEtherWallet, uno de los métodos de almacenamiento de criptomonedas más populares y seguros, ha sido hackeado durante más de 5 horas, en las que se han podido robar miles de divisas. 

Sin embargo la vulnerabilidad se encontraba en el popular servicio de VPN, Hola VPN, mas precisamente en su version gratuita.


Consejos para utilizar criptomonedas en forma segura

  • Evitar las redes WiFi Publicas
  • Si es gratis, es caro. Utilizar sistemas de seguridad "gratuitos" puede resultar contraproducente para transacciones criticas.
  • Navegacion privada. Utilizar VPN's de empresas reconocidas. 


 Fuente: PandaSecurity

viernes, 22 de junio de 2018

viernes, 1 de junio de 2018

¿Que es un firewall?



Un Firewall, es un software, o dispositivo de red, cuya finalidad es filtrar el trafico entrante y saliente, desde y hacia nuestra red.

La configuración, se realiza mediante reglas, las cuales definimos una vez que tenemos la política de seguridad a aplicar.

Por ejemplo, según el tipo de firewall, no solo se pueden realizar filtrado de direcciones IP y puertos, sino también de aplicaciones.

Entre los firewalls, mas importantes del mercado podemos mencionar la serie ASA de Cisco, IPtables en el caso de GNU/Linux del proyecto Netfilter, o Pfsense, el cual esta basado en BSD, y permite añadirle diferentes módulos.

Cisco ASA 5505



Es uno de los elementos mas importantes para la seguridad de redes, así como lo son los IPS e IDS

En proximos articulos vamos a ver como configurar distintos tipos de firewalls


miércoles, 16 de mayo de 2018

Vulnerabilidad grave en Red Hat y derivados



Se descubrió una vulnerabilidad en NetworkManager, que permite la inyección remota de comando en la implementación de dhclient en Red Hat Linux y derivados. 
Esta Vulnerabilidad afecta a Fedora, como a CentOS y otros derivados de dicha distribución.
La misma se denomino como: CVE-2018-1111, y la misma permite la ejecución remota de comandos como root en los sistemas afectados.
El anuncio de Red Hat se puede encontrar en https://access.redhat.com/security/vulnerabilities/3442151 . Se recomienda actualizar lo antes posible todos los sistemas que corran dichas distribuciones para evitar inconvenientes.

Fuente: https://thehackernews.com/2018/05/linux-dhcp-hacking.html

lunes, 7 de mayo de 2018

¿Como realizar un upgrade de Fedora 27 a Fedora 28?

En este articulo, voy a describir brevemente como actualizar a Fedora 28, usando la linea de comando, usando dnf.

Como primer paso, vamos a asegurarnos que tenemos el sistema actualizado, antes del upgrade: 

     1 - [juan@juan-desktop ~]# dnf upgrade --refresh

Adicionalmente, realicemos un backup, de nuestros datos, en caso de que tengamos algún problema.
  
Nuevamente en la terminal, como root, instalemos el plugin de dnf:

    2 - [juan@juan-desktop ~]# dnf install dnf-plugin-system-upgrade

iniciamos la actualización mediante:

     3 - [juan@juan-desktop ~]# dnf system-upgrade download --releasever=28

Una vez finalizado el proceso anterior, ahora si, actualizamos mediante:
      
    4 - [juan@juan-desktop ~]# dnf system-upgrade reboot

Ahora el sistema se va a reiniciar y actualizar los componentes. 
Tomate un café, un mate o lo que mas te guste y espera, ya que va a demorar un
buen rato.
Una vez finalizado, vas a volver a ver la pantalla de login, y vas a poder disfrutar 
de Fedora 28

viernes, 4 de mayo de 2018

Se anuncio Fedora 28

En el sitio Fedora Magazine, el 1 de mayo, anuncian que se libero la version 28 de Fedora Linux

La nueva versión incluye novedades interesantes

Podemos obtener las siguientes versiones:

Fedora Workstation

Fedora Server

Fedora Atomic Host

En caso de buscar otro de los sabores de Fedora podemos ir a Fedora Spins

Algunas de las novedades que incluye esta nueva versión: 

Repositorios de terceros: Se incluyen repositorios de terceros populares entre ellos:

Google Chrome

PyCharm, IDE para Python, de JetBrains

Drivers propietarios de NVIDIA

Cliente de Steam 


Fuente: https://fedoramagazine.org

 

lunes, 9 de abril de 2018

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.

El mismo es Abierto a la comunidad y es gratuito.

Se pueden registrar en el siguiente link

https://www.ba-csirt.gob.ar/eventos/

Para mas información sobre el BA-CSIRT  pueden visitarlos en sus redes sociales

Facebook         

Twitter

Youtube

Linkedin


No olviden registrarse y no se lo pierdan!!

Saludos a todos.

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

Bienvenidos

Comandos útiles para Exim

Exim es el Mail Transport Agent o MTA, que viene por defecto en los servidores que corren CPanel , muy popular en los servicios de Hosting...