Здравствуйте, Maxim S. Shatskih, Вы писали:
GN>>В последнее время актуальность юзерлендных руткитов снизилась из-за практически гарантированного детекта, поэтому далее речь пойдёт о детектировании руткитов, использующих драйвера. MSS>Да, совсем забыл. 64битная Виста — это новый уровень борьбы с кернеловскими руткитами, по всем известной причине.
Интересно только, а насколько ядерные руткиты вообще актуальны? Все вирусные заражения, которые я только видел, вообще не использовали никакие схемы скрытия потоков.
Опять же, для серьезных малварей (которые не предназначены для тупой рассылки спама) никто не мешает сделать подписаный драйвер.
И я точно знаю из надежных источников, например, что можно в ядро в текущей Vista x64 зайти через дырку в каком-то стандартном драйвере.
C>Интересно только, а насколько ядерные руткиты вообще актуальны? Все вирусные заражения, которые я только видел, вообще не использовали никакие схемы скрытия потоков.
Я их видел очень мало, но таки +1.
Да, кстати, еще одна хорошая антируткитная мира — забутится с сидюка с антивирусом и просканить машину.
C>Опять же, для серьезных малварей (которые не предназначены для тупой рассылки спама) никто не мешает сделать подписаный драйвер.
...чтобы потом руководство компании-подписанта получило уголовное преследование?
C>И я точно знаю из надежных источников, например, что можно в ядро в текущей Vista x64 зайти через дырку в каком-то стандартном драйвере.
Через какую дырку, в каком драйвере, в каком IOCTLе. Сообщили бы, а я бы в микрософт отписал.
Вообще говоря, такая информация устаревает при следующем запуске Windows Update найдутся те, кто зайдут на хакерский сайт, почитают его, а потом отпишут в микрософт его содержимое.
Принципиальных проблем с уязвимостью ядра у виндов нет, как и у юниксов. Все такие проблемы лечатся крошечным патчами, как только авторы узнали о дырке.
L>хз-хз, AMD тоже раньше говорила что DEP спасёт мир от зловредов..
DEP разом закрывает кучу дыр, но все же не все.
Тут же речь идет о том, что для загрузки малвари в кернел нужно будет править ntoskrnl на диске, причем желательно еще до того, как кернел получит управление. Кстати, он вроде тоже цифровой подписью защищен.
Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>Да, кстати, еще одна хорошая антируткитная мира — забутится с сидюка с антивирусом и просканить машину.
Это вообще почти что TheUltimate мера.
C>>Опять же, для серьезных малварей (которые не предназначены для тупой рассылки спама) никто не мешает сделать подписаный драйвер. MSS>...чтобы потом руководство компании-подписанта получило уголовное преследование?
Ты же понимаешь, что если руткитами займется орг.преступность — то на такую мелочь им будет плевать. В крайнем случае, оформят компанию на украденый/подделаный паспорт.
Ну или "ХорошаяКомпанияА" делает вполне легальный драйвер, который занимается миганием лампочки ScrollLock и распространяет его бесплатно. Ну и в качестве дополнительной функции — специально вставленая уязвимость. Так вообще "все в белом" будут — фиг кто докажет, что уязвимость специально была вставлена.
C>>И я точно знаю из надежных источников, например, что можно в ядро в текущей Vista x64 зайти через дырку в каком-то стандартном драйвере. MSS>Через какую дырку, в каком драйвере, в каком IOCTLе. Сообщили бы, а я бы в микрософт отписал.
Я бы рад, но мне самому детали не сказали Автор сказал, что в MS сообщит сам в ближайшее время.
MSS>Вообще говоря, такая информация устаревает при следующем запуске Windows Update найдутся те, кто зайдут на хакерский сайт, почитают его, а потом отпишут в микрософт его содержимое. MSS>Принципиальных проблем с уязвимостью ядра у виндов нет, как и у юниксов. Все такие проблемы лечатся крошечным патчами, как только авторы узнали о дырке.
Так фича в том, что хакерам же не нужно 100% гарантированой работы на всех версиях софта. Вполне достаточно будет наличие достаточно больших окон уязвимостей.
MSS>>Да, кстати, еще одна хорошая антируткитная мира — забутится с сидюка с антивирусом и просканить машину. C>Это вообще почти что TheUltimate мера.
Очевидно, что это лучше, чем ставить гадостные основанные на хуках резидентные антивирусы.
C>Ты же понимаешь, что если руткитами займется орг.преступность — то на такую мелочь им будет плевать.
Вероятность реально сесть не есть мелочь даже для орг. преступности, а особенно для отдельных орг. преступников.
C>В крайнем случае, оформят компанию на украденый/подделаный паспорт.
Это можно сделать в индустриальных количествах?
Все взломы сайтов, вирусо-, руткито- и кряко- писание основаны на том, что за это практически невозможно получить наказание по закону. Анонимность очень высока. С обязательной подписью на кернел бинари эта анонимность в значительной степени убирается.
C>Ну или "ХорошаяКомпанияА" делает вполне легальный драйвер, который занимается миганием лампочки ScrollLock и распространяет его бесплатно. Ну и в качестве дополнительной функции — специально вставленая уязвимость. Так вообще "все в белом" будут — фиг кто докажет, что уязвимость специально была вставлена.
По крайней мере маньячных одиночек, которые сейчас в основном и занимаются вирусописанием, подпись на бинари срежет.
C>Так фича в том, что хакерам же не нужно 100% гарантированой работы на всех версиях софта. Вполне достаточно будет наличие достаточно больших окон уязвимостей.
Угу, и эти окна прикрываются, уменьшаясь раз в 10, совершенно стандартными тупыми методами без расставления хуков в ядро и тому подобное.
Здравствуйте, Maxim S. Shatskih, Вы писали:
MSS>>>Да, кстати, еще одна хорошая антируткитная мира — забутится с сидюка с антивирусом и просканить машину. C>>Это вообще почти что TheUltimate мера.
MSS>Очевидно, что это лучше, чем ставить гадостные основанные на хуках резидентные антивирусы.
Да, тут я думаю лучшего не придумать, только вторая ОСь.
C>>Ты же понимаешь, что если руткитами займется орг.преступность — то на такую мелочь им будет плевать.
MSS>Вероятность реально сесть не есть мелочь даже для орг. преступности, а особенно для отдельных орг. преступников.
Это я тебе точно скажу — НИКАК НЕ ПОВЛИЯЕТ. Сам иногда удивляюсь что творится в киберпреступности сейчас.
MSS>По крайней мере маньячных одиночек, которые сейчас в основном и занимаются вирусописанием, подпись на бинари срежет.
Сейчас прошли времена одиночек, т.к. системы стали очень сложны. Все больше и больше занимаются этим компании.
MSS>Угу, и эти окна прикрываются, уменьшаясь раз в 10, совершенно стандартными тупыми методами без расставления хуков в ядро и тому подобное.
Да, вот Vista явно испортила жизнь вирмейкерам/руткитодевелоперам.
ЗЫ: И на последок, так между делом, как удалить Srizbi голыми руками: создаем в директории system32\drivers\ файл с именем symavc32.sys и делаем рестарт. И никакие бутлоадеры не нужны, жаль только что метода от одного руткита спасает.
Здравствуйте, Denwer, Вы писали:
D>ЗЫ: И на последок, так между делом, как удалить Srizbi голыми руками: создаем в директории system32\drivers\ файл с именем symavc32.sys и делаем рестарт. И никакие бутлоадеры не нужны, жаль только что метода от одного руткита спасает.
В общем-то при помощи консоли восстановления можно удалить, пожалуй, любой руткит из существующих...
Здравствуйте, DOOM, Вы писали:
DOO>Здравствуйте, Denwer, Вы писали:
D>>ЗЫ: И на последок, так между делом, как удалить Srizbi голыми руками: создаем в директории system32\drivers\ файл с именем symavc32.sys и делаем рестарт. И никакие бутлоадеры не нужны, жаль только что метода от одного руткита спасает.
DOO>В общем-то при помощи консоли восстановления можно удалить, пожалуй, любой руткит из существующих...
Вот только загрузочного диска в большинстве случаев под рукой не бывает.
Здравствуйте, Denwer, Вы писали:
D>>>ЗЫ: И на последок, так между делом, как удалить Srizbi голыми руками: создаем в директории system32\drivers\ файл с именем symavc32.sys и делаем рестарт. И никакие бутлоадеры не нужны, жаль только что метода от одного руткита спасает.
DOO>>В общем-то при помощи консоли восстановления можно удалить, пожалуй, любой руткит из существующих...
D>Вот только загрузочного диска в большинстве случаев под рукой не бывает.
Ну у меня она именно для таких целей просто напросто установлена раз и навсегда
Здравствуйте, Maxim S. Shatskih, Вы писали:
C>>Это вообще почти что TheUltimate мера. MSS>Очевидно, что это лучше, чем ставить гадостные основанные на хуках резидентные антивирусы.
Да, поэтому я именно так и делаю. Примерно раз в полгода загружаюсь с LiveCD и проверяю систему.
C>>Ты же понимаешь, что если руткитами займется орг.преступность — то на такую мелочь им будет плевать. MSS>Вероятность реально сесть не есть мелочь даже для орг. преступности, а особенно для отдельных орг. преступников.
К сожалению, нет.
C>>В крайнем случае, оформят компанию на украденый/подделаный паспорт. MSS>Это можно сделать в индустриальных количествах?
Я сейчас занимаюсь risk assessment для одного проекта, поэтому изучаю текущее положение в киберпреступном мире. Ситуация просто удручающая — в Сети есть открытые ресурсы, которые торгуют паспортами, SSNами, организациями. Этим, в основном, пользуются всякие кардеры для вывода наличности.
Я не буду здесь писать публично детали всего этого, но получить несколько сертов — не составляет (заметь настоящее время, сейчас вовсю торгуют SSL-сертами) особой проблемы. Тем более, что серьезные руткиты продаются за весьма серьезные бабки.
MSS>Все взломы сайтов, вирусо-, руткито- и кряко- писание основаны на том, что за это практически невозможно получить наказание по закону. Анонимность очень высока. С обязательной подписью на кернел бинари эта анонимность в значительной степени убирается.
К сожалению, нет.
C>>Ну или "ХорошаяКомпанияА" делает вполне легальный драйвер, который занимается миганием лампочки ScrollLock и распространяет его бесплатно. Ну и в качестве дополнительной функции — специально вставленая уязвимость. Так вообще "все в белом" будут — фиг кто докажет, что уязвимость специально была вставлена. MSS>По крайней мере маньячных одиночек, которые сейчас в основном и занимаются вирусописанием, подпись на бинари срежет.
Эпоха маньяков-одиночек уже давно прошла. Я ее с ностальгией уже вспоминаю, такие вирусы были — со спецэффектами и всякими хитрыми трюками, люди их почти всегда делали чисто из любви к искусству.
Сейчас же большая часть малвари пишется преступниками с целью похищения персональных данных.
C>>Так фича в том, что хакерам же не нужно 100% гарантированой работы на всех версиях софта. Вполне достаточно будет наличие достаточно больших окон уязвимостей. MSS>Угу, и эти окна прикрываются, уменьшаясь раз в 10, совершенно стандартными тупыми методами без расставления хуков в ядро и тому подобное.
Самый хороший метод — это просто прикрыть порты файрволом и всякую фигню не запускать. К сожалению, тупоюзеры представляют главный вектор атаки.
Здравствуйте, lamogun, Вы писали:
L>в алкоголе sptd.sys жестоко прячет другой свой драйвер (название обычно начинается на букву a.....sys)
Дык, раз sptd.sys не грузится, то 2й драйвер не запустится.
Или проблема именно в получении его образа? 0.25 не может скопировать файл, т.к. первичных драйвер активен и уже поздно, но можно попробовать сдампить файл после востановления:
static
bool restore_import(pe::image * pimg, const pe::image * original)
{
using namespace pe;
const image::data_directory * const import_table =
pimg->get_data_directory(image::data_directory::import_table);
if ( !import_table || !import_table->VirtualAddress )
return false;
for ( image::import_descriptor * import_entry = pimg->va<image::import_descriptor*>(import_table->VirtualAddress);
! import_entry->is_terminating();
++import_entry )
{
uintptr_t * iat = pimg->va<uintptr_t*>(import_entry->FirstThunk);
for ( int32_t * hint_name = pimg->va<int32_t*>(import_entry->OriginalFirstThunk);
*hint_name;
++hint_name, ++iat )
{
*iat = *hint_name = original->rva(*hint_name);
}
}
return true;
}
// восстанавливаем образ перед дампом
pe::image * original; // адрес образа в памяти
size_t image_size; // размер имиджа в памяти
uint8_t * buf = new(std::nothrow) uint8_t[image_size];
pe::image * copy = pe::image::bind(buf);
std::memcpy(copy, original, image_size);
restore_import(copy, original) && copy->relocate(copy->get_nt_headers()->OptionalHeader32.ImageBase - uintptr_t(original));
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, Cyberax, Вы писали:
C>Интересно только, а насколько ядерные руткиты вообще актуальны? Все вирусные заражения, которые я только видел, вообще не использовали никакие схемы скрытия потоков.
Не удивительно, что ничего не видел. Когда работает руткит, AV и FW обычно тихо курят в сторонке.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, gear nuke, Вы писали:
C>>Интересно только, а насколько ядерные руткиты вообще актуальны? Все вирусные заражения, которые я только видел, вообще не использовали никакие схемы скрытия потоков. GN>Не удивительно, что ничего не видел. Когда работает руткит, AV и FW обычно тихо курят в сторонке.
Я видел работающие руткиты (кроме того, прочитай что я написал про загрузку с LiveCD). Они вполне обнаружимы — по большей нагрузке процессора (хорошо заметна по вентиляторам на ноуте ), странными сетевыми соединениями и т.п.
Здравствуйте, Cyberax, Вы писали:
C>Я видел работающие руткиты (кроме того, прочитай что я написал про загрузку с LiveCD). Они вполне обнаружимы — по большей нагрузке процессора (хорошо заметна по вентиляторам на ноуте ), странными сетевыми соединениями и т.п.
Да и редкая птица (в смысле руткит) сможет обмануть даже такую банальную вещь, как Rootkit Revealer от sysinternals.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, gear nuke, Вы писали:
C>>>Интересно только, а насколько ядерные руткиты вообще актуальны? Все вирусные заражения, которые я только видел, вообще не использовали никакие схемы скрытия потоков. GN>>Не удивительно, что ничего не видел. Когда работает руткит, AV и FW обычно тихо курят в сторонке. C>Я видел работающие руткиты (кроме того, прочитай что я написал про загрузку с LiveCD). Они вполне обнаружимы — по большей нагрузке процессора (хорошо заметна по вентиляторам на ноуте ), странными сетевыми соединениями и т.п.
Есть руткиты, которые удаляют свой драйвер по завершению до следующей перезугрузки, есть и те, которые удаляют транспорт, с помощью которого руткит попал на машину =)
Здравствуйте, gear nuke, Вы писали:
GN>Здравствуйте, lamogun, Вы писали:
L>>в алкоголе sptd.sys жестоко прячет другой свой драйвер (название обычно начинается на букву a.....sys)
GN>Дык, раз sptd.sys не грузится, то 2й драйвер не запустится.
GN>Или проблема именно в получении его образа? 0.25 не может скопировать файл, т.к. первичных драйвер активен и уже поздно, но можно попробовать сдампить файл после востановления:
Да компилить нечем
Кстати я несильно в теме, возможно уже загруженый драйвер можно сдампить, разные "антируткиты" это могут делать.
Другой вопрос в корректности сдампленых данных..
Здравствуйте, lamogun, Вы писали:
L>Да компилить нечем
Компилятор доступен свободно на сайте MS, необходима версия 2005 SP1 (без SP1 возможны ложные warning). Можно взять из VC Express или WDK.
Для компиляции необходимы следующие файлы (если их положить в подпапку /bin то компиляция делается просто build.cmd, можно так же прописать пути к ним в %PATH%)
Так же необходим perl (проще всего скачать и установить пакет ActivePerl).
L>Кстати я несильно в теме, возможно уже загруженый драйвер можно сдампить, разные "антируткиты" это могут делать.
Можно конечно, выше я привёл код который приводит PE имидж к состояний как до обработки загрузчиком (проверить коректность работы можно попытавшись персичитать чексумму PE, она не должна изменяться)
L>Другой вопрос в корректности сдампленых данных..
Да, проблема в том, что если код руткита отработал, то он может тупо попортить имидж в памяти.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
[ Поскипано для счастья модератора ]
DOO>Да и редкая птица (в смысле руткит) сможет обмануть даже такую банальную вещь, как Rootkit Revealer от sysinternals.
Это почему? Не делаем скрытые файлы и скрытые ветки реестра. Эту тулзу я не использую вообще уже, морально устарела.
Здравствуйте, Denwer, Вы писали:
D>Это почему? Не делаем скрытые файлы и скрытые ветки реестра. Эту тулзу я не использую вообще уже, морально устарела.
Не очень понял идею — где тогда твой руткит жить будет?