Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement remaining opnum in MS-SCMR #13

Closed
5amu opened this issue Apr 5, 2024 · 2 comments
Closed

implement remaining opnum in MS-SCMR #13

5amu opened this issue Apr 5, 2024 · 2 comments

Comments

@5amu
Copy link
Owner

5amu commented Apr 5, 2024

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.

@5amu
Copy link
Owner Author

5amu commented Apr 5, 2024

@ellipsis-dev, implement this

Copy link

ellipsis-dev bot commented Apr 5, 2024

Sorry, I wasn't able to make any changes. Here's what I tried to do:

⚠️ Sorry, I timed out before I could complete this PR, so I've submitted my work in progress.

Summary:

⚠️ We couldn't build/test your project to verify our changes. Add a Dockerfile to significantly improve code quality.

Issue: resolves #13

Implementation:

Step 1: Add remaining opnum in pkg/dcerpc/scmr.go

In the pkg/dcerpc/scmr.go file, add the remaining opnum. Each opnum should be implemented as a struct with the name OpnumNameRequest and OpnumNameResponse. The fields in the struct should be as per the Microsoft's specification. Also, rename all the structs named OpnumNameStruct to OpnumNameRequest.

Report:

Step Result Details
1
Add remaining opnum in pkg/dcerpc/scmr.goNo result

Something look wrong?: If this Pull Request doesn't contain the expected changes, add more information to #13. Then, add the ellipsis:create label to try again. For more information, check the documentation.

@5amu 5amu closed this as completed Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant