Mostrando entradas con la etiqueta Desde Cero. Mostrar todas las entradas
Mostrando entradas con la etiqueta Desde Cero. Mostrar todas las entradas

viernes, 9 de mayo de 2014

¿Qué es RFI?

Remote File Inclusion o Inclusión Remota de Archivos es una vulnerabilidad en páginas dinámicas PHP que utiliza archivos de servidores generalmente con la función include(), si el código de llamada de esta función no está suficientemente filtrado, podríamos crear una petición manipulada a través de la cual podríamos ejecutar código desde ficheros directamente en el servidor.


Resumen del ataque
Las funciones include, include_once, require, require_once se utilizan para incluir en una página web contenido de otras páginas en el mismo servidor o en otro externo.

Una petición con una url maliciosa forzaría al servidor vulnerable a incluir código de una página preparada en un servidor. El archivo incluido debe tener una extensión que no se pueda ejecutar en el servidor atacante: txt, jpg, etc. que se cargara y ejecutara como código php en el servidor vulnerable.

Las posibilidades de crear en un servidor un archivo que se ejecutar en el servidor remoto son tantas que generalmente se genera un archivo con diversas funciones de control, denominadas shell, panel y se encuentran en Internet un buen numero de ellas: c99, r57, Locus, 003, c100…

La solución está en el control y filtrado de entradas en estos parámetros y controlar este tipo de funciones vulnerables, incluso prescindir de la utilización de algunas a no ser que sea imprescindible.

Seguridad a lo Jabalí para Todos!!

miércoles, 9 de abril de 2014

¿Qué es XSS?

XSS proviene de Cross Site Scripting una tipo de vulnerabilidad informática asociada a una falta de control de los vectores de entrada en un sitio web que permite ejecutar código JavaScript o similar en el lado del cliente.

Esto quiere decir que no es un ataque dirigido al servidor web, el objetivo son los visitantes del sitio, generalmente los usuarios. Las repercusiones de este tipo de ataques perjudican a millones de usuarios llegando a infectar equipos con malware en el peor de los casos, por otra parte hay bastante desinterés por parte de algunas multinacionales por este tipo de vulnerabilidades “considerándolo un problema de los usuarios”.


¿Cómo funciona?
En el momento que aumento el uso de Internet se empezaron a buscar formas de mejorar el servicio y la experiencia de usuario, una de estas aproximaciones es descargar parte de la carga de trabajo de un servidor en el lado del cliente, de esta forma el equipo del usuario utiliza sus propios recursos para realizar ciertas tareas. Estos códigos ejecutados en las maquinas del cliente ahorran trafico de red y tiempos y recursos del servidor, permitiendo una experiencia de navegación mejor. ¿Puedo desactivar JavaScript en mi navegador? La respuesta es sí, pero entonces ciertos elementos de una página web no funcionaran.

 Desactivando JavaScript desde about:config en Firefox

¿Cómo se realiza el ataque?
El error de un parámetro en el control de entradas de un sitio web permite que un atacante modifique esos datos de entrada por otro código que se ejecutara en la máquina de los usuarios.

Ejemplo: En un sitio web al pulsar en un enlace se solicita que nos envié la sección x, un atacante malicioso encuentra que el valor que se envía a esa variable de sección no está filtrado y se puede sustituir por otro, un código que ejecute JavaScript. Al modificar esa url el usuario recibirá la página web del servidor y las instrucciones para ejecutar código en su navegador a nivel local.

Lo complicado para detectar estos ataques es que en el servidor no se modifica nada (generalmente), Entonces ¿Cómo se produce la “introducción de ese código”? La respuesta es mediante campañas de envió masivo de esas url “preparadas” en mails, redes sociales o comentarios en páginas y blogs.

¿Cómo evitarlo?
En general los navegadores tratan de implementar filtros que eviten ejecutar algunos de estos ataques, pero la mejor opción es una política de prevención desde los servidores web, siguiendo pautas de desarrollo seguro y filtrado de entradas en las páginas. Lamentablemente es una carrera permanente en la que se programas filtros y se ingenian nuevas maneras de evadir estos filtros y así sucesivamente.

OWASP


Uno de los documentos más completos e interesantes lo publico Lord Epsylon en…


En este documento están definidas las distintas categorías o variaciones de este ataque con explicaciones y ejemplos para entender su funcionamiento a nivel técnico. 


Seguridad a lo Jabalí para Todos!!

viernes, 26 de octubre de 2012

Auditoría de Acceso a Objetos

La Auditoría le permite controlar qué usuarios y grupos han tenido acceso a archivos y carpetas específicos, normalmente en los documentos más sensibles. Configurando la Auditoría podemos saber quien abrió un documento, que modificó, y si trataron de acceder sin permiso en volúmenes formateados con NTFS. En Windows 7, hay 53 categorías de eventos. Esto permite ser más específico acerca de los tipos de eventos en una auditoría.

En entornos Empresariales
Es muy importante planificar que recursos de nuestra organización son más sensibles y  las auditorias deben estar activadas para que los accesos generen los eventos que queremos registrar. Hay que tener presente que si se desea registrar los intentos fallidos de acceso a un recurso, hay que activar el registro de error.

Activar las auditorias de acceso a objetos repercute en el rendimiento de la maquina. Los archivos de log generados por la auditoria también deben ser protegidos, a ser posible en otra máquina, una tarea sencilla en los sistemas Microsoft gracias a las Suscripciones de Eventos.


Configurar auditoría
  • Editor de directivas de grupo local 
  • Configuración del equipo\Windows\Seguridad\Directivas locales\Opciones de seguridad.
  • Configuración del equipo\Windows\Directivas de auditoría del sistema
  • Objeto de directiva de grupo local\Establecer el archivo de Directiva de auditoría del sistema.
  • Edite las propiedades del archivo o carpeta que desea auditar, en la pestaña Seguridad, Avanzado, Auditoría, Continuar para elevar privilegios.
  • Agregar y agregue los grupos en los que desea auditar el acceso, en seguridad selecciona cuál de los privilegios especiales deseas auditar.
  • Eventos de auditoría ahora se escribirá en el registro de seguridad, accede mediante el Visor de Eventos.
Seguridad a lo Jabalí para Todos!!

martes, 9 de octubre de 2012

Firewall de Windows desde Shell

La denominación del cortafuegos de Microsoft es WFAS, es decir Windows Firewall with Advanced Security y una de las opciones más interesantes es configurarlo mediante línea de comandos.

Abrimos un símbolo del sistema con privilegios elevados para administrar las reglas WFAS y utilizamos el comando netsh.exe, la ventaja de esto es que se puede combinar con Windows remoto.

Para utilizar Netsh.exe para crear reglas, se debe estar en el contexto servidor de seguridad advfirewall. 

Algunos ejemplos del uso de Netsh para crear reglas de firewall: 

Crear una regla llamada WebServerRule que se aplica en el perfil de dominio y permite el tráfico entrante en el puerto TCP 80, ejecute el comando: 
netsh advfirewall firewall add rule name=”WebServerRule” profile=domain protocol=TCP dir=in localport=80 action=allow

Crear una regla llamada AllowCalc que permite el tráfico entrante a la aplicación Calc.exe en todos los perfiles de red: 
netsh advfirewall firewall add rule name=”Calc” dir=in program=”c:\windows\system32\calc.exe”

Crear una regla llamada BlockFTP que bloquea el tráfico saliente desde la aplicación FTP.exe:
netsh advfirewall firewall add rule name=”BlockFTP” dir=out program=”c:\windows\system32\ftp.exe” action=block

Ahora al ejecutar una Shell después de un exploit ya podéis configurar ese firewall a veces tan molesto.

Seguridad a lo Jabalí para Todos!!

IPv6 Lo que siempre quisiste Saber



Una dirección IPv6 utiliza 128 bits, resultando en un espacio de direcciones aumentado nos permite asignar varias direcciones únicas IPv6. Los 128 bits de dirección se dividen en límites de 16 bits, y cada bloque de 16-bits se muestra como un número hexadecimal de 4 dígitos. Dos puntos se utilizan como separadores.

Una secuencia contigua bloques sujetos a 0 en formato hexadecimal con dos puntos puede ser comprimido. Algunos tipos de direcciones con secuencias largas de ceros y son buenos ejemplos de cuando usar esta notación.
La dirección de multidifusión FF05: 0:0:0:0:0:0:2 puede ser FF05 :: 2

El prefijo es la parte de la dirección que indica o bien los bits que tienen valores fijos o los bits de identificador de red, se expresan en la misma forma que IPv4 o notación con barras. 21cd:53::/64 es la subred en la que se encuentra la dirección 21cd: 53 :: 23ad: 3f: af37: 8d62

Tipos de direcciones IPv6 
Unidifusión identifica una única interfaz dentro del alcance de la dirección. Los paquetes dirigidos a una dirección unicast se entregan en una sola interfaz. RFC 2373 permite múltiples interfaces para utilizar la misma dirección, siempre que estos interfaces aparecen como una única interfaz para la implementación de IPv6 en el host, además tiene capacidad de balanceo de carga.

Multicast Identifica varias interfaces, los paquetes dirigidos a una dirección de multidifusión son entregado a todas las interfaces que están identificados por la dirección.

Anycast Identifica varias interfaces, los paquetes dirigidos a una dirección anycast son entregados a la interfaz más cercana identificada por la dirección, en términos de enrutamiento, o el número de saltos. Una dirección anycast se utiliza para una comunicación uno-a-muchos, con entrega en una sola interfaz.

IPv6 soporta los siguientes tipos de direcciones unicast:
  • Global
  • Enlace local
  • Sitio-local
  • Especial
Las direcciones globales unicast son el equivalente de las direcciones IPv4 públicas y son enrutables y accesibles a través de Internet IPv6. Estas direcciones se pueden agregar para producir una infraestructura de enrutamiento. Una dirección de unidifusión global es única a través de Internet IPv6. El prefijo de formato de una dirección de unidifusión global se lleva a cabo en los tres bits más significativos, que son siempre 001. En teoría, comienzan con 2 o 3 pero en la práctica, siempre con 2.

Direcciones locales de vínculo IPv6 son equivalentes a las direcciones IPv4 de APIPA. Identificadas por una FP de 1111 1110 10, que es seguido por 54 ceros (comienzan siempre con FE8). Utilizan direcciones locales de vínculo en la comunicación con nodos vecinos en el mismo enlace.
Se configura automáticamente, incluso si no hay dirección de unidifusión se asigna una Dirección local del sitio IPv6, equivalentes a las direcciones IPv4 privadas.

Direcciones locales del sitio comienzan con fec0, se pueden asignar mediante la configuración de direcciones con estado, como un ámbito DHCPv6. Un host utiliza la configuración de direcciones con estado cuando recibe mensajes de un enrutador que no incluyen prefijos de direcciones, también se puede configurar a través de la configuración de direcciones sin estado. Basado en los mensajes de anuncio de enrutador que incluyen prefijos de direcciones sin estado y requieren que los hosts no utilizan un protocolo de direcciones con estado de configuración.

Direcciones especiales
Hay Dos direcciones IPv6 especiales: la dirección no especificada y la dirección de bucle invertido.
La dirección 0:0:0:0:0:0:0:0 (o ::) se utiliza para indicar la ausencia de una dirección y es equivalente a la dirección IPv4 0.0.0.0. Nunca se asigna a un interfaz o se utiliza como dirección de destino.
La dirección de loopback 0:0:0:0:0:0:0:1 (o :: 1) se utiliza para identificar una interfaz de bucle invertido y es equivalente a la dirección de bucle IPv4 127.0.0.1.

Las direcciones multidifusión IPv6 permitirán a un paquete IPv6 ser enviado a un número de servidores, tienen la misma dirección de multidifusión. Tienen una FP de 11111111 y siempre empiezan con ss.

Una dirección anycast se asigna a varias interfaces. Los paquetes enviados a una dirección anycast son enviadas a través de la infraestructura de enrutamiento al más cercano de estas interfaces. El encaminamiento de infraestructura debe estar al tanto de las interfaces que se asignan las direcciones anycast y sus distancia en términos de enrutamiento y métricas. Actualmente, las direcciones anycast se utilizan solamente como destino direcciones y se asignan sólo a los routers. 

Ventajas de IPv6
Aumento del espacio de direcciones IPv6, proporciona direcciones suficientes para todos los dispositivos que necesita tener una única dirección IPv6 pública.

Seguridad del protocolo Internet (IPSec) proporciona este servicio obligatorio en IPv6.

Tamaño de la tabla de enrutamiento en Internet IPv6, las tablas de enrutamiento en los routers se han reducido en gran medida.

Eliminación del tráfico de difusión se basado en ARP para resolver las direcciones de los adaptadores de red (MAC). En IPv6 el protocolo Neighbor Discovery (ND) utiliza una serie de mensajes ICMPv6. ND reemplaza difusiones ARP.

La resolución de nombres de host a direcciones IPv6 se lleva a cabo a través de DNS (aparte de direcciones locales de vínculo que no se almacenan por DNS y se resuelven automáticamente). El procedimiento es el mismo que para la resolución de direcciones IPv4 con el nombre de equipo y par de direcciones IPv6 siendo almacenada en un AAAA (quad-A) registro DNS.

Reverse DNS lookup que devuelve un nombre de equipo para una dirección IPv6 se implementa por un puntero (PTR) registro de recursos DNS que se refiere a la zona de búsqueda inversa IPv6 ( ipv6.arpa). 

Seguridad a lo Jabalí para Todos!!

Archivo del blog

Consultor e Instructor de Sistemas y Seguridad Informática en Asturias