Documentation
¶
Overview ¶
nolint
nolint
Index ¶
- func NewExecer(cfg *WmiExecConfig) *wmiExecer
- func WMIExec(target, username, password, hash, domain, command, clientHostname string, ...) error
- type ActivationContextInfo
- type CUSTOMOBJREF
- type ClsId
- type CommonTypeHeader
- type CustomHeader
- type DCOMORPCThis
- type DCOMOXIDResolver
- type DCOMSecurityBinding
- type DCOMStringBinding
- type IAct2Properties
- type IActProperties
- type IActProperties2
- type InstantiationInfo
- type LocationInfo
- type OBJREF
- type PacketDCOMMemRelease
- type PacketDCOMRemQueryInterface
- type PacketDCOMRemoteInstance
- type PrivateHeader
- type ScmRequestInfo
- type SecurityInfo
- type SpecialSystemProperties
- type WmiExecConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecer ¶
func NewExecer(cfg *WmiExecConfig) *wmiExecer
Types ¶
type ActivationContextInfo ¶
type ActivationContextInfo struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
ClientOk uint32
Reserved uint32
Reserved2 uint32
Reserved3 uint32
ClientPtrReferentID uint32
NULLPtr uint32
ClientPtrClientContextUnknown uint32
ClientPtrClientContextCntData uint32
ClientPtrClientContextOBJREFSignature uint32
ClientPtrClientContextOBJREFFlags uint32
ClientPtrClientContextOBJREFIID [16]byte
ClientPtrClientContextOBJREFCUSTOMOBJREFCLSID [16]byte
ClientPtrClientContextOBJREFCUSTOMOBJREFCBExtension uint32
ClientPtrClientContextOBJREFCUSTOMOBJREFSize uint32
UnusedBuffer [48]byte
}
type CUSTOMOBJREF ¶
type CUSTOMOBJREF struct {
CLSID [16]byte
CBExtension uint32
Size uint32
IActProperties IActProperties2
}
func (CUSTOMOBJREF) Bytes ¶
func (i CUSTOMOBJREF) Bytes() []byte
type ClsId ¶
type ClsId struct {
PtrReferentID uint32
PtrSizesReferentID uint32
NULLPointer uint32
PtrMaxCount uint32
PtrPropertyStructGUID [16]byte
PtrPropertyStructGUID2 [16]byte
PtrPropertyStructGUID3 [16]byte
PtrPropertyStructGUID4 [16]byte
PtrPropertyStructGUID5 [16]byte
PtrPropertyStructGUID6 [16]byte
SizesPtrMaxCount uint32
SizesPtrPropertyDataSize uint32
SizesPtrPropertyDataSize2 uint32
SizesPtrPropertyDataSize3 uint32
SizesPtrPropertyDataSize4 uint32
SizesPtrPropertyDataSize5 uint32
SizesPtrPropertyDataSize6 uint32
}
type CommonTypeHeader ¶
type CommonTypeHeader struct {
Version byte
Endianness byte
CommonHeaderLength uint16
Filler uint32
}
func NewCommonHeader1 ¶
func NewCommonHeader1(endian int) CommonTypeHeader
type CustomHeader ¶
type CustomHeader struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
TotalSize uint32
CustomHeaderSize uint32
Reserved uint32
DestinationContext uint32
NumActivationProptertyStructs uint32
ClassInfoClsid [16]byte
ClsId ClsId
}
type DCOMORPCThis ¶
type DCOMOXIDResolver ¶
type DCOMOXIDResolver struct {
VersionMajor uint16
VersionMinor uint16
Unknown [8]byte
NumEntries uint16
SecurityOffset uint16
StringBindings []DCOMStringBinding
SecurityBindings []DCOMSecurityBinding
Unknown2 [8]byte
}
func NewDCOMOXIDResolver ¶
func NewDCOMOXIDResolver(b []byte) DCOMOXIDResolver
type DCOMSecurityBinding ¶
type DCOMStringBinding ¶
type IAct2Properties ¶
type IAct2Properties struct {
SpecialSystemProperties SpecialSystemProperties
InstantiationInfo InstantiationInfo
ActivationContextInfo ActivationContextInfo
SecurityInfo SecurityInfo
LocationInfo LocationInfo
ScmRequestInfo ScmRequestInfo
}
type IActProperties ¶
func (IActProperties) Bytes ¶
func (i IActProperties) Bytes() []byte
type IActProperties2 ¶
type IActProperties2 struct {
TotalSize uint32
Reserved uint32
CustomHeader CustomHeader
Properties IAct2Properties
}
idk man, I'm doing this from the wireshark dissection, not the standard ok
func (IActProperties2) Bytes ¶
func (i IActProperties2) Bytes() []byte
type InstantiationInfo ¶
type InstantiationInfo struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
InstantiatedObjectClsId [16]byte
ClassContext,
ActivationFlags,
FlagsSurrogate,
InterfaceIdCount,
InstantiationFlag,
InterfaceIdsPtr,
EntirePropertySize uint32
VersionMajor, VersionMinor uint16
InterfaceIdsMaxCount uint32
InterfaceIds [16]byte
UnusedBuffer uint32
}
type LocationInfo ¶
type LocationInfo struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
NULLPtr uint32
ProcessID uint32
ApartmentID uint32
ContextID uint32
}
type OBJREF ¶
type OBJREF struct {
Signature uint32
Flags uint32
IID [16]byte
CUSTOMOBJREF CUSTOMOBJREF
}
type PacketDCOMMemRelease ¶
type PacketDCOMMemRelease struct {
VersionMajor uint16
VersionMinor uint16
Flags uint32
Reserved uint32
CausalityID [16]byte
Reserved2 uint32
Unknown uint32
InterfaceRefs uint32
IPID [16]byte
PublicRefs uint32
PrivateRefs uint32
PublicRefs2 uint32
PrivateRefs2 uint32
// contains filtered or unexported fields
}
func NewPacketDCOMMemRelease ¶
func NewPacketDCOMMemRelease(causality, ipid, ipid2 []byte) PacketDCOMMemRelease
func (PacketDCOMMemRelease) Bytes ¶
func (p PacketDCOMMemRelease) Bytes() []byte
type PacketDCOMRemQueryInterface ¶
type PacketDCOMRemQueryInterface struct {
VersionMajor uint16
VersionMinor uint16
Flags uint32
Reserved uint32
CausalityID [16]byte
Reserved2 uint32
IPID [16]byte
Refs uint32
IIDs uint16
Unknown [6]byte
IID [16]byte
}
func NewPacketDCOMRemQueryInterface ¶
func NewPacketDCOMRemQueryInterface(causalityID, IPID, IID []byte) PacketDCOMRemQueryInterface
func (PacketDCOMRemQueryInterface) Bytes ¶
func (p PacketDCOMRemQueryInterface) Bytes() []byte
type PacketDCOMRemoteInstance ¶
type PacketDCOMRemoteInstance struct {
/*
DCOMVersionMajor uint16
DCOMVersionMinor uint16
DCOMFlags uint32
DCOMReserved uint32
DCOMCausalityID [16]byte
Unknown uint32
*/
DCOMORPCThis DCOMORPCThis
Unknown2 uint32
Unknown3 uint32
Unknown4 uint32
IActProperties IActProperties
}
func NewDCOMRemoteInstance ¶
func NewDCOMRemoteInstance(causality [16]byte, target string) PacketDCOMRemoteInstance
func (PacketDCOMRemoteInstance) Bytes ¶
func (p PacketDCOMRemoteInstance) Bytes() []byte
type PrivateHeader ¶
func NewPrivateHeader ¶
func NewPrivateHeader(buflen uint32) PrivateHeader
type ScmRequestInfo ¶
type ScmRequestInfo struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
NULLPtr uint32
RemoteRequestPtrReferentID uint32
RemoteRequestPtrRemoteRequestClientImpersonationLevel uint32
RemoteRequestPtrRemoteRequestNumProtocolSequences uint16
RemoteRequestPtrRemoteRequestUnknown uint16
RemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrReferentID uint32
RemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrMaxCount uint32
RemoteRequestPtrRemoteRequestProtocolSeqsArrayPtrProtocolSeq uint16
UnusedBuffer [6]byte // = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}
type SecurityInfo ¶
type SecurityInfo struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader //", packet_private_header);
AuthenticationFlags uint32
ServerInfoPtrReferentID uint32
NULLPtr uint32
ServerInfoServerInfoReserved uint32
ServerInfoServerInfoNameReferentID uint32
ServerInfoServerInfoNULLPtr uint32
ServerInfoServerInfoReserved2 uint32
ServerInfoServerInfoNameMaxCount uint32 //", packet_target_length);
ServerInfoServerInfoNameOffset uint32
ServerInfoServerInfoNameActualCount uint32 //", packet_target_length);
ServerInfoServerInfoNameString []byte // uint32//uint", packet_target_unicode);
}
func (SecurityInfo) Bytes ¶
func (i SecurityInfo) Bytes() []byte
type SpecialSystemProperties ¶
type SpecialSystemProperties struct {
CommonHeader CommonTypeHeader
PrivateHeader PrivateHeader
SessionID uint32
RemoteThisSessionID uint32
ClientImpersonating uint32
PartitionIDPresent uint32
DefaultAuthnLevel uint32
PartitionGUID [16]byte
ProcessRequestFlags uint32
OriginalClassContext uint32
Flags uint32
Reserved [32]byte
UnusedBuffer uint64
}
type WmiExecConfig ¶
type WmiExecConfig struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.