segunda-feira, 28 de fevereiro de 2011

Metasploit - bug que permite elevar privilégio

Logo no começo de fevereiro foi publicado uma vulnerabilidade na instalação do framework Metasploit que permite elevar privilégio em máquinas com sistema operacional Windows. Foi lançado a versão 3.5.2 do framework que corrige esta vulnerabilidade.

Se você ainda possui uma versão antiga e pretende apenas corrigir esta falha proceda conforme abaixo:

a) Windows Vista e 7

icacls c:\framework /inheritance:d /T
icacls c:\framework /remove *S-1-5-32-545 /T
icacls c:\framework /remove *S-1-5-11 /T

Aprenda um pouco mais sobre o comando icacls: link1 e link2.

b) Windows antes do Vista

xcacls c:\framework /E /R SID#S-1-5-32-545 /T

Aprenda um pouco mais sobre o comando xcacls.

by Osvaldo H Peixoto


-----> DICAS <-----

1 - Ótimo proxy online:

2 - Acessando um site que esta fora do ar:

ou


3 - Cache de sites:




4 – Aprenda mais sobre os sistemas de busca (Web search engine)


5 - Descubra os sites que fazem referência para o seu site

vá no google:
link:www.seusite.com.br

6 - Aprenda como usar o Goole search
http://www.google.com/intl/pt-BR/help/features_list.html#cached

by Osvaldo H Peixoto


segunda-feira, 21 de fevereiro de 2011

Dica - Tirando o "^M" do seu script

Você já precisou executar algum script porém o bash apresentou o seguinte erro:
-bash: ./script.sh: /bin/bash^M: bad interpreter: Arquivo ou diretório não encontrado

Para resolver isso é simples:
Abra o seu arquivo usando o vi e depois:
:set fileformat=unix


O comando acima converte de <CR><LF> (DOS) para <LF> (Unix).


O comando abaixo remove vários "M^":

:%s/[^M]$//
:w



Pronto.


by Osvaldo





quinta-feira, 10 de fevereiro de 2011

OTP (One-Time Password) - barrando a força bruta

Imagine o seguinte, você possui acesso a vários sites, como: Hotmail, Orkut, Lojas Americanas, Fórum, Listas etc. Você utiliza apenas uma senha para acessar estes sites. Já imaginou se alguém conseguir esta senha!!?? Ele poderia ter acesso a todos os seus sites.

Imagine também que você é administrador de redes e possui vários servidores sobre sua responsabilidade. Como administrador você precisa implementar políticas de segurança e uma política básica seria a criação de senhas “fortes”.  O que você faz, cria uma senha forte e usa em todas as máquinas ou cria várias senhas fortes porém terá que escrever em um papel para lembrar??

Se você respondeu em criar a senha “forte” e usar em todas as máquinas, neste caso você enfrentará o mesmo dilema comentado anteriormente, ou seja, se alguém conseguir esta senha poderá ter acesso a todas as máquinas. Se sua resposta foi criar várias senhas seguras e escrever em um papel, ai você tem um grande problema de segurança que é escrever as senhas no papel.

Você pode estar pesando em utilizar os famosos Gerenciadores de Senha, não é? O problema é que toda vez que você precisar de uma senha você precisa do programa de gerenciamento. E se você estiver na casa de um amigo ou em uma lan house? Você vai pedir pra ele instalar seu programa de gerenciamento de senha para que você possa acessar o site das Lojas Americanas ou um servidor do seu trabalho?? Espero que a sua resposta seja “não”.

O que fazer?

Simples. Perfect Paper Password.
Perfect Paper Password é também chamado de One-Time Password System. OTP é um sistema de senhas que são válidas apenas para uma sessão, ou seja, cada nova sessão a senha muda. Você não precisa ficar lembrando da senha, uma tabela como a da figura abaixo serve para guiar você no processo de autenticação:



Exemplo:
Vou simular o que ira acontecer quando você tentar acessar remotamente o seu servidor via SSHD, veja a figura abaixo:



Quando eu fizer o acesso via SSH será necessário primeiramente realizar a autenticação usando a minha senha do sistema e em seguida na linha 5 tenho o passcode “1A” que de acordo com o meu Passcard (primeira figura) corresponde com a string “Es28”. O que podemos ver é que para realizar essa autenticação com sucesso irei precisar da minha senha do sistema e do meu passcard, sem eles será impossível autenticar.
Vou mostrar depois como implementar o PPP (perfect paper password) no seu servidor SSHD.  O grande problema é que não podemos implementar este mecanismo nos sites que somos cadastrados, isso deveria ser feito pelos administradores desses sites. E agora? Calma, vamos pegar a idéia do PPP e criar o nosso Passcard para acessar os sites.

Criando nosso Passcard

Vá no site https://www.grc.com/ppp.htm e gere seu passcard, perceba que ele gerou 3 passcard, vamos usar o primeiro passcard como exemplo. Agora copie o passcard 1 (1) para o Excel e com base nele você criará o seu próprio passcard (2) para acessar seus sites, veja a figura abaixo:



Imprima seu Passcard, plastifique e coloque na carteira. Tenha uma imagem dele no seu pen-drive e tire uma foto com o seu celular, acho que isso já é o bastante.

Vamos ver como ficaria nossa senha para acessar o site das Lojas Americanas (www.americanas.com.br):
Pegue a palavra “A M E R I C A N A S” e veja no seu passcard como ficaria:

A --> o=
M --> Mz
E --> bB
R --> 3T
I --> Xv
C --> ?R
A --> C5
N --> h6
A --> mq
S --> 9m

Nossa senha seria: o=MzbB3TXv?RC5h6mq9m

Você não precisa lembra desta senha, apenas do nome “americanas”. Vamos tornar nossa senha um pouco mais forte? Imagine o seguinte que a sua senha padrão para acessar seus sites era “123456”, que tal colocar esta senha no final da nossa senha? Ficando assim:
o=MzbB3TXv?RC5h6mq9m123456

Desta forma mesmo que alguém consiga o seu Passcard ele precisa saber da senha no final e precisa saber também que a palavra “americanas” serviu para lhe orientar na criação da sua senha. E se na hora de criar a senha você escolhesse a palavra “lamericanas” ou “lojasamericanas”??

Você também pode criar seu passcard usando a função rand() do Excel ou use o script paper-token.pl.

Para usar o script é necessário instalar alguns módulos em Perl, segue abaixo como fazer isso no Linux:

perl -MCPAN -e Shell
install Authen::HOTP
install PDF::API2
install PDF::Table
install Getopt::Compact

Será necessário fazer algumas alterações no script e no módulo HTOP para que o resultado seja como a da figura abaixo:


O resultado acima foi gerado com o seguinte comando:

#perl paper-token.pl --output test2.pdf --counter 0 --end 55 --digits 2

Será gerado um PDF com o nome test2.
Agora vamos configurar o PPP no seu servidor SSHD para isso vou usar o Ubuntu 10.10 32 bits.

Primeiramente instale os seguintes pacotes:
  • subversion
  • make
  • gcc
  • g++
  • libc6-dev
  • uuid-dev
  • libpam0g-dev
  • openssh-server
Agora baixe o código fonte aqui.
Descompacte o arquivo e compile:
#tar -xvzf ppp-pam-0.2.tar.gz
#cd ppp-pam
#cd build
#../configure
#make

obs: quando estiver compilando der o seguinte erro (no Debian 64 bits ocorreu este erro):

“/usr/bin/ld: pam_ppp_so-pam_ppp.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with –fPIC pam_ppp_so-pam_ppp.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [pam_ppp.so] Error 1”

Então substitua os dois últimos comandos acima por estes:

#CC="gcc -fPIC" ../configure
#make -B

Agora vamos testar para ver se tudo ocorreu bem e depois instalar:
#make test
#make install

Configurando o SSHD e o módulo do ppp

Edite o arquivo:
#vi /etc/pam.d/ssh

E acrescente logo abaixo da linha “@include common-auth”
auth       required       pam_ppp.so

Se você quiser que a autenticação ocorra apenas com o módulo ppp comente a linha “@include common-auth” que é responsável pela autenticação padrão do SSHD, onde checa o usuário e senha junto com os arquivos de autenticação do Linux.

Edite o arquivo de configuração do sshd e certifique-se que os dois parâmetros estejam no arquivo:

#vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
UsePAM yes

Pronto já esta configurada. Agora precisamos gerar uma seguencia de chave para o meu usuário e em seguida gerar o passcard:

$pppauth --key

obs: o comando acima deverá ser executado com a permissão do usuário que queremos criar a chave, exemplo, se você esta logado como root e deseja criar a chave e o passcard para o usuário osvaldohp você deverá antes executar o comando “su - osvaldohp” ou logar em outro terminal com a conta do usuário osvaldohp.

Gerando o passcard:

$pppauth --text --next 1
Eu sugiro que você tire uma foto do seu passcard. 
 
Agora eu quero que você entenda uma coisa, esse passcard vai ser descartado assim que todos os números forem usado em seguida passara para o passcard 2. Para ver o passcard 2 digite o comando:
 
$pppauth --text -c 2
 
Tenha sempre o passcard atual e o seguinte.
 
Outra ótima ferramenta que implementa OTP é o OPIE:
Link1
Link2
Link3
 
 Tire suas conclusões.

by Osvaldo H Peixoto


quarta-feira, 9 de fevereiro de 2011

Ultrasurf - sua rede de servidores

Para complementar nosso estudo sobre o Ultrasurf postado como “Barrando o Ultrasurf - política de conscientização” estou disponibilizando este excelente paper chamado “Ultrasurf – Architecture Overview and Blocking Strategy” que explica com detalhes a arquitetura do Ultrasurf e seu funcionamento, mostrando como o Ultrasurf trabalha junto com a sua rede de servidores.

terça-feira, 1 de fevereiro de 2011

FireCAT - catálogo de extensões de segurança para o Firefox

FireCAT (Firefox Catalog of Auditing exTension) é um catálogo com extensões para o Firefox voltada para segurança de TI. Para você ver este catalago (fireCAT) clique na figura abaixo:




Você pode baixar a versão em .mm aqui, mas para isso você precisa de um programa que leia essa extensão como o FreeMind.

Site oficial: http://www.security-database.com/toolswatch/+-FireCAT-+.html

by Osvaldo H Peixoto


Esmagando WPA com Rainbow Tables

Já sabemos que é fácil quebrar a chave WEP, alguém tem alguma dúvida em relação a isso???? Sabemos também que para quebrar a chave WPA você precisa de um bom dicionário. O problema é a demora para realizar a força bruta usando um dicionário, é ai que entra o Rainbow Tables, veja abaixo a definição para este termo: 

“rainbow table é uma tabela de consulta que utiliza um algoritmo de transação memória-tempo, permitindo-nos recuperar o texto original de uma password através de uma password digerida(hash), gerada por uma função criptográfica de digestão(hashing). É utilizado normalmente para que um ataque contra passwords digeridas seja possível”.


Foi realizado no ShmooCon (evento hacker que acontece todo ano) uma demonstração com um laptop (p3/700) que sem a tabela hash conseguiu realizar um ataque de força bruta de 12 chaves/seg. Agora incluindo a tabela hash o mesmo laptop conseguiu 18,000 chaves/seg. O que antes era feito em 4 horas agora pode ser feito em 10 segundos.


Uma ótima ferramenta que usa rainbow tables para quebrar chave WPA é o coWPAtty, não vou mostrar aqui como usar a ferramenta, no site oficial você encontra vários exemplos.


Como funciona? O que é preciso para quebrar a chave WPA? Neste post vou tentar de uma forma resumida responder essas perguntas.


Se você realmente quer saber como rainbow table constrói sua tabela leia aqui. Basicamente em um ataque de força bruta a senha para ser testada não deverá estar em texto plano e sim deverá ser criado o hash da senha para que o mesmo possa ser testado, e isso é feito com cada senha a ser testada. Com o rainbow tables esses hashs são criados e armazenados nas tabelas, com isso na hora do ataque não é necessário criar o hash para cada senha que será testada porque os hashs já existem na tabela.


Neste vídeo você tem uma breve descrição da técnica e mostra também como criar sua tabela:





Quando você cria ou usa uma rainbow tables para quebrar chaves WPA é preciso que sua tabela tenha sido criada com o mesmo SSID do AP e lembrando que um bom dicionário deveria ser usado para criar os hashs. O processo de criação das tabelas pode demorar semanas, por isso vários grupos de segurança criaram suas tabelas baseado em SSID padrão. No site http://www.wigle.net/gps/gps//Stat você consegue a lista dos SSID mais usados em AP´s.

Abaixo segue uma lista de grupos envolvidos com criação de rainbow tables com SSID padrão:


Baixe as tebelas e use o coWPAtty.

by Osvaldo H Peixoto

Ferramentas separadas por categorias

OK. Você lembra do post “tools.securitytube.net - ainda tenho que explicar? onde apresentei o site tools.securitytube.net que guarda uma base de dados sobre ferramentas para segurança.

Neste post vou apresentar o http://www.security-database.com/toolswatch/ que possui uma base muito vasta de ferramentas, que são separadas por categoria.

by Osvaldo H Peixoto


Conheça o Alexa - The Web Information Company

Alexa é um site que coleta várias informações sobre a Internet, como: estatísticas, tráfego, pesquisas frequentes, top sites etc. Com o Alexa você pode fornecer um domínio que o mecanismo do Alexa ira mostrar um resumo sobre o site, informações como:  tráfego, carga de uso do site, subdomínios visitados etc.

Clique aqui para ver um exemplo feito com o site pa.gov.br. Veja abaixo uma parte do resultado:


Achei este script em perl que checa com a base de dados da Alexa para ver o rank de um determinado site. Veja a saída do script abaixo:


#./alexa-checkerpl.pl lista-de-sites-para-checar.txt
#pa.gov.br alexa rank is 45227

obs: para que o script rode é preciso instalar os seguintes módulos: strict, warnings, Switch, POSIX, LWP::UserAgent e HTTP::Message.


by Osvaldo H Peixoto