пруфлинк
надо было интелу вместо покупки mcafee (вместе с бездарным графоманом пыщхом) тоже какую-нть базу данных прикупить, бгг
суббота, 9 октября 2010 г.
пятница, 8 октября 2010 г.
open source
золотые слова: фриварь культивирует тотальную безответственность разработчика перед потребителем!
Именно так - и еще их клинические навязчивые идеи про эффект тысячи глаз и прочие биологические уродства
Особенно показателен например топик на lor про выход IDA Pro 6.0 - комменты там шедевральны, я ржал как подорванный:
Именно так - и еще их клинические навязчивые идеи про эффект тысячи глаз и прочие биологические уродства
Особенно показателен например топик на lor про выход IDA Pro 6.0 - комменты там шедевральны, я ржал как подорванный:
для отладки есть GDBбгг
rpcss under windows 7
А вот например список rpc интерфейсов, которые регистрирует rpcss.dll под windows7:
Update: под windows7 epmp, localepmp и DbgIdl живут в модуле RpcEpMap.dll
- IActivationKernel {9B8699AE-0E44-47B1-8E7F-86A461D7ECDC}
- ILocalObjectExporter {E60C73E6-88F9-11CF-9AF1-0020AF6E72F4}
- IOXIDResolver {99FCFEC4-5260-101B-BBCB-00AA0021347A}
- ISCM {412F241E-C12A-11CE-ABFF-0020AF6E7A17}
- ISCMActivator {00000136-0000-0000-C000-000000000046}
- IMachineActivatorControl {C6F3EE72-CE7E-11D1-B71E-00C04FC3111A}
- IRemoteActivation {4D9F4AB8-7D1C-11CF-861E-0020AF6E7C57}
- ISystemActivator {000001A0-0000-0000-C000-000000000046}
- IROT {B9E79E60-3D52-11CE-AAA1-00006901293F}
Update: под windows7 epmp, localepmp и DbgIdl живут в модуле RpcEpMap.dll
windbg & rpc
наткнулся тут давеча на очередной высер пыщъха - якобы windbg можно использовать как RPC monitor. Проверить изложенное проще простого:
!load rpcexts
!getendpointinfo
Интересно он вообще проверяет хоть что-нть в своих обширных простынях, описывающих поток нездорового сознания ? Никогда не пытайтесь использовать русскоязычное мычание странных персонажей - всегда нужно сверяться с более правильными источниками
!load rpcexts
!getendpointinfo
Searching for endpoint info ...!listcalls
OpenRPCDebugEndpointInfoEnumeration failed: 1734
RPC_SERVER at 0x15c980Более того - ровно то же самое windbg выдает на vista checked build.
&RpcAddressDictionary(RPC_SIMPLE_DICT) - 0x15c980
Unable to get field cDictSize of type SIMPLE_DICT at 0x15c980
Интересно он вообще проверяет хоть что-нть в своих обширных простынях, описывающих поток нездорового сознания ? Никогда не пытайтесь использовать русскоязычное мычание странных персонажей - всегда нужно сверяться с более правильными источниками
понедельник, 4 октября 2010 г.
RPC servers hijack
Внезапно придумал тут предельно простой и наверняка дико баянистый способ зная UUID RPC интерфейса найти его DispatchTable с адресами функций и сделать с ними всякое.
Для начала давайте внимательно посмотрим на прототип функции RpcServerRegisterIf2
Для начала давайте внимательно посмотрим на прототип функции RpcServerRegisterIf2
ept_lookup
я тут все выходные бухал и гадил в комментах ломал голову над одним простым вопросом - вот например у нас есть GUID RPC интерфейса и мы хотим подключиться по сети к некоей машине, на которой как мы считаем есть этот RPC сервер. Через какой именно механизм мы сможем найти порт/транспорт, куда нужно дико ломиться например ?
Посему выходные былибезнадежно испорчены проведены в отладчике и дизассемблере, зато теперь я в общих чертах знаю ответ но вам не скажу - через загадочный сервис rpcss, который сама MS в целях конспирации называет почему-то "Distributed COM Services" (так в version info rpcss.dll написано, ага)
Итого механизм примерно такой - rpcss.dll слушает named pipe с именем epmapper (рекомендую погуглить - результаты феерические), на котором висит интерфейс Endpoint Mapper
Дальше дело техники и опыта, по крайней мере теперь известно в каком модуле и примерно куда можно ставить грязные хуки и все такое. С другой стороны эту IFObjList извлечь стат. анализом весьма непросто будет
Насколько я понял в той же rpcss.dll живет и другая полезная штука - Running Object Table
Дичайше поражает в механизме RPC практически полное отсутствие документации - например интерфейс Endpoint Mapper якобы описан в некоей книге DCE 1.1: Remote Procedure Call, которую якобы можно скачать нахаляву, но при этом требуют номер телефона и вообще слишком много персональных данных.
Руссинович в своем 5ом издании (в 3ем впрочем тоже) посвятил RPC целых 5 (!) страниц и ровно 2 картинки.А власти скрывают !
Самое угарное что при регистрации этого интерфейса в rpcss перед вызовом стандартной RpcServerRegisterIf2 вызывается некая традиционно недокументированная функция I_RpcSystemFunction001, бгг
Посему выходные были
Итого механизм примерно такой - rpcss.dll слушает named pipe с именем epmapper (рекомендую погуглить - результаты феерические), на котором висит интерфейс Endpoint Mapper
Дальше дело техники и опыта, по крайней мере теперь известно в каком модуле и примерно куда можно ставить грязные хуки и все такое. С другой стороны эту IFObjList извлечь стат. анализом весьма непросто будет
Насколько я понял в той же rpcss.dll живет и другая полезная штука - Running Object Table
Дичайше поражает в механизме RPC практически полное отсутствие документации - например интерфейс Endpoint Mapper якобы описан в некоей книге DCE 1.1: Remote Procedure Call, которую якобы можно скачать нахаляву, но при этом требуют номер телефона и вообще слишком много персональных данных.
Руссинович в своем 5ом издании (в 3ем впрочем тоже) посвятил RPC целых 5 (!) страниц и ровно 2 картинки.
Самое угарное что при регистрации этого интерфейса в rpcss перед вызовом стандартной RpcServerRegisterIf2 вызывается некая традиционно недокументированная функция I_RpcSystemFunction001, бгг
Подписаться на:
Сообщения (Atom)