Condi Botnet IOCs

botnet IOC

Лаборатория FortiGuard Labs столкнулась с недавними образцами ботнета DDoS-as-a-service, называющего себя Condi. Она пыталась распространяться, эксплуатируя маршрутизаторы TP-Link Archer AX21 (AX1800), уязвимые к CVE-2023-1389, который был раскрыт в середине марта этого года. Кроме того, с конца мая 2023 года FortiGuard наблюдали увеличение числа образцов Condi, собранных системами мониторинга, что указывает на активную попытку расширения ботнета.

Condi Botnet

При переходе от командно-контрольного (C2) домена cdn2[.]duc3k[.]com в одном из образцов вредоносного ПО исследователи FortiGuard Labs обнаружили дочерний домен admin[.]duc3k[.]com, который ранее отображал сообщение "contact @zxcr9999 telegram". Быстрый поиск выявил канал Telegram, Condi Network, рекламирующий ботнет Condi с возможностями, совпадающими с теми, что наблюдались в образце.

Telegram-канал был запущен в мае 2022 года, и угрожающий субъект монетизировал свой ботнет, предоставляя DDoS-услуги и продавая исходный код вредоносного ПО.

Эта вредоносная программа использует несколько методов для поддержания своей работы в зараженной системе. В то же время она предотвращает заражение от других ботнетов, пытаясь завершить их процессы.

Как и в случае с ботнетами на базе Mirai, эта вредоносная программа не может пережить перезагрузку системы. Поэтому он удаляет следующие двоичные файлы, используемые для выключения или перезагрузки системы.

  • /usr/sbin/reboot
  • /usr/bin/reboot
  • /usr/sbin/shutdown
  • /usr/bin/shutdown
  • /usr/sbin/poweroff
  • /usr/bin/poweroff
  • /usr/sbin/halt
  • /usr/bin/halt

Она также считывает /proc/<PID>/status для каждого запущенного процесса и сравнивает поле Name со следующими строками, чтобы убить все процессы с подходящими именами:

  • /bin/busybox
  • /bin/systemd
  • /usr/bin
  • test
  • /tmp/condi
  • /tmp/zxcr9999
  • /tmp/condinetwork
  • /var/condibot
  • /var/zxcr9999
  • /var/CondiBot
  • /var/condinet
  • /bin/watchdog

FortiGuard Labs предполагают, что разработчик хотел уничтожить старые версии Condi, запущенные на зараженном устройстве, вместе с выбранными системными процессами. Однако реализация несовершенна, поскольку поле Name содержит только имена исполняемых процессов, а не их полные пути.

Кроме того, он убивает любые процессы с двоичными именами файлов, содержащими следующие расширения, обычно используемые другими ботнетами:

  • x86
  • x86_64
  • arm
  • arm5
  • arm6
  • arm7
  • mips
  • mipsel
  • sh4
  • ppc

Он также генерирует случайную строку из не менее десяти символов из пользовательского набора буквенно-цифровых символов "lvrvup9w0zwi6nuqf0kilumln8ox5vgv@" и пытается убить любой процесс с этой строкой в командной строке, однако почти наверняка такого процесса не существует. Какой процесс разработчик вредоносной программы намеревался завершить с помощью этого кода, неясно.

Наконец, он генерирует два числа (одно от 12 до 32, другое от 12 до 20) и убивает все процессы, длина командной строки которых совпадает с любым из этих чисел. Убийство случайных процессов на основе длины их командной строки, вероятно, посеет хаос и помешает правильному функционированию зараженного устройства, если вредоносная программа случайно завершит системные процессы.

В отличие от большинства DDoS-ботнетов, этот образец не распространяется, пробуя различные учетные данные. Вместо этого в него встроен простой сканер, модифицированный из оригинального Telnet-сканера Mirai, который сканирует любые публичные IP-адреса с открытыми портами 80 или 8080 (обычно используемыми для HTTP-серверов), а затем отправляет жестко закодированный запрос на эксплуатацию (Рисунок 3) для загрузки и выполнения удаленного shell-скрипта по адресу hxxp://cdn2[.]duc3k[.]com/t, который заразит устройство Condi, если это уязвимое устройство TP-Link Archer AX21.

Удаленный shell-скрипт типичен для загрузчиков на базе Mirai, которые пытаются загрузить и выполнить двоичные файлы каждой архитектуры по очереди (Рисунок 4). Первый аргумент командной строки, передаваемый двоичному файлу вредоносной программы, "0days", в данном случае обозначается как "id" ("source" в оригинальном коде Mirai), который операторы DDoS-ботнетов обычно используют для идентификации метода, используемого для тиражирования вредоносной программы.

Хотя проанализированный образец содержал только сканер для CVE-2023-1389, другие образцы ботнета Condi также были замечены в использовании других уязвимостей для распространения. Общедоступный исходный код старых версий также включает сканеры известных уязвимостей, эксплуатируемых другими вариантами Mirai.

FortiGuard Labs также наблюдали сценарии оболочки, размещенные на одном IP, с разными источниками в командах выполнения.

Бинарный протокол, используемый Condi для связи с сервером C2, представляет собой модифицированную версию протокола, изначально реализованного в Mirai.

Начальный регистрационный пакет, отправленный ботом на C2, содержит байты \x33\x66\x99, обычно ассоциирующиеся с Moobot, другим вариантом Mirai. За этими байтами следует "id" длиной в один байт. В случае Condi, "id" по умолчанию равен "c", если не было указано ни одного, или, в нашем случае, при заражении через CVE-2023-1389, "0days". Это сигнализирует серверу C2, что вредоносная программа готова к приему команд.

Первые три байта ответа С2 указывают на команду для бота Condi:

  1. \x99\x66\x33: вероятно, для проверки того, что вредоносная программа все еще активна, в этом случае она посылает пакет на C2 с \x66\x99\x66\x04, за которым следует "ping".
  2. \x99\x99\x66\x66: Завершить работу бота.
  3. \x33\x66\x66: Запустить веб-сервер для передачи двоичных файлов вредоносного ПО.
  4. \x33\x66\x33: Обновить двоичные файлы, обслуживаемые веб-сервером.
  5. \x33\x66\x99: Отправить порт веб-сервера. Вредоносное ПО отвечает \x66\x99\x66, за которым следует длина следующей строки и "CondiiNeett webserv:<PORT>".
  6. \x66\x66\x99: Устанавливает неиспользуемый флаг блокировки, который может указывать на функцию в разработке.

Получив команду \x33\x66\x66\x66, используемую для запуска веб-сервера, эта вредоносная программа загружает двоичные файлы бота с жестко заданного IP-адреса и порта. После этого он запускает базовый HTTP-сервер на случайном порту с номером выше 1024 для размещения этих двоичных файлов. Запросы GET, POST и HEAD к этому серверу по URL /arm, /arm7, /mips, /mipsel, /x86_64, /sh4, /ppc и /m68k будут обслуживать эти двоичные файлы, если они были загружены ранее. Этот HTTP-сервер маскируется под легитимный HTTP-сервер Apache, отвечая заголовком "Server: Apache" при запросе любых URL-адресов.

После этого агент угрозы может выдать команду \x33\x66\x33 для загрузки последних двоичных файлов с того же жестко закодированного IP-адреса и порта, чтобы веб-сервер предоставлял самую обновленную версию вредоносной программы.

Если первый байт ответа C2 не является \x33, \x66 или \x99, бот анализирует его как команду атаки так же, как и Mirai.

Ниже приведен список функций атаки этого образца и описание реализованного метода атаки.

  • attack_tcp_syn: аналогично TCP SYN flood от Mirai.
  • attack_tcp_ack: Аналогично флуду TCP ACK от Mirai.
  • attack_tcp_socket: TCP-флуд с использованием 5000 потоков против одного целевого IP-адреса.
  • attack_tcp_thread: TCP-флуд с использованием 100 потоков, разделяемых между целевыми IP-адресами
  • attack_tcp_bypass: Аналогично TCP STOMP-флуду Mirai.
  • attack_udp_plain: Аналогично флуду UDP PLAIN от Mirai
  • attack_udp_thread: Аналогично attack_udp_plain, но использует два потока на целевой IP-адрес
  • attack_udp_smart: Аналогично attack_udp_plain с дополнительной обработкой ошибок при сбоях соединения.

Поскольку методы атаки соответствуют описаниям в рекламе Telegra, этот конкретный образец, скорее всего, был создан разработчиком бота или кем-то, кто имеет доступ к исходному коду вредоносной программы.

Данный образец не содержал методов атаки HTTP, наблюдавшихся в старых версиях Condi.

Indicators of Compromise

IPv4

  • 85.217.144.35

Domains

  • cdn2.duc3k.com

URLs

  • http://85.217.144.35/abc3.sh
  • http://85.217.144.35/arm
  • http://85.217.144.35/arm5
  • http://85.217.144.35/arm6
  • http://85.217.144.35/arm7
  • http://85.217.144.35/m68k
  • http://85.217.144.35/mips
  • http://85.217.144.35/mpsl
  • http://85.217.144.35/ppc
  • http://85.217.144.35/sh4
  • http://85.217.144.35/x86
  • http://85.217.144.35/x86_64
  • http://cdn2.duc3k.com/t

SHA256

  • 091d1aca4fcd399102610265a57f5a6016f06b1947f86382a2bf2a668912554f
  • 291e6383284d38f958fb90d56780536b03bcc321f1177713d3834495f64a3144
  • 449ad6e25b703b85fb0849a234cbb62770653e6518cf1584a94a52cca31b1190
  • 4e3fa5fa2dcc6328c71fed84c9d18dfdbd34f8688c6bee1526fd22ee1d749e5a
  • 509f5bb6bcc0f2da762847364f7c433d1179fb2b2f4828eefb30828c485a3084
  • 593e75b5809591469dbf57a7f76f93cb256471d89267c3800f855cabefe49315
  • 5e841db73f5faefe97e38c131433689cb2df6f024466081f26c07c4901fdf612
  • cbff9c7b5eea051188cfd0c47bd7f5fe51983fba0b237f400522f22ab91d2772
  • ccda8a68a412eb1bc468e82dda12eb9a7c9d186fabf0bbdc3f24cd0fb20458cc
  • e7a4aae413d4742d9c0e25066997153b844789a1409fd0aecce8cc6868729a15
  • f7fb5f3dc06aebcb56f7a9550b005c2c4fc6b2e2a50430d64389914f882d67cf
Добавить комментарий