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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рассматривая декодированный источник 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.";} 

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

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

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

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

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

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

Это код для php shell.
декодировать это

замените замену eval («?>» на печать (запустите это

 php5 file.php > file2.php 

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