terça-feira, 2 de dezembro de 2014

Bash Script para verificar robustez de servidor SSL

"É quando o tempo sacode
 A cabeleira
 A trança toda vermelha
 Um olho cego vagueia
 Procurando por um."
                   (Frevo mulher - Zé Ramalho).


Alguns anos atrás eu havia criado um simples shell script para automatizar a listagem de cifras permitidas em um servidor SSL.

Até hoje esse script me é útil no levantamento de informações sobre a versão SSL e as cifras utilizadas em um servidor remoto.

sexta-feira, 21 de novembro de 2014

RSA Public-Key info analyzer

Alguns anos atrás eu havia criado uma ferramenta para levantar informações sobre um certificado SSL usando RSA.  O objetivo era fornecer algumas informações que poderiam depois ser usadas em outros ataques.

Resolvi publicar ela num único arquivo .c para demonstrar como é fácil programar em BIGNUM usando SSl API para obter informações úteis e simples que podem ser usadas em ataques mais avançados.

A ferramenta se chama "RSa Analyzer" e o uso é bem simples. Inicialmente podemos "baixar" um certificado de um site e depois exibir as informações dele. A tela abaixo demonstra isso:

$ echo "\n\n" | openssl s_client -connect www.google.com:443 > saida.http ; awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' saida.http > google.crt
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify error:num=20:unable to get local issuer certificate
verify return:0
DONE

segunda-feira, 17 de novembro de 2014

Grothendieck morreu. Alexey Chervonenkis também.



Não posso deixar de registrar a morte de Alexander Grothendieck ocorrida na semana passada, em 13 de novembro de 2014.

Ele foi um dos maiores matemáticos do século passado e uma figura polêmica que viveu alguns anos difíceis no Brasil e criou uma área forte da geometria algébrica.

Teorema Fundamental da Aritmética em BIGNUM

Segue implementação do Teorema Fundamental da Aritmética em BIGNUM do OpenSSL:

---------- tfa.c ----------
/* Kryptonia - Cryptography Intelligent Research.
 * http://www.securitylabs.com.br/
 *
 * Projeto Zahlen - Teorema Fundamental da Aritmetica.
 *
 * Glaudson Ocampos <glaudson@securitylabs.com.br>
 *
 * Compile com:
 *
 * $ gcc -o tfa tfa.c -lssl -lcrypto -Wall
 *
 *
 * Implementamos apenas trial division para checar novos primos.
 * Como se trata apenas de algo conceitual, nao recomendo a utilizacao
 * de numeros gigantes.
 *
 */

quarta-feira, 5 de novembro de 2014

Verificando Seguranca de Modulo RSA em Relacao ao Expoente Publico e

O algoritmo de "criptografia"(cifragem) do RSA eh descrito da seguinte forma:

C = M ^ e (mod N)

Onde temos:

C = Texto Cifrado
M = Texto Limpo
e = expoente publico
N = Modulo N (Numero inteiro gigante gerado a partir de dois primos(p e q)).

Nesse tipo de ataque(que podemos chamar de recuperacao de mensagens), nao nos interessa
o algoritmo de decriptografia.

Håstad's Broadcast Attack

Segue implementação de Håstad's Broadcast Attack em MPIR. Usei esse código para resolver um challenge famoso de criptografia.


quarta-feira, 26 de março de 2014

Bomba atômica para internet


Pensem nas crianças
Mudas telepáticas
Pensem nas meninas
Cegas inexatas
Pensem nas mulheres
Rotas alteradas
Pensem nas feridas
Como rosas cálidas
Mas, oh, não se esqueçam
Da rosa da rosa
Da rosa de Hiroshima
A rosa hereditária
A rosa radioativa
Estúpida e inválida
A rosa com cirrose
A anti-rosa atômica
Sem cor sem perfume
Sem rosa, sem nada
             (Rosa de Hiroshima - Vinicius de Morais)



Atenção: Esse post é meramente informativo e não tem a intenção de prejudicar alguém. É importante conhecer os problemas para tentar resolvê-los. O autor não se responsabiliza pelo mau uso das informações aqui contidas.


A Bomba atômica talvez seja uma das maiores engenhosidades criadas pelo homem. Um projeto que durou cerca de dois anos e meio, denominado Projeto Manhattan, reuniu grandes cientistas num empreendimento monstruoso. Físicos como Robert Oppenheimer, Stanislaw Ulam, John von Neumann, Richard Feynman dentre outros, não menos conhecidos, participaram dessa empreitada que culminou com a produção e utilização dos dois artefatos usados no final da segunda guerra mundial.

quinta-feira, 30 de janeiro de 2014

7 seconds - listagem de cifras ssh

"And when a child is born into this world
It has no concept
Of the tone the skin is living in" 

                                          (7 seconds - Youssou N'Dour e Neneh Cherry)

Ataques de brute force login em servidores SSH que utilizam autenticação baseada em password são muito comuns. Ferramentas públicas para tais ataques existem aos montes, em destaque para o hydra - https://www.thc.org/ e o Ncrack - http://nmap.org/ncrack/.

Mas vale frisar que o protocolo SSH permite o uso de diversas cifras diferentes e você pode querer criar uma ferramenta própria de brute force que explore o uso de uma cifra mais rápida. Para isso, a primeira coisa que você deve fazer é listar as cifras permitidas em um servidor SSH.