Подтвердить что ты не робот

Взломанный, что делает этот кусок кода?

ПРЕДУПРЕЖДЕНИЕ: Это возможный эксплойт. Не запускайте прямо на своем сервере, если вы не знаете, что с этим делать.

http://pastehtml.com/view/1b1m2r6.txt

Я считаю, что это было загружено через небезопасную загрузку script. Как декодировать и распаковывать этот код? Запуск его в браузере может выполнить его как оболочку script, открыть порт или что-то в этом роде.

Я могу сделать base64-декодирование онлайн, но я не мог его распаковать.

4b9b3361

Ответ 1

Итак, есть строка. Он кодируется gzipped и base64, и код декодирует base64, а затем распаковывает его.

Когда это будет сделано, я приведу следующее:

<? eval(base64_decode('...')); ?>

Другой слой base64, длина которого составляет 720440 байтов.

Теперь, base64 расшифровывает, что у нас есть 506961 байт кода эксплойта.

Я все еще изучаю код и обновляю этот ответ, когда у меня больше понимания. Код огромен.

Продолжая читать код, и (очень хорошо сделанный) эксплойт позволяет этим инструментам быть подверженными хакеру:

  • Настройка брандмауэра TCP
  • несанкционированный доступ к оболочке
  • чтение всех htpasswd, htaccess, паролей и файлов конфигурации
  • очистка журнала
  • Доступ к MySQL (чтение, запись)
  • добавить код ко всем файлам, соответствующим шаблону имен (массовый эксплойт)
  • Сканер RFI/LFI
  • Наводнение UDP
  • информация о ядре

Это, вероятно, профессиональный набор инструментов для работы с сервером на базе PHP, и, увидев, что он получил хороший интерфейс HTML и всю его часть, его можно легко использовать про-хакером или даже script kiddie.

Этот эксплоит называется c99shell (спасибо Yi Jiang), и он, оказывается, был довольно популярен, о нем говорили и работали уже несколько лет. В Google для этого эксплойта есть много результатов.

Ответ 2

Рассматривая источник декодирования Delan, он представляет собой полноценный бэкдор, предоставляющий веб-интерфейс, который может использоваться для управления сервером различными способами. Передача фрагментов из источника:

echo '<center>Are you sure you want to install an IP:Port proxy on this
website/server?<br />

или

<b>Mass Code Injection:</b><br><br>
Use this to add PHP to the end of every .php page in the directory specified.

или

echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . 
     round(($pakits*65)/1024, 2) . " MB) packets averaging ". 
     round($pakits/$exec_time, 2) . " packets per second \n";

или

if (!$fp) {echo "Can't get /etc/passwd for password-list.";}

Я бы посоветовал вам счистить этот сервер и переустановить все с нуля.

Ответ 3

Я знаю, что Делан Азабани сделал это, но так, чтобы вы действительно знали, как он получил данные:

На всякий случай вам интересно, как это сделать, используйте base64 -d filename > output для синтаксического анализа строк base64 и gunzip file.name.gz для анализа данных gzipped.

Трюк заключается в распознавании того, что у вас есть base64 или gunzip и распаковка правильных бит.

Таким образом, это абсолютно не похоже на парсер JS или парсер PHP.

Ответ 4

Сначала замените eval на echo, чтобы увидеть, какой код он выполнил бы, если бы вы его допустили. Отправьте вывод этого script в другой файл, скажем, test2.php. В этом файле повторите попытку. Запустите его, и он выведет полную вредоносную программу (это довольно зверь), ~ 4k линий хакерского восторга.

Ответ 5

Это код для php-оболочки.
для декодирования этого

заменить replace eval ( "? > ". с печатью ( запустите этот

php5 file.php > file2.php

затем замените eval на печать и запустите в браузере. http://loclhost/file2.php