15 dic. 2006

Sistemas de Deteccion de Intrusos

Existen básicamente de 2 tipos:

HIDS o HostIDS: usado para vigilar 1 sola computadora. Generalmente
realiza verificaciones de integridad de los archivos de sistema y otros
que se indiquen mediante configuración. Almacena una base de datos con
las firmas digitales de los archivos importantes.Se implementan como
agentes que monitorean el núcleo y los módulos cargados a éste
interceptando las syscall.


NIDS o Network IDS: Usado para vigilar segmentos de red o la red entera
de una organización. Para esto la interfaz debe cambiarse a modo
promiscuo ( donde captura todos los paquetes que circulan en la red). En
redes conmutadas se precisa configurar una interfaz del switch en modo
espejo para que pueda capturar todos los paquetes que pasan por ese
switch. Otra alternativa es usar un dispositivo especial de hardware
llamado Network Tap cuyo costo es bastante alto.


También existen otros tipos de IDS


DIDS o Distributed IDS
PIDS o Protocol-based IDS
Application protocol-based IDS



IDS conocidos:

Snort es un NIDS
Prelude IDS Híbrido
Tripwire HIDS

El IDS standar de facto( el mas utilizado) actualmente es SNORT, una
herramienta Open Source

Una vez configurado un IDS debe pasar por una etapa de test, para
reducir el numero de falsos positivos( cuando detecta que hay un ataque
pero en realidad no lo hay) y el de falsos negativos ( cuando hay un
ataque y no lo detecta ). Esto se logra realizando ataques con exploits
conocidos, realizando escaneos de red normales y agresivos o mediante
herramientas automatizadas. Una herramienta usada puede ser THOR ( no
confundir con el software de navegacion anonima de internet)

THOR: A Tool to Test Intrusion Detection Systems by Variations of Attacks
http://thor.cryptojail.net/


Software IDS

http://www.tripwire.com/
http://www.cs.tut.fi/~rammer/aide.html
http://www.mcafee.com/us/enterprise/products/host_intrusion_prevention/index.html
http://www.cisco.com/en/US/products/sw/secursw/ps5057/index.html
http://www.symantec.com/enterprise/products/overview.jsp?pcid=1322&pvid=928_1
http://www.snort.com/
http://base.secureideas.net/
http://www.prelude-ids.org/
http://www-arc.com/sara/
http://zurk.sourceforge.net/zfile.html


Bibliografia

http://www1.cs.columbia.edu/ids/publications.html
http://www.securitywizardry.com/ids.htm
http://www.honeypots.net/ids/integrity-management
http://netsecurity.about.com/cs/firewallbooks/a/aa050804.htm
http://www.cse.sc.edu/research/isl/mirrorSobireys.shtml
http://www.sans.org/whatworks/wall.php?id=1&portal=7efea35d2fe3b646380695e1bb5a52bf
http://www.nss.co.uk/WhitePapers/intrusion_prevention_systems.htm
http://www.nss.co.uk/WhitePapers/gigabit_ids.htm
http://www.securityfocus.com/ids
http://www.dshield.org/
http://www.linux-sec.net/IDS/
http://www.mynetwatchman.com/

10 oct. 2006

I'm very very happy

Valio la pena el esfuerzo, luego de 3 meses de duro esfuerzo, aprobe el examen 70-536 a la primera !!!!
Ahora a prepararme para rendir el examen 70-528 de aplicaciones Web en C# obviamente.

13 sep. 2006

Parchando los Parches, una mas de MS

Lo acabo de leer en Hispasec y no se si molestarme o tomarlo deportivamente, me imagino como se sentiran los administradores de redes.
La fuente es esta, si no tienes ganas de pasar a otro link esta es la noticia entera:
Tercera edición del boletín MS06-042 de Microsoft
-------------------------------------------------
Microsoft ha publicado una nueva edición de su boletín de seguridad "Actualización acumulativa para Microsoft Internet Explorer (MS06-042)" debido a que se ha descubierto una nueva vulnerabilidad crítica en el parche que lo acompaña. Los usuarios deben volver a instalar, por
tercera vez, esta actualización.
Microsoft ha aprovechado la publicación de los parches habituales del segundo martes de septiembre, para hacer pública la tercera edición de uno de los boletines más problemáticos hasta la fecha. La empresa eEye ha vuelto a descubrir un error de seguridad provocado por el parche y que permite la ejecución de código arbitrario. El fallo es casi idéntico al descubierto el día 24 de agosto y se da en la librería URLMON.DLL, en las páginas que acepten el uso de la versión 1.1 del protocolo HTTP además de compresión de tráfico GZIP y utilización de URL largas. Esta vulnerabilidad permite la ejecución de código arbitrario si se visita un enlace especialmente manipulado con Internet Explorer.
El 8 de agosto Microsoft publicó el boletín MS06-042. En él se recomendaba la aplicación de un parche acumulativo para Internet Explorer que solucionaba ocho problemas de seguridad. Al poco tiempo se descubrió que este parche causaba problemas para visualizar algunas páginas. El fallo se daba en las webs que aceptasen el uso de la versión 1.1 del protocolo HTTP además de compresión de tráfico. Microsoft reconoció el error y programó para el día 22 de agosto la publicación de una reedición del parche que solucionara el problema.
El día 22 llegó y Microsoft retrasó su publicación a causa, según ellos, de problemas técnicos en la distribución. eEye hizo público que el fallo que introducía el parche era en realidad una vulnerabilidad crítica. El día 24 se publicó la segunda versión del boletín, que obligaba a una reinstalación. El día 12 de septiembre, esta vez en acuerdo con eEye, se ha hecho público que existe una nueva vulnerabilidad muy parecida, pero distinta, que no cubre la segunda versión del parche.
Como anécdota, mencionar que en esta ocasión sí que aparece eEye en los reconocimientos del boletín, como descubridora de esta última vulnerabilidad.
En definitiva, junto con los boletines MS06-52, MS06-53, MS06-54, se debe volver a instalar MS06-42 si se utiliza Internet Explorer 5 ó 6 con SP1 (los usuarios de Service Pack 2 no sufren este problema). La reinstalación ocurrirá de forma automática si se elige actualizar a través de las herramientas integradas en el sistema.

Enviando Correo con .Net 2.0

este es un pequeño programa que envia correo a tu cuenta de gmail. Si hubiera un puesto un campo en donde especificar el smtp server podria enviar a cualquier servidor donde tuvieramos cuenta, pero en fin...
Para hacer esto usamos el namspace System.Net.Mail ya que a partir de la version 2.0 del framework el namespace System.Web.Mail esta obsoleto.
Aqui esta el codigo






correo = txtUsuario.Text;
password = txtPassword.Text;
destinatario = txtTo.Text;
asunto = txtAsunto.Text;
contenido = txtContenido.Text;
isTexto = rbtnTexto.Checked;
MailAddress myAddr = new MailAddress(correo, "usuario");
MailAddress toAddr = new MailAddress(destinatario, "Destinatario");
MailMessage message = new MailMessage(myAddr, toAddr);
message.Subject = asunto;
message.Body = contenido;
if (!isTexto)
{
message.IsBodyHtml = true;
}
try
{
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.Credentials = new NetworkCredential(correo, password);
client.Send(message);
}
catch (SmtpFailedRecipientException exp)
{
MessageBox.Show("Ocurrio el siguiente error:\n" + exp.Message);
}
catch (SmtpException ex)
{
MessageBox.Show("Ocurrio un error\n" + ex.Message);
}


Deberiamos asegurarnos que el usuario escriba correctamente su correo electronico, usando expresiones regulares en el evento Validating, pero sera para la proxima ;)
Click aqui para descargar el codigo

8 sep. 2006

Conectadonos a IPv6 via ADSL con teredo en Linux

la implementacion de teredo en linux es un programa llamado miredo, implementa el RFC 4380 Teredo: Tunneling IPv6 over UDP through NATs que nos permite conectarnos a ipv6 cuando estamos detras de un nat.
Descargamos el paquete
http://www.remlab.net/files/miredo/miredo-1.0.1.tar.bz2
lo copiamos a , pòr ejemplo opt y o descomprimimos
hay que instalar el paquete libJudy
PcChristian:~# aptitude install libjudy-dev libjudydebian1
luego lo de siempre
PcChristian:~#./configure && make && make install
se instala en editamos su fichero de configuracion /usr/local/etc/miredo.conf

RelayType client
InterfaceName teredo
#estos 2 siguientes parametros no son necesarios pero por siacaso
BindPort 3545
BindAddress 192.168.0.33
ServerAddress 203.233.154.10


ejecutamos miredo


PcChristian:~# miredo -c /usr/local/etc/miredo.conf -f
miredo[9700]: Starting...
miredo[9705]: Qualified (NAT type: restricted)
miredo[9705]: Teredo pseudo-tunnel started
miredo[9705]: (address: 2001:0:cbe9:9a0a:0:c4aa:3619:650c, MTU: 1280)


vemos que nos han asiganod la direccion 2001:0:cbe9:9a0a:0:c4aa:3619:650c, comprobemoslo con ifconfig

PcChristian:/opt/miredo-1.0.1# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:3D:CB:9D:12
inet addr:192.168.0.33 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20f:3dff:fecb:9d12/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1539 errors:0 dropped:0 overruns:0 frame:0
TX packets:1711 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:982079 (959.0 KiB) TX bytes:282614 (275.9 KiB)
Interrupt:169 Base address:0xd800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:258 errors:0 dropped:0 overruns:0 frame:0
TX packets:258 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:72881 (71.1 KiB) TX bytes:72881 (71.1 KiB)

teredo Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: fe80::ffff:ffff:ffff/64 Scope:Link
inet6 addr: 2001:0:cbe9:9a0a:0:c4aa:3619:650c/32 Scope:Global
UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:144 (144.0 b)


finalmente probemos hacer ping6 a una pagina por ejemplo a www.kame.net

PcChristian:/opt/miredo-1.0.1# ping6 -n www.kame.net
PING www.kame.net(2001:200:0:8002:203:47ff:fea5:3085) 56 data bytes
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=2 ttl=52 time=306 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=3 ttl=52 time=326 ms

--- www.kame.net ping statistics ---
4 packets transmitted, 2 received, 50% packet loss, time 3010ms
rtt min/avg/max/mdev = 306.698/316.694/326.690/9.996 ms

si entramos a la pagina www.kame.net veremos la tortuga moviendose, señal que estamos conectados desde una direccion ip6, en caso contrario solo veremos una imagen estatica de la tortuga.

Si algo sale mal debemos comprobar que no tenemos el puerto 3544 bloqueado por el firewall





7a69 esta de vuelta

Uno de mis ezines favoritos, finalmente tienen su pagina web operativa nuevamente.
http://www.7a69ezine.org/

7 sep. 2006

Que lenguaje de Programacion eres tu ?

http://www.bbspot.com/News/2006/08/language_quiz.php

eso me devolvio el test :D

You are Binary.  You are not human and go to great lengths to prove it.  You always know where you are and how you got there, but no one else does, ever.
Which Programming Language are You?

Configurar la Tarjeta inalmabrica DWL-G520+ en Debian

#aptitude install module-assistant
#module-assistant -t list
#module-assitant -t prepare
#module-assistant -t auto-install acx100-source

#vi /etc/network/interfaces
auto lo

iface lo inet loopback

auto wlan0
#Para obtener la ip por DHCP
iface wlan0 inet dhcp
WIRELESS_ESSID MIWIFI
WIRELESS_MODE Managed

#configurar una IP statica
#iface wlan0 inet static
# WIRELESS_ESSID MIWIFI
# WIRELESS_MODE Managed
# address 172.20.0.121
# netmask 255.255.255.0
# gateway 172.20.0.254

#una direccion IPv6
iface wlan0 inet6 static
address 2001:13B0:1021:1::5
netmask 64
WIRELESS_ESSID MIWIFI
WIRELESS_MODE Managed

Instalar DBDesigner en Debian Sarge o Etch

Deberia funcionar tambien debian Sid pero no lo he probado

Bajamos el programa de http://fabforce.net/dbdesigner4/ , o directamente de http://fabforce.net/downloads.php , descomprimimos el archivo en /opt

DBDesigner, depende de una libreria de Kilyx, asi que tendremos que instalarlo.
http://kylixlibs.sourceforge.net/ ,descargamos el archivo kylixlibs3-borqt-3.0-2.tar.gz y lo descomprimimos , entramos a la carpeta de kylixlibs y ejecutamos el script install.sh
./install.sh
cp -d /usr/lib/kylix3/* /usr/lib/

aptitude install libstdc++2.10-glibc2.2

christian@PcChristian:/opt/DBDesigner4$ ./startdbd




Instalar Java en sistemas Operativos basados en GNU/Linux Debian

Lo primero que debemos hacer es descargar de java.sun.com la version mas reciente de la JVM , a la fecha jdk-1_5_0_06-linux-i586.bin. Luego de esto, instalamos el paquete java-package:
#aptitude install java-package
Luego instalamos el paquete fakerrot:
#aptitude install fakeroot
Para poder convertir el archivo jdk-1_5_0_06-linux-i586.bin a un paquete .deb usaremos make-jpkg el cual esta incluido en el paquete java-package y a la ves usaremos la herramienta fakerrot propia de Debias y las que se derivan de ella. Sin embargo, para poder utilizar fakerrot necesitamos ejecutarlo como usuario.
#su christian
christian@PcChristian:~$ fakeroot make-jpkg jdk-1_5_0_06-linux-i586.bin
Detected product:
Java(TM) Software Development Kit (J2SDK)
Standard Edition, Version 1.5.0+update06
Sun Microsystems(TM), Inc.
Is this correct [Y/n]: Y
Full name [root]:Christian
Email [root@]: malicious.linker@gmail.com
Press [Return] to continue:
Luego aparecera el texto de la licencia, la cual deberemos aceptar
Do you agree to the above license terms? [yes or no]
yes
Una ves hecho esto empezara a crear el paquete .deb (si se ponen a leer los mensajes observaran algunos errores, ignorenlo)
finalemte tenddremos el paquete .deb creado:
pkg-deb: construyendo el paquete `sun-j2sdk1.5' en `/tmp/make-jpkg.XXXXiAC8fH/sun-j2sdk1.5_1.5.0+update06_i386.deb'.
copy sun-j2sdk1.5_1.5.0+update06_i386.deb into directory /home/christian/

The Debian package has been created in the current directory. You can
install the package as root (e.g. dpkg -i sun-j2sdk1.5_1.5.0+update06_i386.deb).

Finalmente, procedemos a instalarlo, para lo cual volvemos a conectarnos como root:

#dpkg -i sun-j2sdk1.5_1.5.0+update06_i386.deb

Proshield ( de mi otro blog)

Navegando por internet me encontre con esta pequeña , pero no por ello menos util, herramienta de seguridad especifica para GNU/Debian Linux.
Se descarga directamente un paquete .deb . Para funcionar requiere de ntpdate y chkrootkit<br>#aptitude install ntpdate y chkrootik</font>
Una vez terminado el analisis envia una lista de las debilidades encontradas y nos da la opcion de corregirlas.
Proshield la podemos descargar desde http://proshield.sourceforge.netSome of the main features of ProShield include:
#dpkg -i proshield_3.7.44e.deb

* Helps you backup your system weekly.
* Checks for extra root accounts.
* Checks account & password files for correct permissions.
* Makes sure a few security-hazardous packages are not installed.
* Checks for a packet sniffer.
* Removes unneeded packages from the local package archive.
* Checks for new software releases, in order to see if installed software is reasonably up to date. Smart-suggestion to upgrade if an important package is released.
* Checks to see if 'apt' is fetching unnecessary information when checking for software updates.
* Makes sure system time is accurate.
* Checks to make sure the user isn't logged into the system (GUI) as root.
* Checks the configuration of the ssh server ([sshd] if installed) for insecure settings.
* At runtime, ProShield will also check to see if there has been a new version released, and can download and install it at the user's preference.

3 sep. 2006

Reparando apache2 luego de una actualizacion

Hoy domingo, me puse a actualizar los pquetes de mi debian etch, entre todos ellos me toco actualizar apache2, con lo que no conte fue que luego de actualizarlo me iba a aparecer este error:


Asi que me puse a revisar el log y solo veia errores del tipo
[Sun Sep 03 12:07:33 2006] [error] [client ::1] SoftException in Application.cpp:193: Script "/var/www/phpmyadmin/index.php" resolving to "/usr/share/phpmyadmin/index.php" not within configured docroot
[Sun Sep 03 12:07:33 2006] [error] [client ::1] *** glibc detected *** double free or corruption (fasttop): 0x08070ca8 ***
[Sun Sep 03 12:07:35 2006] [error] [client ::1] Premature end of script headers: index.php



Habilite el modulo para php4
PcChristian:~# a2enmod php4
Verifique que la esta linea apareciera en el DirectoryIndex en apache2.conf
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml
verifique que no hubiera ningun cambio en el soporte para mysql en el archivo php.ini para apache2
extension=mysql.so


Y finalmente ya todo esta ok.

30 ago. 2006

Hello World !!!!

Como cuando programas, lo primero que haces es escribir el ya clasico Hello World,
HELLO WORLD !!!