TAREAS DE SEGURID@D

martes, 1 de julio de 2008

Vulnerabilidades en Equipos

En esta entrada veremos como detectamos vulnerabilidades en un equipo con el nessus.
El resultado del escaneo nos mostro varias vulnerabilidades pero en esta entrada
solo vamos a mostrar una

este seria el resultado de el analizis de vulnerabilidades que se hizo y esta seria la vulnerabilidad que vamos a analizar


esta seria la traduccion de la vulnerabilidad para que ñla podamos entender

statd el mando a distancia de servicios puede ser vulnerable a un ataque de formato de cadenas

esto significa que un atacante puede ejecutar código arbitrario gracias a un error en este demonio

sólo las versiones antiguas de statd bajo linux se ven afectados por este problema

***Nessus reporta esta vulnerabilidad usando soloinformacion que se reunio
***tenga cuidado al utilizar ensayos sin controles de seguridad habilitado

Solucion:actualizar a la versión más reciente de rcp.statd
Factor de Riego: alto
CVE : CVE-2000-0666,CAN -2000-0800
BID : 1480


y en conclucion la solucion para esta vulnerabilidad seria actualizar el paqute rcp.statd y el problema se solucionara

viernes, 27 de junio de 2008

Configuracion IPSec en Windows

En esta entrada vamos aver como es la configuracion de ipsec en windows
lo primero es abrir una consola de administracion y lo hacemos de la siguiente forma.Damos clic en "inicio", "ejecutar", copiamos mmc y damos enter esto es para que nos aparezca una consola de administracion.



Después de haber dado enter nos aparecerá la siguiente ventana en esta ventana damos clic en en "archivo" y en "agregar o quitar complemento".


Luego nos saldrá la siguiente pestaña en el cual escogeremos que consola de administracion queremos.le damos click en agregar




En la nueva ventana que nos aparecio escojemos la opcion "ip security policy management" y le damos "add" nos aparecera otra ventana la cual nos pregunta en que equipo vamos agregar el complemento, le damos en "equipo local" y "finish", despues seleccionaremos el otro complemento que sera "ip security monitor" le damos clic en "add" y luego en "close".


Aqui nos muestran las consolas que seleccionamos y luego de estar seguros de que escogimos las correctas damos clic en "aceptar".



Despues de terminar lo anterior nos apareceran las opciones de configuracion de ipsec. Ya con esto empezaremos a configurar politicas de ipsec.
-primero damos clic derecho en "directivas de seguridad" (ip security policy management) y le damos clic en "crear directiva de seguridad ip".




Nos aparecera un asistente de configuracion



Nos saldra una un recuadro donde debemos ingresar el nombre y la descripcion de la nueva directiva luego damos clic en "siguiente".





Luego nos saldra el siguiente cuadro el cual nos esta dice si queremos activar la regla de respuesta predeterminada, esto es para que los equipos remotos cundo soliciten seguridad se le responda y se le solicite seguridad en la comunicacion.




Luego nos aparecera un cuadro en el cual especificaremos la llave precompartida.


-Damos clic en siguiente y nos aparecera que ya hemos terminado la de crear la directiva:-Le damos clic en finalizar.




Al darle clic en finalizar nos aparecerá un cuadro donde podemos agregar reglas para nuestra directiva. para no tener inconvenientes desactivamos la opcion de usar asistente para agregar (use add Wizard) que se encuentra en la parte inferior de la ventana y luego damos clic en agregar.




Nos aparecera este cuadro el cual nos permite hacer un filtrado de ip (IP filter list) y le daremos clic en agregar.





Luego de que le dimos clic en agregar nos aparecerá un recuadro en el cual le colocaremos el nombre ala regla de filtrado y tambien desactivamos el asistente (use add Wizard) luego de colocar el nombre le damos cilc en edit.





En esta ventana especificaremos desde la direccion ip origen y la direccion ip de destino, luego pasamos ala siguiente pestaña.





En esta pestaña especificaremos el protocolo que utlizaremos.Si deseamos podemos ponerle una descripcion a la regla. Para finalizar damos clic en ok a todas las ventanas que nos aparezcan.



Despues escogemos la pestaña Filter action (accion de filtrado) y le damos clic en agregar.




Despues de darle add nos aparecera esta ventana en la cual podemos escoger los metodos de seguridad en este caso escogemos negociar la seguridad (negotiate security) y damos clic en agregar.





Luego de darle en add nos aparecera esta ventana en la cual escogemos la opcion personalizada esto como su nombre lo indica es para personalizar el metodo de seguridad y le damos clic en configuration.





Nos aparecera una ventana en la cual escogemos los algoritmos que vamos a utilizar, los cuales pueden ser SHA1 o MD5 tambien podemos escoger el algoritmo de encriptacion que puede ser 3DES .Luego de escoger los algoritmos le damos clic en ok a todas las ventanas que nos aparezcan.



20. Luego pasamos a la pestaña metodos de autenticacion y le damos clic en agregar.


-Luego de darle cilc en agregar nos aparecera una ventana en la cual escogeremos la ultima opcion y colocaremos la llave precompartida.




Ya para terminar le damos clic derecho sobre la politica y damos clic en asignar.





para que esto pueda funcionar la misma configuracion se deve hacer en el host con el que se va a hacer la comunicacion.

Esta fue una prueba de la politica. Esta politica es para que negocien seguridad cuando se hace un ping y tengan comunicacion segura.


lunes, 23 de junio de 2008

Instalacion y Configuracion de SSH

SSH es el nombre de un protocolo y del programa que lo implementa. Este protocolo sirve para acceder a máquinas a través de una red, de forma similar a como se hacía con telnet. La diferencia principal es que SSH usa técnicas de cifrado para que ningún atacante pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión.

(SSh trabaja por el puerto 22 tcp) y una de las herramientas que utiliza ssh para entrar en otros equipos es la aplicacion libre Putty.

ahora pasamos ala configuracion de SSH en Linux

#apt-get install ssh


ahora pasaremos ala configuracion de ssh en el archivo de configuracion por defecto #pico /etc/ssh/ssh_config

ahora veremos algunas opciones del archivo de configuracion estando dentro del archivo especificaremos en la linea:
port 22
Este seria el puerto por defecto por el que funciona ssh pero si queremos lo podemos cambiar por otro puerto


Luego en la linea permitRootLogin que es para permitir el acceso directo al usuario root se recomienda que este en no porque cualquier usuario que se loguee quedara como root y tendra permiso para modificar cualquier cosa dentro de nuestro equipo

PermitRootLogin no


La linea x11Forwarding nos da la opcion de permitir o denegar la ejecucion remota de una interface grafica.

x11Forwarding yes

Para que nuestro servidor pida una llave al ingresar el ususario debemos descomentar la linea:

AuthorizedKeysFile /root/.ssh/authorized_keys

esa ruta es donde van a ir almacenadas las llaves publicas de los usuarios .


Luego debemos descomentar la linea PasswordAuthentication y cambiar de yes a no esto se hace para que no pida clave sino la llave del usuario

PasswordAuthentication yes

Despues debemos copiar la llave del usuario que va a ingresar al servidor ssh en la ruta que le dimos en la linea AuthorizedKeysFile
(la ruta es /root/.ssh/authorized_keys)

cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys


id_dsa.pub es la llave publica del usuario.



por ultimo reiniciaremos el servicio

/etc/init.d/ssh restart

Configuracion del cliente SSH

primero instalaremos el cliente ssh

#apt-get install openssh-client

luego crearemos las llaves del usuario con el comando
#ssh -keygen -t dsa

debemos copiar la llave publica al archivo donde se alojan las llaves que es /root/.ssh/authorized_keys

cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys

ya podemos provar si la configuracion esta buena accediendo al servidor ssh

ssh 10.3.8.154 (es la ip del servidor ssh)


En esta imagen podemos ver que nos pudimos comunicar al servidor SSH

Analisis del trafico ssh

Acontinuacion veremos como es la conexion ssh cliente servidor


El cliente hace una peticion ssh con un SYN al servidor
El servidor le responde con un SYN,ACK
Vuelve a responder el cliente con un ACK
El servidor responde arrojando datos del protocolo y del equipo.
El cliente hace lo mismo, arroja informacion de su equipo y demas.
Luego el cliente inicia el intercambio de llaves del servidor.
El servidor responde con un ACK, y inicia en intercamo de llaves del servidor.
Luego establecen un algoritmo de encriptacion, crean unas nuevas llaves para crear el tunel ssh y luego inician una comunicacion encriptada.




Para finalizar la conexion ssh el cliente le manda una peticion de FIN, ACK al servidor el servidor le responde con otro FIN, ACK y el cliente le confirma con un ACK.


Este analisis fue tomado del blog de ferney

martes, 17 de junio de 2008

NESSUS

Nesus es una herramienta para informes de vulnerabilidades.
Nessus es un programa de escaneo de vulnerabilidades en varios Sistemas Operativos. Y consta de un cliente y un servidor, se pueden instalar en las mismas maquinas por simplicidad. Con nessus se pueden grabar informes donde hay enlaces que explican que tipo de vulnerabilidad encontrada es, como "exportarla" y como "evitarla".

Nessus es un escáner de seguridad remoto para Linux, BSD, Solaris, Windows y Otros Unix. Está basado en plug-in(s), tiene una interfaz basada en GTK, y realiza más de 1200 pruebas de seguridad remotas. Permite generar reportes en HTML, XML, LaTeX, y texto ASCII; también sugiere soluciones para los problemas de seguridad.

Instalacion de Nessus
# apt-get install nessus -->Nessus cliente
# apt-get install nessusd -->Nessus demonio

Para configurar Nessus como demonio indicando un puerto hacemos lo siguiente:
# nessusd p 1241 a 10.3.16.x -->Puerto y direccion IP por la cual se comunicara.

Agregar un usuario:
# nessus-adduser

Link de otra instalacion.

Al ejecutarlo desde Aplicaciones, Internet, Nessus nos aparece una consola como esta:
Nos logueamos. La primera vez que nos logueamos nos muestra esto:
Nos muestra un certificado. Lo aceptamos
Cuando estemos logueados nos mostrara los plugins que tiene nessus.
Unas de las imagenes sobre las caracteristicas de Nessus.

Para escanear un equipo hacemos lo siguiente:
-->Indicamos la direccion IP
-->Iniciamos en escaner
Al iniciar el escaner debemos esperar que se realice todo el escaner y nos arroje los resultados.
Cuando termine mostrara el reporte asi:
Este documento fue desarrollado con la ayuda de Alexandra Amaya

viernes, 13 de junio de 2008

Vulnerabilidad en OpenSHH y OpenSSL

En esta entrada ablaremos sobre la vulnerabilidad de OpenSSL que fue descubierta por el argentino Luciano Bello

El problema es el siguiente: en un patch de Debian al paquete OpenSSL que fue aplicado por mediados de 2006, se introdujo una seria vulnerabilidad en el manejador pseudo-aleatorio de numeros (PRNG).
Para los que no saben que es eso o que es OpenSSL, un resumen pequeño y
una lectura obligada en Wikipedia.
OpenSSL es una implementación libre de los protocolos SSL y TLS que se usan como herramientas de criptografía, o sea, para ocultar cosas básicamente.

Entonces, lo que hace el PRNG es eso, generar números que intentan tener la mayor entropía (”aleatoriedad”) posible usando distintos parámetros.

Esto hace que, por ejemplo, una conexión segura via SSH sea justamente “segura” por que las claves que se utilizan para establecer el canal de comunicación son *extremadamente* largas y “aleatorias”.

Lamentablemente la parte afectada fue una de las encargadas de generar la mayor parte de la entropía de los números generados por OpenSSL, reduciendo drásticamente los tiempos de ataque por fuerza bruta a cuestión de horas o minutos.por uqe las laaves se pueden descubrir muy facilmente

Antes de intentar hacer cualquier cosa, lo importante es actuar con prudencia.El fallo fue introducido en sept de 2006, así que la sugerencia es que ante la duda, vuelvas a generar todas las llaves que hayan sido creadas vía OpenSSL en un sistema Debian (o derivados de Debian) desde 2006 hasta ahora.
Esto afecta a llaves SSH (llaves RSA y DSA), certificados SSL (x509), y todo lo que haya sido compilado contra libssl.

Lo que la mayor parte de todos tendremos que hacer mínimamente es regenerar las llaves RSA/DSA para el servidor SSH:

# rm /etc/ssh/ssh_host_*
# dpkg-reconfigure openssh-server


lo que queremos decir aquie es que la vulnerabilidad en openssl se podria aprovechar por cualquier persona que tenga acceso a un paquete que hay en internet que contiene todas las llaves que genera el openssl y al descargarlo y comparar las llaves que contiene podemos averiguar cualquier llave ala que tengamos acceso ,por ejemplo si tu tienes una llave publica de cualquier persona al comparar esta llave con las que hay en el dichoso paquete podras encontrar la llave privada y sai acceder a los pc o servidores donde este usuario se autentica con sus respectivas llaves.

esta entrada se realizo con la ayuda de Alexis Cerpa

Solucion de la vulnerabilidad de llaves en OPenSSH y OpenSSL

Ahora, como saber si tu sistema está afectado?

Si no tienes instalado openssh-server y nunca usaste openssh-client es seguro que no tendrás problema. Pero por las dudas puedes hacer la comprobación con este método. Te recomiendo que lo hagas, porque yo estaba seguro que en mi PC de escritorio jamás había usado OpenSSH y al comprobar por medio del script me dió que el sistema era vulnerable y ahí recordé que una vez sincronicé el iPhone usando OpenSSH. Así que a probar.

Primero abre una Terminal.

Nos descargamos el script de comprobación desde el servidor de Debian:

wget -c http://security.debian.org/project/extra/dowkd/dowkd.pl.gz

Lo descomprimimos:

gunzip dowkd.pl.gz

y le damos permiso de ejecución:

chmod u+x dowkd.pl

Luego lo ejecutamos:

./dowkd.pl user

./dowkd.pl host hostname

Si nos aparece algo similar a esto: /home/username/.ssh/id_dsa.pub:1: weak key significa que nuestra clave ssh se encuentra comprometida. Si no ves las palabras "weak key" no tienes problemas.

Como lo soluciono?

Seguimos desde la Terminal:

sudo apt-get update

sudo apt-get upgrade

Verás que existen actualizaciones para los paquetes openssl y openssh, Acepta las actualizaciones y ahora vamos a regenerar las nuevas claves.

Si el "weak key" apareció al ejecutar el primer script:

ssh-keygen -t dsa -b 1024

Si apareció en el segundo script:

sudo rm /etc/ssh/ssh_host_{dsa,rsa}_key*

sudo dpkg-reconfigure -plow openssh-server

Hecho esto, corremos los scripts nuevamente para ver si se solucionó el problema.

En el caso de no haberse solucionado mira el archivo donde está la clave con error (en mi caso la salida de la terminal era /home/eduardo/.ssh/authorized_hosts:1: weak key) y abre con Gedit el archivo en cuestión (en mi caso /home/eduardo/.ssh/authorized_hosts) y borra la linea afectada (en mi caso 1). Antes un backup del archivo con otro nombre.

Vuelve a ejecutar el script hasta que las dichosas palabritas weak key no aparezcan.

cuando nos deje de salir este mensage ya podemos volver a generar todas nuestras llaves RSA y DSA.


esta entrada se realizo con la ayuda de Alexis Cerpa



jueves, 12 de junio de 2008

Creacion de Certificados para Servidor Web en Windows

En esta entrada se explicara como sera la creacion de un certificado digital para un servidor web en windows 2003 server
primero ingresamos ala consola de administracion de IIS (internet information server) ,y damos click derecho en la opcion sito web predeterminado y damos click en opciones.veremos las opciones del servidor pero como lo que nos interesa es la creacion del certifiacdo hiremos ala pestaña seguridad de directorios.
aca encontaremos las opciones de la creacion de certificados le damos clicl en la opcion creacion de certificadosya entramos en el asistente para la creacion del nuevo certificado, damos click en siguiente.


en esta opcion nos mostrara varias opciones de certificados pero nosotros escogeremos la opcion crear un certificado nuevo.
por defecto sale la opcion preparar la peticion ahora para enviarla mas tarde ,y damos click en siguiente
en esta opcion le damos el nombre del certificado que vamos a utilizar le podemos dar la longitud del certificado pero dejaremos la que hay por defecto 10024, damos click en siguiente
en esta opcion damos el nombre de nuestra organizacion y de nuestar unidad organizativa ,click en siguienteaca se definira el nombre del servidor dejaremos el que sale por defecto,click en siguiente
en esta opcion le daremos a nuestro certificado las opciones de localizacion eligiendo nuestro pais,estado,ciudad , click en siguiente.
en esta opcion se le da el nombre al certificado que por defecto sera certreq.txt, click en siguiente
aca nos muestra un resumen de toda la informacion que va a contener el certificado que se v a crear.
ya se a creado en certificado y solo falta enviarlo al autoridad certificadora para que lo firme y subirlo al servidor web.

esto se hiso con la colaboracion de Alexis Cerpa y Daniel Ramirez