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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8
1  Informática / Hardware / Búsqueda de un buen ordenador portatil ~2100€ aproximadamente en: 9 Febrero 2016, 09:42 am
Hola. Perdón por el tocho de post :S pero es que siempre le dedico mucho esfuerzo a buscar mi modelo ideal cuando miro de un portatil nuevo xD

Estoy mirando de un portatil nuevo tras 4 años con el mío y os expongo aquí mi ardua búsqueda para que me deis recomendaciones o opiniones. El presupuesto que dispongo es de entre 1500€-2800€ (pero siempre buscando una buena relación calidad/precio y prefiriendo quedarme entorno a los ~2100€ aproximadamente). El portatil que busco quiero que pueda con juegos nuevos en alta calidad, y lo utilizaría aparte de para jugar para realizar programación y computación intensiva en CPU y GPU, aparte de utilizarlo como ordenador principal para todas las tareas. Aparte quiero tener un muy buen ordenador por una vez :D

Entre los requisitos que me he puesto para el portatil son los siguientes:

- Portatil de 17'' con pantalla 1080p.
- Procesador Intel i7 de 5ª o 6ª generación (principalmente 6ª)
- Gráfica 970M, 980M o superior (preferiblemente 980M de 4GB)
- Memoria DDR4 (8GB mínimo)
- Slot para al menos un disco SSD M.2 PCI-E (preferiblemente NVMe) (no tiene porque traer el disco duro, aunque si lo tiene es algo que hay que valorar según el precio)

Se que hay algunos portatiles con DDR3 o DDR3L y procesadores Intel de 4ª generación y que están bastante bien de precio, pero comparando precios al final no he visto que la diferencia entre estos y modelos más nuevos sea tanta como para pillar uno de esa generación. No me importa pillar un modelo con poca DDR4 y ampliarla en un futuro cuando sean más baratas, lo mismo para el SSD por NVMe, que son muy caros hoy en día, no me importa que no lo traiga mientras tenga el slot para ampliarlo en un futuro.

Sobre la gráfica, aunque no compensa en relación calidad/precio, estoy dispuesto a pagar la diferencia (aproximadamente 300€-400€) de comprar una 980M en lugar de una 970M, eso si, muchos modelos (especialmente los más caros) traen la versión de 8GB en lugar de la de 4GB, lo cual las encarece mucho y veo totalmente innecesario (4GB para resolución 1080p debería ser suficiente).

Sobre el procesador, la mayoría de portatiles del rango de precios que miro traen o un i7-6700HQ o un i7-6820HK. La verdad es que me gustaría mucho encontrar uno con un i7-6820HK con buena relación calidad/precio, tiene 2MB más de L3 cache, mayores frecuencias, y el multiplicador desbloqueado para poder hacerle algún overclocking sencillo, y en teoría este modelo solamente cuesta unos 150€-200€ más que el i7-6700HQ, lo cual estoy dispuesto a asumir. El problema es que los portatiles que traen la i7-6820HK son muy nuevos y muy caros, o si son baratos montan la 970M. En resumen, los portatiles con mejor relación calidad/precio que he encontrado no dan la opción a ponerle el 6820HK por esos 150€-200€ de más, teniendo que pasar a modelos mucho más caros.

Dicho esto, llevo varios días mirando muchos portatiles, expongo aquí por marcas lo que he encontrado:

- ASUS: No he visto nada que me convenza en la gama ROG de ASUS la verdad, si teneis alguna sugerencia decídmela. ¿Hay algún modelo pendiente de salir pronto? porque me extraña haber encontrado muy poca variedad actualizada.
- MSI:
  • MSI GT72 6QE-693XES: 1900€. El modelo que más me ha convencido al día de hoy y que usaré como referencia para comparar con otros. El modelo tiene un i7-6700HQ, una GTX980M 4GB, 16GB (2x8GB) de RAM DDR4-2133 (4-slots, max 64GB), 1TB (HDD 7200 rpm SATA) + 256GB  (256GB*1 NVMe M.2 SSD by PCIe Gen3 x4), y tiene salida para esta conexión nueva USB Type-C. La verdad es el modelo con mejor relación calidad/precio que he encontrado.
  • MSI GE72 6QF-047XES: 1600€. La versión más barata del anterior con una 970M de 3GB y con el SSD M.2 SATA (los normales de siempre) en lugar de M.2 PCI-E NVMe por 300€ menos. La verdad, prefiero pagar esos 300€ de más por un mucho mejor SSD y una 980M de 4GB.
  • MSI GT72S 6QE-484ES: 2700€. Este sería la nueva versión del MSI GT72, con mejoras en el procesador (i7-6820HK), en la gráfica (GTX980M con 8GB), en la placa base (chipset CM236  en lugar del HM170), en los discos duros SSD (son dos SSD de 128GB en raid 0 en lugar de uno solo de 256GB). La mejora del chipset de la placa base incluye soporte a vPro y a un mayor número de slots SSD entre otros. El precio de este modelo es 800€ más caro por unas mejoras que yo creo que no compensan por este aumento.
- Dell: Los Allienware 17 R3 tienen varias opciones de configuración, pero me parecen algo más cáros que los MSI con configuración similar, pongo aquí varias opciones de configuración y su precio (cuando selecciono la GTX980M solamente me deja seleccionar la de 8GB y no la de 4GB). No selecciono SSD porque en la web no especifica de que tipo es, pero se puede comprar solo con HDD y luego comprar por separado el SSD. En los precios les añado lo que me costaría comprarle por separado un disco SSD de 256Gb m.2 PCI-E NVMe x4 para ser más justos con la comparación con los anteriores portatiles nombrados:
  • Alienware 17 R3 i7-6700HQ, GTX970M 3GB, 16GB(2x8GB) RAM 2133MHz, No SSD, 1TB HDD: 1940€ + 180€(SSD) = 2120€
  • Alienware 17 R3 i7-6700HQ, GTX980M 8GB, 16GB(2x8GB) RAM 2133MHz, No SSD, 1TB HDD: 2240€ + 180€(SSD) = 2420€
  • Alienware 17 R3 i7-6820HK, GTX980M 8GB, 16GB(2x8GB) RAM 2133MHz, No SSD, 1TB HDD: 2390€ + 180€(SSD) = 2570€ (este sería el único más barato en comparación con su "equivalente" MSI GT72S 6QE-484ES)
- Clevo (o XMG): En general también me parecieron más caros que los MSI:
  • XMG P706 (i7-6700HQ, GTX970M 6GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2000€ (por más de 2000€ espero una 980M la verdad...)
  • XMG P706 (i7-6820HK, GTX970M 6GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2136€ (por más de 2000€ espero una 980M la verdad...)
  • XMG P706 (i7-6700HQ, GTX980M 8GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2404€. Cuesta 500€ más que el MSI solamente por una GTX980M 8GB en lugar de una de 4GB (segurament el chipset de la placa sea más nuevo también). No se puede seleccionar la GTX980M de 4GB.
  • XMG P706 (i7-6820HK, GTX980M 8GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2543€. Igual que el anterior, pero con un i7-6820HK en lugar del i7-6700HQ por solo 140€ más. El problema es que sigue costando 640€ más que el MSI solamente por una GTX980M 8GB en lugar de una de 4GB y un procesador i7-6820HK en lugar del i7-6700HQ. No se puede seleccionar la GTX980M de 4GB.
  • XMG U706: (i7-6700, GTX980M 8GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2708€. Lo bueno de este modelo es que soporta CPU de escritorio, pero el precio es algo elevado.
  • XMG U706: (i7-6700K, GTX980M 8GB, 16GB(2X8GB) RAM 2133MHz, 256GB m.2 SSD NVMe PCI-E x4, 1TB HDD 7200): 2802€. Lo bueno de este modelo es que soporta CPU de escritorio, pero el precio es muy elevado y aunque el procesador está desbloqueado por las reviews dicen que el overclocking es limitado, ya que por defecto el procesador ya alcanza temperaturas peligrosamente altas (hay que tener en cuenta que es un procesador de sobremesa en un portatil).

Vistas estas opciones, de los portatiles que he buscado el que mejor calidad/precio ofrece teniendo unas buenas prestaciones es el MSI GT72 6QE-693XES, ¿pero cuales son sus problemas?:
 - Procesador i7-6700HQ en lugar de i7-6820HK. Me encantaría encontrar este mismo modelo de portatil pero que montase este otro procesador, ya que por lo que he leído simplemente se diferencian en precio unos 150€-200€. Sin embargo, de todos los ordenadores listados arriba, el de mínimo precio que monte un i7-6820HK con una GTX980M cuesta 2543€. Creo que el procesador va soldado a la placa, no estoy seguro, pero creo que los HQ y HK son soldados.
 - Monta el chipset HM170 en lugar del más nuevo CM236.
 - Dudas sobre si soporta la virtualización VT-d: El chipset de la placa es más antiguo, y en el ARK de Intel pone que ese chipset HM170 no soporta virtualización VT-d. Sin embargo he encontrado imagenes en foros de gente que enseña las opciones de la BIOS de algún portatil con este chipset en donde le sale la opción para activar la virtualización VT-d (aquí), así que me queda esa duda. No es algo que sea muy importante, pero utilizo bastantes máquinas virtuales y era una tecnología que quería probar.

¿Cual es vuestra opinión al respecto de este tema? ¿Alguna opinión o recomendación? ¿Sabeis de algún portatil con una GTX980M y un i7-6820K que no se pase de los 2200€? Estoy casi convencido de pillar el poratil que he puesto antes, pero quería asegurarme primero que no me estoy pasando alguna cosa o algún modelo por alto.

Un saludo ;)
2  Media / Multimedia / Límite de tiempo/tamaño en videos HD de Youtube en: 14 Noviembre 2012, 07:43 am
Hola, vereis la pregunta es simple y por más que busco en google no encuentro nada. ¿Alquien sabe si existe un límite de tiempo o de tamaño de los videos subidos a youtube para que estos se pongan en 720p?

Tengo un canal de youtube, grabo varios videos y están todos en el exacto mismo formato. Los subo, y no tengo problema con los videos que duran 5 min, 20 min, o incluso tengo uno de 33min; y todos de ellos se suben en 720p HD. Sin embargo, luego tengo un video de 1h 30 min y otro de 1h 50 min, y esos se quedan como máximo en 480p, y eso que fueron grabados en el mismo formato y con el mismo programa.

Así que supongo que el problema es que hay algun limite para que los videos se pongan en hd en youtube, o bien un limite de duracion o bien de tamaño de los videos subidos. Por eso me gustaría saber cual es para saber como debo recortar los videos a partir de ahora.

Un saludo ;)
3  Informática / Software / Limitar sección sensible del Touchpad de un portatil en: 7 Agosto 2012, 06:35 am
La verdad  no sabía si colocar esto en la sección de Software, Hardware o Windows...

He comprado un nuevo portatil ASUS (Asus K55VM). De momento todo bien, pero he descubierto una cosa verdaderamente muy molesta...los botones de click del touchpad vienen dentro de la zona sensible...

Con el touchpad, yo estoy acostumbrado a pulsar los botones con el pulgar (dejandolo pegado todo el tiempo a los botones) mientras dirijo el puntero con el índice; vamos la manera de que lo usa todo el mundo, vamos algo asi (esta foto no es de mi portatil):



El problema del portatil, es que la sección con los botones tambien es sensible. Fijaos en esta imagen (esta foto si es de mi portatil):



Como veis parece que no tiene botones el touchpad, pero realmente si los tiene, se pueden pulsar en la sección inferior del touchpad. Ya en si, esto ya es algo engorroso, porque al estar los botones "por debajo" del touchpad no tienes la sensibilidad para detectar el boton hasta que lo pulsas. Pero lo peor, es que al ser la parte de los botones una zona táctil sensible, se producen muchos movimientos indeseados, porque como ya dije anteriormente, el dedo pulgar siempre está por encima de los botones haciendo contacto (lo dejas en reposo por encima), que ahora es zona sensible, asi que cada vez que intento mover con el dedo indice el raton, es como si estubiera presionando con dos dedos porque el pulgar esta pulsando una zona sensible...

He estado buscando por Google como podria solucionar este problema, lo unico que he encontrado ha sido esto:

http://superuser.com/questions/229489/disable-touch-pad-for-mouse-button-region-on-new-hp-pavillion-models

Basicamente lo que dicen es acceder al menu de configuración del touchpad, y desde ahi establecer la zona sensible eliminando la parte inferior que correspondería a la sección donde están los botones (ver imagen):



¿Porque no me sirve esta solución? Pues porque esto solo sirve para touchpads Synaptics, con drivers Synaptics, y el touchpad de mi portatil es Elantech, un ELAN Smart-Pad, y el menu de configuración está capadisimo y apenas puedes configurar un par de cositas y nada más... de hecho os pongo las screenshots con "todas" las opciones del menu:





He visto menús de touchpad ELAN con más opciones buscando por google, aunque sinceramente, no parecian tener ninguna opción que me fuese util en esta asunto.

He probado a buscar drivers en la páginas de ASUS, de Elantech ya tengo los ultimos instalados, tambien aparecen de Synaptic, pero logicamente, si intento instalarlos me dice que no encuentra ningun dispositivo Synaptic.

En resumen, necesito un software o algo que me permita limitar la zona sensible de mi touchpad ELAN Smart-Pad.

Quizas este tema os parezca una tonteria, pero se me hace casi imposible utilizar el touchpad. A ver si alguien me puede ayudar. Un saludo ;)
4  Programación / Bases de Datos / [MySQL] Problema con Unicode (UTF-8) en: 11 Octubre 2011, 22:29 pm
Hola. Vereis, tengo una base de datos local MySQL. La tengo codificada en UTF-8, y para acceder a ella utilizo Java, el cual tambien lo tengo configurado para que utilice UTF-8. Utilizo InnoDB.

En principio me escribe y recupera datos de la base de datos correctamente, incluso escribe los carácteres especiales. El problema es que a la hora de comparar detecta algunos carácteres que no son como iguales, normalmente los carácteres con tildes. Por ejemplo, si tengo esta tabla llamada table1:

NombreEdad
Mânolö
20
Manolo
40
Pepe
10

Si hago:

Código:
SELECT * FROM `table1` WHERE (Mânolö LIKE `Nombre`);

me debería devolver unicamente:

NombreEdad
Mânolö
20

Sin embargo, me devuelve esto:

NombreEdad
Mânolö
20
Manolo
40


En resumen, a la hora de comparar (por ejemplo con un SELECT) toma por igual carácteres diferentes, por ejemplo a,á,à,â,ä los toma por iguales.

Bueno el problema no son las consultas, sino insertar nuevos datos, ya que si inserto dos filas con clave primaria diferente en esos carácteres me la detecta como duplicado.

Por ejemplo, imaginemos que en la primera tabla la columna Nombre es la clave primaria. Para insertar una nueva fila Pepê, 80 sería así:

Código:
INSERT INTO `table1` (`Nombre`, `Edad`) VALUES ('Pepê', 80);

Sin embargo me devuelve un error:

Código:
ERROR 1062: Duplicate entry 'Pepê' for key 'PRIMARY'

Evidentemente no debería dar este error, ya que la nueva clave primaria es Pepê y la ya existente es Pepe.


Buscando por google, encontré que podría ser había que describir el COLLATE de las tablas como utf8_general_ci, utf8_unicode_ci o utf8_bin entre otros muchos. Buscando más información comentaba que las comparaciones se hacían diferentes segundo el COLLATE y hablaba de los acentos, por lo que creía que era esto, establecí todas las tablas y el esquema principal como utf8_bin, que es la comparación binaria, pero me sigue dando el mismo error.


Bueno dicho esto todo ¿alguien tiene alguna idea como solucionar mi problema?

Saludos ;)
5  Informática / Hardware / Opinión sobre [otro] portatil ASUS A53SV-SX386 en: 26 Agosto 2011, 22:03 pm
Citar
Bueno gente, buscando un portatil para un amigo, de precio hasta los 550€ (preferiblemente que no supere los 500€) mas o menos, he encontrado este (un ASUS K52JU SX403V) que me pareció bastante acertado por 434€:

http://www.controlp.com/ASUS-K52JU-SX403V---Core-i3-370M-24-GHz---RAM-4-GB_99270_P.asp?iva=SI

Según me dijo para lo unico que lo quiere es realizar trabajos, navegar por internet, ver peliculas, etc. Pero no para juegos ni para aplicaciones 3D.

Pues buscando en esa página (tenemos la tienda bastante cerca y suelen estar bien de precio) me llamó la atención por varias cosas, tiene un procesador decente (i3 370M), 4GB de RAM DDR3, un buen disco duro de 640GB y a pesar de que no los quiere para juegos tiene una gráfica Radeon HD 6370M por lo que pueda pasar. Además tengo más ordenadores ASUS y en general me gusta la marca.

Me direis que si ya lo he decidido porque pregunto. Pues porque soy bastente indeciso y siempre pregunto "por si acaso" a ver si alguien sabe si tiene algo malo o algo que yo deba saber este portatil. O si teneis sugerencias mejores tambien las acepto.

Saludos ;)

El tema principal ya está solucionado, y he aprovechado este mismo hilo para preguntar sobre otro portatil. Mirar aqui: http://foro.elhacker.net/hardware/opinion_sobre_portatil_asus_k52ju_sx403v-t337426.0.html;msg1661684#msg1661684
6  Programación / Scripting / [Bash] Abrir un proceso o otro script bash en una nueva shell en: 10 Agosto 2011, 23:11 pm
Creo que el titulo lo aclara bastante. Estoy haciendo un bash en el que necesito abrir un proceso de consola (o otro script bash) en otra shell (o otra pestaña) mientras el bash original continua ejecutandose (no espera a la finalización de la otra shell).

Llamar a un proceso desde la shell mientras se sigue ejecutando el script es bastante facil utilizando el símbolo &. Ejemplo:

Código
  1. ...
  2. ./programauno -param1 -param2 &
  3. ./programados -param1 asdasd &
  4. ./programatres -param1 -param2 -param3 &
  5. ...

De esta manera el script iria ejecutando los programas paralelamente mientras continua. El problema es que esos programas son por consola y necesitan interacción con el usuario, muestran estadisticas, etc... por lo tanto necesito que cada uno de esos procesos se ejecute en una nueva shell. Tal y como lo puse todos los programas se ejecutarian en la misma consola y se mostraría un lio de cosas.

Investigando por la red, solo ponían una manera de hacer esto, y era llamando a la shell especifica (XTerm, gnome-terminal, etc...) con parámetros que ejecutaran directamente los programas que queremos. Esto funciona bien, pero tiene el problema de que el script solo funcionaria para determinadas shell y no para todas. Un ejemplo de esto con gnome-terminal sería:

Código
  1. ...
  2. gnome-terminal -x mibashuno.sh &
  3. gnome-terminal -x mibashdos.sh &
  4. ...


Con esto todo dicho, ahí van mis preguntas:

-¿Existe algún comando o alguna llamada que sirva para todas las shell y que permita ejecutar cada uno de los procesos en una shell diferente? (en un batch de windows por ejemplo se usa start)

-Si esto no es posible, ¿sabeis si existe alguna shell por defecto que venga instalada en todos o la mayoría de los Linux? Yo he visto por ejemplo que la XTerm está en bastantes SO de Linux, pero conozco pocas distros diferentes para saber si está en todos.

-Si tampoco existe una "shell universal" ¿Cuales son las shell más populares que vienen en Linux? De esta manera podría comprobar mediante el script si alguna de las shell de mi lista está instalada en el SO, y de estarlo ejecutar esa con sus propios parámetros. Actualmente yo solo conozco la gnome-terminal y el XTerm.

-Cualquier otra sugerencia, cuestión o ayuda que creais que puede ayudarme a solucionar el problema decidmela.


Esto es todo, a ver si alguien puede ayudarme.

Saludos ;)
7  Programación / Desarrollo Web / [JSTL] Como comprobar si una variable es un numero en JSTL en: 10 Abril 2011, 20:42 pm
Hola en problema es el siguiente:

En JSTL para recoger los parametros de la URL (método GET) lo hago mediante la variable ${param.nombre} (para una url al estilo pagina.jsp?nombre=valor)

El problema es que la variable es un numero (debería serlo), y tengo que hacer la comprobación <c:when test="${param.nombre > 4}">. Eso da un error si el parametro es nulo o es una letra. para comprobar si es nulo entonces lo hago asi <c:when test="${(param.nombre != null) && (param.nombre > 4)}">

Llegados a este punto tengo el problema de que si alguien introdujera el parametro como una letra (por ejemplo pagina.jsp?nombre=asd) el servidor daria un fallo en ejecucion porque no puede comparar un string con un numero. ¿Como puedo añadir una comparación en JSTL o que podría hacer para evitar que me falle si se introducen letras en lugar de numeros en el parametro?

Saludos ;)
8  Seguridad Informática / Hacking Wireless / [R-WlanXDecrypter 1.0] - Generador de diccionarios para claves por defecto de R en: 7 Octubre 2010, 19:44 pm
R-WlanXDecrypter 1.0
by nhaalclkiemr & millanzarreta - (incluido en la suite Wifiway desde la versión 2.0.2)

Aqui os presento una utilidad que he creado para la generación de diccionarios de claves por defecto de R, una compañía de Galicia. Son las conocidas como R-WlanX (donde X es un número) o nombres similares. Recientemente también se ven bastantes redes wifimedia_R-XXXX (las X son números), las cuales también analizaremos.

He visto por aí que existe un Rwlandecrypter (por eso le puse otro nombre), sin embargo lo he probado y no me ha convencido, crea un diccionario de apenas 14 MB que incluye solo una pequeña parte de las posibles claves por defecto.

Antes de presentar el programa me gustaría analizar estas redes para tener claro que tipo de contraseñas utilizan los routers de R por defecto.

Analisis

Redes wifimedia_R-XXXX:

Estas redes son las que vienen con ciertos routers que proporciona R. La compañía los proporciona si tienes contratado un cierto servicio llamado wifimedia. Dicho servicio viene por defecto de forma gratiuta para conexiónes de 30Mb o más, aunque también se puede contratar por cierto precio para conexiones de menos velocidad, pero esto último no es común. Es decir, estas redes suelen ser de alta velocidad. Traen contraseña WPA/WPA2, sin embargo, la contraseña por defecto es ridicula. Por esto mismo en ocasiones el técnico que instala el router cambia esta contraseña, aunque eso no es lo normal.

La contraseña por defecto de estas redes es la MAC del router con el último digito terminado en 0, las letras suelen ser minúsculas pero en ocasiones pueden ser mayúsculas. Un ejemplo:

Código:
SSID: wifimedia_R-1234
MAC: 00:26:5B:1E:28:A5

La clave será: 00265b1e28a0
También puede ser: 00265B1E28A0

Como se puede observar la seguridad de estos routers es ridícula, no hace falta ni capturar paquetes ni usar el programa R-WlanXDecrypter ni nada.

Redes R-WlanX con Clave WEP:

Lo primero es aclarar que ni el SSID ni la MAC dan detalles sobre la clave. El numero del SSID normalmente suele ser el canal (aunque no siempre) del AP. No siempre se cumple el formato exacto de "R-WlanX", a veces se mezclan mayusculas minusculas, a veces hay espacios, a veces guiones, a veces nada separando las palabras; e incluso a veces se ven palabras adicionales en el SSID.

La manera más universal de definir las contraseñas por defecto de R es que son números seguidos de ceros. ¿Cuantos números antes de los 0's? Normalmente 8, en alguna ocasión 6. Ahora independiente de esto tenemos cuatro posibilidades de tipos de contraseñas por defecto (descartando contraseñas mayores de 128 bits):

  • Contraseña WEP 128 bit ASCII (ej.: "2010945600000") : El tipo de contraseña más común
  • Contraseña WEP 128 bit Hexadecimal (ej.: 20:10:94:56:00:00:00:00:00:00:00:00:00): Raras, pero haberlas hailas
  • Contraseña WEP 64 bit ASCII: Nunca he visto una de este tipo
  • Contraseña WEP 64 bit Hexadecimal (ej: 20:10:94:56:00): Se ven bastantes

¿Significan algo los números? ese tema es bastante misterioso:

-Algunas claves empiezan por un año (ej.: "2008") seguidas de 4 numeros aleatorios; se cree que el año es el de fabricación de router, pero nos encontramos muchos años futuros (ej.: "2023"), asi que no parece ser ese el caso. Igualmente la mayoría de claves empiezan por 2, si queremos reducir el intervalo de busqueda podemos empezar buscando claves que empiecen por 2. Recientemente se ha descubierto que este número parece ser el ID que R asigna a su cliente (dato completamente desconocido para nosotros que solo está presente en sus facturas).

-En otros casos, sobre todo cuando se tratan de 6 numeros seguidos de 0's (en vez de 8 ) se cree que puede ser el número de telefono sin el prefijo. Saber esto no nos ayuda mucho, pero en caso de estas claves tan solo son 6 números seguidos de 0's en vez de 8, lo que reduce muy sustencialmente nuestro intervalo de busqueda

Bueno, independientemente del origen de los numeros, nos encontramos con que solo varían como máximo 8 digitos, que siempre son numeros, por lo que  tenemos 10^8=100.000.000 de posibilidades para cada tipo de contraseñas, que no son tampoco muchas. En un ordenador portatil actual de gama media se comprobarían todas las claves en unas 2 horas o menos aproximadamente.

Redes R-WlanX con Claves WPA:

En la actualidad es más frecuente ver routers de R con claves por defecto WPA que con claves WEP, aunque el patrón de contraseñas es similar al WEP. En este caso las contraseñas por defecto son claves de 8 dígitos pero sin seguir de 0's, al estilo XXXXXXXX (ej.: "20109456"). Este número parece ser el ID del cliente, y parece ser que este número tambien empieza en la mayoría de ocasiones (hasta ahora en todas las probadas) por 2, por lo que las contraseñas se nos reducirian solamente a las que empiezan por 2 (estilo 2XXXXXXX).

Tambien se han detectado casos de claves WPA de 10 dígitos, aunque siguen siendo solo 8 dígitos variables, pero con dos 0's a continuación (aunque estas son mucho menos frecuentes). Al estilo XXXXXXXX00 (ej.: "2010945600"). Al igual que con las claves de 8 dígitos, solo se han encontrado casos de contraseñas que empezaran por 2 al estilo 2XXXXXXX00.

El tercer patrón de claves WPA que se ha detectado se trata de una contraseña de 16 dígitos, pero que realmente es una contraseña de 8 dígitos variables repetida dos veces, al estilo ABCDEFGHABCDEFGH (ej.: "2015483920154839").

A la modesta velocidad de crackeo de 1000key/sec, tardaríamos sobre 28horas en comprobar el diccionario completo de claves. Si probamos solo las claves que empiezan por 2, tardaríamos aproximadamente 3 horas en comprobarlas.

Con esto terminamos el análisis y procedo a explicar la aplicación.

R-WlanXDecrypter

El programa soporta actualmente plataformas Unix y Windows. Las opciones básicas son las necesarias para crear diccionarios para contraseñas WEP, y las opciones adicionales, que explicaré mas tarde, son una manera de crear diccionarios más personalizados y que también sirven para claves WPA.

El proyecto está ahora disponible con su código fuente en GitHub. Se creará un tag por cada versión que se libere, y los desarrollos principales se harán sobre el master:
https://github.com/millanzarreta/R-WlanXDecrypter



Opciones básicas

  • -n <nbits>: Crea el diccionario para claves de 64bits, 128bits, etc... Aunque tambien es compatible para claves más grandes como 512bits nunca me he encontrado una de R de ese tipo. Si no especificamos el parámetro el programa coge una clave por defecto de 128bits
  • -h <sep>: Se creará un diccionario en formato hexadecimal, no es un formato alternativo de guardar las claves, sino que es un diccionario diferente a uno creado sin esta opción -h. El parametro <sep> es el caracter (en decimal) separador de los bytes expresados en formato hexadecimal, si no se especifica por defecto es : , que es el símbolo más utilizado para esta función y el que utiliza aircrack-ng

Utilizando solo estas opciones podemos crear diccionarios universales para las contraseñas de R con claves WEP. Si creais el diccionario para aircrack-ng es importante recordar que no admite diccionarios mayores de 2GB. Por defecto el programa crea claves de 8 digitos seguido de 0's (y asi incluimos tambien a las de 6 dígitos). En las notas de la nueva versión de aircrack-ng comentan que debería soportar diccionarios mayores de 2GB, pero comprobandolo empíricamente a mi me siguen sin funcionar.

-Primero crearemos un diccionario ASCII para contraseñas de 128bits, ocupará 1,40GB:

Código:
R-WlanXDecrypter rwlan128.txt

-Ahora crearemos un diccionario Hexadecimal para contraseñas de 64 bits, ocupará 1,48GB:

Código:
R-WlanXDecrypter rwlan64hex.txt -h -n 64

-Con esos dos diccionarios deberían bastar para la mayoría de routers de R. Aún asi siempre podremos generar un diccionario Hexadecimal para contraseñas de 128bits. Este diccionario ocuparía 3,72GB:

Código:
R-WlanXDecrypter rwlan128hex.txt -h

Si creamos el diccionario para aircrack-ng hay que recordar que no admite diccionarios de más de 2GB, por lo que tendremos que dividir en dos este diccionario (por ejemplo: dos diccionarios de 1,86GB cada uno):

Código:
R-WlanXDecrypter rwlan128hex1.txt -h -max 49999999
R-WlanXDecrypter rwlan128hex2.txt -h -min 50000000

-Tambien podremos crear un diccionario para claves ASCII de 64bits, aunque nunca vi ninguna de este tipo en R el diccionario tan solo ocupa 683KB:

Código:
R-WlanXDecrypter rwlan64.txt -n 64
    Se supone que en estos diccionarios están todas las claves que puede contener un router de R, pero tenga en cuenta que pueda que existan claves de mayor longitud que 128bits, aunque nunca he visto ninguna hasta la fecha.

Opciones avanzadas:

  • -c <nchar>: Por defecto en las palabras del diccionario varian 8 digitos y despues se rellenan con 0's asta completar la longitud de la clave. Se puede utilizar esta opción si queremos especificar otro numero de digitos variables
  • -cm <decchar>: Por defecto las claves se rellenan con 0's. Con este parámetro podremos especificar otro carácter de relleno (especificar el codigo decimal del carácter)
  • -min <num>: Con esta opción podemos definir el comienzo del diccionario especificando el valor mínimo. Se especifica el valor minimo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -max <num>: Con esta opción podemos definir el final del diccionario especificando el valor máximo. Se especifica el valor máximo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -rep <num>: Con esta opción podemos especificar que la parte variable de las contraseñas generadas se repita num veces
  • -r: Si especificamos esta opción las palabras del diccionario estarán separadas por el byte LF (char 10). Por defecto están separadas por 2 bytes: CR+LF (char 13)(char 10). La mayoría de programas reconocen ambos formatos. Con esta opción ahorramos 1 byte por cada palabra.
  • -m <nbytes>: Hace lo mismo que -n (por eso no es compatible con esa opción) pero con esta opción podemos definir manualmente el número de bytes de la clave. Cuando hablamos de contraseñas de pongamos 128bits, 24 de estos se utilizan para el IV, por lo que la clave es realmente de solo (128-24)/8=13 bytes.-n 64 es equivalente a -m 5, -n 128 a -m 13, etc...
  • -q: No mostrara el estado del proceso de creación del diccionario

Con las opciones por defecto los diccionarios generados son de un gran tamaño y con muchas palabras, y se puede tardar mucho tiempo en comprobarlas todas dependiendo del equipo. Con estas opciones avanzadas podemos definir diccionarios más personalizados. Varios ejemplos útiles:

-Como ya hemos dicho, en algunas ocasiones las claves son solo 6 numeros seguidos de 0's, en ese caso crearemos los diccionarios anteriores (excepto el de 64bits ASCII ya que no tiene sentido reducirlo) pero para 6 bytes variables en lugar de 8. Los diccionarios creados ocupan tan solo 67,7MB los 3 juntos. De esta manera podemos hacer una comprobación rapida con el aircrack-ng para claves con 6 numeros variables antes de utilizar los diccionarios grandes:

[/list]
Código:
R-WlanXDecrypter rwlan128-c6.txt -c 6
Código:
R-WlanXDecrypter rwlan64hex-c6.txt -h -n 64 -c 6
Código:
R-WlanXDecrypter rwlan128hex-c6.txt -h -c 6

-Ya nombramos que muchas de las contraseñas por defecto de R suelen empezar por 2. Utilizando -min y -max podremos definir diccionarios de solo ese rango (empiecen por 2). Los 3 diccionarios que estamos creando (128bits ascii, 64bits hex y 128bits hex) ocuparían la decima parte cada uno:

Código:
R-WlanXDecrypter rwlan128-start2.txt -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan64hex-start2.txt -h -n 64 -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan128hex-start2.txt -h -min 20000000 -max 29999999

Caso WPA:

-Podemos utilizar el programa con las opciones vistas para crear un diccionario para claves WPA. En este caso tenemos que indicar que cree un diccionario de 8 digitos, todos variables. El diccionario tendrá 100.000.000 claves y ocupará 953.67MB:

Código:
R-WlanXDecrypter rwlanwpa.txt -m 8

-Si queremos reducir el tiempo de búsqueda, podemos crear un diccionario que contenga unicamente las claves que empiezan por 2. El diccionario tiene 10.000.000 claves y ocupa 95.37MB:

Código:
R-WlanXDecrypter rwlanwpa-start2.txt -m 8 -min 20000000 -max 29999999

La mayoría de claves WPA de R son de 8 cifras, pero tambien se han detectado algunos casos de claves de 10 cifras con 8 dígitos variables seguidas de dos 0's. Para crear ese diccionario sería así:

-El diccionario completo para WPA de 10 cifras tiene 100.000.000 claves y ocupa 1144.41MB:

Código:
R-WlanXDecrypter rwlanwpa10.txt -m 10

-Si solo queremos reducir el tiempo de búsqueda, podemos probar las claves que empiezan por 2. Este diccionario tiene 10.000.000 claves y ocupa 114.44MB.

Código:
R-WlanXDecrypter rwlanwpa10-start2.txt -m 10 -min 20000000 -max 29999999

Por último, también se ha detectado un patrón de contraseñas de 16 dígitos, que son realmente contraseñas de 8 dígitos variables que se repiten.

-El diccionario completo para WPA de 16 cifras tiene 100.000.000 claves y ocupa 1716.61MB:

Código:
R-WlanXDecrypter rwlanwpa16-rep1.txt -m 16 -rep 1

-Si solo queremos reducir el tiempo de búsqueda, podemos probar las claves que empiezan por 2. Este diccionario tiene 10.000.000 claves y ocupa 171.77MB.

Código:
R-WlanXDecrypter rwlanwpa16-rep1-start2.txt -m 16 -rep 1 -min 20000000 -max 29999999


Hasta ahora todas las redes analizadas empiezan por el número 2. Por eso se recomienda empezar con los diccionarios que solo recojen claves que empiezan por 2, y utilizar los diccionarios generales de 8 y 10 cifras solo en el caso de que estos no funcionen.

Descarga

Incluye versiones compiladas para linux y windows y el código fuente.

-Versión actual (1.0 ):

-Mirror 1: https://www.dropbox.com/s/5aojiwb58nqqvkm/R-WlanXDecrypter1.0.zip?dl=1
-Mirror 2: https://github.com/millanzarreta/R-WlanXDecrypter/raw/release-1.0/R-WlanXDecrypter1.0.zip

-Versiones antiguas (0.9 ):

-Mirror 1: https://www.dropbox.com/s/srlrovcubxm3son/R-WlanXDecrypter0.9.zip?dl=1
-Mirror 2: https://github.com/millanzarreta/R-WlanXDecrypter/raw/release-0.9/R-WlanXDecrypter0.9.zip

-Versiones antiguas (0.8 ):

-Mirror 1: https://www.dropbox.com/s/p0mt5t0uyjmqdxt/R-WlanXDecrypter0.8.rar?dl=1
-Mirror 2: https://github.com/millanzarreta/R-WlanXDecrypter/raw/release-0.8/R-WlanXDecrypter0.8.rar

Changelog

v1.0 [27/10/2014]
-----------------
+Añadida opción -rep <num> que permite que la parte variable se repita <num> veces
+Cambio en el tipo de variables por otros más adecuados
+Corregido el error que mostraba mal el proceso de creación si el diccionario era mayor a 2GB
+Corregido un error que se producia en ocasiones al crear diccionarios hexadecimales y que producia un tamaño de palabra diferente al especificado
+Corrección de varios errores menores

v0.9 [11/10/2010]
-----------------
+Mostrar tamaño archivo final y numero de claves
+Mostrar status del proceso
+Añadido quiet mode -q
+Corregido bug en las opciones -min y -max
+Pequeña optimización del bucle generador de claves
+Corrección de pequeños fallos generales

v0.8 [06/10/2010]
-----------------
+Primer lanzamiento publico

Anexo: Como usar diccionarios Hexadecimales en aircrack-ng

Para definir en aircrack-ng un diccionario hexadeximal hay que especificar h: antes de la ruta del diccionario y siempre debemos especificar la longitud de las claves WEP del diccionario que estamos usando:

Código:
aircrak-ng -n 128 -w h:"rwlan1281hex.txt" captura.cap
Código:
aircrak-ng -n 64 -w h:"rwlan64hex.txt" captura.cap

Aun así, en la versión actual de aircrack-ng 1.1, existen varios bugs y dificultades que impiden el correcto funcionamiento de los diccionarios hexadecimales. He creado un post al respecto aqui que explica detalladamente como solucionar este problema.

Parece que en la nueva versión de aircrack-ng aún siguen presentes estos bugs.

Saludos ;)



LAST EDIT: Actualizado a la versión 1.0
9  Seguridad Informática / Wireless en Linux / [Guia] Parchear aicrack-ng para que funcione con diccionarios WEP hexadecimales en: 7 Octubre 2010, 19:43 pm
Como algunos ya sabreis, los diccionarios hexadecimales no funcionan en la versión actual de aircrack-ng 1.1 debido a varios bugs en el codigo fuente. Ahora propondre una solución para esto.

Primero explicar que es un diccionario hexadecimal y porque usarlos:

Un diccionario hexadecimal es igual que un diccionario normal pero en vez de definir palabras ASCII definimos el valor de los bytes de una palabra en hexadecimal (separamos los bytes con un separador, el más común y el que usa aircrak-ng es : ). Destacar que aunque cada linea representa una palabra hexadecimal los valores (0-F) estan escritos en ASCII, por lo que los diccionarios ocupan mucho más de lo que deberían, por ejemplo una palabra de 4 bytes ocupa 11 bytes en un diccionario hexadecimal. Un diccionario hexadecimal visualizado con un editor de texto cualquiera tendria este estilo:

Código:
24:35:1A:4E:20:01
D4:35:1A:4E:56:02
A2:24:1D:4E:20:06
...

¿Por que se usan este tipo de diccionarios? Pues basicamente nos permite representar todas las combinaciones posibles, mientras que las palabras ASCII incluyen solo a un pequeño grupo de carácteres. Hay gente que define las contraseñas en modo hexadecimal, si un byte de esa contraseña es por ejemplo 6, es muy dificil que encontremos la contraseña con un diccionario ordinario puesto que no es un carácter representable.

Vale, ahora pasemos a aircrack-ng. Verdaderamente los diccionarios hexadecimales son utiles para ataques con diccionarios a routers con claves predeterminadas, muchos fabricantes establecen las contraseñas por defecto en modo hexadecimal. Para definir en aircrack-ng un diccionario hexadeximal hay que especificar h: antes de la ruta del diccionario y siempre debemos especificar con -n el tamaño en bits de las claves del diccionario:

Código:
aircrak-ng -n 64 -w h:"ruta_diccionario.txt" captura.cap


Pero ahora nos encontramos un problema, aircrack-ng tiene un bug conocido y con la solución en el tracker de web pero aun sin corregir en el programa. Para información detallada: http://trac.aircrack-ng.org/ticket/685.
Para solucionarlo tenemos que modificar el código del source aircrack-ng.c.

El problema consiste en que no se libera memoria que se reserva dinamicamente, por lo que el sistema envia una señal KILL a aircrack-ng, en windows produce directamente un error. Para solucionarlo debemos ir al final de la función next_key (aproximadamente linea 4326), donde veamos este código:

Código:
free(tmp);
tmp=NULL;

debemos cambiarlo por:

Código:
free(tmp2);
tmp2=NULL;

Así ya tenemos solucionado este problema.


Sin embargo existen aun más complicaciones en el código, esta vez en la función crack_wep_dict (aproximadamente linea 4377). El problema se encuentra en esta parte del codigo casi al principio de la función:

Código:
i = strlen( key );

origlen = i;

while(i<opt.keylen)
{
key[i] = key[i - origlen];
i++;
}

key[i] = '\0';
      

Como sabreis las contraseñas WEP son de tamaño fijo, es decir son de 64bits (5bytes), 128bits(13bytes), etc...
Como en los diccionarios las contraseñas pueden tener diferente tamaño, lo que hace aircrack es duplicar el contenido, por ejemplo si encuentra en un diccionario la palabra "hola" y esta analizando contraseñas de 128bits, cambiara la palabra "hola" por "holaholaholah". Para esto detecta el final de la palabra cuando encuentra el caracter nulo '\0', y aqui esta el error. En un diccionario hexadecimal podriamos tener la palabra 12:34:00:53:2A y debido a lo comentado anteriormente, aicrack-ng solo nos leera los dos primeros bytes 12:34 y rellenara el resto, con lo que nos estropea cualquier palabra que tenga algun byte 00 (muy común en muchas contraseñas hexadecimales para rellenar).

Realmente este relleno no es para nada necesario, si utilizamos diccionarios para ataques WEP deben ser del tamaño justo a una clave WEP para que el resultado sea efectivo. Sabiendo esto modificaremos el codigo para que no rellene la contraseña. Reservaremos memoria con calloc para rellenar automaticamente con caracteres nulos, tambien eliminaremos la definición de la variable origlen que ya no es necesaria (podria darnos errores con make). En la función crack_wep_dict eliminamos directamente el código citado anteriormente. Y en esa misma función al principio modificamos el codigo:

Código:
    int i, origlen, keysize;
    char *key;

    key = (char*) malloc(sizeof(char) * (opt.keylen + 1));

por:

Código:
    int i, keysize;
    char *key;

    key = (char*) calloc(1,sizeof(char) * (opt.keylen + 1));


Con estos cambios aplicados, ahora solo tenemos que compilar de nuevo y ya tenemos nuestro aircrack-ng parcheado para que funcione con diccionarios hexadecimales. Yo recomiendo que esta nueva compilación se use solo para esto, para utilizar diccionarios hexadecimales en claves WEP. Para el resto de funciones mejor utilizar la versión compilada original (seguramente ofrezca un mayor rendimiento por las optimizaciones). Para compilar podeis utilizar el Makefile que traen los propios sources mediante make -f Makefile

Una aclaración importante: cuando utilizamos ataque de diccionario para contraseñas WEP debemos especificar con el parametro -n la longitud de la clave. Por defecto establece la longitud a 128bit, si estamos utilizando un diccionario de 64bits debemos especificarlo con -n 64 o no funcionará correctamente.

Bueno, para los vagos aqui os pongo una versión del aircrack-ng 1.1 modificada como explique anteriormente para que funcione con diccionarios hexadecimales. Van el source modificado y el ejecutable (Linux y Windows). Compilado con gcc versión 4.2.2 en Linux, y gcc 4.3.4 mediante Cygwin para Windows (junto al ejecutable de Windows incluyo las librerias de cygwin necesarias para que funcione):
Mirror 1: http://www.fileden.com/files/2006/9/18/225525/aircrack-ng-parchedhexdictionaries.zip
Mirror 2: http://www.megaupload.com/?d=0CLDYUI8

Estos archivos los he compilado yo con gcc (tal y como indico arriba). Desconozco como compilaron los binarios originales, pero seguro que lo hicieron con mejores optimizaciones. Es por esto que no recomiendo substituir los binarios originales por estos ejecutables que he compilado yo porque seguramente sean algo más lentos. Lo óptimo sería utilizar los binarios originales siempre que se pueda, excepto cuando necesitemos utilizar un diccionario hexadecimal, que será cuando hechemos mano de nuestra versión recompilada.

Espero que les sirva de ayuda.

Saludos ;)
10  Media / Juegos y Consolas / Alguien juega al World of Warcraft? en: 18 Marzo 2008, 17:10 pm
Na pues eso...si alguien juega al World of Warcraft en el server Caballeros Vengadores (o algo parecido) y es de la orda (yo soy un elfo de sangre) pues k ponga un post...

El server ese ta muy bien y no se cae (a mi aun nunca se me cayó), sin embargo no hay mucha gente...pero por eso a ver si se apunta más gente...

Saludos ;)

P.D.: Esto no sabía si iba aki o en Foro Libre...lo pongo aki si está mal muevanlo...
Páginas: [1] 2 3 4 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines