miércoles, noviembre 29, 2006

Algunos comentarios de la Fedora

Fedora es el nombre que da Redhat a su distribución gratuita. Según su propia página, la define como un sistema operativo libre que ofrece la mejor combinación entre software estable y al filo de la navaja que existe dentro del software libre.

Mi primera impresión tras usarla durante algún tiempo es que está poco madura para un entorno de producción. Simplemente considero bastante inaceptable que cada día haya actualizaciones, en algunos casos llegando a los 100MB. Es complicado montar un entorno de producción sobre ella. En cierta manera es lógico, puesto que Redhat tiene su propia distribución estable y soportada Redhat Enterprise Linux. Fedora sirve de prueba de todas las tecnologías que posteriormente introducirá en la versión comercial de la distribución. Es una distribución que para trabajo de preproducción o desarrollo no está mal, pero le falta la solidad de por ejemplo Debian para tenerla en un entorno de producción algo crítico (por ejemplo, no hace mucho, se cargaba una actualización de Fedora el soporte de apt-get que trae, la lentitud de yum). Otra cosa es probarla como escritorio, pero no se que tal va.

Hace no mucho leyendo los comentarios de esta historia de Slashdot, me llevé la misma impresión (comentarios sobre KDE como un ciudadano de segunda, sobre que nada más publicar la distribución salieran cerca de 100MB en parches, gente que al igual que yo estaba encantado con las Redhat 4.2, 5.2 o 6.2, pero que vio como a partir de la 8 la cosa cambió bastante).

Aunque sea un entorno de comunidad (por ejemplo ciertos paquetes están en la sección extra), desde mi punto de vista un poco más de control de calidad les vendría bien, a menos claro que sea un tipo de usuario que no le importe experimentar, y que sirva de realimentación para los programas que lleva la distribución. Sin embargo, no es mi caso actualmente, donde el ordenador es una herramienta de trabajo que necesito que funcione dentro de unos márgenes (escritorio) y desde luego, mucho menos en caso de que tenga que montar una máquina de producción que donde se quieren son los problemas mínimos.

Para quien le guste las distrisbuciones basadas en Redhat como a mi, siempre cabe la posibilidad de probar CentOS que no es más que una compilación de los fuentes de la Redhat Entreprise Linux quitando todo los logos y demás de Redhat. No sé que tal funcionará.

Desde mi punto de vista Fedora es una distro para gente que le guste cacharrear y que tenga tiempo para estar buscando problemas. Para producción buscaba algo más asentado.

Technorati Tags:

martes, noviembre 28, 2006

Stencils para OmniGraffle

Utilizo desde hace tiempo Omnigraffle, una aplicación de dibujo vectorial que corre sobre MacOS X. Siempre he echado de menos algo que pueda competir en MacOS con Visio, y la verdad esta pequeña aplicación se defiende bien, al menos a la hora de crear esquemas de red y dibujos simples que es para lo que la utilizo. Sin embargo siempre le he echado en falta la biblioteca de objetos tan buena que tiene Visio para estos temas. Buscando por Internet he dado con este con todos los ordenadores de Apple - aunque según dice un comentario parece ser una filtración de una versión interna -, la categoría de redes que es la que más me interesa porque trae toda la información de los Cisco o los Network 3D que solía usar con el Visio.

Aunque no tenga la capacidad de programación del Visio, reconozco que con estos gráficos la labor de dibujar en MacOS es mucho más sencilla :)

Technorati Tags:

MRTG: Y los contadores de tráfico snmp extendidos.

Uso mrtg para pintar las gráficas del tráfico que va por mi punto de acceso, un Airport Express. Normalmente, el programa cfgmaker suele medir las variables de la mib ifInOctets o ifOutOctets. Estos contadores son del tipo counter32. Este tipo de contador crece de uno en uno hasta el valor máximo (2^32-1). En este caso, se queda estancado, y por tanto, la gráfica que usa el mrtg queda plana, puesto que usa diferencias para calcular la gráfica.

Para ello debe de usarse otros dos contadores, ifHCInOctets e ifHCOutOctets, en este caso de tipo counter64 (desde 0 a 2^64-1) que si nos da el margen necesario para evitar el problema con el contador tradicional de la MIB.

Normalmente una entrada en el mrtg.cfg para el contador habitual es:

Targer[router] ifIndex:comunidad@ip
Donde ifIndex es el índice del interfaz, comunidad la comunidad snmp v1 e ip la dirección IP de la máquina que queremos gestionar.

Esta entrada de configuración la genera el cfgmaker (configurador del mrtg) por defecto, a menos que le digamos que use la versión 2 de SNMP, pasándole la opción --snmp-option=:::::2. Sin embargo, esto no vale con la Airport Extreme para generar automáticamente la configuración y que mire ifHCInOctects y ifHCOutOctects, porque devuelve un valor erróneo de la velocidad de las interfaces. Para ello hay que decirle que use la versión 2 de SNMP. Las líneas de configuración quedarían por tanto:

Targer[router] ifIndex:comunidad@ip:::::2

De esta manera, se consigue que use SNMP v2, y por tanto consulte los contadores de 64 bits

Technorati Tags: ,

lunes, noviembre 27, 2006

Checkpoint fw monitor (un sniffer dentro del Firewall)

Los módulos de inspección del Checkpoint Firewall-1 se instalan entre la tarjeta de red y la pila TCP/IP de la máquina que hace de host del sistema (Windows, Linux, IPSO, Solaris). Normalmente, estas máquinas tienen utilidades a nivel de red que permiten ver qué está llegando a los interfaces.Sin embargo, puede darse el caso que queramos ver como está tratanto el propio firewall los paquetes, y para ello, cabe la posibilidad de usar el fw monitor, un mecanismo incluido dentro del firewall que permite ver y filtrar paquetes.

Lo primero que hay que decir es que con esta utilidad no podemos ver problemas a nivel de enlace (por ejemplo, la falta de resoluciones arp), puesto que cuando el paquete llega al firewall, ya esta información ha desaparecido. Lo siguiente es que las expresiones de los filtros se escriben en INSPECT, el lenguaje que utiliza checkpoint para definir todas sus reglas e interpretarlas (aunque no estoy muy seguro, creo que Checkpoint lo que tiene es una máquina virtual en el kernel de los sistemas host que interpreta ciertos bytecodes que surgen de la compilación de INSPECT). Por último hay que tener los 4 puntos donde fw monitor captura el paquete: pre-inbound inspection (i), post-inbound inpection (I) que corresponde a mirar el paquete después de recibirse y pre-outbound inspection (o), post-outbound inspection (O) que mira el paquete justo antes de transmitirse por la red. Así un paquete que entre por una interfaz, esté autorizado a pasar con destino a otra máquina, imprime 4 líneas. También imprime en la salida la interfaz por la cual entra el paquete y la interfaz por la cual va a salir.

Las opciones del comando son:

  • -e expr Expresión en inspect de lo que queremos capturar
  • -o file para grabar la sesión de captura en formato pcap. Sin embargo, en esta captura no se guarda información sobre la cabecera de enlace (aunque por ejemplo el Ethereal puede leer sin problemas estos ficheros de capturas
  • -l len Longitud total del paquete a capturar
  • -m mask Mask puede ser iIoO, y viene determinando el punto de captura del paquete

Lo más complicado es ajustar las distintas expresiones de inspect para que funcione la captura. Normalmente, se hace un accept con los parámetros del filtro (y ojo con el ";" del final que hay que incluirlo). Por ejemplo para capturar todo el tráfico web (puerto 80) se utiliza una expresión del tipo:

-e "accept sport=80 or dport=80;"
Si queremos capturar todo el tráfico que vaya a una dirección IP
-e "accept src=192.168.1.1 or dst=192.168.1.1;"

Realmente el monitor carga una serie de macros (src, ip_d, dport,sport,etc) que nos permite gestionar de una manera eficiente los filtros (y las reglas si hay alguien lo suficientemente aburrido). DE esta manera nos evitamos estar poniendo offsets en las cabeceras.

Existen una serie de comandos relacinales como and o ,, or, not, = o is, != o is not, <,>,<= y >= que nos permite asociar expresiones y por supuesto agruparlas a través de paréntesis. Por ejemplo para capturar el tráfico que va a un host determinado al puerto 80

-e "accept (src=192.168.1.1 or dst=192.168.1.1) and (dport=80 or sport=80);"

Aunque para mi gusto la expresión de los filtros con el tcpdump es más cómoda (ver este tutorial sobre el tema que escribí hace tiempo - y que tengo ganas de actualizar -)

Technorati Tags: ,

miércoles, noviembre 22, 2006

Algunas extensiones para Firefox para auditar sitios web

He estado enredando con varías extensiones del Firefox para auditar páginas web. Para empezar empecé a buscar las posibles extensiones de Mozilla / Firefox que permite desarrolar páginas web. Lo primero a instalar es la Web Developer que permite, un control muy fino sobre todo el proceso de la zona web. Permite revelar los campos ocultos de los formularios, modificarlos a nuestro gusto, convertir los formularios de tipo get a post.

Urlparams instala una barra lateral que permite ver los post o get, alternarlos y modificar los parámetros - esta funcionalidad de todas maneras están incluidas en la barra anterior.

También existe Modify Headers que permite modificar las distintas cabeceras para mandar al servidor y probar posibles respuestas.

Technorati Tags:

lunes, noviembre 20, 2006

Windows Powershell: Algunas impresiones de uso

El otro día estuve probando el Windows PowerShell durante un rato para ver que aportaba y cuales eran las novedades. En especial, si iba a facilitar la administración de sistemas de Windows, o se iba a tener que recurrir a otras alternativas (Visual Basic Script) o lenguajes como Python o Perl

Cuando se ejecuta la primera vez, tienes la pinta de estar en un shell normal, con las tradicionales órdenes para moverse por el sistema de ficheros (y no sólo el sistema de ficheros, como veremos un poco más adelante), y ejecutar comandos externos. Hasta aquí no se diferencia en nada de cualquier shell (bash,cmd.exe, etc)

El shell

Las diferencias empiezan cuando profundizas en el shell. El shell de Microsoft no utiliza el habitual parse de cadenas, con órdenes internas (built-in) y comandos externos para realizar tareas interactivas o scripting. Lo que hace es aceptar y mostrar objetos .NET - está construido sobre el .NET 2.x -. ¿Y cómo se crean esos objetos?. Pues a través de lo que Microsoft denomina cmdlet, que son funciones simples que están implementadas en el shell. La llamada a cualquiera de esas funciones nos devolverá un objeto .NET al cual podremos usar sus propiedades y funciones, combinarlos como entradas a otros objetos y hacer las operaciones que tenemos. Podemos además usar pipes de objetos para encadenarlos unos con otros.

Namespaces

Lo que más me llama la atención son los namespace, espacios de nombres por lo cual podemos navegar como si fuera un sistema de ficheros tradicional. Desde luego, el primer namespace que tenemos es el sistema de ficheros. Cada unidad de disco corresponde a un namespace donde podemos usar las tradicionales órdenes ls, dir, cd, mkdir etc. Sin embargo, existe otra serie de espacios de nombres como las variables de entorno: env:, los alias alias:, los certificados cert: o las claves de registro hkcu: o hklm:. Por ejemplo es se puede ver las variables de entorno con:
cd env:
ls
O navegar por el almacén de certificados de la máquina con:
cd cert:
ls

Esta es una de las posibilidades que más me ha llamado la atención del shell, esa posibilidad de interpretar todo como si fuera un sistema de ficheros y procesarlo como tal, en línea de Plan 9

cmd-let

Los comandos que crean objetos para poder manipular y obtener la información se denominan cmd-let. Son funciones simples, con nombres descriptivos que Microsoft quiere que hagan tareas concretas - muy en la línea del diseño de utilidades Unix, con programas que hagan una sola tarea y que puedan encadenarse entre ellos para obtener el resultado buscado -. Este último modelo en Windows es poco viable, puesto que Windows siempre ha sido muy lento a la hora de crear procesos - modelo Unix tradicional con el uso de fork() - frente a la hora de crear hilos de ejecución dentro de un proceso - no sabría decir, supongo que el modelo derivado de Mach -

Por ejemplo get-date es un comando que devuelve la fecha mientras que get-command devuelve todos los cmdlet que tengamos en la sesión actual. Hacer notar que las utilidades que usamos para movernos por el sistema de ficheros (cd, dir, ...) realmente son alias a los cmdlet que ejecutan dichas funciones.

Posibilidades

Puesto que quieren basar parte de la administración del sistema sobre scripting - Windows siempre ha sido criticado con toda la razón por lo complicado de hacer scripting -, se ha añadido soporte para interactuar con wmi (y por tanto con toda la instrumentación de Windows), obtener información de los registros de eventos del sistemas, interactuar con el registro de Windows, los almacenes de certifados, y lo que la gente quiera implementar a través de sus funciones.

Estas han sido mis primeras impresiones del programa. Habrá que ver como compite contra el propio Visual Basic de Windows u otros lenguajes scripting que existen en la plataforma, y también el lugar que le reserva Microsoft para su uso, puesto que si ellos no le sacan jugo, es probable que todo se quede en buenas intenciones.

jueves, noviembre 16, 2006

Windows PowerShell

(vía Osnews). Microsoft acaba de publicar la nueva versión de un interprete de comandos, Windows PowerShell, abandonando - ¡por fin! - el viejo cmd.exe. Actualmente no está soportado en Windows Vista (hasta final del próximo enero que es cuando tienen previsto su publicación). Según la publicidad de Microsoft incluye diversos recursos para facilitar la administración de sistemas.

Está basado en .NET y de momento disponible para Windows XP y Windows 2003. Por supuesto lo han desplegado con una serie de recursos para uso como el centro de technet, FAQ y por supuesto el blog.

Tengo ganas de probarlo y ver que tal se compara con los shells tradicionales de Unix como puede ser bash o ksh

miércoles, noviembre 15, 2006

DBUS 1.0: IPC desde FreeDesktop

(vía Osnews) Se acaba de publicar la versión 1.0 de dbus, una serie de programas que implementan un sistema de intercomunicación interprocesos (como por ejemplo dcop en KDE), pensando para que las diferentes aplicaciones en entornos de fuentes abiertas puedan comunicarse entre sí sin problemas. A nivel abstracto consiste en un bus de paso de mensajes, funcionando en un sólo ordenador o a través de TCP/IP sin encriptar.Existe una librería de bajo nivel que implementa el protocolo, considerado al día de hoy estable.

Existen diversas librerías para poder integrarlo con otros lenguajes. Es usado en varias aplicaciones, aunque fundamentalmente en los entornos de escritorio como GNOME. La gente de KDE también está pensando en su uso. Algunas distribuciones de Linux,lo usan en combinación con la Hal para poder manejar el hardware del ordenador (detección, uso, hot-plug...)

Technorati Tags: ,

miércoles, noviembre 08, 2006

Un viaje a Escocia (III)

El tercer y último día decidimos subir a Ness. Alquilamos un coche y salimos por la M90 hasta Perth y de ahí por la A9 hasta Inverness. Aproximadamente 260 km y unas tres horas de coche por uno de los paisajes más bonitos de Escocia:

Por la A9 camino a Inverness

Después de llegar a Inverness, dejamos el coche en un cercano centro comercial, y decidimos comer en un restaurante muy chulo al lado del rio Ness, al lado del puente Ness Bridge. Para haceros una ídea general de la ciudad, podemos ver la siguiente foto tomada desde Ness Bridge:

El rio Ness

Merece la pena pasear a lo largo del rio hasta las islas de Ness, aunque nosotros no las vimos. Inverness tiene también un castillo, reconstruido a principios del XIX con piedra arenisca roja - la fortaleza original fue destruida en una de las diversas guerras que asolaron esta región -

Castillo de Inverness

Por último el objetivo del viaje, cogimos la A82 hacia el lago Ness. Esta carretera bordea el lago hasta Fort Augustus. En la época que nosotros fuimos es una carretera con la cual hay que tener cuidado (atardeciendo a las 4 de la tarde y habiendo heladas, pueden aparecer placas de hielo), y por otro lado en época veraniega está llena de coches (por otro viaje que hicimos). Nosotros llegamos hasta el Castillo de Urquhart - aunque no pudimos visitarlo, dado que en esta época del año cierra a las 4 de la tarde -. Nos hizo gracia que los últimos que quedábamos por allí éramos españoles.

Ness es impresionante. Es la mayor reserva de agua dulce de Reino Unido, y sus aguas son oscuras y frías - no me extraña que haya dado lugar a tantas leyendas -. Existen cruceros desde Inverness hasta el castillo y diversos cruceros que salen desde las diferentes poblaciones de su orilla.

Algunas fotos que tomamos allí: Atardecer sobre Ness Castillo de Urguhart Castillo de Urguhart

Un viaje a Escocia (II)

Continuando con el viaje que hicimos mi novia y yo, os vamos a contar el segundo día. Decidimos visitar la parte más nueva de la ciudad, The New Town. Aquella mañana empezamos visitando el Scottish National Portrait Gallery, un museo de retratos situado en Quuen Street: Scottish National Portrait Gallery

Del resto de esta jornada no tenemos fotos, pero os contamos el recorrido que hicimos esa tarde. Después de terminar con el museo del retrato, decidimos darnos una vuelta por la zona del Leith docks, concretamente al Oceal Terminal, un centro comercial pegado al Western Harbour donde está anclado el antiguo yate real británico (fue usado desde 1953 hasta 1997), el Britannia, que está totalmente preparado para su visita desde la sala de máquinas hasta el puente del capitán. Después vuelta al centro para comer y seguir paseando por la zona nueva de la ciudad. De esa tarde recordamos, un buen paseo por The New Town hasta acabar en un pequeño pub / restaurante donde cenamos aquella noche, cerca de Charlotte Square que nos llamó mucho la atención.

Aunque ese día nos acostamos temprano porque nos apetecía subir al lago Ness, así que habiamos alquilado un coche para el día siguiente, subir hasta Inverness y ver el lago Ness.

Technorati Tags:

martes, noviembre 07, 2006

Un viaje a Escocia (I)

El año pasado mi novía y yo nos escapamos en el puente de la Inmaculada (principios de Diciembre) a Escocia. A continuación os vamos a contar la ruta que seguimos y postear alguna de las fotos que hicimos durante el viaje. Salimos desde Madrid hacía Edimburgo (vía Birmingham, lo cual fue una gracia, se supone que nos habían vendido un pasaje sin transbordo).

La llegada al auropuerto, y al hotel, puesto que ya llegamos bastante tarde. En pleno Diciembre es Escocia, suele hacer frío y mal tiempo (Edimburgo está a nivel de mar y puede llegar a nevar),y atardece a las 4 de la tarde - está bastante al norte -, así que hay que llevarse ropa de abrigo, y estar dispuesto a levantarse temprano. Pero desde luego, merece la pena. Pocas ciudades hemos visitado que nos gusten más que Edimburgo.

Edimburgo tiene dos partes, The Old Town - la ciudad vieja - y The New Town, la ciudad nueva. The New Town es la parte victoriana de la ciudad, formada en las calles Princes St, George St y Queen St - nosotros teniamos el hotel serca de Queen Street -. La parte nueva de la ciudad se une a través varios puentes con la parte vieja, The Old Town, la cual se articula entre el Castillo de Edimburgo, a través de la The Royal Mile (que va desde el Castillo de Edimburgo a el Palacio de HolyRoodHouse.

Nosotros empezamos el recorrido por Prince St. La primera foto nos muestra la entrada de la calle, mientras que la siguiente es un monumento a uno de los grandes escritores escoceses, Sir Walter Scott: Entrada de Princes St.

Monumento a Sir Walter Scott

Paseando por Princes St, cruzamos por un puente hacía de Old Town no sin antes sacar un par una foto a West Princes Street Garden. Entre que Escocia es verde de por si y la lluvia: West Princes Street Garden.

Subiendo nos vamos a the Old Town, desembocamos en la Royal Mile, parte turística de la ciudad por excelencia. Y de ahí se llega al Castillo de Edimburgo. Situado sobre una colina, protegia la ruta desde Inglaterra a Escocia central, además de ser residencia de la antigua realeza escocesa. Tiene varios edificios, donde destancan el Palacio Real, donde se guardan las joyas de la corona escocesa, el One o'clock gun - un cañón de la 2º guerra mundial que se dispara todos los días -, la capilla de Santa Margarita, el museo nacional de la guerra escocés (Scottish National War Memorial). el el Great Hall, donde estubo el parlamento escocés. Un par de fotos de la Crown Square:

Castillo de Edimburgo

Castillo de Edimburgo

Desde lo alto del Castillo se pueden divisar vistas preciosas de la ciudad nueva:

The New Town The New Town

Después de visitar el Castillo bajamos por la Royal Mile, desde donde salen una serie de callejuelas llamadas closet que están llenas de misterios. En esta calle es donde se encuentra situado la organización del festival de Edimburgo, está llena de pubs, y está sitios como la Catedral de St Giles, el parlamento Escocés o el Scotch Whisky Heritage Centre - para los aficionados a las copas Inglaterra y Escocia son caras de narices con el alcohol -.

Visitamos también el Museo de Escocia, varias plantas dedicados desde fósiles hasta ordenadores de última generación. Desde la planta más, tienen una vista preciosa a través de la ciudad vieja, en especial al Castillo de Edimburgo:

Castillo de Edimburgo desde el Scotland Museum

Luego nos fuimos a comer a un pequeño restaurante italiano situado cerca de Greyfriars Kirk, un cementerio asociado a Greyfriars Bobby, un perro que después de la muerte de su dueño se quedó al lado de su tumba casi 10 años. Un paseo por la Royal Mile de vuelta, una cerveza y una foto nocturna cerca de Princes Street fue todo lo que dio aquel día: Vistas de Princes St

Technorati Tags:

lunes, noviembre 06, 2006

Palm m105 y MacOS X

Tengo una vieja Palm m105 desde hace unos 5 años. Aunque la he tenido arrinconada estos dos últimos, he decidido rescatarla porque mi cabeza no da para tanto lío. La cuestión es como sincronizarla con MacOS X, en especial porque ni el G5 ni el iBook tienen puerto serie y esta Palm se sincroniza a través de él - tiene 5 años :D -. Total, hace tiempo compré un cable USB para la Palm, y curioseando este fin de semana me he dado cuenta que utiliza el chip PL-2303, cuyo fabrincante Prolific, tiene drivers para MacOS X (además universales, tanto para Intel como para PowerPC). También existe un driver opensource para quien quiera experimentar con él.

Una vez instalado el driver y viendo que detecta perfectamente el cable, el siguiente paso es restaurar el backup de la Palm que hice hace tiempo. Como la usaba en Linux, no usaba el software Palm Desktop de Palm, sino que usaba pilot-link. Este software compila sin problemas en MacOS X (sin necesidad de usar fink o otro sistema de ports). Eso sí la librería pots (ver rpm.org) tiene que estar instalada en el sistema. Compila en MacOS X sin problemas.

Una vez compilado, y viendo que el dispositivo serie está correctamente detectado (se ve como tty.usbserial en /dev), se puede sincronizar sin problemas con pilot-xfer.

El siguiente paso, es probar la integración con iSync. En principio, no existe ningún problema. Eso sí hay que instalar la versión de software de Palm, y al menos hacer una sincronización, para que posteriormente, se pueda activar en iSync la sincronización.

domingo, noviembre 05, 2006

MacOS X Internals.

Este es un libro que cuenta la arquitectura interna de MacOS X. Puede verse la tabla de contenidos del libro. Lo interesante de la web es que tiene colgado algunos capítulos del libro, así como añadidos que se han ido publicando más tarde. Así por ejemplo: Por último, el blog del autor para ver las novedades de la página.

Technorati Tags:

viernes, noviembre 03, 2006

Algunos enlaces de seguridad.

Revisando correos, voy a postear varios enlaces de seguridad que he ido encontrando de hace algún tiempo:
  • Windows Network Services Internals.Este documento describe las pilas TCP/IP presentes en lo sistemas operativos de Microsoft, la implementación de la compartición de fichero (Protolo smb / CIFS), las llamadas a procedimiento remoto - la base de todas las comunicaciones entre los componentes de Microsoft - que es donde más se extiende el artículo, puesto que describe todas las llamadas implementadas en los diferentes servicios del sistema.
  • Un artículo de Marc Maiffret, EEye, llamado Step Into The Ring 0, explicando como aprovechar vulnerabilidades para entrar en el anillo 0 de protección del sistema operativo.
  • Los ejemplos para practicar exploits de Gera.
  • flawfinder. Un programa que escanea código fuente buscando posibles vulnerabilidades
  • Técnicas de identificación de dispositivos aprovechando las variaciones de reloj: Remote physical device fingerprinting.
  • Un antiguo por del nessus para Win32 (actualmente la gente de Tenable tiene ya una versión de 3.x nativa para windows, ver Nessus.
  • Una guía ilustrada sobre IPSec.
  • Los whitepapers de la gente de NGssoftware (David Litchfield por ejemplo)
  • La explotación de buffers overflow en x86-64 usando la técnica de code chunks: aqui.
  • Exploiting Windows Device Drivers
  • varios tutoriales para escribir buffer overflows en Windows
  • técnicas avanzadas de buffer overflows, técnicas RET2RET, RET2POP, RET2EAX, RET2ESP, para evitar las técnicas para de poner aleatoriamente el espacio de direcciones de los procesos.

Technorati Tags:

jueves, noviembre 02, 2006

Auditando Web 2.0

He estado mirando este artículo que hace referencia a dos extensiones de Firefox que pueden usarse para auditar servicios web basados en AJAX.

La idea es sencilla usar un depurador de Javascript con la potencia suficiente que permita interceptar las llamadas XmlHttpRequest que se utilizan para traer contenidos de manera asíncrona de servidores web 2.0. De esta manera puede verse sencillamente que están haciendo las páginas (como apuntan en los comentarios al artículo, eso también se puede hacer con un tcpdump aunque de existir https se complica la cosa).

Posteriormente podemos trabajar con el código javascript poniendo breakpoints y usando las posibilidades de un debugger como firebug o el debugger de venkman. Antes de leer el artículo estuve mirando los dos debugger para ver las posibilidades a la hora de depurar javascript y modificar los campos. Otra buena utilidad para este tema es web developer toolbar que nos permite ver la estructura de la página, formularios, que código javascript tiene etc.

Para simular el comportamiento de la navegación existen extensiones como chickenfoot. Permite escribir scripts en Javascript para poder manipular los diferentes elementos de la página. Para alterar la navegación siempre puede usarse también el parosproxy, el cual nos permite cambiar todo lo que nos envíe el navegador hacia el servidor - útil para probar si se valida en el cliente pero no se hacen validaciones en el servidor -.