"Не удалось загрузить атрибут манифеста основного класса из client.jar" в файле .jar возможного вредоносного ПО? - PullRequest
1 голос
/ 31 октября 2011

Я нашел файл Client.jar на компьютере клиента, содержащий два файла .class, которые я мог декомпилировать в эти два файла:

Client.java

I.java

Более того, есть I.gif, который явно не GIF смотрит на него с помощью шестнадцатеричного редактора.

Они явно запутаны, и я не настолько увлечен Java. Я попытался запустить в ВМ, но он говорит мне "Не удалось загрузить атрибут манифеста основного класса из Client.jar"

Может быть, основной класс отсутствует в манифесте, но как это исправить? Означает ли это, что он не может быть запущен на компьютере клиента?

Также есть папка META-INF, содержащая файлы MANIFEST.MF, ME.DSA, ME.SF.

MANIFEST.MF выглядит так:

Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)

Name: Client.class
SHA1-Digest: ex7bAth9HYUTIi8EcpeOc1OsVMg=

Name: I/I.class
SHA1-Digest: 0H6A7/XmOCNhayPI9TwC45Mky4s=

Name: I/I.gif
SHA1-Digest: AzzSpXaRFMYvtYJvrnFsHQDvJkE=

Я хотел бы проанализировать это дальше, запустив его в песочнице или виртуальной машине, что означает ошибка, как я могу запустить его?

Это, очевидно, какое-то вредоносное ПО, поэтому на это должны отвечать только эксперты. Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

Чтобы запустить приложение Java из файла JAR, он должен знать, какой класс формирует точку входа. Этот класс нуждается в методе main. Он может быть либо указан в файле MANIFEST.MF jar, либо задан при запуске (например, из командной строки).

Декомпилированные классы (которые действительно кажутся запутанными) не содержат метод main. Так что это не баночка, которую можно запускать как отдельное приложение. Тем не менее, Client расширяет Applet, указывая, что это было предназначено для запуска в качестве веб-апплета в браузере. Проверьте эту страницу , чтобы узнать, как ее запустить.

Вероятно, лучше всего запустить его через несколько сканеров вирусов, шпионского и рекламного ПО, если вы подозреваете, что это вредоносное ПО.

РЕДАКТИРОВАТЬ : после изменения кода и запуска его с помощью gif ( не делайте этого, если вы не уверены в том, что делаете! ), я ' мы пришли к выводу, что вот что происходит:

Во-первых, "gif" будет расшифровано несколько круглым способом. Первые три байта определяют размер байтового массива, в который будет загружен оставшийся gif. Части этого байтового массива используются для создания строк, которые используются в апплете.

Когда апплет инициализируется, он получит значение параметра апплета AMLMAFOIEA. Этот параметр должен быть установлен в HTML, который содержит апплет, поэтому значение будет зависеть от страницы, с которой запускается апплет. Вот подробности того, как это установлено.

После этого он получит значение переменной окружения TEMP. В моем случае это указывало на AppData\Local\Temp в моем каталоге пользователя. Он добавит \JavaLoad.exe к этому и использует этот путь для создания FileOutputStream, поэтому он явно пытается записать файл JavaLoad.exe в вашу временную папку.

Затем он установит HTTP-соединение с URL-адресом, указанным параметром апплета AMLMAFOIEA, установив для своего метода запроса значение GET. Поток будет открыт из соединения, а его содержимое будет сохранено в файле JavaLoad.exe.

Постоянное повторение кодового блока

  if ((this.b == this.c) && (this.b + I.I(1) == this.c + I.I(1)))
  {
    this.b = I.I(4);
    this.c = I.I(6);
    this.b = this.c;
  }

похоже ничего не делает. Он мог быть добавлен обфускатором, чтобы сбить вас с пути, поскольку, похоже, это не имеет никакого функционального влияния. Все важные вещи выполняются вне этих тестов, и поля b и c, кажется, никогда не используются для чего-то действительно функционального, только поле a используется для хранения строки целевого URL.

Итак, в заключение, это кажется очень подозрительным. Но то, с какого URL он действительно пытается загрузить материал, будет зависеть от среды апплета. К сожалению, это не указывает нам на какой-либо истинный источник. Возможно, это обычный троянский клиент, предназначенный для использования любым, кто хочет доставить вредоносную информацию через сайт с апплетами. Поскольку апплеты запускаются в песочнице с ограниченными разрешениями, я не уверен, что это сработает вообще. Я также не знаю, как он в конечном итоге запустит JavaLoad.exe. Я полагаю, что он опирается на какой-то другой процесс, который ожидает, что этот файл существует, возможно, что-то обычно безвредное.

Это было интересно. Спасибо за ресурсы. Я предлагаю вам не пытаться запускать что-либо из этого самостоятельно, если вы не являетесь Java-разработчиком и не знаете, как извлечь опасные части из кода.

1 голос
/ 31 октября 2011

MANIFEST.MF не содержит атрибута основного класса, как вы можете видеть в своем посте.Это может быть загрузчик троянов, он определенно открывает соединение http, загружает файлы и выполняет их.GIF-файл, кажется, содержит URL.

Я бы настоятельно рекомендовал удалить эту банку и проверить компьютер на наличие вредоносных программ!Не пытайтесь выполнить это.

...