вторник, 30 ноября 2010 г.

идентификация vtbl OLE интерфейсов

нас тут отдельные несознательные граждане спрашивают - вот например внутри activex дико много всяких vtbl - как узнать какая какому именно интерфейсу соответствует ?
Можно подумать за 11 лет в ole появилось что-то новое
Но тем не менее я заметил тут одну интересную фишку, значительно облегчающую subj для activex, написанных с применением mfc
Возьмем например запущенный случай - AcroPDF.dll от империи зла, которая сроду никому и никогда .pdb от своих [censored] продуктов не дает в отличие от империи добра

пятница, 26 ноября 2010 г.

wcncsvc.dll RPC interfaces

Windows Connect Now - Config Registrar Service
WcnpRpc C100BEAB-D33A-4A4B-BF23-BBEF4663D017 version 1.0
0x1c methods
  • WcnpRpcSubscribe
  • WcnpRpcUnSubscribe
  • WcnpRpcGetCachedPeers
  • WcnpRpcAsyncGetNotification
  • WcnpRpcCancelPendingNotification
  • WcnpRpcPerformDiscovery
  • WcnpRpcTargetedWlanDiscovery
  • WcnpRpcGetPeerUuidFromTransportAddress
  • WcnpRpcGetPeer
  • WcnpRpcReleasePeer
  • WcnpRpcPeerOpenSession
  • WcnpRpcPeerGetAttribute
  • WcnpRpcPeerGetAttributeAsInteger
  • WcnpRpcPeerGetAttributeAsString
  • WcnpRpcPeerGetVendorExtensions
  • WcnpRpcSessionSetPassword
  • WcnpRpcSessionSetProfileData
  • WcnpRpcSessionSetProfilePassphrase
  • WcnpRpcSessionConnect
  • WcnpRpcSessionGetNotifications
  • WcnpRpcSessionGetWirelessProfile
  • WcnpRpcSessionGetAttributeAsInteger
  • WcnpRpcReleaseSession
  • WcnpRpcSessionSetVendorExtensions
  • WcnpRpcSessionGetVendorExtensions
  • WcnpRpcCreateManagementHandle
  • WcnpRpcSetAdvertisementsEnabled
  • WcnpRpcCloseManagementHandle
WcnTransportRpc C100BEAC-D33A-4A4B-BF23-BBEF4663D017 version 1.0
4 methods
  • WcnSinkOpenHandle
  • WcnSinkCloseHandle
  • WcnSinkDeliverMessage
  • WcnSinkAsyncGetNextAction

bdesvc.dll RPC interface

BitLocker Drive Encryption Service
BdeSvcApi AE55C4C0-64CE-11DD-AD8B-0800200C9A66 version 1.0
2 methods
  • BdeSvcApipConversionEncrypt
  • BdeSvcApipEventTrigger

wwansvc.dll RPC interfaces

WWAN Auto Config Service
winwwandiag D4254F95-08C3-4FCC-B2A6-0B651377A29D version 1.0
4 methods
  • WWDiagQueryInfSnapShot
  • WWDiagQueryInfRecentStats
  • WWDiagQueryInfBulkStats
  • WWDiagQueryInfSignalStrengthStats
winwwan D4254F95-08C3-4FCC-B2A6-0B651377A29C version 1.0
0x14 methods:
  • WwanRpcOpenHandle
  • WwanRpcCloseHandle
  • WwanRpcRegisterNotification
  • WwanRpcAsyncGetNotification
  • WwanRpcEnumerateInterfaces
  • WwanRpcSetInterface
  • WwanRpcQueryInterface
  • WwanRpcScan
  • WwanRpcRegister
  • WwanRpcConnect
  • WwanRpcDisconnect
  • WwanRpcSetSmsConfiguration
  • WwanRpcSmsRead
  • WwanRpcSmsSend
  • WwanRpcSmsDelete
  • WwanRpcSetProfile
  • WwanRpcDeleteProfile
  • WwanRpcGetProfile
  • WwanRpcGetProfileList
  • WwanRpcGetProfileIstream
Регистрируются в epmapper c annotation "Wwan Service"

wbiosrvc.dll RPC interfaces

Windows Biometric Service
WinBioCredentialManager 4BE96A0F-9F52-4729-A51D-C70610F118B0 version 1.0
6 methods
  • WinBioCredMgrSrvSetCredential
  • WinBioCredMgrSrvRemoveCredential
  • WinBioCredMgrSrvRemoveAllCredentials
  • WinBioCredMgrSrvRemoveAllDomainCredentials
  • WinBioCredMgrSrvGetCredentialState
  • WinBioSrvGetServiceMonitorEvent
WinBioServer C0E9671E-33C6-4438-9464-56B2E1B1C7B4 version 1.0
0x16 methods
  • WinBioSrvEnumBiometricUnits
  • WinBioSrvOpenSession
  • WinBioSrvCloseSession
  • WinBioSrvCancel
  • WinBioSrvVerify
  • WinBioSrvIdentify
  • WinBioSrvLocateSensor
  • WinBioSrvEnrollBegin
  • WinBioSrvEnrollCapture
  • WinBioSrvEnrollCommit
  • WinBioSrvEnrollDiscard
  • WinBioSrvEnumEnrollments
  • WinBioSrvGetEvent
  • WinBioSrvCaptureSample
  • WinBioSrvDeleteTemplate
  • WinBioSrvLockUnit
  • WinBioSrvUnlockUnit
  • WinBioSrvControlUnit
  • WinBioSrvControlUnitPrivileged
  • WinBioSrvGetProperty
  • WinBioSrvLogonIdentifiedUser
  • BioCredMgrGetLogonUserIdentity
Регистрируются в epmapper c annotation wbiosrvc
Висят на ALPC port 8765

среда, 24 ноября 2010 г.

+1'' за 7770р

А вот например являюсь я уже почти два года гордым обладателем читалки LBook v3 (да, это наглая реклама yandex market) и даже прочел на нем по складам две с половиной книжки про хоббитов всем хорош сей агрегат кроме чтения всяких специфичных pdf (пусть adobe горит в аду) с кучей формул мелким корявым почерком а тех pdf скачано уже 3 полных dvd
И вот например появляется вот такой девайс - теперь банановый с экранчиком аж целых 7 дюймов вместо 6ти. И вы таки будете заливисто смияццо, но этот +1 дюйм дороже ровно на 7770 честно украденных у сирот и вдов рублей !
Дичайше негодую например

вторник, 23 ноября 2010 г.

crypt32.dll exports

Для симметрии с
Поскольку xp sp2 & xp sp3 и vista & vista sp2 совершенно одинаковы, я их поместил в два столбца - xp и vista соотв-но
Особо пугает тенденция к увеличению числа безымянных экспортируемых символов - например в w2k их не было вовсе, в последующих версиях windows их 2 (наверняка с внутренними именами типа BackDoorForNSA & ZOGAnalZond), а в window7 их уже 11 штук !

bcrypt.dll exports

Windows Cryptographic Primitives Library - появилась с висты

понедельник, 22 ноября 2010 г.

FirewallAPI.dll exports

Вот такая интересная dll появилась начиная с vista - Windows Firewall API

keyiso.dll RPC interfaces

CNG Key Isolation Service
INCryptKeyIso B25A52BF-E5DD-4F4A-AEA6-8CA7272A0E86 version 1.0
0x1B methods
  • SrvRpcCreateContext
  • SrvRpcReleaseContext
  • SrvRpcCryptOpenStorageProvider
  • SrvRpcCryptIsAlgSupported
  • SrvRpcCryptEnumAlgorithms
  • SrvRpcCryptEnumKeys
  • SrvRpcCryptFreeBuffer
  • SrvRpcCryptFreeProvider
  • SrvRpcCryptFreeKey
  • SrvRpcCryptOpenKey
  • SrvRpcCryptCreatePersistedKey
  • SrvRpcCryptGetProviderProperty
  • SrvRpcCryptSetProviderProperty
  • SrvRpcCryptGetKeyProperty
  • SrvRpcCryptSetKeyProperty
  • SrvRpcCryptFinalizeKey
  • SrvRpcCryptEncrypt
  • SrvRpcCryptDecrypt
  • SrvRpcCryptImportKey
  • SrvRpcCryptExportKey
  • SrvRpcCryptSignHash
  • SrvRpcCryptVerifySignature
  • SrvRpcCryptDeleteKey
  • SrvRpcCryptNotifyChangeKey
  • SrvRpcCryptSecretAgreement - название метода доставляет
  • SrvRpcCryptDeriveKey
  • SrvRpcCryptFreeSecret
Имеет место на следующих endpoints:
  • named pipe PIPE\protected_storage
  • named pipe pipe\lsass
  • ALPC Port protected_storage
  • ALPC Port audit
  • ALPC Port samss lpc
  • ALPC Port securityevent
  • ALPC Port LSARPC_ENDPOINT
  • ALPC Port lsasspirpc
  • ALPC Port lsapolicylookup
Как можно догадаться - все вышеперечисленные endpoints принадлежат процессу lsass.exe

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

setupapi.dll exports

Поскольку xp sp2 & xp sp3 и vista & vista sp2 совершенно одинаковы, я их поместил в два столбца - xp и vista соотв-но

advapi32.dll exports

vista & vista sp2 совершенно одинаковы

netapi32.dll exports

а msdn оказывается частенько врет неточен
вот например там английским по белому написано про NetDfsSetSecurity
Minimum supported client - Windows Vista
Redistributable - Windows Server 2003 and Windows XP with Service Pack 2

и нету ее на xp sp2, а уже в xp sp3 - есть

пятница, 19 ноября 2010 г.

sspisrv.dll RPC interfaces

sspisrv.dll - LSA SSPI RPC interface DLL
sspirpc 4F32ADC8-6052-4A04-8701-293CCF2096F0 version 1.0
0x10 methods
  •  SspirConnectRpc
  •  SspirDisconnectRpc
  •  SspirDisconnectRpcAsync
  •  SspirCallRpc
  •  SspirAcquireCredentialsHandle
  •  SspirFreeCredentialsHandle
  •  SspirProcessSecurityContext
  •  SspirDeleteSecurityContext
  •  SspirSslQueryCredentialsAttributes
  •  SspirNegQueryContextAttributes
  •  SspirSslSetCredentialsAttributes
  •  SspirApplyControlToken
  •  SspirLogonUser
  •  SspirLookupAccountSid
  •  SspirGetUserName
  •  SspirGetInprocDispatchTable
Имеет место только в windows7 на следующих endpoints:
  • ALPC Port lsapolicylookup
  • ALPC Port securityevent
  • ALPC Port audit
  • ALPC Port protected_storage
  • ALPC Port LSARPC_ENDPOINT
  • ALPC Port lsasspirpc
  • ALPC Port samss lpc

среда, 17 ноября 2010 г.

касперски жжот

на основе моделирования мышления хакеров, которое предсказуемое и шаблонное и потому были пойманы все известные мне zero-days
отсюдова
ну вы понели, да - моделирование мышления хакеров предсказуемое и шаблонное
предсказуемое и шаблонное
шаблонное и предсказуемое
а разгадка одна - безблагодатность все известные мне

вторник, 16 ноября 2010 г.

Extending and Embedding Perl

осилил наконец дочитать subj
буду краток - книжку читать не стоило совершенно. Авторы банально взяли вполне общедоступную документацию, добавили туда примеров использования perl функций - и всё
Например из книжки вы не узнаете как
  • общаться с magic-переменными
  • сделать свои tied переменные
  • использовать layered perl IO
  • использовать unicode при биндинге
  • использовать при биндинге bignum
  • вернуть из своей ф-ции perl class
и я думаю еще много чего вы не узнаете
отвратительно

жыжы все ?

таки крепкие вещи делают американцы - потрясающе долго оно не ломалось в похотливых ручонках отечественных программистов быдлокодеров
заодно и узнаем когда их админы на работу приходят, бгг

завел ещо один бложык

http://redpmedium.blogspot.com/
буду туда писать всякое (если мне будет не лень) про маргинальный музон, треш, угар содомию и прочие кровавые фильмы, часто матом

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

эпичный тред

в котором хаскельщику объясняют, что его картина мира мягко говоря несколько неполна, бгг
Но вообще граждане, сумевшие таки осилить haskell, несколько умнее среднестатистического гражданина, так что в конце признаются что были неправы
А вот например с существами, которых хватило только на php python - спорить совершенно невозможно - они просто не понимают а чо такова - щас все портируем быстренько и в chroot запустим

Склоняюсь к мысли что петонщиков нужно сразу молча пинать коваными сапогами до потери сознания например и доступ в svn отобрать пока asm не выучат

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

wiaservc.dll RPC interfaces

Still Image Devices Service
stirpc 8C7A6DE0-788D-11D0-9EDF-444553540000 version 2.0
0x10 methods
  •  R_StiApiGetVersion
  •  R_StiApiEnableHwNotifications
  •  R_StiApiGetHwNotificationState
  •  R_StiApiLaunchApplication
  •  R_StiApiOpenDevice
  •  R_StiApiSubscribe
  •  R_StiApiGetLastNotificationData
  •  R_StiApiUnSubscribe
  •  R_StiApiCloseDevice
  •  R_StiApiLockDevice
  •  R_StiApiUnlockDevice
  •  R_WiaGetEventDataAsync
  •  OpenClientConnection
  •  CloseClientConnection
  •  RegisterUnregisterForEventNotification
  •  WiaGetRuntimetEventDataAsync
Висит на ALPC Port STI_LRPC

umrdp.dll RPC interfaces

Terminal Server Device Redirector Service

IRpcPrintDrv C80066A8-7579-44FC-B9B2-8466930791B0 version 1.0
1 method
  •  RpcPrintDrvGetInfo
Висит на ALPC Port TSUMRPD_PRINT_DRV_LPC_API

TermsrvRemoteDevice 7212A04B-B463-402E-9649-2BA477394676 version 1.0
6 methods
  •  RpcPing
  •  RpcOpenDevice
  •  RpcCloseDevice
  •  RpcGetSessionId
  •  RpcGetInterfaceGuids
  •  RpcGetClientDeviceId
Висит на ALPC Port RemoteDevicesLPC_API

IKEEXT.DLL RPC interfaces

IKE extension (еще бы я знал кто это и какое отношение имеет к икее)
IkeRpcIKE A398E520-D59A-4BDD-AA7A-3C1E0303A511 version 1.0
8 methods
  •  IkeRpcIkeGetStatistics
  •  IkeRpcIkeSACreateEnumHandle
  •  IkeRpcIkeSAEnum
  •  IkeRpcIkeSADestroyEnumHandle
  •  IkeRpcIkeSADeleteById
  •  IkeRpcIkeSAGetById
  •  IkeRpcIkeSaDbGetSecurityInfo
  •  IkeRpcIkeSaDbSetSecurityInfo
регистрируется в epmapper с annotation IKE/Authip API
Висит на следующих endpoints:
  • named pipe PIPE\atsvc
  • named pipe PIPE\srvsvc
  • ALPC Port IUserProfile2
  • ALPC Port senssvc
  • ALPC Port SECLOGON

пятница, 12 ноября 2010 г.

еще не все гении подохли

в стране вечного апартеида
А в небе луна. И видит Петр, что улыбка то у живого стоматолога стала злая.  
            - Почему ты смотришь на меня так злобно, живой стоматолог?
            Спросил живого стоматолога Петя.
            - Потому что я мертвый стоматолог. 
дико жжот гражданин

четверг, 11 ноября 2010 г.

wlanext.exe RPC interfaces

Windows Wireless LAN 802.11 Extensibility Framework
регистрируется в epmapper с annotation IhvExtRpcServer
ihvhandlers 98E96949-BC59-47F1-92D1-8C25B46F85C7 version 1.0
0xF methods
  • RpcDot11ExtIhvInitService
  • RpcDot11ExtIhvDeinitService
  • RpcDot11ExtIhvInitAdapter
  • RpcDot11ExtIhvDeinitAdapter
  • RpcDot11ExtIhvProcessSessionChange
  • RpcDot11ExtIhvIsUIRequestPending
  • RpcDot11ExtIhvPerformCapabilityMatch
  • RpcDot11ExtIhvValidateProfile
  • RpcDot11ExtIhvPerformPreAssociate
  • RpcDot11ExtIhvAdapterReset
  • RpcDot11ExtIhvCreateDiscoveryProfiles
  • RpcDot11ExtIhvProcessUIResponse
  • RpcDot11ExtIhvQueryUIRequest
  • RpcDot11ExtIhvOnexIndicateResult
  • RpcDot11ExtIhvControl

wlanmsm.dll RPC interfaces

Windows Wireless LAN 802.11 MSM DLL
регистрируется в epmapper с annotation IhvExtRpcServer
ihvmsmapi C3F42C6E-D4CC-4E5A-938B-9C5E8A5D8C2E version 1.0
0xC methods
  • RpcDot11ExtRegisterIhvProcess
  • RpcDot11ExtPreAssociateCompletion
  • RpcDot11ExtPostAssociateCompletion
  • RpcDot11ExtSendUIRequest
  • RpcDot11ExtSendNotification
  • RpcDot11ExtGetProfileCustomUserData
  • RpcDot11ExtSetProfileCustomUserData
  • RpcDot11ExtNotifyChangeState
  • RpcDot11ExtSetCurrentProfile
  • RpcDot11ExtStartOneX
  • RpcDot11ExtStopOneX
  • RpcDot11ExtProcessSecurityPacket

картинка для медитации-4

всегда полезно помнить что точек зрения на мир может быть больше одной:

среда, 10 ноября 2010 г.

bthserv.dll RPC interfaces

Bluetooth Support Service
BthServRPCService 2ACB9D68-B434-4B3E-B966-E06B4B3A84CB version 1.0
0x15 methods
  • BthServOpen
  • BthServClose
  • BthServRegisterAuthenticationEvent
  • BthServDeregisterAuthenticationEvent
  • BthServGetAuthRequest
  • BthServGetDeviceInfo
  • BthServSetDeviceName
  • BthServGetDeviceList
  • BthServActivateService
  • BthServUpdateService
  • BthServGetSdpRecord
  • BthServSetSdpRecord
  • BthServSetSdpRecordWithInfo
  • BthServRemoveSdpRecord
  • BthServEnableDiscovery
  • BthServUninstallDevice
  • BthServEirGetRecords
  • BthServEirSetRecord
  • BthServEirUpdateRecord
  • BthServEirRemoveRecord
  • BthServTestRegisterAuthenticationEvent
Висит на ALPC Port BthServEp

vaultsvc.dll RPC interfaces

Credential Manager Service
IVault BB8B98E8-84DD-45E7-9F34-C3FB6155EEED version 1.0
0x18 methods:
  • VltCreateItemType
  • VltDeleteItemType
  • VltEnumerateItemTypes
  • VltAddItem
  • VltFindItems
  • VltEnumerateItems
  • VltGetItem
  • VltRemoveItem
  • VltCopyItem
  • VltMoveItem
  • VltGetItemType
  • VltOpenVault
  • VltCloseVault
  • VltLockVault
  • VltUnlockVault
  • VltConfirmVaultAccess
  • VltGetInformation
  • VltSetInformation
  • VltCreateVault
  • VltCopyVault
  • VltDeleteVault
  • VltLoadVaults
  • VltUnloadVaults
  • VltEnumerateVaults
Имеет место быть на следующих endpoints:
  • named pipe PIPE\protected_storage
  • named pipe pipe\lsass
  • ALPC Port lsapolicylookup
  • ALPC Port securityevent
  • ALPC Port audit
  • ALPC Port protected_storage
  • ALPC Port LSARPC_ENDPOINT
  • ALPC Port lsasspirpc
  • ALPC Port samss lpc
  • ALPC Port Vault

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

vista sp2 & windows7 RPC interfaces

как самые прозорливые могли давно догадаться, многочисленные предыдущие простыни публиковались не просто так, а как запчасти к некоей более полной картине ужасного и страшного мира

Disclaimer

Есс-но все нижеописанное не является абсолютно полным и исчерпывающим списком всех возможных RPC интерфейсов windows. Соотв-но автор категорически не желает нести ответственность за допущенные неточности, ковырять неописанные интерфейсы, а также исправлять найденные ошибки и проч. и проч.
И вообще обновление данного списочка будет зависеть от вашего поведения например не менее 666 комментов и количества выпитого автором поить лучше всего Chivas Brothers Strathisla

Как эти данные были получены

Были взяты 2 свежепоставленные версии windows, а именно
  • vista ultimate sp2 32bit
  • windows7 home premium 32bit
на которых была запущена некая самописная тулза на основе rpcdump, но еще она умеет показывать процесс-владелец RPC endpoint (LPC порт, named pipe или сокет). Соотв-но так были получены списки rpc интерфейсов с их IID. Тулза непубличная и я вам ее не дам потому что вы все равно свиньи неблагодарные я вам ничего не должен например.
Далее на основе этих списков была запущена другая тулза (не менее непубличная), которая пыталась найти модуль, ответственный за регистрацию каждого из ранее найденных rpc интерфейсов. Поскольку она наверняка дико глючит и регулярно слушает радио радонеж, то модули нашлись далеко не все.
Далее был написан на perl crawler, который пытался через google найти описание найденных rpc интерфейсов - это было совершенно бесполезно, потому что кроме французов с http://www.hsc.fr/ressources/articles/win_net_srv/index.html эта тема похоже больше никем в этих ваших инторнетах не освещалась
Соотв-но для сборки всего вышеперечисленного был написан еще один perl script, которым уже и был сгенерирован

список

sysntfy.dll RPC interfaces

sysntfy.dll Windows Notifications Dynamic Link Library
Висит на следующих endpoints:

  • named pipe PIPE\atsvc
  • named pipe PIPE\srvsvc
  • named pipe \PIPE\protected_storage
  • named pipe pipe\lsass
  • named pipe \pipe\trkwks
  • ALPC Port LSMApi
  • ALPC Port protected_storage
  • ALPC Port audit
  • ALPC Port samss lpc
  • ALPC Port securityevent
  • ALPC Port IUserProfile2
  • ALPC Port senssvc
  • ALPC Port SECLOGON
  • ALPC Port trkwks
s_IRPCWinlogonNotifications C9AC6DB5-82B7-4E55-AE8A-E464ED7B4277 version 1.0
0xf methods:
  •  s_OnInitialConnection
  •  s_OnCreateSession
  •  s_OnStartScreenSaverAsDefaultUser
  •  s_OnStopScreenSaverAsDefaultUser
  •  s_OnLogon
  •  s_OnLock
  •  s_OnUnlock
  •  s_OnStartScreenSaverAsUser
  •  s_OnStopScreenSaverAsUser
  •  s_OnDisconnect
  •  s_OnReconnect
  •  s_OnLogoff
  •  s_OnTerminateSession
  •  s_OnStartShell
  •  s_OnEndShell

BFE.DLL RPC interfaces

BFE.DLL - Base Filtering Engine
BfeRpcBFE DD490425-5325-4565-B774-7E27D6C09C24 version 1.0
0x8e methods:
  •  BfeRpcGetNextNotificationBatch
  •  BfeRpcEngineOpen
  •  BfeRpcEngineClose
  •  BfeRpcEngineGetOption
  •  BfeRpcEngineSetOption
  •  BfeRpcEngineGetSecurityInfo
  •  BfeRpcEngineSetSecurityInfo
  •  BfeRpcSessionCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcSessionDestroyEnumHandle
  •  BfeRpcTransactionBegin
  •  BfeRpcTransactionCommit
  •  BfeRpcTransactionAbort
  •  BfeRpcProviderAdd
  •  BfeRpcProviderDeleteByKey
  •  BfeRpcProviderGetByKey
  •  BfeRpcProviderCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcProviderDestroyEnumHandle
  •  BfeRpcProviderGetSecurityInfoByKey
  •  BfeRpcProviderSetSecurityInfoByKey
  •  BfeRpcProviderSubscribeChanges
  •  BfeRpcProviderUnsubscribeChanges
  •  BfeRpcProviderSubscriptionsGet
  •  BfeRpcProviderContextAdd
  •  BfeRpcProviderContextDeleteById
  •  BfeRpcProviderContextDeleteByKey
  •  BfeRpcProviderContextGetById
  •  BfeRpcProviderContextGetByKey
  •  BfeRpcProviderContextCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcProviderContextDestroyEnumHandle
  •  BfeRpcProviderContextGetSecurityInfoByKey
  •  BfeRpcProviderContextSetSecurityInfoByKey
  •  BfeRpcProviderContextSubscribeChanges
  •  BfeRpcProviderContextUnsubscribeChanges
  •  BfeRpcProviderContextSubscriptionsGet
  •  BfeRpcSubLayerAdd
  •  BfeRpcSubLayerDeleteByKey
  •  BfeRpcSubLayerGetByKey
  •  BfeRpcSubLayerCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcSubLayerDestroyEnumHandle
  •  BfeRpcSubLayerGetSecurityInfoByKey
  •  BfeRpcSubLayerSetSecurityInfoByKey
  •  BfeRpcSubLayerSubscribeChanges
  •  BfeRpcSubLayerUnsubscribeChanges
  •  BfeRpcSubLayerSubscriptionsGet
  •  BfeRpcLayerGetById
  •  BfeRpcLayerGetByKey
  •  BfeRpcLayerCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcLayerDestroyEnumHandle
  •  BfeRpcLayerGetSecurityInfoByKey
  •  BfeRpcLayerSetSecurityInfoByKey
  •  BfeRpcCalloutAdd
  •  BfeRpcCalloutDeleteById
  •  BfeRpcCalloutDeleteByKey
  •  BfeRpcCalloutGetById
  •  BfeRpcCalloutGetByKey
  •  BfeRpcCalloutCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcCalloutDestroyEnumHandle
  •  BfeRpcCalloutGetSecurityInfoByKey
  •  BfeRpcCalloutSetSecurityInfoByKey
  •  BfeRpcCalloutSubscribeChanges
  •  BfeRpcCalloutUnsubscribeChanges
  •  BfeRpcCalloutSubscriptionsGet
  •  BfeRpcFilterAdd
  •  BfeRpcFilterDeleteById
  •  BfeRpcFilterDeleteByKey
  •  BfeRpcFilterGetById
  •  BfeRpcFilterGetByKey
  •  BfeRpcFilterCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcFilterDestroyEnumHandle
  •  BfeRpcFilterGetSecurityInfoByKey
  •  BfeRpcFilterSetSecurityInfoByKey
  •  BfeRpcFilterSubscribeChanges
  •  BfeRpcFilterUnsubscribeChanges
  •  BfeRpcFilterSubscriptionsGet
  •  BfeRpcBfeIPsecOffloadDone
  •  BfeRpcBfeIPsecDosFWUsed
  •  BfeRpcBfeIPsecGetStatistics
  •  BfeRpcBfeIPsecSaContextCreate
  •  BfeRpcBfeIPsecSaContextDeleteById
  •  BfeRpcBfeIPsecSaContextGetById
  •  BfeRpcBfeIPsecSaContextGetOrSetSpi
  •  BfeRpcBfeIPsecSaContextAddInbound
  •  BfeRpcBfeIPsecSaContextAddOutbound
  •  BfeRpcBfeIPsecSaContextUpdate
  •  BfeRpcBfeIPsecSaContextExpire
  •  BfeRpcBfeIPsecSaContextCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcBfeIPsecSaContextDestroyEnumHandle
  •  BfeRpcBfeIPsecSaCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcBfeIPsecSaDestroyEnumHandle
  •  BfeRpcBfeIPsecSaDbGetSecurityInfo
  •  BfeRpcBfeIPsecSaDbSetSecurityInfo
  •  BfeRpcBfeIPsecDospGetStatistics
  •  BfeRpcBfeIPsecDospStateCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcBfeIPsecDospStateDestroyEnumHandle
  •  BfeRpcBfeIPsecDospGetSecurityInfo
  •  BfeRpcBfeIPsecDospSetSecurityInfo
  •  BfeRpcNetEventCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcNetEventDestroyEnumHandle
  •  BfeRpcNetEventsGetSecurityInfo
  •  BfeRpcNetEventsSetSecurityInfo
  •  BfeRpcNetEventSubscribe
  •  BfeRpcNetEventUnsubscribe
  •  BfeRpcNetEventSubscriptionsGet
  •  BfeRpcNetEventsLost
  •  BfeRpcClassify
  •  BfeRpcAddLayerReplica
  •  BfeRpcDeleteLayerReplica
  •  BfeRpcSecureSocketAdd
  •  BfeRpcSecureSocketDeleteByKey
  •  BfeRpcBfeIPsecTunnelAdd
  •  BfeRpcBfeIPsecTunnelAddConditions
  •  BfeRpcSecureSocketDeleteByKey
  •  BfeRpcBfeIPsecSaInitiateAsync
  •  BfeRpcOpenToken
  •  BfeRpcCloseToken
  •  BfeRpcAleExplicitCredentialsQuery
  •  BfeRpcAleEndpointGetById
  •  BfeRpcAleEndpointCreateEnumHandle
  •  BfeRpcCalloutEnum
  •  BfeRpcNetEventDestroyEnumHandle
  •  BfeRpcAleEndpointGetSecurityInfo
  •  BfeRpcAleEndpointSetSecurityInfo
  •  BfeRpcAleGetPortStatus
  •  BfeRpcIsUserAuthConfigured
  •  BfeRpcKeyModuleAdd
  •  BfeRpcKeyModuleDeleteByKey
  •  BfeRpcKeyModuleUpdateAcquire
  •  BfeRpcBfeIPsecDriverInitiateAcquire
  •  BfeRpcBfeIPsecDriverExpire
  •  BfeRpcBfeIPsecDriverProcessClearTextResponse
  •  BfeRpcBfeProcessNameResolutionEvent

sysmain.dll RPC interfaces

sysmain.dll - Superfetch Service Host
Висит на следующих endpoints:
  • named pipe pipe\trkwks
  • ALPC Port trkwks
PfRpcServerSuperfetch B58AA02E-2884-4E97-8176-4EE06D794184 1.0
1 method:
  •  PfRpcServerExecuteCommand

umpo.dll RPC interfaces

umpo.dll - User-mode Power Service
Имеет место быть в windows7 на следующих endpoints:

  • ALPC Port umpo
  • ALPC Port plugplay
  • ALPC Port actkernel
umpoapi 6C9B7B96-45A8-4CCA-9EB3-E21CCF8B5A89 version 1.0
0x1c methods:
  •  UmpoRpcReadFromSystemPowerKey
  •  UmpoRpcReadFromUserPowerKey
  •  UmpoRpcReadACValue
  •  UmpoRpcReadDCValue
  •  UmpoRpcWriteToSystemPowerKey
  •  UmpoRpcWriteToUserPowerKey
  •  UmpoRpcApplyPowerRequestOverride
  •  UmpoRpcApplyPowerSettings
  •  UmpoRpcSetActiveScheme
  •  UmpoRpcGetActiveScheme
  •  UmpoRpcRestoreDefaultScheme
  •  UmpoRpcRestoreDefaultSchemesAll
  •  UmpoRpcDuplicateScheme
  •  UmpoRpcDeleteScheme
  •  UmpoRpcImportScheme
  •  UmpoRpcReplaceDefaultPowerSchemes
  •  UmpoRpcSettingRegisterNotification
  •  UmpoRpcSettingUnregisterNotification
  •  UmpoRpcLegacyEventRegisterNotification
  •  UmpoRpcEnumerate
  •  UmpoRpcReadSecurityDescriptor
  •  UmpoRpcWriteSecurityDescriptor
  •  UmpoRpcSettingAccessCheck
  •  UmpoRpcCreateSetting
  •  UmpoRpcCreatePossibleSetting
  •  UmpoRpcRemoveSetting
  •  UmpoRpcSetAlsBrightnessOffset
  •  UmpoRpcGetPlatformRole

emdmgmt.dll RPC interfaces

emdmgmt.dll - ReadyBoost Service
Имеет место в vista sp2 на следующих endpoints:
  • named pipe pipe\trkwks
  • ALPC Port trkwks
EmdService 654976DF-1498-4056-A15E-CB4E87584BD8 1.0
1 method
  •  EcRpcServerExecuteCommand
Название метода выглядит довольно многообещающим, хе-хе

appinfo.dll RPC interfaces

appinfo.dll - Application Information Service

IAisAxISInfo 58E604E8-9ADB-4D2E-A464-3B0683FB1480 version 1.0
1 method
 RAiGetTokenForAxIS
Имеет место быть только в windows7 на следующих endpoins:
  • ALPC Port senssvc
  • ALPC Port IUserProfile2
  • named pipe \PIPE\atsvc
  • named pipe PIPE\srvsvc
appinfo 201EF99A-7FA0-444C-9399-19BA84F12A1A 1.0
Под vista sp2 имеет 3 метода:

  • RAiLaunchAdminProcess
  • RAiProcessRunOnce
  • RAiOverrideDesktopPromptPolicy
Под windows7 имеет 4 метода:

  • RAiLaunchAdminProcess
  • RAiProcessRunOnce
  • RAiLogonWithSmartCardCreds
  • RAiOverrideDesktopPromptPolicy
Висит на следующих endpoins:
  • ALPC Port senssvc
  • ALPC Port IUserProfile2
  • ALPC Port SECLOGON
  • named pipe PIPE\atsvc
  • named pipe PIPE\srvsvc
Нижеописанные 2 интерфейса также висят на этих же endpoints

IAisCOMInfo 5F54CE7D-5B79-4175-8584-CB65313A0E98 1.0
1 method
  •  RAiGetTokenForCOM
IAisMSIInfo FD7A0523-DC70-43DD-9B2E-9C5ED48225B1 1.0
1 method
  •  RAiGetTokenForMSI

nrpsrv.dll RPC interfaces

nrpsrv.dll - Name Resolution Proxy (NRP) RPC interface
Имеет место быть под windows7 на следующих endpoints:
  • ALPC Port dhcpcsvc6
  • ALPC Port dhcpcsvc
  • ALPC Port eventlog
  • ALPC Port Audiosrv
  • ALPC Port AudioClientRpc
  • named pipe \pipe\eventlogr
NameResolutionProxy 30ADC50C-5CBC-46CE-9A0E-91914789E23C version 1.0
2 methods:
  •  RpcNrpGetAddrInfo
  •  RpcNrpGetNameInfo

pcasvc.dll RPC interfaces

pcasvc.dll - Program Compatibility Assistant Service
PcaSvc 0767A036-0D22-48AA-BA69-B619480F38CB version 1.0
8 methods:
  •  RAiNotifyLaunchProcess
  •  RAiTagUpdateProcess
  •  RAiTagDeprecatedComponentProcess
  •  RAiTagUndetectedInstallerProcess
  •  RAiNotifyUserCallbackExceptionProcess
  •  RAiListTrackedApplications
  •  RAiMonitorControlPanelApplet
  •  RAiNotifyFailedUninstall
Висит на ALPC port trkwks и на named pipe \pipe\trkwks

memory management in windows

сроду бы не поверил что на хабре опубликуют чо-нть полезное, но и на старуху бывает порнуха бывает оказывается и такое
раз
два
три
С верификацией написанного есть проблема - например самые свежие из доступных сорцов windows - WRK - как всем известно есть куски w2k3, а из более новых версий windows насколько я знаю в инет не попадало ничего. Так что проверить как оно там на самом деле - весьма утомительное дело на несколько недель в отладчике и дизассемблере
Но в качестве гипотезы - вполне годные статьи

пятница, 5 ноября 2010 г.

ubpm.dll RPC interfaces

ubpm.dll - Unified Background Process Manager DLL
Все описанные интерфейсы имеют место только в windows7 и висят на следующих endpoints:
  • ALPC port ubpmrpc
  • ALPC port ntsvcs
Что характерно - оба порта открыты процессом services.exe
ubpmtaskhostchannel 22716894-FD8E-4462-9783-09E6D9531F16 version 1.0
4 methods:
  •  s_UbpmRpcOpenTaskHostChannel
  •  s_UbpmRpcCloseTaskHostChannel
  •  s_UbpmRpcTaskHostSendResponseReceiveCommand
  •  s_UbpmRpcTaskHostReportTaskStatus
ubpmrpc 33511F95-5B84-4DCC-B6CC-3F4B21DA53E1 version 1.0
0xf methods:
  •  s_UbpmRpcOpenRootHandle
  •  s_UbpmRpcCloseRootHandle
  •  s_UbpmRpcRegisterTriggerProvider
  •  s_UbpmRpcOpenTriggerProvider
  •  s_UbpmRpcGenerateTrigger
  •  s_UbpmRpcGenerateNotification
  •  s_UbpmRpcUnregisterTriggerProvider
  •  s_UbpmRpcCloseProviderHandle
  •  s_UbpmRpcRegisterTriggerConsumer
  •  s_UbpmRpcUnregisterTriggerConsumer
  •  s_UbpmRpcCloseConsumerHandle
  •  s_UbpmRpcOpenTriggerConsumer
  •  s_UbpmRpcControlTriggerConsumer
  •  s_UbpmRpcQueryTriggerConsumerStatus
  •  s_UbpmRpcConfigureTriggerConsumer

winlogon.exe RPC interfaces

Все описанные интерфейсы висят на автогенеренном ALPC port с префиксом WMsgKRpc
ISecureDesktop 12E65DD8-887F-41EF-91BF-8D816C42C2E7 version 1.0
5 methods:
  •  WlSecureDesktoprPromptingRequest
  •  WlSecureDesktoprConfirmationRequest
  •  WlSecureDesktoprCredmanBackupRequest
  •  WlSecureDesktoprCredmanRestoreRequest
  •  WlSecureDesktoprSimulateSAS

WMsgAPIs 76F226C3-EC14-4325-8A99-6A46348418AF version 1.0
Кроме упомянутого выше имеет место на named pipe InitShutdown (в vista) и ALPC port WindowsShutdown
4 methods:
  •  I_WMsgSendMessage
  •  I_WMsgSendPSPMessage
  •  I_WMsgSendNotifyMessage
  •  I_WMsgSendReconnectionUpdateMessage

WMsgKAPIs 76F226C3-EC14-4325-8A99-6A46348418AE version 1.0
Кроме упомянутого выше имеет место на named pipe InitShutdown (в vista) и ALPC port WindowsShutdown
2 methods:
  •  I_WMsgkSendMessage
  •  I_WMsgSendPSPMessage

четверг, 4 ноября 2010 г.

Masterminds of Programming - uml

а вот давеча читаю снова subj - главу про шарлатанскую технологию UML:
The language is too complex.We need to change that. Eighty percent of all applications can be designed with less than 20% of UML. In my company we have defined a pure subset of UML to become the Ъ Essential Unified Modeling Language.We also use a very different way of describing UML that is much more attractive to ordinary users. Traditional UML is designed for methodologists or tool vendors.
I would love to restructure UML as a set of domain-specific languages (DSLs). I would like to do that similar to the way were designed the Unified Process in my company.A DSL is an aspect of a modeling language (of which UML is an example). You create your modeling language as a composition of many such DSLs (aspects) in a way similar to how you compose a software system from many cross-cutting concerns.While I claim that the language was not designed for users but for methodologists and for tool vendors, I claim it was not even good for the latter groups.The semantics of UML are poorly defined. UML—in particular, UML 2.0—has included so many constructs from so many different methodological camps that it became impossible to define its semantics clearly. Like many other languages, UML became, as John Backus said about Ada, “fat and flabby.”
The focus was on concrete syntax (icons) and to some extent on static semantics, but we left the operational semantics undefined. I expected that we would get this critique since standard language design practice at that time was to use techniques like denotational semantics. We didn’t. We just wrote page after page that we knew were very hard to understand.
(c) Ivar Jacobson, один из авторов аферы собс-но
Граждане дико жгут по моему. Кто такие эти мифические жывотные - methodologists ?

картинка для медитации-3

справочное пособие для гоп-стопщиков и пикаперов, бгг
via

среда, 3 ноября 2010 г.

MpSvc.dll RPC interfaces

запчасть от Windows Defender
Висит на автогенеренном ALPC port с префиксом IMpService
IMpService C503F532-443A-4C69-8300-CCD1FBDB3839 version 1.0
0x30 methods:
  • ServerMpEnableFeature
  • ServerMpDisableFeature
  • ServerMpFeatureQueryStatus
  • ServerMpEventOpen
  • ServerMpEventClose
  • ServerMpEventQueryNotification
  • ServerMpOnDemandStartScan
  • ServerMpOnDemandQueryNotification
  • ServerMpOnDemandQueryScanResult
  • ServerMpOnDemandCancelScan
  • ServerMpOnDemandPauseScan
  • ServerMpOnDemandResumeScan
  • ServerMpOnDemandPersistScan
  • ServerMpOnDemandOpenScan
  • ServerMpOnDemandCloseScan
  • ServerMpOnDemandThreatOpen
  • ServerMpOnDemandThreatEnum
  • ServerMpOnDemandThreatClose
  • ServerMpScanOpenHistory
  • ServerMpScanEnumerateHistory
  • ServerMpScanCloseHistory
  • ServerMpScanDeleteHistory
  • ServerMpScanCleanOpen
  • ServerMpScanCleanClose
  • ServerMpScanCleanSetAction
  • ServerMpScanCleanPrecheck
  • ServerMpScanCleanPrecheckNotification
  • ServerMpScanCleanThreats
  • ServerMpScanCleanThreatsNotification
  • ServerMpScanCleanQueryInfo
  • ServerMpQuarantineEnumOpen
  • ServerMpQuarantineEnumerate
  • ServerMpQuarantineEnumClose
  • ServerMpQuarantineQueryInfo
  • ServerMpQuarantineRestoreThreat - вот этот метод кажется мне особенно многообещающим :-)
  • ServerMpQuarantineDeleteThreat
  • ServerMpQueryEngineVersion
  • ServerMpUpdateEngineSignature
  • ServerMpRollbackEngineSignature
  • ServerMpScanGenerateReport
  • ServerMpThreatStaticInfo
  • ServerMpQuerySystemInfo
  • ServerMpRpcConfigSetValue
  • ServerMpRpcConfigDelValue
  • ServerMpRpcElevationHandleOpen
  • ServerMpRpcElevationHandleAttach
  • ServerMpRpcElevationHandleClose
  • ServerMpRpcElevateCleanHandle

вторник, 2 ноября 2010 г.

понедельник, 1 ноября 2010 г.

vista ws2_32.dll self-checking

Нашел тут под вистой sp2 32bit дико угарный кусок кода в ws2_32.dll - в ф-ции CheckForHookersOrChainers (вызываемой из WSAStartup):

                mov     eax, offset off_4B0F5510 ; указатель на таблицу имен
exported functions
                xor     esi, esi
loc_4B0DC7A2:
                push    dword ptr [eax] ; lpProcName
                push    ?gDllHandle@@3PAUHINSTANCE__@@A ; hModule
                call    ds:__imp__GetProcAddress@8 

                test    eax, eax
                jz      loc_4B0DA7A1
                cmp     eax, ?apfns@@3PAPAXA[esi] ; указатель на таблицу адресов exported functions
                jnz     loc_4B0DA7A1
                inc     edi
                mov     esi, edi
                shl     esi, 2
                lea     eax, off_4B0F5510[esi]
                cmp     dword ptr [eax], 0
                jnz     short loc_4B0DC7A2

Собственно все понятно - проверка на угон IAT, если имя или адрес, полученный через GetProcAddress не совпали - возвращаем -1 и WSAStartup в свою очередь вернет 10091 (WSASYSNOTREADY)
Угар в том что если пропатчить IAT после вызова WSAStartup - ничего больше не проверится
Ну и традиционно этот массив ?apfns@@3PAPAXA (бгг) не экспортируется, так что юзер лишен воможности запустить проверку IAT в любое другое время