Ладно, можете не признаваться, и не надеялся особо тащемта
Я тут составил небольшой списочек мест где надо
User mode
- %SystemRoot%\system32\drivers\etc\hosts. Любимое место для правки IP адресов всякими пионэрами. Во-первых пионэры любят делать фейковый hosts - например с русской 'o', а настоящий скрывать за всякими атрибутами типа hidden или system. Во-вторых под 64битами всякие far commander не умеют его открывать в силу system32 reflection
- А в-третьих на самом деле этот файл может быть где угодно - его положение задается в реестре в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
- Банальные хуки ws2_32.dll, например китайские коммунистические вирмейкеры любят вставлять всякие dll куда ни попадя и делать IAT patching. Диагностируется достаточно легко каким-нть avz
- Столь же банальный code splicing - опять же avz может помочь. Хуки могут стоять не только на ws2_32.dll, но также на dnsapi.dll, mswsock.dll
- Winsock Layered Service Providers. Проще всего смотреть autoruns от Руссиновича. Нужно заметить что вариант с LSP очень редко встречается в реальности - во-первых их написание плохо документированно и пионэры не осилят, а во-вторых они очень легко и просто палятся
- Browser Helper Object и прочие plugins - смотреть им же. Но проще всего проверить перекрестным допросом показаний вашего любимого бравзера и какой-нть сборки wget или lynx под windows
- Еще бывают всякие достаточно экзотические случаи когда вредоносный код патчит сами системные .dll и начинает жить непосредственно в них. Рекомендую профилактически проверять даты модификации .dll и .exe файлов в %SystemRoot%\system32 - самое смешное что этот тривиальный способ недурно работает
- Если nslookup показывает всякое странное - можно попробовать выставить dns на гугловый - IP 8.8.8.8 или 8.8.4.4. Может помочь иногда
- Наверняка еще чего-нть важное забыл
Kernel mode
Если вам подсунули rootkit (т.е. пункты выше не особо помогли) - то- Сплайсинг всяких функций в tdi.sys, ndis.sys, драйверов протоколов etc. Там же рядом перехват таблиц экспорта/IAT patching
- TDI filter - attached device на /device/tcp, /device/udp, /device/ip и так далее. Смотреть умеет gmer например. Говорят что бывает также фильтр на afd.sys - честно говоря ни разу не видел
- Начиная с висты место TDI занял NPI - Network Programming Interface. Особо его не смотрел, но говорят что там тоже много всякого забавного можно замутить
- Windows Packet Filtering Interface - описан в wdk в inc\ddk\pfhook.h. Можно попробовать очень простой способ -
снестипереименовать драйвер %SystemRoot%\system32\drivers\ipfltdrv.sys, перезагрузиться и посмотреть, не стало ли лучше - Мой любимый способ - патч структур NDIS. Смотреть миллионы всяких внутренних структур NDIS лучше всего в WinDBG с плагином ndiskd.
- Начиная с висты появился вполне официальный интерфейс для написания filter drivers - для их просмотра команда в WinDbg !filters. В wdk даже есть примерчик - src\network\ndis\filter. С ними такая же история как с LSP - ресурсы на написание не оправдывают скрытие
- И опять же начиная с висты появился windows filtering platform. Правда там какой-то ужас и моральный террор - реализующий все это добро драйвер FWPKCLNT.SYS зовет всякое через RPC (в ядре, угу) и проследить кто вызывается на самом деле требует огромного терпения. Определенно необходимы дальнейшие изыскания
Список использованной литературы
Firewall for WindowsОбход Outpost Firewall
Microsoft Windows Internals, глава 13
The Rootkit Arsenal, глава 11
Пригодится, например.
ОтветитьУдалитьИ не лень же тебе было все это писать :)
ОтветитьУдалитьпамять плохая стала - приходится записывать чтобы не забыть самому например
ОтветитьУдалить