Todos os posts tagados python

Hash Identifier

hash_id

Hash Identifier, ou simplesmente Hash ID, é uma pequena ferramenta programada em Python que permite identificar tipos de hashes usadas para encriptar informação/passwords. Identifica as mais comuns e também por alguns padrões conhecidos usados por CMS (WordPress, Joomla).

Verifica as seguintes hashes:

  • ADLER-32
  • CRC-32
  • CRC-32B
  • CRC-16
  • CRC-16-CCITT
  • DES(Unix)
  • FCS-16
  • GHash-32-3
  • GHash-32-5
  • GOST R 34.11-94
  • Haval-160
  • Haval-192 110080 ,Haval-224 114080 ,Haval-256
  • Lineage II C4
  • Domain Cached Credentials
  • XOR-32
  • MD5(Half)
  • MD5(Middle)
  • MySQL
  • MD5(phpBB3)
  • MD5(Unix)
  • MD5(WordPress)
  • MD5(APR)
  • Haval-128
  • MD2
  • MD4
  • MD5
  • MD5(HMAC(WordPress))
  • NTLM
  • RAdmin v2.x
  • RipeMD-128
  • SNEFRU-128
  • Tiger-128
  • MySQL5 – SHA-1(SHA-1($pass))
  • MySQL 160bit – SHA-1(SHA-1($pass))
  • RipeMD-160
  • SHA-1
  • SHA-1(MaNGOS)
  • Tiger-160
  • Tiger-192
  • md5($pass.$salt) – Joomla
  • SHA-1(Django)
  • SHA-224
  • RipeMD-256
  • SNEFRU-256
  • md5($pass.$salt) – Joomla
  • SAM – (LM_hash:NT_hash)
  • SHA-256(Django)
  • RipeMD-320
  • SHA-384
  • SHA-256
  • SHA-384(Django)
  • SHA-512
  • Whirlpool

Podem fazer o download da versão 1.1 aqui: http://code.google.com/p/hash-identifier/

Lista de ferramentas em Python para testes de intrusão

Dirk-loss compilou uma lista de ferramentas para testes de intrusão programadas exclusivamente em Python. Esta lista está organizada em diferentes categorias e conta com mais de 60 ferramentas.

Nunca é demais dizer que, se usam uma ferramenta gratuita, porque não enviar um donativo para ajudar o programador(es)? Fica a sugestão.

Wi-fEye – testes de intrusão automáticos em redes WiFi

Wi-fEye tem como finalidade auxiliar os testes de intrusão em redes WiFi.

Esta ferramenta, desenvolvida em Python, vai permitir a um utilizador lançar automaticamente diversos ataques, bastando para isso correr o Wi-fEye, escolher o tipo de ataque a desempenhar, escolher o destino e esperar pelo resultado.

No website oficial, a documentação é bastante razoável e até inclui uns tutoriais em vídeo.

Como analisar documentos PDF por conteúdos maliciosos

Nos últimos meses, muito se tem falado nos perigos em abrir documentos PDF de origem desconhecida (e não só) e como o cibercrime tem utilizado este método para propagar malware em empresas e governos.

O meu objectivo neste artigo é, para além de alimentar a curiosidade de investigação, proporcionar um meio de identificar possíveis conteúdos maliciosos em documentos PDF que muitos serviços online não conseguem.

Ferramentas utilizadas:

Todas as ferramentas acima mencionadas são opensource e disponíveis gratuitamente por Didier Stevens.

Requisitos:

Como actualmente não tenho disponível um PDF infectado com código malicioso, decidi recorrer à ferramenta make-pdf-javascript.py para criar um documento PDF com código Javascript.

Neste momento temos um documento PDF com um Javascript inofensivo, que apenas mostra uma caixa de alerta.

De referir que o software utilizado para abrir o PDF é a versão mais recente do Acrobat Reader – 9.3.2 PT.

Podem também criar Javascript personalizado com o mesmo programa.


De seguida, vamos analisar e identificar algumas palavra chave importantes numa análise e validação de um documento PDF.
Para tal, vamos utilizar o pdfid.py.

Nota: Dado que esta ferramenta pesquisa por palavras chave no código, pode gerar alguns falsos positivos.

Praticamente todos os PDFs contêm as 7 primeiras palavras chave:

  • obj
  • endobj
  • stream
  • endstream
  • xref
  • trailer
  • startxref

No entanto, vou entrar em pormenor nas seguintes palavras chave porque podem ser necessárias a uma análise de malware num documento PDF.

  • /Page – Indica o número de páginas do documento PDF.
  • /Encrypt – Indica que o documento PDF está protegido com palavra passe ou DRM.
  • /ObjStm – Conta o número de fluxo de objectos. Esse fluxo de objectos pode conter objectos específicos para ofuscar outros objectos indesejados.
  • /JS e /Javascript – O documento PDF contém código Javascript ou importa um ficheiro externo .JS. Caso encontre algum PDF com esta palavra chave é provável que encontre código malicioso.
  • /AA e /OpenAction – Indica que é executada uma acção quando é aberta uma página ou documento PDF. Tenha em conta que se esta palavra chave for encontrada no documento PDF em conjunto com Javascript, podemos considerar que é um documento PDF altamente suspeito.
  • /AcroForm – Número de objectos AcroForm encontrados no documento PDF. Estes objectos podem ser caixas de texto ou selecção com Javascript. Convém analisar.
  • /JBIG2Decode – Indica que foi utilizado a compressão JBIG2 no documento PDF. Não é sinónimo de código malicioso no entanto é conveniente investigar.
  • /RichMedia – existência de código Flash embutido.
  • /Launch – Conta o número de acções executadas.

Voltando ao meu exemplo. Podemos reparar que usando o pdfid.py detectámos a existência da palavra chave Javascript. Vamos analisar e identificar os elementos fundamentais do documento PDF usando outro utilitário – o pdf-parser.py.

Dado que no exemplo apenas detectámos Javascript, vamos pesquisar por essa palavra chave.

Como podemos ver na imagem, o código Javascript apenas executa um alerta.
Para poderem comparar com uma ferramenta de análise online, Wepawet, podem consultar aqui o resultado.
Caso o exemplo tivesse o código Javascript ofuscado, esta ferramenta online (tal como outras) não iria detectar um código possivelmente malicioso. O próprio site alerta a essa situação.

Em resumo, devemos usar o pdf-parser.py como complemento a uma identificação de actividade suspeita num documento PDF encontrado pelo pdfid.py.

Espero futuramente colocar um artigo mais aprofundado sobre documentos PDFs com código ofuscado e com ligações a sites remotos para descarregar malware para o sistema da vítima.

Para os mais impacientes, deixo alguns artigos interessantes sobre o assunto:

Espero ter contribuído com este artigo de iniciação a análise de documentos PDF e agradeço qualquer feedback com algumas experiências reais com documentos PDF suspeitos.