Oct 21

Curiosamente estas dos últimas semanas he estado probando servicios para tener controlado el estado del servidor y saber cuando esta caído y cuando no. Concretamente he probado Site24×7 y HostTracker. Y ambos merecen la pena.

Casualmente en PuntoGeek.com han realizado una interesante recopilación con unos cuantos servicios web que nos ayudarán a saber si nuestro servidor está caido o no.

Son los siguientes:

  • Pingdom: Seguramente es de los más conocidos en el mercado, en la opción de prueba por 30 días podemos monitorizar un sitio y recibir hasta 20 SMS de notificaciones, además de poder ver los reportes que el sistema genera.
  • Site24×7: Es otro servicio que se hizo conocido por el costo del servicio, en su versión gratuita podemos monitorizar un sitio cada 60 minutos o más. Pero las cuentas de pago son muy baratas, mientras más corto es el intervalo de chequeo del sistema más cara es la cuenta.
  • HostTracker: Este servicio también ofrece su versión gratuita por 30 días con informes avanzados, permite monitorizar hasta 2 sitios con intervalos de hasta 30 minutos. Obviamente tiene cuentas de pago que elevan la calidad del servicio. Si quieren uno gratis les recomiendo éste.
  • SiteUptime: Tiene unas lindas características en su versión gratuita, no tiene límite de tiempo y te permite monitorear un sitio cada 30 o 60 minutos, acceso a informes públicos y privados. Estadísticas del servidor de correo, notificaciones por email, etc.
  • Service Uptime: quedó para lo último pero esto no significa nada, ofrece la opción de registrarse y obtener el servicio de pruebas por 30 días con intervalos de 30 minutos y notificaciones por SMS ilimitadas.

Sep 29

Este artículo esta obtenido de Vaxter.es y solamente está publicado con la intención de ofrecer información y el utilizarlo será bajo la responsabilidad de cada uno.

Que el sistema de cifrado WEP, tiene fallos que permiten obtener la clave gracias a los vectores de inicialización, no es ningun secreto, asi como tampoco lo es, que las redes WLAN_XX (siendo XX un byte en hexadecimal) del proveedor de ADSL Telefónica tienen por defecto la clave WEP configurada como una letra identificativa por marca de router seguida de la mac del adaptador WAN.

Es este último caso es en el que vamos a profundizar.

El por que se obtienen tan facilmente estas claves, es gracias a que en las direcciones MAC, los 3 primeros bytes identifican al fabricante, y por lo tanto entre diferentes adaptadores de red de un mismo fabricante los 3 primeros bytes de sus MAC, van a ser identicos. por ejemplo poniendo el caso del fabricante Zyxel, cuyos 3 primeros bytes son 00:13:49 tendriamos un ejemplo similar a esto:

ADSL - WAN MAC => 00:13:49:11:22:33
WIFI - LAN MAC => 00:13:49:44:55:66
ESSID => WLAN_33

Donde la clave por defecto sería una letra que haría referencia a la marca seguida de 001349112233.

Escaneando mediante un adaptador wifi que pueda ponerse en modo monitor, deberiamos de capturar vectores de inicializacion, ademas de visualizar el BSSID que es la MAC del adaptador wireless del router. En el caso del ejemplo seria 00 13 49 44 55 66. Gracias a esto ya tendriamos gran parte de la clave:

La letra que comienza la clave, ya que por cada marca Telefónica les asigno una determinada letra, los 3 primeros bytes, ya que van a ser los mismos para el WAN que para el BSSID y el último byte, ya que en WLAN_33 ese 33 es el último byte del adaptador WAN. Así que solo deberíamos sacar por fuerza brutal 256^2 (2 bytes) lo que atacando a un vector de inicialización es bastante sencillo y rápido.

Lo que debemos hacer es capturar al menos 1 iv (vector de inicializacion) para esto hay numerosos procesos a poder seguir, no obstante yo os recomiendo que useis una distribución livecd de Linux que ha sido pensada para realizar auditorias de seguridad, se llama BackTrack. Una vez arranque seguiremos unos pasos:

1º Identificar la tarjeta wifi
2º Ponerla en modo monitor
3º Escanear hasta tener al menos 1 iv de la red WLAN_XX que deseemos (os recomiendo que al menos sean 4 o 5 iv)
4º Copiarlos a un pendrive u otro dispositivo para poder acceder a ellos

Aquí os dejo un video que he grabado realizando estas acciones para que no os quede ninguna duda de como se realizan estas acciones.

Tendremos 2 archivos, uno con extensión txt y otro cap, dentro del txt tendremos los datos referentes a la red wifi, mientras que en el cap tendremos los datos capturados.

Para continuar deberemos bajarnos el WlanRipper. Es una utilidad para Win32 que nos automatiza la tarea de probar las 256^2 posibles claves.

Copiamos el archivo .cap a la carpeta donde tengamos el WlanRipper y lo lanzamos de este modo: WLAN_RIPPER.bat 00:01:38:70:93:06 WLAN_21 file-01.cap

Total valid packets read: 5
Total packets read: 19135

Statistical cracking started! Please hit enter to get statistics from John.
Weplab statistics will be printed each 5 seconds

It seems that the first control data packet verifies the key! Let's test it with
 others....
Right KEY found!!
Passphrase was --> X000138712321
Key: 58:30:30:30:31:33:38:37:31:32:33:32:31

This was the end of the dictionnary attack.

Gracias por usar el WLAN_Ripper 1.1!!!

Y ya tendremos la clave WEP.

Sep 03

Os presento MacTubes, un programa de escritorio para Mac OS X de Apple, el cual permite ver y descargar vídeos de Youtube.

Lo cierto es que es una aplicación bastante interesante, con la que podemos buscar los vídeos que queramos verlos y descargarlos, esto último lo podemos hacer en los formatos .flv y .mp4.

Descargar MacTubes para Mac de Apple.

Ago 29

Cine25.com es un sitio web donde gente valora las películas que ve y comparte sus gustos en el cine con el resto de la comunidad. Dicho de otro modo, Cine25 es una Red Social de Cine dedicado a todos los aficionados al cine.

Esta red social es especialmente útil para aquellos que regularmente se preguntan “¿Qué película puedo ver en el cine?” o “¿Qué película alquilo hoy en el videoclub?” Las valoraciones y las críticas de los otros usuarios permitirán guiarnos en la buena elección de una película. Olvidarás la última vez que saliste de un cine defraudado. La base de datos de películas que tiene Cine25 se alimenta por los propios usuarios, lo que permite un crecimiento sin límites. Las fichas de las películas funcionan como una Wikipedia del cine, lo que es posible modificar y completar cualquier dato de forma directa.

También cabe destacar su “medidor de popularidad”, que viene a ser una forma de medir cuál es el nivel de popularidad o expectación que tienen las películas que se van a estrenar en las próximas semanas (o meses) donde podremos ver. O también la facilidad que nos ofrece la web para ir marcando las películas que ya hemos visto, queremos ver o que no nos interesa para nada. Sin darnos cuenta estaremos generando una lista personal de todas las películas que hemos visto el último año o la lista de “pelis pendientes por ver”.

Y como red social que es, siempre hay momento para conocer a gente nueva, hablar con usuarios que tengan gustos afines a los tuyos en lo que cine respecta, agregar a tus amigos para recomendar directamente la última peli chula que has visto, crear eventos para ir al cine, etc. En definitiva, todo lo que esperarías de una red social de cine, lo tienes en cine25.com.

Ago 13

Os dejo un buen listado interesante de funciones para trabajar con arrays en PHP.

  • array_change_key_case — Devuelve una matriz con todas las claves de las cadenas convertidas a mayúsculas o minúsculas
  • array_chunk — Divide una matriz en segmentos
  • array_combine — Crea una nueva matriz, usando una matriz para las claves y otra para sus valores
  • array_count_values — Cuenta todos los valores de una matriz
  • array_diff_assoc — Comprueba las diferencias entre matrices teniendo en cuenta los índices
  • array_diff_key — Calcula la diferencia de matrices usando las llaves para la comparación
  • array_diff_uassoc — Computa la diferencia entre matrices con un chequeo adicional de índices, el cual es realizado por una llamada de retorno entregada por el usuario
  • array_diff_ukey — Calcula la diferencia de matrices usando callback function on the keys for comparison
  • array_diff — Comprueba las diferencias entre matrices
  • array_fill_keys — Fill an array with values, specifying keys
  • array_fill — Llena una matriz con valores
  • array_filter — Filtra elementos de una matriz mediante una función “callback”
  • array_flip — Intercambia los valores de una matriz con sus índices
  • array_intersect_assoc — Calcula la intersección de matrices verificando que también coincidan los índices
  • array_intersect_key — Calcula la intersección de matrices usando las llaves para la comparación
  • array_intersect_uassoc — Calcula la intersección de matrices con chequeo de índices adicional por una función de usuario
  • array_intersect_ukey — Calcula la intersecció de matrices usando una función de usuario para la comparación de los índices
  • array_intersect — Calcula la intersección de matrices
  • array_key_exists — Comprueba si el índice o clave dada existe en la matriz
  • array_keys — Devuelve todas las claves de una matriz
  • array_map — Aplica la llamada de retorno especificada a los elementos de las matrices dadas
  • array_merge_recursive — Une dos o más matrices recursivamente
  • array_merge — Combina dos o más matrices
  • array_multisort — Ordena múltiples matrices, o matrices multi-dimensionales
  • array_pad — Rellena una matriz con un valor hasta el tamaño especificado
  • array_pop — Extrae el último elemento de la matriz
  • array_product — Calcula el producto de valores en una matriz
  • array_push — Inserta uno o más elementos al final de la matriz
  • array_rand — Selecciona una o más entradas aleatorias de una matriz
  • array_reduce — Reduce iterativamente una matriz a un solo valor usando una función llamada de retorno
  • array_reverse — Devuelve una matriz con los elementos en orden inverso
  • array_search — Busca un valor determinado en una matriz y devuelve la clave correspondiente en caso de éxito
  • array_shift — Extrae un elemento del comienzo de la matriz
  • array_slice — Extrae una porción de la matriz
  • array_splice — Suprime una porción de la matriz y la sustituye por otra cosa
  • array_sum — Calcula la suma de los valores en una matriz
  • array_udiff_assoc — Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos con una llamada de retorno
  • array_udiff_uassoc — Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos y los índices con una llamada de retorno
  • array_udiff — Computa la diferencia entre matrices, usando una llamada de retorno para la comparación de datos
  • array_uintersect_assoc — Calcula la intersección de matrices con chequeo adicional de ídices, comparando los datos por una función del usuario
  • array_uintersect_uassoc — Calcula la intersección de matrices con chequeo adicional de índices, compara los datos y los índices por una función del usuario
  • array_uintersect — Calcula la interseccón de matrices, compara los datos con una función del usuario
  • array_unique — Remueve valores duplicados de una matriz
  • array_unshift — Introduce uno o más elementos al principio de la matriz
  • array_values — Devuelve todos los valores de una matriz
  • array_walk_recursive — Aplicar una función de usuario recursivamente a cada miembro de una matriz
  • array_walk — Aplica una función del usuario a cada elemento de una matriz.
  • array — Crear una matriz
  • arsort — Ordena una matriz en orden inverso y mantiene la asociación de índices
  • asort — Ordena una matriz y mantiene la asociación de índices
  • compact — Crea una matriz que contiene variables y sus valores
  • count — Cuenta los elementos de una matriz o propiedades de un objeto
  • current — Devuelve el elemento actual de una matriz
  • each — Devuelve el siguiente par clave/valor de una matriz y avanza el apuntador
  • end — Mueve el puntero interno de una tabla al último elemento
  • extract — Importa variables a la tabla de símbolos desde una matriz
  • in_array — Revisa si un valor existe en una matriz
  • key — Obtiene una clave de una matriz asociativa
  • krsort — Ordena una matriz por clave en orden inverso
  • ksort — Ordena una matriz por clave
  • list — Asigna variables como si fueran una matriz
  • natcasesort — Ordena una matriz usando un algoritmo de “orden natural” sin distinguir mayúsculas de minúsculas
  • natsort — Ordena una matriz usando un algoritmo de “orden natural”
  • next — Avanza el puntero interno de una matriz
  • pos — Alias de current
  • prev — Rebobina el puntero interno de una matriz
  • range — Crea una matriz que contiene un rango de elementos
  • reset — Fija el puntero interno de una matriz a su primer elemento
  • rsort — Ordena una matriz en orden inverso
  • shuffle — Mezcla una matriz
  • sizeof — Alias of count
  • sort — Ordena una matriz
  • uasort — Ordena una matriz mediante una función de comparación definida por el usuario y mantiene la asociación de índices
  • uksort — Ordena una matriz por claves mediante una función definida por el usuario
  • usort — Ordena una matriz por sus valores usando una función de comparación definida por el usuario

Ago 02

Creo que todos deberíamos tomar buena nota de estos trucos para ahorrarnos unos cuantos euros en la gasolina para nuestro coche.

1er Truco: Llenar el depósito por la mañana temprano.

La temperatura ambiente y del suelo es más baja. Todas las estaciones de servicio tienen sus depósitos bajo tierra. Al estar más fría la tierra, la densidad de la gasolina y del gasóleo es más pequeña. Al contrario pasa durante el día, que la temperatura del suelo sube, y los carburantes tienden a expandirse. Por esto último, si usted llena el depósito al medio día, por la tarde o al anochecer, el litro de combustible no será un litro
exactamente. En la industria petrolera, la gravedad específica y la temperatura de un suelo, juegan un papel muy importante. Donde yo trabajo, cada carga de combustible en los camiones es cuidadosamente controlada en lo que respecta a la temperatura. Para que cada galón vertido en la cisterna del camión sea
exacto.

2º Truco: Cuando llene el depósito, no apriete la manilla del surtidor al máximo.

Según la presión que se ejerza sobre la manilla, la velocidad del surtidor puede ser lenta, media o alta. Elija siempre el modo más lento y ahorrará más dinero. Al surtir más lentamente, se crea menos vapor, y la mayor parte del vertido se convierte en un lleno eficaz. Todas las mangueras surtidoras devuelven el vapor a al tanque. Si llenan el depósito apretando la manilla al máximo un cierto porcentaje del precioso líquido que entra en el depósito se transforma en vapor y vuelve por la manguera del surtidor al depósito de la estación. Con lo cual, consiguen menos combustible por el mismo dinero.

3er Truco: Llenar el depósito antes de que este baje de la mitad.

Mientras más combustible haya en el depósito, menos aire hay en el mismo. El carburante se evapora más rápidamente de lo que usted piensa. Los grandes depósitos cisterna de las refinerías tienen techos flotantes en el interior, manteniendo el aire separado del combustible, con el objetivo de mantener la evaporación al mínimo.

4º Truco: No llenar el depósito cuando se están rellenando los tanques de la gasolinera ni inmediatamente después.

Si llega usted a la estación del servicio y ve un camión cisterna que está rellenando los tanques subterráneos de la misma, o los acaba de rellenar, evite, si puede, repostar en dicha estación en ese momento. Al rellenar los tanques, se remueve el combustible restante en los mismos y los sedimentos del fondo. Así que corre el riesgo de repostar combustible sucio.