• XSS.stack #1 – первый литературный журнал от юзеров форума

"Зараженные" FC/ESC

xvonfers

RAID-массив
Пользователь
Регистрация
08.06.2024
Сообщения
53
Реакции
58
Попадались ли кому в руки данные экспонаты и дампил ли кто-то прошивку(и). Если у кого-то есть прошивка(и)/сэмплы для анализа, был бы премного благодарен
 
Все ещё в поисках fw(fc/esc)и артефактов с эндпоинтов... Был бы премного благодарен любой информации у кого были такие на руках(предположительно заражение было со второй половины марта 2025 года)
 
 
Итак, из того что попало в руки и было "заражено", оказалось чистым(проанализированы fw и рабочая станция) и были лишь допущены ошибки со стороны инженера(все мы ошибаемся и это нормально) в процессе наладки оборудования. После опроса множества источников, так и не были получены зараженные fc/esc. Изначальная информация из источника X(кто занимается беспилотьем) оказалась "вбросом". Много было предположений из разных источников... Уже не питаю надежду на получение образа(ов) или железок на анализ, но вдруг...
Зато...
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
Вполне допускаю что в сети могут гулять зараженные малварью дистрибутивы MissionPlanner и подобного софта...
Малварь внутри MCU контроллера двигателя/автопилота - пока не встречалась.
 
ошибки со стороны инженера
очень похоже)

Давай разберём оригинальны скриншот:

- видим софт Zadig, используется для замены драйвера устройства (методику можно встретить в каждом первом мануале по настройке RTL-SDR). В момент выбора драйвера можно допустить ошибку и подменить неверным экземпляром драйвера. Экземпляр драйвера должен быть установлен в системе. Тут возникает предположение, что может быть использована техника повышения привилегий с помощью подмены уязвимым драйвером:
Код:
Adversaries may bring a signed vulnerable driver onto a compromised machine so that they can exploit the vulnerability to execute code in kernel mode. This process is sometimes referred to as Bring Your Own Vulnerable Driver (BYOVD).
Код:
Злоумышленники могут установить в скомпрометированной системе подписанный уязвимый драйвер с целью использования уязвимости для выполнения кода в режиме ядра. Эта техника известна как Bring Your Own Vulnerable Driver (BYOVD).

- видим модель микропроцессора STM32F405 который имеет на борту Mass Storage Class (пример). Это позволяет работать с контроллером как с съёмным носителем.

оказалась "вбросом"
вполне удачным, техническая сложность и затруднённый фактчекинг усиливают эффект
 
1747232600189.png

Код:
// This standalone installer is a separate exe, as it needs
// - administrative rights, and therefore UAC elevation on platforms that use UAC
C:
    if (!IsUserAnAdmin()) {
        // Take care of UAC with ShellExecuteEx + runas
        shExecInfo.cbSize = sizeof(SHELLEXECUTEINFOA);
        shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
        shExecInfo.hwnd = NULL;
        shExecInfo.lpVerb = "runas";
        shExecInfo.lpFile = installer_name;
        shExecInfo.lpParameters = exeargs;
        shExecInfo.lpDirectory = path;
        shExecInfo.lpClass = NULL;
        shExecInfo.nShow = SW_HIDE;
        shExecInfo.hInstApp = NULL;

        err = ERROR_SUCCESS;
        if (!ShellExecuteExU(&shExecInfo)) {
            err = GetLastError();
        }

        switch(err) {
        case ERROR_SUCCESS:
            break;
        case ERROR_CANCELLED:
            wdi_info("Operation cancelled by the user or due to missing data");
            r = WDI_ERROR_USER_CANCEL;
            goto out;
        case ERROR_FILE_NOT_FOUND:
            wdi_info("Could not find installer executable");
            r = WDI_ERROR_NOT_FOUND;
            goto out;
        default:
            wdi_err("ShellExecuteEx failed: %s", wdi_windows_error_str(err));
            r = WDI_ERROR_NEEDS_ADMIN;
            goto out;
        }

        handle[1] = shExecInfo.hProcess;
    } else {
        // If app is already elevated, simply use CreateProcess()
        memset(&si, 0, sizeof(si));
        si.cb = sizeof(si);
        if (filter_driver) {
            si.dwFlags = STARTF_USESTDHANDLES;
            si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
            si.hStdOutput = stdout_w;
            si.hStdError = stdout_w;
        }

        memset(&pi, 0, sizeof(pi));

        static_strcat(exename, " ");
        static_strcat(exename, exeargs);
        if (!CreateProcessU(NULL, exename, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, path, &si, &pi)) {
            wdi_err("CreateProcess failed: %s", wdi_windows_error_str(0));
            r = WDI_ERROR_NEEDS_ADMIN; goto out;
        }
        handle[1] = pi.hProcess;
        handle[2] = pi.hThread;        // MSDN indicates to also close this handle when done
    }
может быть использована техника повышения привилегий с помощью подмены уязвимым драйвером
Тоже об этом изначально подумал, что вполне возможно(как и распространять зараженный задиг), да и полет фантазий как-никак широкий. Просто из того, что попало в руки - было чистое, а больше никто и не предоставлял полетник/регуль/рабочую станцию...

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

Малварь внутри MCU контроллера двигателя/автопилота - пока не встречалась.
Пока сам искал и спрашивал, тоже глушь, однако на фоне предыдущего опыта с заражением мавосов(приложу только старое исследование, вдохновившее в 22-м году), как-то и не задумывался по поводу фпв, да и в публичном часте "перекати-поле"...
Because most of the modern controllers are connected over the USB interface, implementing some sort of USB device within its firmware, such a device is susceptible to a BADUSB [72] attack and could carry it out on a client system once the controller is plugged in.

 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх