147 lines
3.7 KiB
C
147 lines
3.7 KiB
C
#include "utilsSSP.h"
|
|
|
|
typedef NTSTATUS(WINAPI* KerbMakeKdcCall_t)(PVOID a, PVOID b, PVOID c);
|
|
|
|
KerbMakeKdcCall_t Original_KerbMakeKdcCall = NULL;
|
|
|
|
NTSTATUS NTAPI Rublon_ap_SpLogonUserEx2(
|
|
PLSA_CLIENT_REQUEST ClientRequest,
|
|
SECURITY_LOGON_TYPE LogonType,
|
|
PVOID ProtocolSubmitBuffer,
|
|
PVOID ClientBufferBase,
|
|
ULONG SubmitBufferSize,
|
|
PVOID* ProfileBuffer,
|
|
PULONG ProfileBufferSize,
|
|
PLUID LogonId,
|
|
PNTSTATUS SubStatus,
|
|
PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
|
|
PVOID* TokenInformation,
|
|
PUNICODE_STRING* AccountName,
|
|
PUNICODE_STRING* AuthenticatingAuthority,
|
|
PUNICODE_STRING* MachineName,
|
|
PSECPKG_PRIMARY_CRED PrimaryCredentials,
|
|
PSECPKG_SUPPLEMENTAL_CRED_ARRAY* SupplementalCredentials
|
|
);
|
|
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpLsaModeInitialize(
|
|
ULONG LsaVersion,
|
|
PULONG PackageVersion,
|
|
PSECPKG_FUNCTION_TABLE* ppTables,
|
|
PULONG pcTables
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpInitialize(
|
|
ULONG_PTR PackageId,
|
|
PSECPKG_PARAMETERS Parameters,
|
|
PLSA_SECPKG_FUNCTION_TABLE FunctionTable
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpGetInfo(
|
|
PSecPkgInfoW PackageInfo
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpShutDown(
|
|
void
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpAcceptSecurityContext(
|
|
LSA_SEC_HANDLE CredentialHandle,
|
|
LSA_SEC_HANDLE ContextHandle,
|
|
PSecBufferDesc InputBuffer,
|
|
ULONG ContextRequirements,
|
|
ULONG TargetDataRep,
|
|
PLSA_SEC_HANDLE NewContextHandle,
|
|
PSecBufferDesc OutputBuffer,
|
|
PULONG ContextAttributes,
|
|
PTimeStamp ExpirationTime,
|
|
PBOOLEAN MappedContext,
|
|
PSecBuffer ContextData
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpAcceptCredentials(
|
|
SECURITY_LOGON_TYPE LogonType,
|
|
PUNICODE_STRING AccountName,
|
|
PSECPKG_PRIMARY_CRED PrimaryCredentials,
|
|
PSECPKG_SUPPLEMENTAL_CRED SupplementalCredentials
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpAcquireCredentialsHandle(
|
|
PUNICODE_STRING PrincipalName,
|
|
ULONG CredentialUseFlags,
|
|
PLUID LogonId,
|
|
PVOID AuthorizationData,
|
|
PVOID GetKeyFn,
|
|
PVOID GetKeyArgument,
|
|
PLSA_SEC_HANDLE CredentialHandle,
|
|
PTimeStamp ExpirationTime
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpInitLsaModeContext(
|
|
LSA_SEC_HANDLE CredentialHandle,
|
|
LSA_SEC_HANDLE ContextHandle,
|
|
PUNICODE_STRING TargetName,
|
|
ULONG ContextRequirements,
|
|
ULONG TargetDataRep,
|
|
PSecBufferDesc InputBuffers,
|
|
PLSA_SEC_HANDLE NewContextHandle,
|
|
PSecBufferDesc OutputBuffers,
|
|
PULONG ContextAttributes,
|
|
PTimeStamp ExpirationTime,
|
|
PBOOLEAN MappedContext,
|
|
PSecBuffer ContextData
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_SpAcceptLsaModeContext(
|
|
LSA_SEC_HANDLE CredentialHandle,
|
|
LSA_SEC_HANDLE ContextHandle,
|
|
PSecBufferDesc InputBuffer,
|
|
ULONG ContextRequirements,
|
|
ULONG TargetDataRep,
|
|
PLSA_SEC_HANDLE NewContextHandle,
|
|
PSecBufferDesc OutputBuffer,
|
|
PULONG ContextAttributes,
|
|
PTimeStamp ExpirationTime,
|
|
PBOOLEAN MappedContext,
|
|
PSecBuffer ContextData
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_LsaApLogonUserEx(
|
|
PLSA_CLIENT_REQUEST ClientRequest,
|
|
SECURITY_LOGON_TYPE LogonType,
|
|
PVOID ProtocolSubmitBuffer,
|
|
PVOID* ProfileBuffer,
|
|
PULONG ProfileBufferLength,
|
|
PLUID LogonId,
|
|
PNTSTATUS SubStatus,
|
|
PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
|
|
PVOID* TokenInformation,
|
|
PUNICODE_STRING* AccountName,
|
|
PUNICODE_STRING* AuthenticatingAuthority
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_LsaApLogonUser(
|
|
PLSA_CLIENT_REQUEST ClientRequest,
|
|
SECURITY_LOGON_TYPE LogonType,
|
|
PVOID ProtocolSubmitBuffer,
|
|
PVOID ClientBufferBase,
|
|
ULONG SubmitBufferLength,
|
|
PVOID* ProfileBuffer,
|
|
PULONG ProfileBufferLength,
|
|
PLUID LogonId,
|
|
PNTSTATUS SubStatus,
|
|
PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
|
|
PVOID* TokenInformation,
|
|
PLSA_UNICODE_STRING* AccountName,
|
|
PLSA_UNICODE_STRING* AuthenticatingAuthority
|
|
);
|
|
|
|
NTSTATUS NTAPI Rublon_ssp_LsaApInitializePackage(
|
|
ULONG AuthenticationPackageId,
|
|
PLSA_DISPATCH_TABLE LsaDispatchTable,
|
|
PSTRING Database,
|
|
PSTRING Confidentiality,
|
|
PSTRING* PackageName
|
|
);
|
|
|
|
NTSTATUS WINAPI Hooked_KerbMakeKdcCall(PVOID a, PVOID b, PVOID c); |