5amu / goad Goto Github PK
View Code? Open in Web Editor NEWTotally not inspired by crackmapexec. It's a learning project and aims to expose modules useful for AD tools
License: MIT License
Totally not inspired by crackmapexec. It's a learning project and aims to expose modules useful for AD tools
License: MIT License
File pkg/dcerpc/scmr.go
contains only the skeleton for the data structures described in the Miscrosoft specification. Every opnum is declared without the internal fields. Each of them should be described as:
type OpnumNameRequest struct{
// Declarations here
}
type OpnumNameResponse struct{
// Declarations here
}
The request should use the same types (in Go notation) as the specification, except for DWORD (which can be declared as uint32) and all other basic types (for example WORD and BYTE). Also rename all the structs named OpnumNameStruct
to OpnumNameRequest
.
An example already defined in the code is Opnum 5. OpnumName is RSetServiceObjectSecurity and its declaration in Microsoft's specification is:
[in] SC_RPC_HANDLE hService,
[in] SECURITY_INFORMATION dwSecurityInformation,
[in, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor,
[in] DWORD cbBufSize
And in the code is defined as:
type RSetServiceObjectSecurityStruct struct {
HService ScRpcHandle
DWSecurityInformation uint32
LPSecurityDescriptor LpSecurityDescriptor
CBBufSize uint32
}
With no response.
Seems like if the response contains too many entries the domain controller just refuses to give it.
Find a way to get results in smaller batches :)
Hey @ellipsis-dev please implement an NTLM authenticator client that must be defined with the following structure:
type Client struct {
User string
Password string
Hash []byte
Domain string
Workstation string
TargetSPN string
ChannelBinding *ChannelBindings
}
You can expand the struct as needed. This client must implement the following interface:
type Authenticator interface {
Negotiate() ([]byte, error)
Authenticate(msg []byte) ([]byte, error)
Metadata() interface{}
Sign(msg []byte) ([]byte, error)
Encrypt(msg []byte) ([]byte, error)
}
The client must implement the Authenticator
interface, but can also extend it if needed. I want to use this client as an authenticator in different contexts, such as an authenticator for a SMB connection, as well as an authenticator for a MSRPCE connection.
Please implement this client to receive raw bytes (such as the NTLM challenge) and return raw bytes containing the NTLM response, store useful information about the server, such as the Netbios Computer Name, DNS computer name, Tree name etc...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.