mirror of https://github.com/daffainfo/nuclei.git
feat: added asreproastable (#4990)
* feat: added asreproastable * ldap: remove FilterAccountEnabled from AsRepRoastable * run 'make jsupdate' --------- Co-authored-by: Tarun Koyalwar <tarun@projectdiscovery.io>dev
parent
8c27ca2591
commit
ffbe5deebb
|
@ -200,9 +200,9 @@ export interface AuthorizationDataEntry {
|
||||||
*/
|
*/
|
||||||
export interface BitString {
|
export interface BitString {
|
||||||
|
|
||||||
Bytes?: Uint8Array,
|
|
||||||
|
|
||||||
BitLength?: number,
|
BitLength?: number,
|
||||||
|
|
||||||
|
Bytes?: Uint8Array,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -212,9 +212,9 @@ export interface BitString {
|
||||||
*/
|
*/
|
||||||
export interface BitString {
|
export interface BitString {
|
||||||
|
|
||||||
Bytes?: Uint8Array,
|
|
||||||
|
|
||||||
BitLength?: number,
|
BitLength?: number,
|
||||||
|
|
||||||
|
Bytes?: Uint8Array,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,17 +236,15 @@ export interface Config {
|
||||||
*/
|
*/
|
||||||
export interface EncTicketPart {
|
export interface EncTicketPart {
|
||||||
|
|
||||||
RenewTill?: Date,
|
|
||||||
|
|
||||||
CRealm?: string,
|
|
||||||
|
|
||||||
AuthTime?: Date,
|
AuthTime?: Date,
|
||||||
|
|
||||||
StartTime?: Date,
|
StartTime?: Date,
|
||||||
|
|
||||||
EndTime?: Date,
|
EndTime?: Date,
|
||||||
|
|
||||||
Transited?: TransitedEncoding,
|
RenewTill?: Date,
|
||||||
|
|
||||||
|
CRealm?: string,
|
||||||
|
|
||||||
CAddr?: HostAddress,
|
CAddr?: HostAddress,
|
||||||
|
|
||||||
|
@ -257,6 +255,8 @@ export interface EncTicketPart {
|
||||||
Key?: EncryptionKey,
|
Key?: EncryptionKey,
|
||||||
|
|
||||||
CName?: PrincipalName,
|
CName?: PrincipalName,
|
||||||
|
|
||||||
|
Transited?: TransitedEncoding,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -266,11 +266,11 @@ export interface EncTicketPart {
|
||||||
*/
|
*/
|
||||||
export interface EncryptedData {
|
export interface EncryptedData {
|
||||||
|
|
||||||
|
KVNO?: number,
|
||||||
|
|
||||||
Cipher?: Uint8Array,
|
Cipher?: Uint8Array,
|
||||||
|
|
||||||
EType?: number,
|
EType?: number,
|
||||||
|
|
||||||
KVNO?: number,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -318,15 +318,41 @@ export interface HostAddress {
|
||||||
*/
|
*/
|
||||||
export interface LibDefaults {
|
export interface LibDefaults {
|
||||||
|
|
||||||
|
NoAddresses?: boolean,
|
||||||
|
|
||||||
|
RealmTryDomains?: number,
|
||||||
|
|
||||||
|
DNSLookupKDC?: boolean,
|
||||||
|
|
||||||
|
DefaultRealm?: string,
|
||||||
|
|
||||||
|
SafeChecksumType?: number,
|
||||||
|
|
||||||
|
VerifyAPReqNofail?: boolean,
|
||||||
|
|
||||||
|
AllowWeakCrypto?: boolean,
|
||||||
|
|
||||||
|
DefaultTGSEnctypes?: string[],
|
||||||
|
|
||||||
|
DefaultTktEnctypeIDs?: number[],
|
||||||
|
|
||||||
|
IgnoreAcceptorHostname?: boolean,
|
||||||
|
|
||||||
|
K5LoginAuthoritative?: boolean,
|
||||||
|
|
||||||
|
PermittedEnctypes?: string[],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* time in nanoseconds
|
* time in nanoseconds
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Clockskew?: number,
|
Clockskew?: number,
|
||||||
|
|
||||||
KDCTimeSync?: number,
|
DNSCanonicalizeHostname?: boolean,
|
||||||
|
|
||||||
SafeChecksumType?: number,
|
Proxiable?: boolean,
|
||||||
|
|
||||||
|
RDNS?: boolean,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* time in nanoseconds
|
* time in nanoseconds
|
||||||
|
@ -334,51 +360,31 @@ export interface LibDefaults {
|
||||||
|
|
||||||
TicketLifetime?: number,
|
TicketLifetime?: number,
|
||||||
|
|
||||||
Forwardable?: boolean,
|
|
||||||
|
|
||||||
K5LoginAuthoritative?: boolean,
|
|
||||||
|
|
||||||
AllowWeakCrypto?: boolean,
|
|
||||||
|
|
||||||
DefaultClientKeytabName?: string,
|
DefaultClientKeytabName?: string,
|
||||||
|
|
||||||
DefaultTktEnctypes?: string[],
|
PermittedEnctypeIDs?: number[],
|
||||||
|
|
||||||
ExtraAddresses?: Uint8Array,
|
|
||||||
|
|
||||||
K5LoginDirectory?: string,
|
|
||||||
|
|
||||||
PreferredPreauthTypes?: number[],
|
|
||||||
|
|
||||||
RDNS?: boolean,
|
|
||||||
|
|
||||||
DefaultKeytabName?: string,
|
|
||||||
|
|
||||||
DefaultRealm?: string,
|
|
||||||
|
|
||||||
DefaultTGSEnctypeIDs?: number[],
|
|
||||||
|
|
||||||
DNSCanonicalizeHostname?: boolean,
|
|
||||||
|
|
||||||
PermittedEnctypes?: string[],
|
|
||||||
|
|
||||||
VerifyAPReqNofail?: boolean,
|
|
||||||
|
|
||||||
DNSLookupRealm?: boolean,
|
|
||||||
|
|
||||||
UDPPreferenceLimit?: number,
|
UDPPreferenceLimit?: number,
|
||||||
|
|
||||||
Canonicalize?: boolean,
|
DefaultTGSEnctypeIDs?: number[],
|
||||||
|
|
||||||
|
DefaultTktEnctypes?: string[],
|
||||||
|
|
||||||
CCacheType?: number,
|
CCacheType?: number,
|
||||||
|
|
||||||
DefaultTGSEnctypes?: string[],
|
DNSLookupRealm?: boolean,
|
||||||
|
|
||||||
Proxiable?: boolean,
|
ExtraAddresses?: Uint8Array,
|
||||||
|
|
||||||
DNSLookupKDC?: boolean,
|
PreferredPreauthTypes?: number[],
|
||||||
|
|
||||||
RealmTryDomains?: number,
|
Canonicalize?: boolean,
|
||||||
|
|
||||||
|
Forwardable?: boolean,
|
||||||
|
|
||||||
|
K5LoginDirectory?: string,
|
||||||
|
|
||||||
|
KDCTimeSync?: number,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* time in nanoseconds
|
* time in nanoseconds
|
||||||
|
@ -386,13 +392,7 @@ export interface LibDefaults {
|
||||||
|
|
||||||
RenewLifetime?: number,
|
RenewLifetime?: number,
|
||||||
|
|
||||||
DefaultTktEnctypeIDs?: number[],
|
DefaultKeytabName?: string,
|
||||||
|
|
||||||
IgnoreAcceptorHostname?: boolean,
|
|
||||||
|
|
||||||
NoAddresses?: boolean,
|
|
||||||
|
|
||||||
PermittedEnctypeIDs?: number[],
|
|
||||||
|
|
||||||
KDCDefaultOptions?: BitString,
|
KDCDefaultOptions?: BitString,
|
||||||
}
|
}
|
||||||
|
@ -404,9 +404,9 @@ export interface LibDefaults {
|
||||||
*/
|
*/
|
||||||
export interface PrincipalName {
|
export interface PrincipalName {
|
||||||
|
|
||||||
NameType?: number,
|
|
||||||
|
|
||||||
NameString?: string[],
|
NameString?: string[],
|
||||||
|
|
||||||
|
NameType?: number,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -416,8 +416,6 @@ export interface PrincipalName {
|
||||||
*/
|
*/
|
||||||
export interface Realm {
|
export interface Realm {
|
||||||
|
|
||||||
Realm?: string,
|
|
||||||
|
|
||||||
AdminServer?: string[],
|
AdminServer?: string[],
|
||||||
|
|
||||||
DefaultDomain?: string,
|
DefaultDomain?: string,
|
||||||
|
@ -427,6 +425,8 @@ export interface Realm {
|
||||||
KPasswdServer?: string[],
|
KPasswdServer?: string[],
|
||||||
|
|
||||||
MasterKDC?: string[],
|
MasterKDC?: string[],
|
||||||
|
|
||||||
|
Realm?: string,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -450,10 +450,10 @@ export interface TGS {
|
||||||
*/
|
*/
|
||||||
export interface Ticket {
|
export interface Ticket {
|
||||||
|
|
||||||
Realm?: string,
|
|
||||||
|
|
||||||
TktVNO?: number,
|
TktVNO?: number,
|
||||||
|
|
||||||
|
Realm?: string,
|
||||||
|
|
||||||
SName?: PrincipalName,
|
SName?: PrincipalName,
|
||||||
|
|
||||||
EncPart?: EncryptedData,
|
EncPart?: EncryptedData,
|
||||||
|
|
|
@ -358,6 +358,22 @@ export class Client {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetADUserAsRepRoastable returns all AD users that are AsRepRoastable
|
||||||
|
* using FilterIsPerson, and FilterDontRequirePreauth filter query
|
||||||
|
* @example
|
||||||
|
* ```javascript
|
||||||
|
* const ldap = require('nuclei/ldap');
|
||||||
|
* const client = new ldap.Client('ldap://ldap.example.com', 'acme.com');
|
||||||
|
* const AsRepRoastable = client.GetADUserAsRepRoastable();
|
||||||
|
* log(to_json(AsRepRoastable));
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
public GetADUserAsRepRoastable(): ADObject[] {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GetADDomainSID returns the SID of the AD domain
|
* GetADDomainSID returns the SID of the AD domain
|
||||||
* @example
|
* @example
|
||||||
|
|
|
@ -209,9 +209,9 @@ export interface MySQLOptions {
|
||||||
*/
|
*/
|
||||||
export interface SQLResult {
|
export interface SQLResult {
|
||||||
|
|
||||||
Columns?: string[],
|
|
||||||
|
|
||||||
Count?: number,
|
Count?: number,
|
||||||
|
|
||||||
|
Columns?: string[],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -137,10 +137,6 @@ export interface NegotiationLog {
|
||||||
*/
|
*/
|
||||||
export interface SMBCapabilities {
|
export interface SMBCapabilities {
|
||||||
|
|
||||||
DFSSupport?: boolean,
|
|
||||||
|
|
||||||
Leasing?: boolean,
|
|
||||||
|
|
||||||
LargeMTU?: boolean,
|
LargeMTU?: boolean,
|
||||||
|
|
||||||
MultiChan?: boolean,
|
MultiChan?: boolean,
|
||||||
|
@ -150,6 +146,10 @@ export interface SMBCapabilities {
|
||||||
DirLeasing?: boolean,
|
DirLeasing?: boolean,
|
||||||
|
|
||||||
Encryption?: boolean,
|
Encryption?: boolean,
|
||||||
|
|
||||||
|
DFSSupport?: boolean,
|
||||||
|
|
||||||
|
Leasing?: boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,6 +159,8 @@ export interface SMBCapabilities {
|
||||||
*/
|
*/
|
||||||
export interface SMBLog {
|
export interface SMBLog {
|
||||||
|
|
||||||
|
SupportV1?: boolean,
|
||||||
|
|
||||||
NativeOs?: string,
|
NativeOs?: string,
|
||||||
|
|
||||||
NTLM?: string,
|
NTLM?: string,
|
||||||
|
@ -167,15 +169,13 @@ export interface SMBLog {
|
||||||
|
|
||||||
HasNTLM?: boolean,
|
HasNTLM?: boolean,
|
||||||
|
|
||||||
SupportV1?: boolean,
|
Version?: SMBVersions,
|
||||||
|
|
||||||
Capabilities?: SMBCapabilities,
|
Capabilities?: SMBCapabilities,
|
||||||
|
|
||||||
NegotiationLog?: NegotiationLog,
|
NegotiationLog?: NegotiationLog,
|
||||||
|
|
||||||
SessionSetupLog?: SessionSetupLog,
|
SessionSetupLog?: SessionSetupLog,
|
||||||
|
|
||||||
Version?: SMBVersions,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -185,13 +185,13 @@ export interface SMBLog {
|
||||||
*/
|
*/
|
||||||
export interface SMBVersions {
|
export interface SMBVersions {
|
||||||
|
|
||||||
|
VerString?: string,
|
||||||
|
|
||||||
Major?: number,
|
Major?: number,
|
||||||
|
|
||||||
Minor?: number,
|
Minor?: number,
|
||||||
|
|
||||||
Revision?: number,
|
Revision?: number,
|
||||||
|
|
||||||
VerString?: string,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,10 +201,6 @@ export interface SMBVersions {
|
||||||
*/
|
*/
|
||||||
export interface ServiceSMB {
|
export interface ServiceSMB {
|
||||||
|
|
||||||
SigningEnabled?: boolean,
|
|
||||||
|
|
||||||
SigningRequired?: boolean,
|
|
||||||
|
|
||||||
OSVersion?: string,
|
OSVersion?: string,
|
||||||
|
|
||||||
NetBIOSComputerName?: string,
|
NetBIOSComputerName?: string,
|
||||||
|
@ -216,6 +212,10 @@ export interface ServiceSMB {
|
||||||
DNSDomainName?: string,
|
DNSDomainName?: string,
|
||||||
|
|
||||||
ForestName?: string,
|
ForestName?: string,
|
||||||
|
|
||||||
|
SigningEnabled?: boolean,
|
||||||
|
|
||||||
|
SigningRequired?: boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -225,12 +225,12 @@ export interface ServiceSMB {
|
||||||
*/
|
*/
|
||||||
export interface SessionSetupLog {
|
export interface SessionSetupLog {
|
||||||
|
|
||||||
|
NegotiateFlags?: number,
|
||||||
|
|
||||||
SetupFlags?: number,
|
SetupFlags?: number,
|
||||||
|
|
||||||
TargetName?: string,
|
TargetName?: string,
|
||||||
|
|
||||||
NegotiateFlags?: number,
|
|
||||||
|
|
||||||
HeaderLog?: HeaderLog,
|
HeaderLog?: HeaderLog,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,9 +133,9 @@ export interface Algorithms {
|
||||||
|
|
||||||
HostKey?: string,
|
HostKey?: string,
|
||||||
|
|
||||||
W?: DirectionAlgorithms,
|
|
||||||
|
|
||||||
R?: DirectionAlgorithms,
|
R?: DirectionAlgorithms,
|
||||||
|
|
||||||
|
W?: DirectionAlgorithms,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -197,34 +197,34 @@ export interface HandshakeLog {
|
||||||
*/
|
*/
|
||||||
export interface KexInitMsg {
|
export interface KexInitMsg {
|
||||||
|
|
||||||
CiphersServerClient?: string[],
|
|
||||||
|
|
||||||
MACsClientServer?: string[],
|
|
||||||
|
|
||||||
MACsServerClient?: string[],
|
|
||||||
|
|
||||||
LanguagesClientServer?: string[],
|
|
||||||
|
|
||||||
KexAlgos?: string[],
|
|
||||||
|
|
||||||
CiphersClientServer?: string[],
|
|
||||||
|
|
||||||
Reserved?: number,
|
Reserved?: number,
|
||||||
|
|
||||||
CompressionClientServer?: string[],
|
|
||||||
|
|
||||||
CompressionServerClient?: string[],
|
|
||||||
|
|
||||||
LanguagesServerClient?: string[],
|
|
||||||
|
|
||||||
FirstKexFollows?: boolean,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fixed size array of length: [16]
|
* fixed size array of length: [16]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Cookie?: Uint8Array,
|
Cookie?: Uint8Array,
|
||||||
|
|
||||||
|
CiphersClientServer?: string[],
|
||||||
|
|
||||||
|
MACsClientServer?: string[],
|
||||||
|
|
||||||
|
MACsServerClient?: string[],
|
||||||
|
|
||||||
|
CompressionServerClient?: string[],
|
||||||
|
|
||||||
|
LanguagesClientServer?: string[],
|
||||||
|
|
||||||
|
FirstKexFollows?: boolean,
|
||||||
|
|
||||||
|
KexAlgos?: string[],
|
||||||
|
|
||||||
|
CiphersServerClient?: string[],
|
||||||
|
|
||||||
|
CompressionClientServer?: string[],
|
||||||
|
|
||||||
|
LanguagesServerClient?: string[],
|
||||||
|
|
||||||
ServerHostKeyAlgos?: string[],
|
ServerHostKeyAlgos?: string[],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -253,6 +253,19 @@ func (c *Client) GetADUserKerberoastable() []ADObject {
|
||||||
return c.FindADObjects(JoinFilters(FilterIsPerson, FilterAccountEnabled, FilterHasServicePrincipalName))
|
return c.FindADObjects(JoinFilters(FilterIsPerson, FilterAccountEnabled, FilterHasServicePrincipalName))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetADUserAsRepRoastable returns all AD users that are AsRepRoastable
|
||||||
|
// using FilterIsPerson, and FilterDontRequirePreauth filter query
|
||||||
|
// @example
|
||||||
|
// ```javascript
|
||||||
|
// const ldap = require('nuclei/ldap');
|
||||||
|
// const client = new ldap.Client('ldap://ldap.example.com', 'acme.com');
|
||||||
|
// const AsRepRoastable = client.GetADUserAsRepRoastable();
|
||||||
|
// log(to_json(AsRepRoastable));
|
||||||
|
// ```
|
||||||
|
func (c *Client) GetADUserAsRepRoastable() []ADObject {
|
||||||
|
return c.FindADObjects(JoinFilters(FilterIsPerson, FilterDontRequirePreauth))
|
||||||
|
}
|
||||||
|
|
||||||
// GetADDomainSID returns the SID of the AD domain
|
// GetADDomainSID returns the SID of the AD domain
|
||||||
// @example
|
// @example
|
||||||
// ```javascript
|
// ```javascript
|
||||||
|
|
Loading…
Reference in New Issue