Ir para conteúdo
    • Fernando Mercês
      Batizado com nome herdado da estrela binária VV Cephei, o Linux.Cephei é provavelmente o primeiro file infector para executáveis ELF (utilizados nos sistemas baseados em Linux, entre outros) escrito na linguagem Nim. Isso mesmo, o autor é um tanto excêntrico e disse em seu blog que o Linux.Cephei é inofensivo (por enquanto) e fez somente para participar de um concurso de programação.
      O vírus é do tipo que chamamos de prepender, ou seja, ele adiciona algo "antes" da execução de um programa saudável, no caso, de um binário ELF. A técnica para isso é a alteração de seu entrypoint. 
      Nos testes que fizemos aqui, o Linux.Cephei só funcionou com binários compilados estaticamente: 
      $ uname -a Linux malinux 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux $ cat /etc/debian_version 9.2 $ cat h.c #include <stdio.h> int main(void) { printf("ola mundo do bem!\n"); return 0; } $ gcc -static -o hello h.c $ ./hello ola mundo do bem! $ chmod +x linux.cephei $ ./linux.cephei $ ./hello Did you know that VV Cephei, also known as HD 208816, is an eclipsing binary star system located in the constellation Cepheus, approximately 5,000 light years from Earth? It is both a B[e] star and shell star. Awesome! https://en.wikipedia.org/wiki/VV_Cephei The more you know... :) ola mundo do bem! $ gcc -o hello h.c $ ./linux.cephei $ ./hello ola mundo do bem!  Perceba que ele injetou seu código com sucesso no binário hello, mas somente quando foi compilado estaticamente.  
      Além da linguagem exótica, ultimamente não se vê muitos file infectors já que a moda de infectar executáveis passou. De qualquer forma, é bom ficar de olho. Com códigos como o do Linux.Ceiphei, vírus podem permanecer ocultos num sistema por muito tempo. E pouca gente usa antivírus no Linux, mesmo tendo uma alternativa livre como o ClamAV.

    • Mais um banco de dados de dados vazados tornou-se público recentemente. Desta vez foi uma invasão ocorrida no site CafeMon, um portal que concentra informações para mulheres que são mães, como uma rede social. De acordo com o projeto Have I Been Pwned, em 2014 2.6 milhões de e-mails e senhas em texto claro foram vazadas do portal.
      Apesar de o portal não ser tão famoso no Brasil, aproveitamos a oportunidade para indicar a nossos leitores o uso do serviço gratuito Have I Been Pwned. Nele você pode digitar seus endereços de e-mail e monitorá-los, a fim de ser consultar e ser informado caso eles apareçam em algum vazamento público ou dump colocado na Internet (normalmente em sites como o Pasetbin). Por exemplo, o meu e-mail do GMail já apareceu em dois vazamentos:

      O primeiro passo é entrar com minha conta em cada um destes serviços e alterar a senha. Depois clicar em Notify me when I get pwned para que eu receba um e-mail caso meu endereço apareça num novo vazamento. Vale também utilizar serviços como o 1Password, Lastpass ou Dashlane para gerenciar senhas fortes e não utilizar senhas iguais para diferentes serviços pois se eu usasse por exemplo a mesma senha no GMail que utilizo no site da Adobe, conforme imagem, poderia ter tido meu e-mail ownado.
      Fica esperto, pois estamos sujeitos à estes vazamentos mesmo (a responsabilidade sobre a segurança desse tipo de dados é das empresas), mas podemos ajudar a evitar maiores problemas com ajuda deste site.

    • A QuarksLab liberou recentemente o que chamou de LIEF, uma biblioteca multiplataforma para parsear binários Mach-O, ELF e PE. Funciona de forma similar à nossa libpe, mas liberaram wrapper pra Python, suporte à escrita, etc. Devo dizer que tem muito mais funções.
      Segue um exemplo em Python usando a LIEF para extrair informações de um PE com saída similar à do readpe, do toolkit to pev:
      import lief pe = lief.parse('churrasco.exe') print(pe) A saída é:
      Dos Header ========== Magic: 5a4d Used Bytes In The LastPage: 90 File Size In Pages: 3 Number Of Relocation: 0 Header Size In Paragraphs: 4 Minimum Extra Paragraphs: 0 Maximum Extra Paragraphs: ffff Initial Relative SS: 0 Initial SP: b8 Checksum: 0 Initial IP: 0 Initial Relative CS: 0 Address Of Relocation Table: 40 Overlay Number: 0 OEM id: 0 OEM info: 0 Address Of New Exe Header: e0 Rich Header =========== Key: d089bb0a - ID: 0x9100 Build ID: 0x7809 Count: 1 - ID: 0x8400 Build ID: 0x7809 Count: 41 - ID: 0x1000 Build ID: 0x0000 Count: 100 - ID: 0x7b00 Build ID: 0xc627 Count: 7 - ID: 0x8300 Build ID: 0x7809 Count: 93 - ID: 0x9500 Build ID: 0x7809 Count: 18 - ID: 0x0000 Build ID: 0x0000 Count: 0 Header ====== Signature: 50 45 0 0 Machine: I386 Number Of Sections: 3 Pointer To Symbol Table: 0 Number Of Symbols: 0 Size Of Optional Header: e0 Characteristics: RELOCS_STRIPPED - EXECUTABLE_IMAGE - CHARA_32BIT_MACHINE Time Date Stamp: 4be33f4a ... Tem muita coisa legal na LIEF. Experimenta substituir a linha print(pe) por help(pe) para ver todas as opções do que dá pra fazer com um PE e testa também com os outros formatos. Você vai se surpreender.
      Se ficou curioso, a maneira mais fácil de instalar é com o pip:
      $ pip install lief A LIEF também tem headers para C e C++.

×
×
  • Criar Novo...