SHA1: 0c6249feee3fef50fc0a5a06299c3e81681cc838
SHA1: 41d2247842151825aa8001a35ee339a0fef2813f
SHA1: 62ea0fce2716006d16a1408cda159cf20f90004e
SHA1: 33c11e7b2b3950a430cf3b40128429d9b723103c
Описание
JSP.BackDoor.8 является троянской программой-бэкдором, способной заражать устройства под управлением ОС Windows и Linux, а также выполнять shell-команды, отправляемые с удаленного хоста. Троян реализован в виде JAR-файла. Для управления используются HTTP-запросы.
Принцип действия
sha1:41d2247842151825aa8001a35ee339a0fef2813fПри инициализации этот сэмпл выполняет проверку окружения, после чего принимает GET-запрос, содержащий параметр t со значением cmd, и параметр c — команда для выполнения. Если троян исполняется в среде Windows, то запускается
cmd /c <значение>
в противном случае запускается
/bin/bash -c <значение>
При отправке трояну POST-запроса выполняется загрузка дополнительной функциональности: в теле запроса содержится плагин, закодированный с помощью base64, который загружается в память процесса.
sha1:0c6249feee3fef50fc0a5a06299c3e81681cc838Этот JAR-файл также управляется посредством HTTP-запросов, однако обрабатывает только следующие их типы: GET, POST и HEAD. Троян выполняет проверку параметра «go», в котором передается IP-адрес для скачивания скрипта. Затем выполняется проверка операционной системы. В случае ОС Windows скачивается скрипт 1.ps1 и запускается с параметрами
Set-ExecutionPolicy Bypass -Scope Process -Force
Если троян запускается в среде ОС Linux, то скачивается ELF файл kinsing (Linux.BtcMine.546) и запускается на выполнение, экспортируя переменную окружения SKL=op.
Скрипт 1.ps1 скачивает компоненты майнера, а именно sysupdate.exe (сам майнер), config.json и скрипт update.ps1. Если майнер был ранее установлен в системе, то скрипт останавливает его и обновляет. После скачивания файлов скрипт создает задание для системного планировщика на ежеминутный запуск скрипта обновления update.ps1 без вывода предупреждений. Для этого выполняется команда
SchTasks.exe /Create /SC MINUTE /TN “Update service for Windows Service” /TR “PowerShell.exe -ExecutionPolicy bypass -windowstyle hidden -File $HOME\update.ps1” /MO 30 /F
sha1:62ea0fce2716006d16a1408cda159cf20f90004e
Данный сэмпл содержит два jsp-сервлета: updata2_jsp и chakan_jsp. Первый подключается к SQL базе данных сервера Openfire
jdbc:mysql[:]//localhost:3306/openfire root 123456
и берет данные из параметров запроса:
name0..30 = ; value0..30= ;
Затем сервлет обновляет переменную name в таблице ofproperty в соответствии со значением value.
Сервлет chakan_jsp обрабатывает команды, принимаемые через параметр action. Из HTTP запроса берутся значения по следующим параметрам: tabID, path, action, file, cmd. Список обрабатываемых команд представлен в таблице ниже:
Название | Описание |
---|---|
cmd | Выполняет команду в cmd.exe или /bin/bash в зависимости от ОС |
copy | Создает страницу для копирования файла |
del | Удаляет файл. Имя файла формируется из path + / + file |
down | Выводит на экран содержимое файла. Имя файла формируется из path + / + file |
edit | Создает страницу для редактирования файла |
newFile | Команда создает файл/каталог и содержит три параметра запроса: fileName — имя объекта btnNewFile — если данное поле не пустое, то будет создан файл btnNewDir — если данное поле не пустое, то будет создан каталог |
save | Сохраняет данные из параметра content в файл. Имя файла формируется из path + / + file |
savecopy | Получает из параметра file2 имя файла для копирования.
Если пришедшее имя является каталогом, то новое имя файла будет сформировано следующим образом: <dir>/"cqq_"; + <имя оригинального файла> файл копируется из path + file в file2 |
Сэмпл обрабатывает только HTTP-запросы методов GET, POST и HEAD. Если приходит запрос без параметра action, то action = main, иначе в параметр action указывается имя формы, с которой происходит взаимодействие. Главное меню веб-шелла состоит из следующих форм: main, filesystem, command, database, config, about, exit. Рассмотрим их подробнее.
FilesystemКоманда бэкдору передаётся в параметре fsAction. Если данный параметр пустой, то ему присваивается значение list.
Список команд fsAction
Название | Описание |
---|---|
browse | Выводит список файлов родительского каталога |
copyto | Переносит файл из исходного каталога в целевой каталог. Значение исходного каталога берется из параметра deleteFile, значение целевого каталога берется из параметра dstPath |
createFile | Создает файл, имя файла берется из параметра fileName |
createFolder | Создает папку, имя файла берется из параметра folderName |
deleteFile | Удаляет файл, имя файла берется из параметра filesDelete |
list | Выводит список файлов в каталоге, имя которого передается в качестве аргумента |
open | Выводит содержимое файла |
rename | Меняет имя файла, старое имя берется из параметра fileRename, новое — из параметра "newName" |
save | Сохраняет открытый файл, содержимое файла приходит в параметре fileContent |
saveAs | Сохраняет файл, содержимое файла приходит в параметре fileContent |
upload | Обновляет файл, файл приходит в теле запроса |
Запускает команду, переданную в параметре command. Результат выполнения выводится на экран.
DatabaseКоманда передаётся в параметре dbAction. Если данный параметр пустой, то ему присваивается значение main, а на экране появляется меню для составления SQL-запроса. При отправке запроса параметру dbAction присваивается значение dbContent.
Метод dbConnect. Аргументами метода являются данные для подключения к базе данных, которые собираются из параметров запроса: dbServer, dbPort, dbUsername, dbPassword, dbName. Выполняемый запрос берется из параметра sql. После выполнения команды на экран выводится ее результат.
ConfigКоманда передаётся в параметре cfAction. Если данный параметр пустой, то ему присваивается значение main.
Список команд cfAction
Название | Описание |
---|---|
main | Выводит на экран: password, encodeType, sessionTime, filesTypes |
save | Сохраняет password, encode, sessionTime, textFileTypes. Значения берутся из соответствующих параметров |
Команда выводит пустую страницу.
ExitПосле ввода команды происходит удаление пароля из сессии и перенаправление на главную страницу авторизации.