mirror of
https://github.com/gentilkiwi/mimikatz
synced 2025-02-20 19:56:48 +00:00
62 lines
2.6 KiB
C
62 lines
2.6 KiB
C
/* Benjamin DELPY `gentilkiwi`
|
|
http://blog.gentilkiwi.com
|
|
benjamin@gentilkiwi.com
|
|
Licence : http://creativecommons.org/licenses/by/3.0/fr/
|
|
*/
|
|
#pragma once
|
|
#include "../utils.h"
|
|
|
|
typedef PVOID SAMPR_HANDLE;
|
|
|
|
typedef enum _USER_INFORMATION_CLASS {
|
|
UserInternal1Information = 18,
|
|
UserAllInformation = 21,
|
|
} USER_INFORMATION_CLASS, *PUSER_INFORMATION_CLASS;
|
|
|
|
typedef struct _SAMPR_USER_INTERNAL1_INFORMATION {
|
|
BYTE NTHash[LM_NTLM_HASH_LENGTH];
|
|
BYTE LMHash[LM_NTLM_HASH_LENGTH];
|
|
BYTE NtPasswordPresent;
|
|
BYTE LmPasswordPresent;
|
|
BYTE PasswordExpired;
|
|
BYTE PrivateDataSensitive;
|
|
} SAMPR_USER_INTERNAL1_INFORMATION, *PSAMPR_USER_INTERNAL1_INFORMATION;
|
|
|
|
typedef union _SAMPR_USER_INFO_BUFFER {
|
|
SAMPR_USER_INTERNAL1_INFORMATION Internal1;
|
|
} SAMPR_USER_INFO_BUFFER, *PSAMPR_USER_INFO_BUFFER;
|
|
|
|
typedef struct _LSA_SUPCREDENTIAL {
|
|
DWORD type;
|
|
DWORD size;
|
|
DWORD offset;
|
|
DWORD Reserved;
|
|
} LSA_SUPCREDENTIAL, *PLSA_SUPCREDENTIAL;
|
|
|
|
typedef struct _LSA_SUPCREDENTIALS {
|
|
DWORD count;
|
|
DWORD Reserved;
|
|
} LSA_SUPCREDENTIALS, *PLSA_SUPCREDENTIALS;
|
|
|
|
typedef struct _LSA_SUPCREDENTIALS_BUFFERS {
|
|
LSA_SUPCREDENTIAL credential;
|
|
NTSTATUS status;
|
|
PVOID Buffer;
|
|
} LSA_SUPCREDENTIALS_BUFFERS, *PLSA_SUPCREDENTIALS_BUFFERS;
|
|
|
|
extern NTSTATUS WINAPI SamIConnect(IN PUNICODE_STRING ServerName, OUT SAMPR_HANDLE * ServerHandle, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Trusted);
|
|
extern NTSTATUS WINAPI SamrCloseHandle(IN SAMPR_HANDLE SamHandle);
|
|
|
|
extern NTSTATUS WINAPI LsaIQueryInformationPolicyTrusted(IN POLICY_INFORMATION_CLASS InformationClass, OUT PVOID *Buffer);
|
|
extern VOID WINAPI LsaIFree_LSAPR_POLICY_INFORMATION(IN POLICY_INFORMATION_CLASS InformationClass, IN PVOID Buffer);
|
|
|
|
extern NTSTATUS WINAPI SamIRetrievePrimaryCredentials(IN SAMPR_HANDLE UserHandle, IN LSA_UNICODE_STRING *Name, OUT LPVOID *Buffer, OUT DWORD *BufferSize);
|
|
|
|
extern NTSTATUS WINAPI SamrOpenDomain(IN SAMPR_HANDLE SamHandle, IN ACCESS_MASK DesiredAccess, IN PSID DomainId, OUT SAMPR_HANDLE *DomainHandle);
|
|
extern NTSTATUS WINAPI SamrOpenUser(IN SAMPR_HANDLE DomainHandle, IN ACCESS_MASK DesiredAccess, IN DWORD UserId, OUT SAMPR_HANDLE *UserHandle);
|
|
extern NTSTATUS WINAPI SamrQueryInformationUser(IN SAMPR_HANDLE UserHandle, IN USER_INFORMATION_CLASS UserInformationClass, OUT PSAMPR_USER_INFO_BUFFER *Buffer);
|
|
extern VOID WINAPI SamIFree_SAMPR_USER_INFO_BUFFER(IN PSAMPR_USER_INFO_BUFFER, IN USER_INFORMATION_CLASS UserInformationClass);
|
|
|
|
extern VOID WINAPI RtlInitUnicodeString(OUT PUNICODE_STRING DestinationString, IN PCWSTR SourceString);
|
|
|
|
DWORD WINAPI kuhl_sekurlsa_samsrv_thread(PREMOTE_LIB_FUNC lpParameter); |