mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-17 20:45:25 +00:00
113 lines
2.3 KiB
TypeScript
113 lines
2.3 KiB
TypeScript
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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,
|
||
|
|
}
|
||
|
|
|