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 {
|
||||
|
||||
Bytes?: Uint8Array,
|
||||
|
||||
BitLength?: number,
|
||||
|
||||
Bytes?: Uint8Array,
|
||||
}
|
||||
|
||||
|
||||
|
@ -212,9 +212,9 @@ export interface BitString {
|
|||
*/
|
||||
export interface BitString {
|
||||
|
||||
Bytes?: Uint8Array,
|
||||
|
||||
BitLength?: number,
|
||||
|
||||
Bytes?: Uint8Array,
|
||||
}
|
||||
|
||||
|
||||
|
@ -236,17 +236,15 @@ export interface Config {
|
|||
*/
|
||||
export interface EncTicketPart {
|
||||
|
||||
RenewTill?: Date,
|
||||
|
||||
CRealm?: string,
|
||||
|
||||
AuthTime?: Date,
|
||||
|
||||
StartTime?: Date,
|
||||
|
||||
EndTime?: Date,
|
||||
|
||||
Transited?: TransitedEncoding,
|
||||
RenewTill?: Date,
|
||||
|
||||
CRealm?: string,
|
||||
|
||||
CAddr?: HostAddress,
|
||||
|
||||
|
@ -257,6 +255,8 @@ export interface EncTicketPart {
|
|||
Key?: EncryptionKey,
|
||||
|
||||
CName?: PrincipalName,
|
||||
|
||||
Transited?: TransitedEncoding,
|
||||
}
|
||||
|
||||
|
||||
|
@ -266,11 +266,11 @@ export interface EncTicketPart {
|
|||
*/
|
||||
export interface EncryptedData {
|
||||
|
||||
KVNO?: number,
|
||||
|
||||
Cipher?: Uint8Array,
|
||||
|
||||
EType?: number,
|
||||
|
||||
KVNO?: number,
|
||||
}
|
||||
|
||||
|
||||
|
@ -318,15 +318,41 @@ export interface HostAddress {
|
|||
*/
|
||||
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
|
||||
*/
|
||||
|
||||
Clockskew?: number,
|
||||
|
||||
KDCTimeSync?: number,
|
||||
DNSCanonicalizeHostname?: boolean,
|
||||
|
||||
SafeChecksumType?: number,
|
||||
Proxiable?: boolean,
|
||||
|
||||
RDNS?: boolean,
|
||||
|
||||
/**
|
||||
* time in nanoseconds
|
||||
|
@ -334,51 +360,31 @@ export interface LibDefaults {
|
|||
|
||||
TicketLifetime?: number,
|
||||
|
||||
Forwardable?: boolean,
|
||||
|
||||
K5LoginAuthoritative?: boolean,
|
||||
|
||||
AllowWeakCrypto?: boolean,
|
||||
|
||||
DefaultClientKeytabName?: string,
|
||||
|
||||
DefaultTktEnctypes?: string[],
|
||||
|
||||
ExtraAddresses?: Uint8Array,
|
||||
|
||||
K5LoginDirectory?: string,
|
||||
|
||||
PreferredPreauthTypes?: number[],
|
||||
|
||||
RDNS?: boolean,
|
||||
|
||||
DefaultKeytabName?: string,
|
||||
|
||||
DefaultRealm?: string,
|
||||
|
||||
DefaultTGSEnctypeIDs?: number[],
|
||||
|
||||
DNSCanonicalizeHostname?: boolean,
|
||||
|
||||
PermittedEnctypes?: string[],
|
||||
|
||||
VerifyAPReqNofail?: boolean,
|
||||
|
||||
DNSLookupRealm?: boolean,
|
||||
PermittedEnctypeIDs?: number[],
|
||||
|
||||
UDPPreferenceLimit?: number,
|
||||
|
||||
Canonicalize?: boolean,
|
||||
DefaultTGSEnctypeIDs?: number[],
|
||||
|
||||
DefaultTktEnctypes?: string[],
|
||||
|
||||
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
|
||||
|
@ -386,13 +392,7 @@ export interface LibDefaults {
|
|||
|
||||
RenewLifetime?: number,
|
||||
|
||||
DefaultTktEnctypeIDs?: number[],
|
||||
|
||||
IgnoreAcceptorHostname?: boolean,
|
||||
|
||||
NoAddresses?: boolean,
|
||||
|
||||
PermittedEnctypeIDs?: number[],
|
||||
DefaultKeytabName?: string,
|
||||
|
||||
KDCDefaultOptions?: BitString,
|
||||
}
|
||||
|
@ -404,9 +404,9 @@ export interface LibDefaults {
|
|||
*/
|
||||
export interface PrincipalName {
|
||||
|
||||
NameType?: number,
|
||||
|
||||
NameString?: string[],
|
||||
|
||||
NameType?: number,
|
||||
}
|
||||
|
||||
|
||||
|
@ -416,8 +416,6 @@ export interface PrincipalName {
|
|||
*/
|
||||
export interface Realm {
|
||||
|
||||
Realm?: string,
|
||||
|
||||
AdminServer?: string[],
|
||||
|
||||
DefaultDomain?: string,
|
||||
|
@ -427,6 +425,8 @@ export interface Realm {
|
|||
KPasswdServer?: string[],
|
||||
|
||||
MasterKDC?: string[],
|
||||
|
||||
Realm?: string,
|
||||
}
|
||||
|
||||
|
||||
|
@ -450,10 +450,10 @@ export interface TGS {
|
|||
*/
|
||||
export interface Ticket {
|
||||
|
||||
Realm?: string,
|
||||
|
||||
TktVNO?: number,
|
||||
|
||||
Realm?: string,
|
||||
|
||||
SName?: PrincipalName,
|
||||
|
||||
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
|
||||
* @example
|
||||
|
|
|
@ -209,9 +209,9 @@ export interface MySQLOptions {
|
|||
*/
|
||||
export interface SQLResult {
|
||||
|
||||
Columns?: string[],
|
||||
|
||||
Count?: number,
|
||||
|
||||
Columns?: string[],
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -137,10 +137,6 @@ export interface NegotiationLog {
|
|||
*/
|
||||
export interface SMBCapabilities {
|
||||
|
||||
DFSSupport?: boolean,
|
||||
|
||||
Leasing?: boolean,
|
||||
|
||||
LargeMTU?: boolean,
|
||||
|
||||
MultiChan?: boolean,
|
||||
|
@ -150,6 +146,10 @@ export interface SMBCapabilities {
|
|||
DirLeasing?: boolean,
|
||||
|
||||
Encryption?: boolean,
|
||||
|
||||
DFSSupport?: boolean,
|
||||
|
||||
Leasing?: boolean,
|
||||
}
|
||||
|
||||
|
||||
|
@ -159,6 +159,8 @@ export interface SMBCapabilities {
|
|||
*/
|
||||
export interface SMBLog {
|
||||
|
||||
SupportV1?: boolean,
|
||||
|
||||
NativeOs?: string,
|
||||
|
||||
NTLM?: string,
|
||||
|
@ -167,15 +169,13 @@ export interface SMBLog {
|
|||
|
||||
HasNTLM?: boolean,
|
||||
|
||||
SupportV1?: boolean,
|
||||
Version?: SMBVersions,
|
||||
|
||||
Capabilities?: SMBCapabilities,
|
||||
|
||||
NegotiationLog?: NegotiationLog,
|
||||
|
||||
SessionSetupLog?: SessionSetupLog,
|
||||
|
||||
Version?: SMBVersions,
|
||||
}
|
||||
|
||||
|
||||
|
@ -185,13 +185,13 @@ export interface SMBLog {
|
|||
*/
|
||||
export interface SMBVersions {
|
||||
|
||||
VerString?: string,
|
||||
|
||||
Major?: number,
|
||||
|
||||
Minor?: number,
|
||||
|
||||
Revision?: number,
|
||||
|
||||
VerString?: string,
|
||||
}
|
||||
|
||||
|
||||
|
@ -201,10 +201,6 @@ export interface SMBVersions {
|
|||
*/
|
||||
export interface ServiceSMB {
|
||||
|
||||
SigningEnabled?: boolean,
|
||||
|
||||
SigningRequired?: boolean,
|
||||
|
||||
OSVersion?: string,
|
||||
|
||||
NetBIOSComputerName?: string,
|
||||
|
@ -216,6 +212,10 @@ export interface ServiceSMB {
|
|||
DNSDomainName?: string,
|
||||
|
||||
ForestName?: string,
|
||||
|
||||
SigningEnabled?: boolean,
|
||||
|
||||
SigningRequired?: boolean,
|
||||
}
|
||||
|
||||
|
||||
|
@ -225,12 +225,12 @@ export interface ServiceSMB {
|
|||
*/
|
||||
export interface SessionSetupLog {
|
||||
|
||||
NegotiateFlags?: number,
|
||||
|
||||
SetupFlags?: number,
|
||||
|
||||
TargetName?: string,
|
||||
|
||||
NegotiateFlags?: number,
|
||||
|
||||
HeaderLog?: HeaderLog,
|
||||
}
|
||||
|
||||
|
|
|
@ -133,9 +133,9 @@ export interface Algorithms {
|
|||
|
||||
HostKey?: string,
|
||||
|
||||
W?: DirectionAlgorithms,
|
||||
|
||||
R?: DirectionAlgorithms,
|
||||
|
||||
W?: DirectionAlgorithms,
|
||||
}
|
||||
|
||||
|
||||
|
@ -197,34 +197,34 @@ export interface HandshakeLog {
|
|||
*/
|
||||
export interface KexInitMsg {
|
||||
|
||||
CiphersServerClient?: string[],
|
||||
|
||||
MACsClientServer?: string[],
|
||||
|
||||
MACsServerClient?: string[],
|
||||
|
||||
LanguagesClientServer?: string[],
|
||||
|
||||
KexAlgos?: string[],
|
||||
|
||||
CiphersClientServer?: string[],
|
||||
|
||||
Reserved?: number,
|
||||
|
||||
CompressionClientServer?: string[],
|
||||
|
||||
CompressionServerClient?: string[],
|
||||
|
||||
LanguagesServerClient?: string[],
|
||||
|
||||
FirstKexFollows?: boolean,
|
||||
|
||||
/**
|
||||
* fixed size array of length: [16]
|
||||
*/
|
||||
|
||||
Cookie?: Uint8Array,
|
||||
|
||||
CiphersClientServer?: string[],
|
||||
|
||||
MACsClientServer?: string[],
|
||||
|
||||
MACsServerClient?: string[],
|
||||
|
||||
CompressionServerClient?: string[],
|
||||
|
||||
LanguagesClientServer?: string[],
|
||||
|
||||
FirstKexFollows?: boolean,
|
||||
|
||||
KexAlgos?: string[],
|
||||
|
||||
CiphersServerClient?: string[],
|
||||
|
||||
CompressionClientServer?: string[],
|
||||
|
||||
LanguagesServerClient?: string[],
|
||||
|
||||
ServerHostKeyAlgos?: string[],
|
||||
}
|
||||
|
||||
|
|
|
@ -253,6 +253,19 @@ func (c *Client) GetADUserKerberoastable() []ADObject {
|
|||
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
|
||||
// @example
|
||||
// ```javascript
|
||||
|
|
Loading…
Reference in New Issue