Странности, причини, начини

Вчера секретарката на едни мои клиенти се обади със странен проблем. При смяна на клавиатурата от латиница към кирилица (или обратно) браузерът забивал. Всички други програми се държали ОК.

Измрънках няколко приглушени протеста срещу секретарската глупост и запраших натам. Когато пристигнах обаче, положението се оказа точно описаното. За капак на всичко, Internet Explorer не забиваше при смяна на клавиатурата. Firefox и Chrome обаче го правеха.

Стана ми интересно и зачоплих ситуацията. Преинсталиране на браузерите, включително с пълно почистване на следите им междувременно, не промени нищо. Почти бях вдигнал вече ръце (и рамене), когато забелязах нещо странно. И трите браузера се бавеха едва доловимо при отваряне на страница.

Старателният оглед на инсталирания софтуер не откри нищо подозрително. Още по-старателна проверка на диска с AVG и Spybot – също. Ей така, за пълна сигурност, реших да пусна и доказалия се анти-рууткит TDSSKiller на Касперски.

Изненадааа! Отказа да тръгне. Което се случва при точно едни обстоятелства – ако на диска има „буба“, която го убива при стартиране. Порових из Нета за инфо – имаше доста. Нищо от първите пет страници попадения в Гугъл обаче не се оказа релевантно. Експериментът с преименуване на файла на hello.com също свърши безрезултатно. Очевидно „бубата“ разпознаваше програмата по вътрешна структура – най-вероятно .EXE атрибутите ѝ. За съжаление нямах подръка редактор на тези атрибути, на който да мога да разчитам.

За щастие открих в Нета нещо, наречено TDSSKiller Undetectable. С променени .EXE атрибути и мисля, че леко „преподредено“, да обърква чексумиращи алгоритми за детектване. Не беше най-нова версия, така че поиска да се обнови през Нета, но за пълна сигурност му отказах. Само след няколко секунди проблемът беше открит – гнусен рууткит, криещ се из MBR-а и други защитени зони на диска. С повечето програми кейлогерът му работеше неоткриваемо, но вероятно е бил правен в условията на китайската монокултура на IE, и не е бил изтестван добре с другите браузери. След поискания рестарт вече TDSSKiller (включително свалената от сайта на Касперски най-нова официална версия) не откриваше нищо.

И проблемът с браузерите изчезна. 🙂

(Предупреденият е въоръжен.)

10 thoughts on “Странности, причини, начини

  1. JJ

    Досега не съм се сблъсквал с MBR вируси и публикацията ще ми е полезна…… тествам основно с MBAM. Сега и TDSSKiller влезе в полезния ми списък от приложения.

    Reply
  2. Морфиус

    Live CD с NTFS не е ли по-добра идея при изравяне на заровили се толкова дълбоко гадинки?

    Reply
  3. Григор Post author

    @JJ: Тая категория не са същински вируси – рууткитове са.

    @Морфиус: Ако имаш предвид линуксовско, под Линукс рядко има толкова добри инструменти за чистене на уиндоуски гадини, колкото има под Уиндоус. Вероятно Windows PE с подходящ набор инструменти ще е добра идея, но докато успееш да го опечеш, инструментите вече са остарели. 🙁

    Reply
  4. dido

    @Григор
    тъй като MBR-тата обикновено не се променят непрекъснато (освен ако клиента ти не е фен на тестването на X на брой нови OS 😉 ), то за MBR-тата на машини, които са под твой контрол, най-добре е по моему да имаш предварително направени копия, да кажем веднага след (пре)инсталацията:
    root@mashina_x # dd if=/dev/sda of=/media/flashkata/mashina_x_disk_sda bs=512 count=1

    На флашка спокойно можеш да събереш колкото си щеш такива архивни копия …

    В случай на нужда, възстановяването е също лесно – зареждаш машината през live cd-то както предлага Морфиус (или от флашката, ако е достатъчно голяма и BIOS-а ти го позволява), възстановяваш MBR-то на съответната машина от архива:
    root@mashina_x # dd if=/media/flashkata/mashina_x_disk_sda of=/dev/sda bs=512 count=1

    После следва рестарт в safe mode и пускане на антивирусни и останалите галимации нужни под windows 🙂 .

    Reply
  5. Григор Post author

    @dido: Вече съм виждал случаи гадта да е частично в MBR-а, частично на други места (напр. из boot последователността на Windows). При този вариант възстановяването на MBR от резервно копие води до пълен краш на машината с нужда от преинсталиране. Още по-интересно е положението на дискове с GUID Partition Table – там просто нямаш гарантирано място за буут кода, варианти разни. Затова и предпочитам справяне изцяло през чистачка, ако има как – особено ако ще го върши някой, прочел случайно блога ми. (Колкото е нужно на киберкримките вирусът да е незабележим, докато е активен, толкова им е нужно и опитите за почистване да водят до катастрофални резултати.)

    Reply
  6. tom

    Абе Григоре, що е толкоз трудно човека да открие коя ти е фирмата или какви са ти контактите?
    Ако искам да те викна да прегледаш някой компютъра (щото ми е харесало каква реклама си правиш), какво правя?

    Reply
  7. Григор Post author

    @tom: По принцип гледам компютри само на клиенти и приятели. Проблемът е, че в понятието „приятели“ май влиза всеки закъсал за помощ… 🙂

    Иначе, примерно ми пишеш тук. Или на е-майла – има го на началната страница на сайта ми.

    Reply
  8. юлий

    Според мен Григор е полезен с това че може да даде път и метод към решението на проблемите. Хем да напътства човек как да си свърши работата, хем оня като свърши да има усещането, че сам си е помогнал.

    Reply
  9. dido

    @Григор – интересно, не се бях замислял за подобни усложнения … явно просто съм извадил късмет, че не са ми попадали подобни “пациенти” досега

    Reply
  10. Григор Post author

    @dido: Наистина ще да е голям късмет. Вече над десет години не съм виждал в реални условия гадинка, способна да се побере в свободните за буут код двестатина и нещо байта на MBR-а. Винаги се налага части да са другаде. А съвременните гадини, дори най-стегнато написаните, обикновено са по 10-20-50 К – тях даже и в популярно (и негарантирано) свободните сектори на първи дисков трак не винаги можеш ги побра, трябва парчета да седят и още по-нататък. Ако са вируси иди-дойди, но за рууткитове е задължително…

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *