113 lines
2.3 KiB
TypeScript
Raw Normal View History

/**
* RDPClient is a minimal RDP client for nuclei scripts.
* @example
* ```javascript
* const rdp = require('nuclei/rdp');
* const client = new rdp.Client();
* ```
*/
export class RDPClient {
// Constructor of RDPClient
constructor() {}
/**
* IsRDP checks if the given host and port are running rdp server.
* If connection is successful, it returns true.
* If connection is unsuccessful, it returns false and error.
* The Name of the OS is also returned if the connection is successful.
* @example
* ```javascript
* const rdp = require('nuclei/rdp');
* const isRDP = rdp.IsRDP('acme.com', 3389);
* log(toJSON(isRDP));
* ```
*/
public IsRDP(host: string, port: number): IsRDPResponse | null {
return null;
}
/**
* CheckRDPAuth checks if the given host and port are running rdp server
* with authentication and returns their metadata.
* If connection is successful, it returns true.
* @example
* ```javascript
* const rdp = require('nuclei/rdp');
* const checkRDPAuth = rdp.CheckRDPAuth('acme.com', 3389);
* log(toJSON(checkRDPAuth));
* ```
*/
public CheckRDPAuth(host: string, port: number): CheckRDPAuthResponse | null {
return null;
}
}
/**
* CheckRDPAuthResponse is the response from the CheckRDPAuth function.
* this is returned by CheckRDPAuth function.
* @example
* ```javascript
* const rdp = require('nuclei/rdp');
* const checkRDPAuth = rdp.CheckRDPAuth('acme.com', 3389);
* log(toJSON(checkRDPAuth));
* ```
*/
export interface CheckRDPAuthResponse {
PluginInfo?: ServiceRDP,
Auth?: boolean,
}
/**
* IsRDPResponse is the response from the IsRDP function.
* this is returned by IsRDP function.
* @example
* ```javascript
* const rdp = require('nuclei/rdp');
* const isRDP = rdp.IsRDP('acme.com', 3389);
* log(toJSON(isRDP));
* ```
*/
export interface IsRDPResponse {
IsRDP?: boolean,
OS?: string,
}
/**
* ServiceRDP Interface
*/
export interface ServiceRDP {
NetBIOSComputerName?: string,
NetBIOSDomainName?: string,
DNSComputerName?: string,
DNSDomainName?: string,
ForestName?: string,
OSFingerprint?: string,
OSVersion?: string,
TargetName?: string,
}