суббота, 24 июля 2010 г.

Крякер интернета

А признайтесь мне - бывало ли у вас так, что еще вчера вы бодро и бессмысленно посещали всякие нужные сайты, а после скачивания и запуска какого-нть широко разрекламированного "sms перехватчика" или прочей срани типа "взломщика водноклассников" некоторые сайты больше не открываются а там столько отличной порнушки с немецкими овчарками осталось, а то и вовсе заявляют что ваш аккаунт заблокирован -"дэнги давай" ?
Ладно, можете не признаваться, и не надеялся особо тащемта

Я тут составил небольшой списочек мест где надо побывать с мертвой принцессой посмотреть всякое чтобы может быть (ложная надежда) как-нибудь немножечко исправить положение


User mode

  1. %SystemRoot%\system32\drivers\etc\hosts. Любимое место для правки IP адресов всякими пионэрами. Во-первых пионэры любят делать фейковый hosts - например с русской 'o', а настоящий скрывать за всякими атрибутами типа hidden или system. Во-вторых под 64битами всякие far commander не умеют его открывать в силу system32 reflection
  2. А в-третьих на самом деле этот файл может быть где угодно - его положение задается в реестре в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
  3. Банальные хуки ws2_32.dll, например китайские коммунистические вирмейкеры любят вставлять всякие dll куда ни попадя и делать IAT patching. Диагностируется достаточно легко каким-нть avz
  4. Столь же банальный code splicing - опять же avz может помочь. Хуки могут стоять не только на ws2_32.dll, но также на dnsapi.dll, mswsock.dll
  5. Winsock Layered Service Providers. Проще всего смотреть autoruns от Руссиновича. Нужно заметить что вариант с LSP очень редко встречается в реальности - во-первых их написание плохо документированно и пионэры не осилят, а во-вторых они очень легко и просто палятся
  6. Browser Helper Object и прочие plugins - смотреть им же. Но проще всего проверить перекрестным допросом показаний вашего любимого бравзера и какой-нть сборки wget или lynx под windows
  7. Еще бывают всякие достаточно экзотические случаи когда вредоносный код патчит сами системные .dll и начинает жить непосредственно в них. Рекомендую профилактически проверять даты модификации .dll и .exe файлов в %SystemRoot%\system32 - самое смешное что этот тривиальный способ недурно работает
  8. Если nslookup показывает всякое странное - можно попробовать выставить dns на гугловый - IP 8.8.8.8 или 8.8.4.4. Может помочь иногда
  9. Наверняка еще чего-нть важное забыл
Тут можно перечислять еще довольно долго, но мне лениво.

Kernel mode

Если вам подсунули rootkit (т.е. пункты выше не особо помогли) - то смерть-жопа-сотона обычный пользователь может немедленно начинать бегать кругами с огромным бубном и громко вопить. Для необычных пользователей можно попробовать сделать кое-что с помощью инструментов помощнее. Но поскольку способов заражения в ядре может быть более 9 тысяч - претендовать на полноту изложения было бы верхом наивности
  1. Сплайсинг всяких функций в tdi.sys, ndis.sys, драйверов протоколов etc. Там же рядом перехват таблиц экспорта/IAT patching
  2. TDI filter - attached device на /device/tcp, /device/udp, /device/ip и так далее. Смотреть умеет gmer например. Говорят что бывает также фильтр на afd.sys - честно говоря ни разу не видел
  3. Начиная с висты место TDI занял NPI - Network Programming Interface. Особо его не смотрел, но говорят что там тоже много всякого забавного можно замутить
  4. Windows Packet Filtering Interface - описан в wdk в inc\ddk\pfhook.h. Можно попробовать очень простой способ - снести переименовать драйвер %SystemRoot%\system32\drivers\ipfltdrv.sys, перезагрузиться и посмотреть, не стало ли лучше
  5. Мой любимый способ - патч структур NDIS. Смотреть миллионы всяких внутренних структур NDIS лучше всего в WinDBG с плагином ndiskd.
  6. Начиная с висты появился вполне официальный интерфейс для написания filter drivers - для их просмотра команда в WinDbg !filters. В wdk даже есть примерчик - src\network\ndis\filter. С ними такая же история как с LSP - ресурсы на написание не оправдывают скрытие
  7. И опять же начиная с висты появился windows filtering platform. Правда там какой-то ужас и моральный террор - реализующий все это добро драйвер FWPKCLNT.SYS зовет всякое через RPC (в ядре, угу) и проследить кто вызывается на самом деле требует огромного терпения. Определенно необходимы дальнейшие изыскания

Список использованной литературы

Firewall for Windows
Обход Outpost Firewall
Microsoft Windows Internals, глава 13
The Rootkit Arsenal, глава 11

3 комментария:

  1. И не лень же тебе было все это писать :)

    ОтветитьУдалить
  2. память плохая стала - приходится записывать чтобы не забыть самому например

    ОтветитьУдалить