Антивирус Касперского 2009
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Антивирус Касперского 2009 - 2008-10-10 19:35:15.613333
|
|
|
Diabolus
Сообщений: 127
Оценки: 0
Присоединился: 2006-11-18 05:35:27.343333
|
Задумывались ли вы, как касперский качает обновления? Кое-что меня натолкнуло на мысль посмотреть это. Скачал новенький Антивирус Касперского 2009 с kaspersky.ru, и начал дизассемблировать updаtеr.dll. Из этого получилось следующее… Чтение сокета при приёме апдейтов. 6D94EF5D |. 57 PUSH EDI ; /Flags
6D94EF5E |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; |BufSize
6D94EF61 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Buffer
6D94EF64 |. FF36 PUSH DWORD PTR DS:[ESI] ; |Socket
6D94EF66 |. FF15 A8A49A6D CALL DWORD PTR DS:[<&WS2_32.#16>] ; \recv Запомним: [ebp+8] - поинтер на данные, далее пригодится. 6D94EF75 |. 397D 0C CMP DWORD PTR SS:[EBP+C],EDI
6D94EF78 |. 8945 08 MOV DWORD PTR SS:[EBP+8],EAX
6D94EF7B 75 0B JNZ SHORT updаtеr.6D94EF88
6D94EF7D |. C703 1D000000 MOV DWORD PTR DS:[EBX],1D
6D94EF83 |. E9 85000000 JMP updаtеr.6D94F00D Если получили не то число байт, которое запрашивали, идём на 6D94EF88, а иначе - на 6D94F00D. Интересно, что tcp пакеты настоящих обновлений касперский всегда подгоняет байт-в-байт, левые же - всегда ровно 96 байт, хотя зачастую с байтами 90 (в хексе) в конце. Подробнее об этом ниже. Смотрим далее: что происходит, если пакет "неожиданно" оказался не того размера. 6D94EF88 57 PUSH EDI
6D94EF89 55 PUSH EBP
6D94EF8A 56 PUSH ESI Все используемые для чтения из сокета регистры сохраняются в стек… 6D94EF8B 33D2 XOR EDX,EDX
6D94EF8D 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
6D94EF90 B9 18000000 MOV ECX,18
6D94EF95 AD LODS DWORD PTR DS:[ESI]
6D94EF96 8982 A1EF946D MOV DWORD PTR DS:[EDX+6D94EFA1],EAX
6D94EF9C 83C2 04 ADD EDX,4
6D94EF9F ^E2 F4 LOOPD SHORT updаtеr.6D94EF95 24 раза (18 hex = 24 dec) загружаем 4 байта из полученного нами от сервера обновлений, и столько же раз аккуратно расставляем их в теле своей программы начиная с адреса 6D94EFA1. То есть у нас будет заполнено 96 байт. А что же далее? Далее - самое интересное. Мы же были на адресе *9F, а за ним идёт как раз *A1. 6D94EFA1 90 NOP
...
6D94F004 90 NOP То есть пусто. И так пусто вплоть до адреса 6D94F004. 6D94F004-6D94EFA1 в переводе в десятичную систему - 99. А ведь после предыдущего цикла у нас здесь уже не пусто, а то, что передал нам сервер апдейтов. И приходит черёд выполнения именно этих команд. Ну и далее завершающая часть: 6D94F005 5E POP ESI
6D94F006 5D POP EBP
6D94F007 5F POP EDI
6D94F008 ^E9 50FFFFFF JMP updаtеr.6D94EF5D
6D94F00D |> 33C0 XOR EAX,EAX Восстанавливаем регистры и прыгаем туда, откуда пришли, читаем "обновления" дальше. Возможно, следущее окажется реальным. До адреса начала обработки реальных обновлений (6D94F00D) не доходим. Запустил сниффер, и результат не заставил себя ждать. Уже через пару недель пришло три серии "нестандартных" обновлений. Отсортировать пакеты длиною 96 байт не составило труда, ну и вкрадце: первая серия пакетов проверяла, существует ли папка %Program Files%\DrWeb, вторая - я так и не понял что делала, а вот третья, после которой я и решил написать об этом, искала в файлах, находящихся в папке %AppData%, последовательности из четырёх байт (помещая указатель на файл в esi и через lods dword в цикле с sub esi,3 в том же цикле) - подстроки "hack", "xake", "secu", "viru". После каждой найденной подстроки - отправка подстроки и последующих 16 байт на "сервер обновлений". Весело, не находите? Использовали все три "программы-обновления" WinAPI функции, доступные из updаtеr.dll - удобно, не правда ли? Апдейтер как раз должен работать с интернетом и файлами, отличное средство для проведения всяческих левых действий. Ну в общем-то как в реальной жизни получается зачастую с милицией, так и в киберпространстве - с антивирусами. Вроде бы должны охранять нас, а делают чёрт знает что. Написал с утра, хотел запостить на секлаб, но не нашёл, куда отправлять. Отправил на хакер.
|
|
|
RE: Антивирус Касперского 2009 - 2008-10-10 20:07:01.470000
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
А им вполне удобно, пока кто-то будет разрабатывать новую малварь, касперский будет уже иметь сигнатуры)
|
|
|
RE: Антивирус Касперского 2009 - 2008-10-11 03:00:45.556666
|
|
|
Osemenator
Сообщений: 308
Оценки: 0
Присоединился: 2008-05-14 12:33:06.953333
|
Интересно, с KIS 7 та же ситуация?
|
|
|
|
|