Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

rpcinterface_123456781234abcdef0001234567cffb_1_0

import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/12345678-1234-abcd-ef00-01234567cffb/1.0"

Package rpcinterface_123456781234abcdef0001234567cffb_1_0 is the descriptor for the Netlogon (logon) RPC interface, abstract syntax 12345678-1234-abcd-ef00-01234567cffb version 1.0 ([MS-NRPC]).

An RPC interface is identified by its UUID and version, never by the named pipe it is reached over. This package holds only the interface-level descriptor (abstract syntax, transport endpoint, opnums, opnum<->name maps, status and negotiate-flag constants). NDR types live in windows/protocols/ms-nrpc and method stubs in functions; both depend on this package, never the reverse.

Index

Constants

Opnums for the on-the-wire methods. Opnums 50, 51, 52, 53, 54, 55, 56, 57, 58 are “not used on the wire” and are omitted.

const (
    OpnumNetrLogonUasLogon                   uint16 = 0
    OpnumNetrLogonUasLogoff                  uint16 = 1
    OpnumNetrLogonSamLogon                   uint16 = 2
    OpnumNetrLogonSamLogoff                  uint16 = 3
    OpnumNetrServerReqChallenge              uint16 = 4
    OpnumNetrServerAuthenticate              uint16 = 5
    OpnumNetrServerPasswordSet               uint16 = 6
    OpnumNetrDatabaseDeltas                  uint16 = 7
    OpnumNetrDatabaseSync                    uint16 = 8
    OpnumNetrAccountDeltas                   uint16 = 9
    OpnumNetrAccountSync                     uint16 = 10
    OpnumNetrGetDCName                       uint16 = 11
    OpnumNetrLogonControl                    uint16 = 12
    OpnumNetrGetAnyDCName                    uint16 = 13
    OpnumNetrLogonControl2                   uint16 = 14
    OpnumNetrServerAuthenticate2             uint16 = 15
    OpnumNetrDatabaseSync2                   uint16 = 16
    OpnumNetrDatabaseRedo                    uint16 = 17
    OpnumNetrLogonControl2Ex                 uint16 = 18
    OpnumNetrEnumerateTrustedDomains         uint16 = 19
    OpnumDsrGetDcName                        uint16 = 20
    OpnumNetrLogonGetCapabilities            uint16 = 21
    OpnumNetrLogonSetServiceBits             uint16 = 22
    OpnumNetrLogonGetTrustRid                uint16 = 23
    OpnumNetrLogonComputeServerDigest        uint16 = 24
    OpnumNetrLogonComputeClientDigest        uint16 = 25
    OpnumNetrServerAuthenticate3             uint16 = 26
    OpnumDsrGetDcNameEx                      uint16 = 27
    OpnumDsrGetSiteName                      uint16 = 28
    OpnumNetrLogonGetDomainInfo              uint16 = 29
    OpnumNetrServerPasswordSet2              uint16 = 30
    OpnumNetrServerPasswordGet               uint16 = 31
    OpnumNetrLogonSendToSam                  uint16 = 32
    OpnumDsrAddressToSiteNamesW              uint16 = 33
    OpnumDsrGetDcNameEx2                     uint16 = 34
    OpnumNetrLogonGetTimeServiceParentDomain uint16 = 35
    OpnumNetrEnumerateTrustedDomainsEx       uint16 = 36
    OpnumDsrAddressToSiteNamesExW            uint16 = 37
    OpnumDsrGetDcSiteCoverageW               uint16 = 38
    OpnumNetrLogonSamLogonEx                 uint16 = 39
    OpnumDsrEnumerateDomainTrusts            uint16 = 40
    OpnumDsrDeregisterDnsHostRecords         uint16 = 41
    OpnumNetrServerTrustPasswordsGet         uint16 = 42
    OpnumDsrGetForestTrustInformation        uint16 = 43
    OpnumNetrGetForestTrustInformation       uint16 = 44
    OpnumNetrLogonSamLogonWithFlags          uint16 = 45
    OpnumNetrServerGetTrustInfo              uint16 = 46
    OpnumUnused47                            uint16 = 47
    OpnumDsrUpdateReadOnlyServerDnsRecords   uint16 = 48
    OpnumNetrChainSetClientAttributes        uint16 = 49
    OpnumNetrServerAuthenticateKerberos      uint16 = 59
)

NTSTATUS values returned by Netlogon methods ([MS-ERREF] 2.3). Netlogon returns NTSTATUS (not the Win32 error_status_t that MS-RRP uses). StatusSuccess is the canonical success value; StatusAccessDenied is what the server returns for a rejected secure-channel credential.

const (
    StatusSuccess           uint32 = 0x00000000 // STATUS_SUCCESS
    StatusInvalidParameter  uint32 = 0xC000000D // STATUS_INVALID_PARAMETER
    StatusAccessDenied      uint32 = 0xC0000022 // STATUS_ACCESS_DENIED
    StatusNoSuchUser        uint32 = 0xC0000064 // STATUS_NO_SUCH_USER
    StatusNoTrustSAMAccount uint32 = 0xC000018B // STATUS_NO_TRUST_SAM_ACCOUNT
    StatusNotSupported      uint32 = 0xC00000BB // STATUS_NOT_SUPPORTED
    StatusMoreEntries       uint32 = 0x00000105 // STATUS_MORE_ENTRIES
    StatusNoMoreEntries     uint32 = 0x8000001A // STATUS_NO_MORE_ENTRIES
    StatusDowngradeDetected uint32 = 0xC0000388 // STATUS_DOWNGRADE_DETECTED
)

Netlogon negotiate option bits ([MS-NRPC] 3.1.4.2), one per capability letter (A–Z). A client advertises the set it supports in the NegotiateFlags argument of NetrServerAuthenticate2/3; the server echoes back the subset it agrees to.

const (
    NegotiateAccountLockout             uint32 = 0x00000001 // A
    NegotiateNT35BDCContinuousUpdate    uint32 = 0x00000002 // B
    NegotiateRC4                        uint32 = 0x00000004 // C
    NegotiatePromotionCount             uint32 = 0x00000008 // D
    NegotiateBDCHandlingChangelogs      uint32 = 0x00000010 // E
    NegotiateRestartFullDCSync          uint32 = 0x00000020 // F
    NegotiateNoValidationLevel2         uint32 = 0x00000040 // G
    NegotiateDatabaseRedo               uint32 = 0x00000080 // H
    NegotiateRefusePasswordChange       uint32 = 0x00000100 // I
    NegotiateSendToSAM                  uint32 = 0x00000200 // J
    NegotiateGenericPassThrough         uint32 = 0x00000400 // K
    NegotiateConcurrentRPC              uint32 = 0x00000800 // L
    NegotiateAvoidUserAccountDBRepl     uint32 = 0x00001000 // M
    NegotiateAvoidSecurityAuthorityRepl uint32 = 0x00002000 // N
    NegotiateStrongKeys                 uint32 = 0x00004000 // O
    NegotiateTransitiveTrusts           uint32 = 0x00008000 // P
    NegotiateDNSTrusts                  uint32 = 0x00010000 // Q
    NegotiatePasswordSet2               uint32 = 0x00020000 // R
    NegotiateGetDomainInfo              uint32 = 0x00040000 // S
    NegotiateCrossForestTrusts          uint32 = 0x00080000 // T
    NegotiateNoNT4Emulation             uint32 = 0x00100000 // U
    NegotiateRODCPassThrough            uint32 = 0x00200000 // V
    NegotiateAES                        uint32 = 0x01000000 // W (AES-128 CFB8 + SHA2)
    NegotiateAuthenticatedRPCViaLSASS   uint32 = 0x20000000 // X
    NegotiateSecureRPC                  uint32 = 0x40000000 // Y
    NegotiateKerberosForSecureChannel   uint32 = 0x80000000 // Z
)

PipeName is the IPC$-relative named pipe for the Netlogon interface ([MS-NRPC] 2.1: the Netlogon server listens on the \PIPE\netlogon endpoint over ncacn_np). Netlogon is also reachable over ncacn_ip_tcp at a dynamic port resolved through the endpoint mapper.

const PipeName = `\netlogon`

Variables

NameToOpnum is the reverse of OpnumToName, built at init so the two never drift.

var NameToOpnum = func() map[string]uint16 {
    m := make(map[string]uint16, len(OpnumToName))
    for op, name := range OpnumToName {
        m[name] = op
    }
    return m
}()

OpnumToName maps each on-the-wire opnum to its method name; the single source of truth.

var OpnumToName = map[uint16]string{
    OpnumNetrLogonUasLogon:                   "NetrLogonUasLogon",
    OpnumNetrLogonUasLogoff:                  "NetrLogonUasLogoff",
    OpnumNetrLogonSamLogon:                   "NetrLogonSamLogon",
    OpnumNetrLogonSamLogoff:                  "NetrLogonSamLogoff",
    OpnumNetrServerReqChallenge:              "NetrServerReqChallenge",
    OpnumNetrServerAuthenticate:              "NetrServerAuthenticate",
    OpnumNetrServerPasswordSet:               "NetrServerPasswordSet",
    OpnumNetrDatabaseDeltas:                  "NetrDatabaseDeltas",
    OpnumNetrDatabaseSync:                    "NetrDatabaseSync",
    OpnumNetrAccountDeltas:                   "NetrAccountDeltas",
    OpnumNetrAccountSync:                     "NetrAccountSync",
    OpnumNetrGetDCName:                       "NetrGetDCName",
    OpnumNetrLogonControl:                    "NetrLogonControl",
    OpnumNetrGetAnyDCName:                    "NetrGetAnyDCName",
    OpnumNetrLogonControl2:                   "NetrLogonControl2",
    OpnumNetrServerAuthenticate2:             "NetrServerAuthenticate2",
    OpnumNetrDatabaseSync2:                   "NetrDatabaseSync2",
    OpnumNetrDatabaseRedo:                    "NetrDatabaseRedo",
    OpnumNetrLogonControl2Ex:                 "NetrLogonControl2Ex",
    OpnumNetrEnumerateTrustedDomains:         "NetrEnumerateTrustedDomains",
    OpnumDsrGetDcName:                        "DsrGetDcName",
    OpnumNetrLogonGetCapabilities:            "NetrLogonGetCapabilities",
    OpnumNetrLogonSetServiceBits:             "NetrLogonSetServiceBits",
    OpnumNetrLogonGetTrustRid:                "NetrLogonGetTrustRid",
    OpnumNetrLogonComputeServerDigest:        "NetrLogonComputeServerDigest",
    OpnumNetrLogonComputeClientDigest:        "NetrLogonComputeClientDigest",
    OpnumNetrServerAuthenticate3:             "NetrServerAuthenticate3",
    OpnumDsrGetDcNameEx:                      "DsrGetDcNameEx",
    OpnumDsrGetSiteName:                      "DsrGetSiteName",
    OpnumNetrLogonGetDomainInfo:              "NetrLogonGetDomainInfo",
    OpnumNetrServerPasswordSet2:              "NetrServerPasswordSet2",
    OpnumNetrServerPasswordGet:               "NetrServerPasswordGet",
    OpnumNetrLogonSendToSam:                  "NetrLogonSendToSam",
    OpnumDsrAddressToSiteNamesW:              "DsrAddressToSiteNamesW",
    OpnumDsrGetDcNameEx2:                     "DsrGetDcNameEx2",
    OpnumNetrLogonGetTimeServiceParentDomain: "NetrLogonGetTimeServiceParentDomain",
    OpnumNetrEnumerateTrustedDomainsEx:       "NetrEnumerateTrustedDomainsEx",
    OpnumDsrAddressToSiteNamesExW:            "DsrAddressToSiteNamesExW",
    OpnumDsrGetDcSiteCoverageW:               "DsrGetDcSiteCoverageW",
    OpnumNetrLogonSamLogonEx:                 "NetrLogonSamLogonEx",
    OpnumDsrEnumerateDomainTrusts:            "DsrEnumerateDomainTrusts",
    OpnumDsrDeregisterDnsHostRecords:         "DsrDeregisterDnsHostRecords",
    OpnumNetrServerTrustPasswordsGet:         "NetrServerTrustPasswordsGet",
    OpnumDsrGetForestTrustInformation:        "DsrGetForestTrustInformation",
    OpnumNetrGetForestTrustInformation:       "NetrGetForestTrustInformation",
    OpnumNetrLogonSamLogonWithFlags:          "NetrLogonSamLogonWithFlags",
    OpnumNetrServerGetTrustInfo:              "NetrServerGetTrustInfo",
    OpnumUnused47:                            "OpnumUnused47",
    OpnumDsrUpdateReadOnlyServerDnsRecords:   "DsrUpdateReadOnlyServerDnsRecords",
    OpnumNetrChainSetClientAttributes:        "NetrChainSetClientAttributes",
    OpnumNetrServerAuthenticateKerberos:      "NetrServerAuthenticateKerberos",
}

func StatusString

func StatusString(status uint32) string

StatusString returns a mnemonic for the documented status codes, otherwise the hex value.

func SyntaxID

func SyntaxID() syntax.SyntaxID

SyntaxID returns the logon abstract syntax identifier: 12345678-1234-abcd-ef00-01234567cffb, version 1.0.

Subpackages