13 de dez. de 2015

Esteganografia - A arte de ocultar Informações

0 comentários
Criptografia é a arte de escrever mensagens ilegíveis. Esteganografia é um tipo especial de criptografia.. É a arte de esconder mensagens de forma imperceptível. Na era da informação, ela consiste em substituir os bits de dados menos significativos no arquivo original por bits de dados escondidos. A esteganografia é útil quando a criptografia é proibida.

Os objetivos da esteganografia incluem: 1. segurança (se o dado é perceptível aos outros); 2. capacidade (quantidade de dados a ser escondida). Quanto mais dados a serem escondidos mais perceptível ela se torna. Temos também um terceiro objetivo, a robustez (utiliza maior quantidade de dados, o que difere da esteganografia sendo usado como marca d'agua).

As principais falhas da esteganografia são: 1. detecção (quando o dado é detectado, acabou-se a brincadeira); 2. extração (pode ser dificultada criptografando os dados); 3. destruição (manter a integridade dos dados escondidos sem danificar o arquivo).

E temos 3 níveis de percepção: 1. indistinguíveis; 2. pode ver/ouvir a distorção ao olhar/ouvir atentamente para ele; 3. bastante óbvio para o observador.

12 de out. de 2015

Revertendo a base64

1 comentários
A codificação base64 é usada para transmitir dados binários por meios de transmissão que lidam somente com texto, como por exemplo o protocolo SMTP ou o próprio HTTP que foi projetado para transferir textos ASCII, assim como imagens (que são convertidas em texto ASCII).

As conexões TCP suportam transmissão de bytes com 8 bits. Os dados do protocolo SMTP são caracteres ASCII de 7 bits, onde cada caractere é transmitido como um byte de 8 bits com o bit mais significativo zerado. No entanto, o protocolo SMTP interpreta o octeto 998 ou o caractere '.' como sendo uma nova linha, podendo gerar danos aos arquivos que contenham essa sequência de octetos. Assim, a conversão de bytes para ASCII tem sido bastante útil.

Conversão:
Na conversão da base64 o arquivo é dividido em bytes de 6 bits gerando 64 (0...63) possíveis valores, que são representados pelos caracteres: [A-Z] para (0-25)[a-z] para (26-51)[0-9] para (52-61)'+' para 62, '/' para 63 e '=' para adição, dando origem ao seu nome. A codificação da base64 não deve ser confundida com criptografia pois ela não garante nenhuma segurança.

5 de out. de 2015

Linux para desenvolvedores

0 comentários
A origem:
O Linux surgiu em 1991 quando o finlandês Linus Torvalds resolveu criar um novo núcleo de sistema operacional.

Mas e o tal do "Pinguim, pinguim, pinguim!!!" ? O famoso mascote surgiu em 96 na lista de discussão do Linux-Kernel. Alguns sugeriram tubarões e águias mas Torvalds entrou no meio e mencionou que gostava de pinguins. Então surgiu um concurso onde o desenho de Larry Ewing foi eleito recebendo o nome de Tux, de origem controversa na qual alguns afirmam que é devido ao termo "tuxedo" (roupa tipo "smoking") e outros dizem que é o nome de seu criador Torvalds Unix.

Instalação:
Após escolher a sua distro favorita (elementary OS, openSUSE, Debian, Bieber LinuxUbuntuUbuntu MATE, Arch Linux, Kali Linux, etc) é só fazer o download da .iso e nnf!!

Ambientes gráficos:
Assim como o Windows, o Linux possui uma variedade de ambientes gráficos (sim várias janelas) como: GNOME, Cinnamon, Xfce, KDEUnity, entre outros.

27 de set. de 2015

Python - Hashlib e HMAC

0 comentários
O HMAC (Hash-base Message Authentication Code) é usado para verificar a integridade de informações e arquivos. Mecanismos que verificam a integridade baseados em uma chave secreta são usualmente chamados de MAC (message authentication codes), baseados em 2 partes que compartilham 2 chaves secretas para validar a informação transmitida. O HMAC usa uma variedade de algoritmos como: MD5, SHA1, SHA256, RIPEMD-128/160, entre outros.

exemplo_hmac.py:
import hmac
import hashlib
# o hmac.new possui 3 argumentos: chave, msg e o modulo do hash
gerar_resumo=hmac.new('chave_secreta','',hashlib.md5)
f=open('arquivo.txt','rb')
try:
    while True:
        bloco=f.read(1024)
        if not bloco:
           break
        gerar_resumo.update(bloco)
finally:
    f.close()
resumo=gerar_resumo.hexdigest()
print resumo

14 de jul. de 2015

HTTP Proxy em Python

0 comentários
O proxy age como intermediário entre o servidor local e requisições da internet, facilitando a nagevagação, controlando o acesso e fornecendo anonimato.
  • Criando um HTTP Proxy:
Nesse proxy, vamos criar uma função start() para fazer conexão entre o navegador e o servidor web.
import socket, sys, thread, httplib, re
def start():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind(('', 8001))
        s.listen(10)
        print "[+] Ouvindo as conexoes..."
    except Exception, e:
        print "[-] Nao foi possivel iniciar o socket. :("
        sys.exit(3)
    while True:
        try:
            conn, addr = s.accept()
            data = conn.recv(4096)
            thread.start_new_thread(conn_string, (conn, addr, data))
        except KeyboardInterrupt:
            s.close()
            print "\n[-] Servidor Proxy finalizando..."
            print "[-] Saindo...\n"
            sys.exit(1)

30 de mai. de 2015

Edgar Allan Poe e Criptografia

1 comentários
"dizemos novamente deliberadamente que o engenho humano não pode inventar uma cifra que o engenho humano não possa resolver." - Edgar Allan Poe

Edgar Allan Poe (1809-1849), foi um autor, poeta, editor e crítico literário americano. Exerceu grande influência em autores como Baudelaire e Dostoievski. Poe, um dos autores de maior destaque dos contos de horror era fascinado pela criptografia. 

Durante a I Guerra Mundial, Edgar Allan Poe propôs um desafio em dezembro de 1839 na Alexander's Weekly Messenger, uma revista sobre literatura da Filadélfia, afirmando que ele poderia resolver qualquer cifra de substituição simples que for submetido à ele pelos leitores. 
Uma cifra por substituição simples consiste em um método de encriptação na qual unidades do texto plano são substituídas pelo texto cifrado. As unidades podem ser: uma letra, pares de letras, uma mistura de tudo, e assim por diante. Uma cifra por substituição simples é baseada em somente um alfabeto.

15 de mai. de 2015

PGP

0 comentários
O PGP (Pretty Good Privacy) é um sistema de criptografia híbrido por combinar a segurança da cifragem por chave pública com a velocidade da  chave privada, sendo a cifragem da chave privada cerca de mil vezes mais rápida que a de chave pública. Baseado no PKI (Public Key Infrastructure), usa os algoritmos RSA e Diffie-Hellman. Foi criado por Philip Zimmermann em 1991. Ele é utilizado principalmente para cifrar emails, autenticar mensagens usando a assinatura digital e para cifrar arquivos, diretórios ou até mesmo partições inteiras.

23 de mar. de 2015

Makefile

0 comentários

    O GNU make foi escrito por Richard Stallman e Roland McGrath sendo mantido atualmente por Paul Smith. O make determina qual pedaço de um programa precisa ser recompilado. Ele é bastante usado nos programas em C, mas podemos usar o make em qualquer linguagem de programação onde o compilador pode ser executado no shell. Para usar o make, precisamos de um arquivo chamado makefile para dizer ao make o que fazer.
  • Makefile:
    Consiste em "regras" com a seguinte forma:
alvo ... : pré-requisitos ...    
 <TAB> comando   
  ...