É possível incorporar um keylogger em uma imagem jpg?

0

Estou curioso para saber se é possível criar um arquivo jpg que contenha um keylogger que será executado quando a imagem for aberta.

Eu acredito strongmente que tal coisa não é possível, no entanto eu estou ouvindo mais e mais rumores disso. Alguma idéia?

    
por Obsrv_ 02.09.2015 / 23:27

4 respostas

6

É possível quando há uma falha de segurança no aplicativo que você está usando para abrir o arquivo JPG (ou qualquer outro arquivo), a menos que seja uma imagem JPEG falsa.

Portanto, há poucos cenários:

  • executando JPEG falso

    Usuário não experiente baixou o arquivo e acha que é a imagem (porque o ícone se parece com uma imagem e o SO não mostra a extensão), mas pode ser qualquer arquivo executável ( .exe , .vbs , .msi , .cmd , .bat , etc.). Portanto, se o seu sistema operacional não avisar quando você executar um arquivo de imagem falso, a imagem poderá ser mostrada com o keylogger instalado. Por isso, verifique sempre sua extensão antes de abrir arquivos suspeitos.

  • abrindo o JPEG

    Qualquer arquivo de mídia (e outros) pode conter algum código injetado projetado para enganar aplicativos específicos. Eles poderiam ter algumas falhas na análise de alguns dados (por exemplo, em EXIF). Então, se a aplicação é buggy, os dados injetados podem enganar o aplicativo para executar algum código arbitrário.

    Por exemplo: Exploit: Vulnerabilidade no W32 / JPG, Exploit: vulnerabilidade do W32 / JPG, MS04- 028 explorar

  • carregando JPEG do servidor

    Você poderia injetar algum código de programação em JPEG, então, uma vez analisado pelo aplicativo da Web, ele poderá executar qualquer código no idioma especificado. Por exemplo, o arquivo JPEG pode incluir tags especiais ( <?php , ?> ) e, quando analisado por aplicativo mal codificado da empresa de hospedagem ( file_get_contents() , fopen() , readfile() ), pode apagar sua conta www. / p>

    Exemplo JPEG: php-logo-virus.jpg

    que tem esse código incorporado ao arquivo:

    ÿØÿàJFIF''ÿáfExifMM* éV@HQQQ<style>body{font-size: 0;} h1{font-size: 12px !important;}</style><h1><?php echo "<hr />THIS IMAGE COULD ERASE YOUR WWW ACCOUNT, it shows you the PHP info instead...<hr />"; phpinfo(); __halt_compiler(); ?></h1>

    Então, quando você abrir a imagem acima, adicione view-source: antes do endereço, assim você verá o script PHP injetado. Note que a imagem acima é apenas o exemplo e não fará nada.

    Fonte: Code injection - um simples vírus PHP transportado em uma imagem JPEG

  • carregando o arquivo JPEG que não é um arquivo JPEG

    Quando você vê o link como: http://www.example.com/foo.jpeg , você acha que é uma imagem, mas não precisa. Tudo depende do seu tipo MIME e, carregando-o, você pode carregar o script (como o Javascript) e, no navegador vulnerável / antigo, instalar um keylogger. Por outro lado, seu navegador não precisa ser antigo para conseguir isso.

    Por exemplo, você está visitando a página que é o site do banco falso ou pode ser um banco real (com algum fórum em que alguém fez o upload de um JPEG falso via XSS ). Portanto, para implementar o XSS Keylogger, você só precisa de document.onkeypress + chamadas AJAX. Veja: XSS Keylogger

    Verifique também: Folha de evasão do filtro XSS

  • carregando JPEG que é SVG

    Às vezes, quando você carrega o arquivo de mídia e o navegador da Web, reconhece-o como uma imagem diferente e recua para o formato reconhecido. E o que você pode fazer em arquivos SVG, você pode incluir html e JavaScript nele (se o seu navegador permitir isso), consulte: Create uma tabela em SVG (e outra ).

por 17.09.2015 / 16:50
3

Normalmente, não seria possível. Os arquivos JPEG contêm apenas dados de imagem compactados; eles realmente não contêm partes que seriam executadas como código de programa, e certamente não são algo que daria acesso tão amplo ao sistema.

No entanto, os programas têm erros. Mais especificamente, algumas das várias bibliotecas usadas para descompactar dados JPEG podem ter erros que permitem que o programa seja induzido a executar partes dos dados como código de programa, geralmente usando um buffer overflow ou bug similar.

(Além disso, alguns outros formatos de imagem são mal projetados do contêm código executável por design ... dois dos exemplos mais conhecidos são WMF e PDF.)

    
por 02.09.2015 / 23:37
2

Isso é improvável.

É mais provável que este seja um executável chamado: image1.jpg.exe . Se as extensões estiverem ocultas, você verá Image1.jpg .

O programa tem o ícone de uma imagem jpg e, ao iniciar o programa, ele extrai uma imagem incorporada na pasta temporária e a inicia para simular a imagem sendo aberta e não levantar suspeitas. O programa então instala o keylogger.

Mas esta não é uma imagem com keylogger incorporado. É um programa fingindo ser uma imagem com um keylogger embutido, tentando enganar a pessoa para abrir a imagem, da mesma forma que o spyware está sendo feito para enganar o usuário para abri-lo e se instalar.

    
por 02.09.2015 / 23:32
0

Em geral, quando você exibe algum tipo de arquivo, você lê e processa o conteúdo para que ele possa ser exibido corretamente (por exemplo, leia os dados da imagem e calcule cada pixel). Como um arquivo de imagem é totalmente estático e os dados nele contidos são sempre semelhantes, é extremamente improvável que os dados que o visualizador de imagens procura e processe (como informações de cor em determinadas áreas) possam ser executados como código malicioso.

    
por 02.09.2015 / 23:51