Как стать автором
Обновить

Комментарии 56

Ссылки в студию!
Хоть бы написали как его можно получить и его цель =)
Почитаешь и не поймёшь, как же он попадает на комп?
2010 год. Windows — самая супер-пупер система.
Как? Скажите, как вирус, запущенный из-под простого пользователя может обратиться напрямую к диску и записать что-то в MBR?
s/вирус/руткит/
Флешка, вставленная не вытащенная из компа перед запуском + закрузка с usb раньше hdd
НЛО прилетело и опубликовало эту надпись здесь
Если я без прав админа (под winXP правда) делаю загрузочкую флеш c kubuntu с помощью unetbootin, то что мешает сделать это вирусу?
Это не вирус, это руткит. Вас поправили же один раз. Или вы не знаете что это такое?
НЛО прилетело и опубликовало эту надпись здесь
Если знаете, то почему называете это вирусом и спрашиваете «или вирус её разметит». Не разметит он ничего. Надо самому стартануть руткит до старта основной системы.
НЛО прилетело и опубликовало эту надпись здесь
Руткиты всегда запускаются осознанно и всегда им нужна подготовленная среда для запуска. По определению.
НЛО прилетело и опубликовало эту надпись здесь
Ну, вы же сказали, что знаете что такое rootkit :) То, что сказал Bahusss следует из определения. Rootkit не вирус и не эксплоит.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
В качестве способа борьбы — старый добрый метод — блокировка mbr на запись из биоса
А вычислять в данном случае — неблагодарное дело, боюсь. Как-то обойти руткит при обращении к mbr диска. Проще загрузиться с другого устройства.
НЛО прилетело и опубликовало эту надпись здесь
Я имел виду загруриться с другого устройства и проверить/вылечить mbr
НЛО прилетело и опубликовало эту надпись здесь
А это вопрос хороший… Требует отдельного курения манов
НЛО прилетело и опубликовало эту надпись здесь
> Скажите, как вирус, запущенный из-под простого пользователя может обратиться напрямую к диску и записать что-то в MBR?

Никак. Нужны права администратора: CreateFile -> msdn.microsoft.com/en-us/library/aa363858.aspx -> «The caller must have administrative privileges. For more information, see Running with Special Privileges.»

Шутка юмора в том, что согласно статье support.microsoft.com/kb/942448:

A file system can write to a volume handle only if the following conditions are true:
Condition 1: The sectors that are being written to are boot sectors.
Note: This condition exists to support programs such as _antivirus programs_, Setup programs, and other programs that have to update the startup code of the system volume. The system volume cannot be locked.
Это кондишены, позволяющие открыть волум при наличии прав.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вот оно подтверждение моих слов из того-самого соседнего топика. И так каждый раз…
НЛО прилетело и опубликовало эту надпись здесь
Да блин, не вирусы, а руткиты. Руткитов — целая туча под Linux.
НЛО прилетело и опубликовало эту надпись здесь
Вы так говорите, как будто в Windows как-то иначе. Чтобы руткит нельзя было установить, так же нужно ряд действий сделать. «Из коробки» Linux и Windows не защищены.
Перестаньте уже читать про вирусы и антивирусы. Мы тут руткит обсуждаем. Эта зараза приползла к нам как раз из-под Linux/Unix.
спасибо, очень интересно!
— Подготавливается и записывается образ своей файловой системы в конец жесткого диска

А куда именно записывается образ — в пустые 8 МБ, оставленные для преобразования диска, или же прямо поверх существующей ФС?
Руткит получает адрес последнего сектора и в зависимости от необходимого объема размещает их там. Используется предположение, что диск до конца не может быть заполнен, если руткиту нужно добавить данных, то рост осуществляться к началу диска, если там уже есть данные то они затираются.
Узнаю редактор HIEW на скриншотах.
обожаю читать такие разборы спасибо!

скажите, а если в качестве загрузчика стоит grub то этот руткит будет работать?
MBR это еще до груба. Я думаю что при виде груба вирус просто сдаст управление :)
Что-то я не понял, кто в какой последовательности что делает. Если MBR запускается до ОС, то он не может вызывать никаких функций ОС. А если после — то каким образом он запускается?
Сначала он работает на уровне прерываний в реальном режиме. Благодаря тому, что загрузчик руткита стартует первым, он может загрузить ОС и остаться на нулевом кольце.
Я не понимаю вашей терминологии. Что такое «уровень прерываний»? ring0, ring1,...,ring 3, условный ring -1 гипервизоров в VT/Pacifica. Это уровни исполнения кода. Понятно, что код из MBR будет исполняться на ring0, ок. Но после этого он передаёт управление в ОС — и я не вижу причины, почему ОС должна ему передать что-либо обратно. Насколько я знаю, все современные ОС перенастраивают таблицы прерываний и используют собственные драйвера для доступа к оборудованию.
как-то так: для того, чтобы операционной системе использовать драйвер диска, драйвер нужно предварительно прочитать с диска. для этого используется функция биос (прерывание 13h). вот тут-то и поджидает систему страшный и ужасный tdl4 :)
Ага, понятно. Ну тут можно сказать только одно «винда — дырявое ядро». Линукс задачу курицы и яйца (загрузки драйверов диска для загрузки) давно решил средствами initrd (initramfs). Понятно, что его можно подменить, но это будет сильно сложнее (т.к. придётся распаковывать и запаковывать обратно initrd, он у каждого ядра свой, не говоря уже про ABI модулей и ядра).
а по-моему с линуксом то же самое: в какой-то момент ядру нужно будет получить доступ к диску, чтобы initramfs прочитать, и единственный способ это сделать — использовать функции биоса
Тут есть очень очень важный момент: ядро не читает ничего через биос. Это делает внешний загрузчик. Lilo, grub или даже виндовый бутлоадер. Соответственно, любой резидент на int13h будет иметь возможность только обмануть бутлоадер, но никак не зарегистрироваться в ОС ещё средствами.
из любопытства даже посмотрел исходники ядра линукс — прерывания биос из него вызываются, в основном 10h (настройки видеорежима), в одном месте есть и 13h, вот: google.com/codesearch/p?hl=ru#fgLeHA0uieM/arch/x86/boot/edd.c&q=intcall\%280x13,%20package:kernel.org&sa=N&cd=1&ct=rc (ссылка малость некликабельная получилась, но в браузер её вставить можно)

так что линукс ничем защищённее винды в данном случае
Да, это интересно. Теперь вопрос: в этот момент у ядра уже syscall'ы доступны?
в какой момент?
хотя, в любом случае, мой ответ будет таким: понятия не имею
tdss кончился господа — dogma millions прекращает свое существование
возможно фейк, но видимо вскоре от авторов появится что-то новое на основе текущей версии
исследование интересное, спасибо!)
После публикации в статье от Eset'а, догма никак не могла продолжать работать. Какое-то время они будут продолжать выплаты, но, видимо, скоро поднимут новый проект.
да точно, плюс ко всему парочка бравых ребят порутали их серваки и опубликовали наинтереснейшие подробности о статистике и прочем (об этом можно почитать в e-zine NOBUNKUM)
Теперь fixmbr станет более популярным? =)
OMG, я думал перезапись MBR осталась в прошлом, вместе с Win9x.
Воистину, история движется по спирали (=
Зарегистрируйтесь на Хабре, чтобы оставить комментарий