22 de set. de 2009

Quebrando a criptografia A5/1 do GSM


O algoritmo A5/1 é usado para criptografar voz e sinalização na rede GSM. Ele é aplicado tanto no terminal com na BTS (Base Transceiver Station). A idéia de quebrar o A5/1 não é nova, e o processo já é conhecido entre agências de inteligência e no mundo acadêmico. Porém ainda não existe um exploit público para o A5/1, mas isso vai mudar dentro de alguns meses, pelo menos segundo o pesquisador Karsten Nohl. Ele fez uma apresentação no Hacking at Random (HAR) 2009. A idéia é gerar uma tabela usando placas de vídeo que suportam CUDA ou Xilinx Virtex FPGAs. O tempo estimado para geração usando uma CPU executando uma thread é aproximadamente 100.000 anos. Com paralelização em centenas ou milhares de threads com CUDA ou FPGA o tempo cai para aproximadamente 3 meses. A apresentação e o vídeo trazem mais detalhes da idéia.

Fórum hacker foi hackeado


Um daqueles fórums "underground" chamado Pakbugs onde pessoas discutem técnicas de hacking e vendem códigos de malware, login de bancos e números de cartão de crédito foi hackeado. É até engraçado, mas a concorrência está forte!

9 de set. de 2009

Falha crítica encontrada no SMB2 do Windows


Uma falha crítica foi descoberta pelo pesquisador Laurent Gaffié no componente SMB2 (Server Message Block versão 2) do Windows Vista, Windows Server 2008 e Windows 7 (exceto 2008 R2 e 7 RTM). Fiz um teste do script Python contra uma máquina com Windows Vista Business e realmente aquela tela "azul da morte" surgiu e o computador reiniciou. O problema tinha sido avisado para a Microsoft pelo pesquisador, mas até agora nenhum patch foi liberado. A próprio Microsoft publicou um Security Advisory sobre o problema. A recomendação enquanto o patch não é liberado é desabilitar o SMB versão 2 ou bloquear o tráfego nas portas TCP 139 e 445 usadas pelo serviço. O site Reverse Mode mostra maiores detalhes do problema e a provável execução de código através da exploração da vulnerabilidade.

.

3 de set. de 2009

Usando Linux para verificar vírus de Windows

Podemos usar o GNU/Linux para verificação de vírus em partições Windows (FAT16, FAT32, NTFS), HDs externo e pendrives. Mas qual a vantagem? Vírus de Windows não faz mal ao Linux, e portanto podemos utilizá-lo com segurança.
O ClamAV é uma solução anti-vírus open source (GPL). Para instalá-lo em sistemas baseados no Debian/Ubuntu, podemos usar:
# apt-get install clamav

Em sistemas baseados no Red Hat/Fedora:
# yum install clamav

Para atualização das definições de vírus:
# freshclam

Para rodar o ClamAV:
$ clamscan --bell -r --log=/home/user/virus_log -i /media/DATA/

Onde:
--bell: emite um beep cada vez que um vírus é detectado
-r: busca recursivamente
--log=/home/user/virus_log: gera um arquivo de log (virus_log) no /home/user
-i /media/DATA: verifica o sistema de arquivos montado em /media/DATA (altere conforme local a ser escaneado).

31 de ago. de 2009

Extraindo áudio MP3 de DVD


Imagine você escutando seus shows em DVD no MP3 player. Com algumas ferramentas open source é possível extrair faixas de áudio do DVD e convertê-las para MP3. Escrevi um script para facilitar esse processo. Para rodá-lo você precisa do transcode, lsdvd, lame e mp3gain.
No caso de distribuições baseadas no Debian, instale-os com:
sudo apt-get install -y transcode lsdvd lame mp3gain

Abra um editor de texto e cole o conteúdo do script abaixo:

#!/bin/bash
# Shell script para extrair MP3 (320 Kbps) de DVD com ajuste automático de nível (92 dB)
# Autor: Alexsander Loula - 31/08/2009
# Versão 0.1
SEPARADOR=_
EXTENSAO=.mp3
echo "=========>"
/usr/bin/lsdvd
echo "=========>"
echo "Prefixo Arquivo MP3:"
read PREFIXO
echo "Título Principal do DVD:"
read PRINCIPAL
echo "Trilha de Áudio:"
read TRILHA
echo "Quantidade de capítulos :"
read CAPITULOS
for (( i = 1; i <= $CAPITULOS; i++ ))
do
     echo "=========>"
     echo "Extraindo capítulo: $i de $CAPITULOS..."
     echo "=========>"
     ARQUIVO=$PREFIXO$SEPARADOR$i$EXTENSAO
     # Extrai o áudio do DVD e converte para MP3 em 320 Kbps
     /usr/bin/transcode -i /media/cdrom0 -x dvd -T $PRINCIPAL,$i,1 -b 320,0,5,0 -a $TRILHA -y raw -m $ARQUIVO
     # Ajusta nível do MP3 para 92 dB
     /usr/bin/mp3gain -r -c -q -k -d 3.0 $ARQUIVO
done
echo "=========>"
echo "Pronto!!!"


Salve o arquivo como "dvd2mp3". Torne-o executável:
sudo chmod +x dvd2mp3

Coloque um DVD (ex: Rainbow - Live in Munich 1977) e execute o script:
./dvd2mp3
=========>
libdvdread: Using libdvdcss version 1.2.10 for DVD access
Disc Title: RAINBOW
Title: 01, Length: 01:53:00.043 Chapters: 11, Cells: 12, Audio streams: 03, Subpictures: 03
Title: 02, Length: 00:05:12.200 Chapters: 02, Cells: 02, Audio streams: 01, Subpictures: 03
...
Longest track: 01
=========>
Prefixo Arquivo MP3:
Rainbow -> Digite o prefixo do arquivo
Título Principal do DVD:
01 -> Digite o título principal do DVD (Vide acima: Longest track)
Trilha de Áudio:
01 -> Digite a trilha de áudio (Vide acima: Audio streams)
Quantidade de capítulos :
11 -> Digite a quantidade de capítulos (Vide acima: Chapters)

No exemplo acima serão gerados os arquivos Rainbow_1.mp3, Rainbow_2.mp3, ...
O script gera arquivos MP3 de 320 Kbps. Para alterar, mude o parâmetro "-b" do transcode. O script também normaliza o ganho de aúdio dos arquivos para 92 dB. Para mudar esse nível, veja o post sobre o mp3gain.