BIOS-ный троян от Absolute Software

Технические подробности работы "BIOS-агента" систем Computrace (LoJack итп сотоварищи) от Absolute Software.

История

Система базируется на разных способах внедрения в компьютерную систему. В самых старых версиях – это было лишь приложение под Windows (скрытый сервис). Впоследствии была использована распространённая техника использования изменённого MBR. Это, с одной стороны, давало логичные преимущества простоты реализации (загрузки до старта ОС), с другой стороны – серьёзные ограничения, как со стороны антивирусов, благополучно блокирующие и устраняющие подобные методики, так и со стороны "простого" использования, т.к. любой нестандартный вид MBR делал невозможным установку/функционирование "агента". Кроме того, старые системы были ориентированы на DialUp, что требовало достаточно громоздких и относительно железозависимых процедур по инициализации модемов (а также используемых ими COM-портов). Повсеместное развитие интернета позволило ориентироваться на соединение через LAN/Ethernet, и примерно в 2004-м году была реализована схема, которая сейчас является основной и поддержана многими производителями (как компьютеров – HP, Dell, Lenovo и др., так и BIOSPhoenix/Award, AMI, UEFI) – когда код для запуска/инсталляции хранится в FlashROM BIOS.

Принцип работы Computrace

Модуль Computrace встроен в BIOS как PCI-ROM, т.е. использует обычный стандарт, который нужен для всех загрузочных PCI-устройств в системе – будь то сетевая карта (c её BootROM на борту) или SCSI, SATA-контроллер и т.д. В процессе работы POST (в её конечной части) сканируются так называемая Option ROM область памяти (где располагаются модули PCI-ROM), подсчитывается их CRC и если всё нормально BIOS им передаёт им управление для установки нужных их работе ресурсов. Таким образом, подобная методика предполагает изначальное нахождение данного модуля в исходном BIOS системы. Соответственно это предполагает новые компьютеры, с производителями которых подписано соглашение об использовании в их BIOS данного модуля (производитель BIOS сам встраивает его в исходник собственными силами). Либо, в крайнем случае, это обновление BIOS с сайта производителя ноутбука (по той же договорённости – BIOS также делается производителем), и тогда процесс перешивки целиком ложится на пользователя. Заголовок BIOS-агента Computrace от Absolute Software

Получив управление, PCI-ROM модуль Computrace резервирует в свободной памяти блок объёмом 64кБ, куда расшифровывает/распаковывает свой код.
Структурная схема начала работы BIOS-агента Computrace от Absolute Software

В случае отсутствия свободной памяти используются несколько общезвестных трюков, в т.ч. использование сегмента видеопамяти.
Структурная схема распаковки кода BIOS-агента Computrace от Absolute Software

В распакованном/расшифрованном коде содержится процедура поиска на винчестере каталога с Windows (поддерживается FAT и NTFS) и два запускных exe-файла.
Процедура поиска на винчестере каталога с Windows BIOS-агента Computrace от Absolute Software

Точней – файл, в который инкапсулирован ещё один файл, извлекаемый позже.
Инкапсулированный в autochk.exe файл rpcnet.exe  из BIOS-агента Computrace от Absolute Software

Стартовый файл для установки агента замещает собою autochk.exe в windows/system32, переименовывая оного в autochk.bak.
Подмена autochk.exe в BIOS-агенте Computrace от Absolute Software

При старте Windows поддельный autochk.exe, получив управление, извлекает из своего тела файл rpcnet.exe и прописывает его в реестр для работы/автозагрузки в качестве сервиса.
Сервис rpcnet.exe, устанавливаемый BIOS-агентом Computrace от Absolute Software

После получения управления от Windows уже в качестве сервиса (rpcnet) он при наличии доступа в интернет соединяется с одним из управляющих серверов 209.53.113.xxx (xxx.absolute.com).
Загрузка BIOS-агентом полной версии клиентской части Computrace с сервера Absolute Software

С него скачивается полная версия, которая устанавливается на винчестер в качестве "обычного" файла (rpcnetp.dll) и вся основная работа уже возлагается именно на его плечи.

C его помощью компьютер управляется удалённо – он принимает на исполнение как "внутренние" команды, так и, установив свой API-интерфейс, позволяет (удалённо) вызывать стандартные Windows-процедуры (application-уровня).

Сервис обеспечивает периодический сигнал (раз в четыре часа) к серверу на запрос управления им. В случае получения ответа от сервера об установленном уровне утери нотбука клиент начинает "долбиться" уже каждые пятнадцать минут.

Установив удалённое управление, сервер может выполнить различные команды, например, по желанию клиента – удалить нужные (или все) файлы с диска.
Удалённое управление компьютером с Computrace с через сервис Absolute Software

В качестве доказательства произведённой работы на сторону сервера передаётся лог обо всех удалённых файлах.

Основные патенты по теме:

  • Security apparatus and method (5,764,892, September 1, 1998)
  • Computer security monitoring apparatus and system (6,507,914, January 14, 2003)
  • Apparatus and method for monitoring electronic devices via a global network (6,300,863, October 9, 2001)
  • Method and apparatus to monitor and locate an electronic device using a secured intelligent agent via a global network (6,300,863, October 9, 2001)
  • Persistent servicing agent (20060272020, November 30, 2006)
  • и другие схожие по теме от Intel, HP и др.
  • п.с. статья написана в начале 2007-го года, опубликована 22.08.2009.

    Аватар пользователя Rom

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

    Аватар пользователя Compiller

    То есть подменив в теле этой гадости адрес сервера (создав в безинтернетной локальной сети компьютер с нужным IP) и послав команду можно почистить винчестер - красиво, но опасно.
    Пора заводить чёрный список ноутбуков не подходящих для покупки :(
    И за что я люблю старые добрые десктопы? Наверное за то что их тяжело украсть и мусор в них не так часто встраивают.

    Дрессируем коров :)

    Зачем так радикально? Вычистить эту дрянь не так сложно...:) дополнительная статья дохода появилась...:)))
    А на счет черного списка - это около 60% новых лаптопов!:)

    Аватар пользователя Rom

    Цитата:
    Вычистить эту дрянь не так сложно...
    Вычистить- понятно, как ее оперативно обнаружить без ковыряния прошивки?

    Пара технических поправок:
    - Исходный AUTOCHK.EXE только на FAT сохраняется в AUTOCHK.BAK, на NTFS используется дополнительный файловый поток AUTOCHK.EXE:BAK. Оно и логично - создать новый поток в существующем файле на NTFS существенно проще, чем новый файл.
    - Механизм с AUTOCHK.EXE используется только под NT-линейкой, для 9x/ME есть другой механизм - загрузчик сканирует msdos.sys на предмет строки WinBootDir={dir} и (если на диске из {dir} файловая система FAT) создаёт файл "{dir}\Start Menu\Programs\Startup\rpcnetp.exe", берущийся из тела инкапсулированного autochk.exe.

    Аватар пользователя Compiller

    А как данная злодейская (ИМХО) софтина прореагирует на систему где в качестве загрузчика Windows 7 bootmgr и всего лишь файл vhd на чистом NTFS разделе?
    Или на винчестер с двумя операционками Windows 9x/ME и к примеру Windows XP. Или на ту же Windows 98, но русскую?

    Короче надо родной autochk.exe в Windows XP переименовать в scandisk.exe и переписать
    в реестре
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    BootExecute на autocheck scandisk *
    На всякий случай :)

    Дрессируем коров :)

    "Вычистить- понятно, как ее оперативно обнаружить без ковыряния прошивки?"
    По наличию процесса rpcnet - я так понял он не скрытый и в Task Manager отображается...

    самое интересное, заменив файло rpcnetp.exe, rpcnetp.dll и ещё несколько ему подобных (в папке с виндавозом) на какойто мусор, с аналогичным названием, служба вешает систему каждые 4 часа по расписанию. выносит мозг, придётся прошивать таки биос. хотя процесс не запускается и их биос руткит нервно курит в сторонке.

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

    То что вы сунули в исключения, это настоящий вирус. А наш БИОС троянчик такими сетями не поймаешь. Вы еще не догадываетесь, что ждет вас впереди. Когда ты не хозяин в своем доме, установленные программы безвозвратно кем-то удаляются. Все должно быть только лицензионное. Вообщем все говорят удалить его не сложно, но никто не говорит как.

    Народ, помогите найти рецепт как все таки НАСОВСЕМ избавиться от этого rpcnet.exe? Кто его удалить из БИОСа? Где гиганты антивирусного фронта? Все молчат что-ли?:(

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

    Официально обратился в Асус с просьбой помочь избавиться от этого модуля. Они культурно послали меня на ***.

    securitylab.ru/news/402741.php


    а линух следующий, валить некуды...

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

    Если спецслужбы майкрософт и макинтошников к ногтю приголубили, то такую дешевку как Absolute software и говорить не прийдется. Мегадыру раскачают по полной.

    Сдуру активировал у себя, теперь чешу репу как это не то что убить, а как деактивировать.

    А у меня эта хрень как-то самоудалилась спустя год...

    Посмотрел список ноутов на сайте, в которых имеется эта штука, и не обнаружил свою модель Асус: absolute.com/en/partners/bios-compatibility.aspx Однако процесс rpcnetp.exe (служба) был отслежен Анвиром в момент прописки в автозагрузку и им же был благополучно убит. Далее в папке System32 найдены файлы rpcnetpdll, rpcnetp.exe и модернизированный руткитом autochk.exe и все удалены. В папке Windows\winsxs\ найден (поиском) чистый файл autochk.exe и скопирован в папку Windows ( НЕ System32 ! ). Далее с правами суперАдмина ( под обычным не получится удалить) открыл реестр и, найдя поиском строки rpcnetp и rpcnet (тоже были), удалил разделы полностью. В автозагрузку поместил батник контролирующий процесс (службу) rpcnetp.exe. После перезагрузки система благополучно нашла чистый файл autochk.exe в папке Windows (системная переменная Path), а руткит не смог его найти ( жестко запрограммирован на поиск в System32 ) и прекратил свою работу... Результат: Процесс rpcnetp.exe больше не появляется, реестр чист. Правда, не проверял проверку диска на ошибки, - может и не запустится. В моем случае, видимые процессы, лежащие на поверхности, - исчезли...не знаю, может что есть глубже... ОС Виста, год выпуска ноута 2009.

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

    Аватар пользователя savely

    Xen
    ru.wikipedia.org/wiki/Xen

    Бери и точи :)

    А кому счас легко...

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

    Аватар пользователя savely

    Хм, а что ж Вы хотели... "Все просто" даже в legacy-BIOS так и не стало доступно ВСЕМ...
    С UEFI и т.п. что-то "более-менее" я прогнозирую года через 2-3. Типа теперешней работы с legacy AWARD/AMI, т.е. cbrom/amimm (т.е. довольно унивесальные вещи, лежащие на каждом углу). "Критическая масса" (после которой появляются технологии "для всех") в эту сторону нарастает стремительным домкратом, IMHO.

    А кому счас легко...

    Отправить комментарий

    Содержание этого поля является приватным и не предназначено к показу.
    • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
    • You can use BBCode tags in the text. URLs will automatically be converted to links.

    Подробнее о форматировании текста

    Антибот - введите цифру.
    Ленты новостей