Por defecto la pila TCP/IP en un servidor Microsoft Windows 2003 Server viene optimizada para dar servicio de intranet, no para dar servicio de internet.
Tener un servidor sin adaptar adecuadamente dando servicio para internet con iis6 por ejemplo, puede convertirlo en una fácil presa de ataques dDOS entre otros.
Hay que tener en cuenta de igual modo, que un servidor expuesto a internet, no va a tener que soportar ni de lejos la misma carga de tráfico que uno que opere en la intranet de una empresa, en la gran mayoría de los casos.
Para optimizar nuestro sistema debemos tocar las siguientes claves de registro que encontramos en HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Services
Nombre: SynAttackProtect
Clave: Tcpip\Parameters
Tipo: REG_DWORD
Valor:1
Este valor del Registro hace que TCP ajuste la retransmisión de SYN-ACKS. Cuando se configura este valor, las respuestas de conexión superan el tiempo de espera antes durante un ataque SYN (En w2k3 con service pack 1 viene a 1 por defecto)
Nombre: EnableDeadGWDetect
Clave: Tcpip\Parameters
Tipo: REG_DWORD
Valor: 0
Cuando esta activada, TCP puede utilizar una puerta de enlace que no se use en el caso de tener problemas con la que usa por defecto.
Si no se configura este valor como 0, se podría cambiar de puerta de enlace del servidor a otra que el atacante quiera.
Nombre: EnablePMTUDiscovery
Clave: Tcpip\Parameters
Tipo: REG_DWORD
Valor: 0
De no ser 0, un atacante podría forzar que el valor de la unidad de transmisión máxima (MTU) fuera muy pequeño y sobrecargar la pila TCP/Ip.
Nombre: KeepAliveTime
Clave: Tcpip\Parameters
Tipo: REG_DWORD-Tiempo en milisegundos
Default: 300000 (5 minutos)
Indica la frecuencia en la que se comprueban si las conexiones TCP inactivas siguen intactas y si el cliente está presente. Generalmente es recomendable cambiar el valor por defecto de 2 horas a 5 minutos, pero en cada caso concreto debemos estipular una configuración adecuada.
Nombre: NoNameReleaseOnDemand
Clave: Netbt\Parameters
Tipo: REG_DWORD
Valor: 1
Con este valor evitamos que el equipo libere su nombre NetBIOS en caso de que se le solicite.
Comentarios (0) Posted by Asier Marqués on Viernes, Mayo 2nd, 2008
MacOSX cuenta con un potente firewall llamado ipfw. Aunque existe un interfaz gráfico para manejarlo, llamado WaterRoof, lo más normal es que queramos usarlo desde el terminal.
En este ejemplo voy a crear una regla que bloquee los accesos externos a nuestro puerto 80 y después voy a eliminarla.
Para poder ver las reglas que tenemos aplicadas en nuestro equipo podemos llamar al comando
sudo ipfw list
Si quisieramos crear una regla nueva que denegase todo tráfico externo entrante, dirigido a un puerto concreto de nuestro equipo (por ejemplo el 80, usado por apache u otro servidor web corriendo en nuestro equipo) usaríamos el comando:
sudo ipfw add 02001 deny tcp from any to any 80 in
Explico lo que hemos hecho:
Con sudo, adquiero los privilegios de root para manejar el firewall
Llamo al comando ipfw, que controla el firewall
Con add, le indico que quiero añadir una regla nueva
02001 es un número de regla que puede ser cualquiera que no esté siendo usado en la lista de reglas aplicadas. Hay que tener en cuenta que las reglas se procesan de forma secuencial y si ponemos una regla de denegación para un grupo de ips antes de permitir a una en concreto, ésta no tendra acceso (por poner un ejemplo).
Deny le indica que la regla es de denegación (podría ser allow para permitir o log para logear el acceso, por ejemplo)
tcp le indica que queremos que se aplique al tráfico que se de tipo tcp
From any to any 80 inle indica que se aplique al tráfico que venga de cualquier ip o dirección externa a cualquier ip o dirección interna de nuestro equipo a traves del puerto 80 (http)
Volvemos a ver las reglas aplicadas a nuestro equipo
Éste ejemplo es de lo más sencillo que podemos hacer con ipfw, podéis leer un artículo más extenso de Peter Hickman para haceros una idea de lo que se puede hacer con éste firewall.
Comentarios (0) Posted by Asier Marqués on Viernes, Marzo 28th, 2008
En mysql existe la función LOAD_FILE que admite como parámetro la ruta de un fichero local en Hexadecimal.
Si por ejemplo convertimos “c:\boot.ini” a su representación hexadecimal “0×633A5C626F6F742E696E69″ y se realiza la injection de abajo, la condición será True si la primera letra del fichero corresponde con el carácter ASCII 1.
http://www.dominioejemplo.com/index.php?id=1 and
mid(Load_File(0×633A5C626F6F742E696E69),1,1)=CHAR(1)
Por cada query de éste tipo carga el archivo completo en memoria, recorriendo todos los valores posibles del alfabeto hasta llegar al final del mismo.
Chema Alonso, mvp en seguridad de Microsoft, publica en su blog un artículo sobre cómo securizar correctamente un servidor Apache.Éste artículo se divide en 5 post, que son los siguientes:
Cerrudo es uno de los clásicos en la historia de las vulnerabilidades de bases de datos, en este doc hace un recorrido rápido sobre los principales ataques a Oracle y SQL Server. Muy util si quieres jugar con ellos
Nitin Kumar & Vipin Kumar - Vboot Kit: Compromising Windows Vista Security:[PPT][White Paper] [POC]
Muy interesante, como hacerse un rootkit en Vista aprovechando los sectores de arranque. Es para la RC1, pero es interesante el trabajo.
Jonathan Wilkins - ScarabMon - Automating Web Application Penetration Tests: [PPT] [White Paper][POC]
Explica con detalle como realizar tres exploits:1.- FreeBSD 802.11 Remote Integer Overflow
2.- NetBSD mbuf Overflow
3.- Windows Local GDI Kernel Memory Overwrite
Cesar Cerrudo - Practical 10 Minute Security Audit: The Oracle Case: [PPT][White Paper][POC]
Lo hace con Oracle sobre Windows con las herramientas de Wininternals y jugando con los permisos de los objetos del sistema. 10 minutos, con step by step. Muy buena.
Comentarios (0) Posted by Asier Marqués on Lunes, Agosto 13th, 2007
Chema Alonso ha publicado en su blog, una serie de 4 post sobre técnicas de SQL Injection y las principales herramientas que existen para testear vulnerabilidades que permitan éste tipo de ataques.
Éstos son los enlaces a dichos post (recomendable su impresión y lectura):
Pablo Garaizar “Txipi”, profesor de la universidad de Deusto (entre otras cosas) y defensor del código libre, ha publicado en su blog la presentación, con el audio grabado, que llevo a su charla sobre seguridad y hacking en redes Wifi, que tuvo lugar éste mes en los cursos promovidos por e-Ghost y los que muy a mi pesar no pude asistir :’(
Me he tomado la libertad de adjuntar las transparencias y el audio en éste post.
En WikiHow se ha publicado una guía para forzar al Cliente Gmail Notifier a usar SSL. Los pasos son los siguientes:
Cierra Gmail Notifier.
Copia el ejecutable gnotify.exe y renombra esa copia a gnotify.exe.BAKUP
Abre VitualDub, o cualquier otro editor hexadecimal, y selecciona en el menú Tools -> Hex editor
En el editor hexadecimal ve a File -> Open, y busca el ejecutable gnotify.exe en tu equipo (por defecto C:\Archivos de Programa\Google\Gmail Notifier\).
Selecciona gnotify.exe
Deselecciona “Open as Read Only”
Pulsa Ctrl+F y escribe http://mail.
Dale Enter, y verás la URL que usa el notify (la http://, NO la https://, la https aparentemente es sólo para la autenticación)
Tal y como se ve en la captura de éste punto, situa el cursor en los dos puntos (:) debajo del “http” (NO del “https”) y sobreescribe esa línea por:
s://mail.google.com/mail/.
Guarda y reinicia el notify.exe
Comentarios (3) Posted by Asier Marqués on Miércoles, Julio 4th, 2007
Asier Marqués es un profesional freelance que trabaja como analista y desarrollador de aplicaciones web, así como consultor de sistemas Microsoft.
Tiene más de 5 años de experiencia en desarrollo de aplicaciones web,
ha trabajado como profesor de informática y se ha desarrollado como administrador de sistemas en varias consultoras internacionales.