вторник, 28 сентября 2010 г.

msrpc.sys exports

А вот например начиная с vista  rpc еще и в ядре живет в драйвере msrpc.sys
Список драйверов на чистой windows 7, имеющих в своем импорте ссылки на msrpc:
  • afd.sys
  • appid.sys
  • fwpkclnt.sys
  • ksecdd.sys
  • netio.sys
  • ntfs.sys
  • srvnet.sys
  • tcpip.sys
  • tunnel.sys
На висте правда список значительно скромнее:
  • fwpkclnt.sys
  • netio.sys
  • tcpip.sys
Собственно сами экспортируемые символы (они одинаковы на vista, vista sp2 & w7, так что в одну табличку все свел и отличаются они только битностью)

воскресенье, 26 сентября 2010 г.

и еще про stuxnet

Первую иранскую АЭС заразил компьютерный вирус
"Лаборатории Касперского" - лидер потребительского рынка в России, странах СНГ и Балтии. За прошедший год "ЛК" стала безусловным лидером в некоторых странах: Иран, ЮАР, Ливия, где она переместилась по консьюмерским продажам на первое место
отсюдова - между прочим датировано 1 сентября 2010.

Чисто риторический вопрос - что случится раньше - ад замерзнет или Спасатели Вселенной™ хоть раз признаются что они дико обосрались ?

RPC enumeration

Поскольку в ответ на критическую заметку про ловлю stuxnet мне кинули предъяву в духе "а ты кто такой и сам ловить RPC интерфейсы не умеешь", то пришлось озаботиться данным вопросом
Гугл сказал мне что технология для rpc interfaces enumeration уже 9 лет как известна - rpctools
Используются при этом три вещи:
  • список зарегистрированных в системе rpc ports, который можно посмотреть например в WinObj в директории \RPC Control
  • совершенно официальная функция RpcMgmtInqIfIds из RPCRT4.dll
  • пара не менее официальных функций RpcMgmtEpEltInqBegin & RpcMgmtEpEltInqNext
Далее берется список well known ms rpc named pipes и можно найти интерфейсы, которых на чистой машине быть не должно

Процесс можно автоматизировать даже, я думаю - написать к тому же perlу xs модуль для выгребания имен портов из \RPC Control (через ф-ции NtOpenDirectoryObject & NtQueryDirectoryObject) и вызывать ifids.exe для всех из них. Можно также запросить в каких процессах эти порты открыты (Process Explorer так умеет делать например)

Возвращаясь к исходному вопросу - какой онтевирус умеет проверять зарегистрированные в системе RPC интерфейсы ?

суббота, 25 сентября 2010 г.

stuxnet

тут производители т.н. онтевирусов с выпученными глазами закатили истерику про stuxnet - типа караул, цыбервойна покупайте наших слонов и прочий обычный в подобных случаях маркетинговый бред
Тем временем по прочтении довольно подробного описания можно сделать следующий вывод - несмотря на кучу 0-days и векторов распространения палится присутствие этого поделия крайне примитивными дедовскими методами десятилетней давности- достаточно совершенно банально просканить содержимое памяти всех процессов и сравнить с содержимым файлов с диска (и про древние трюки с угоном IAT & EAT еще не забыть) + посмотреть наличие нотификаторов в kernel mode - например в IopFsNotifyChangeQueueHead & PspCreateProcessNotifyRoutine
А еще было бы недурно посмотреть какие RPC интерфейсы зарегистрированы в системе и в каких процессах, но по моему ни один av такое не умеет. Да чо там, я тоже не умею

Выводы - непечатно матом делайте сами

среда, 22 сентября 2010 г.

dlopen notifiy

а вот скожите мне - правда ли в linux никак не можно поставить штатными средствами нотификатор на событие загрузки/выгрузки программой модуля ? Я тут покурил давеча в стотыщпервый раз сорцы ld-linux.so - ад и содомия, риальне, причем за последние десять лет все стало еще страшнее пользоваться этим невозможно категорически
И эти люди еще смеют поливать всячески самую лучшую в мире операционную систему !