diff --git a/README.md b/README.md index d646cab..5df8b23 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # 🦆 DuckyScript Cookbook -[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Faleff-github%2FDuckyScriptCookbook%2F&count_bg=%23FFBD11&title_bg=%23800000&icon=visualstudiocode.svg&icon_color=%233CA8F1&title=HITS&edge_flat=false)](https://hits.seeyoufarm.com) ![Licence](https://img.shields.io/badge/Licence-GPLv3-%239e264c?style=for-the-badge) - Welcome to the **DuckyScript Cookbook** — your quacktastic assistant for whipping up DuckyScript magic in no time! 🚀 _This is not an official extension of Hak5 or Flipper Zero but was developed by a third party._ diff --git a/out/cpanel/code_panel_view_provider.js b/out/cpanel/code_panel_view_provider.js new file mode 100644 index 0000000..8f13aba --- /dev/null +++ b/out/cpanel/code_panel_view_provider.js @@ -0,0 +1,265 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CodePanelViewProvider = void 0; +const vscode = require("vscode"); +const consts_1 = require("../utils/consts"); +const cpanel = require("./run"); +class CodePanelViewProvider { + constructor(_extension) { + this._extension = _extension; + } + resolveWebviewView(webviewView, context, _token) { + webviewView.webview.options = { + // Allow scripts in the webview + enableScripts: true, + enableForms: true, + enableCommandUris: true, + localResourceRoots: [ + this._extension.extensionUri + ] + }; + webviewView.webview.html = this._getHtmlForWebview(webviewView.webview); + webviewView.webview.onDidReceiveMessage(data => { + // select text + const active = vscode.window.activeTextEditor; + if (!active) { + return; + } // null check + const selection = active.selection; + if (!selection) { + return; + } // null check + switch (data.type) { + // DuckyScript 3.0 Payloads + case 'PAYLOAD_INTRO_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.PAYLOAD_INTRO_3_0))); + }); + break; + case 'DETECT_READY_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.DETECT_READY_3_0))); + }); + break; + case 'PASSIVE_WINDOWS_DETECT_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.PASSIVE_WINDOWS_DETECT_3_0))); + }); + break; + case 'ERASE_TRACES_SHELL_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.ERASE_TRACES_SHELL_3_0))); + }); + break; + case 'ERASE_TRACES_POWERSHELL_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.ERASE_TRACES_POWERSHELL_3_0))); + }); + break; + case 'EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_3_0))); + }); + break; + case 'OPEN_POWERSHELL_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.OPEN_POWERSHELL_3_0))); + }); + break; + case 'SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS_3_0))); + }); + break; + case 'GENERALIZED_WINDOWS_USER_PATH_3_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.GENERALIZED_WINDOWS_USER_PATH_3_0))); + }); + break; + // DuckyScript 1.0 Payloads + case 'PAYLOAD_INTRO_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.PAYLOAD_INTRO_1_0))); + }); + break; + case 'ERASE_TRACES_POWERSHELL_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.ERASE_TRACES_POWERSHELL_1_0))); + }); + break; + case 'ERASE_TRACES_SHELL_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.ERASE_TRACES_SHELL_1_0))); + }); + break; + case 'EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_1_0))); + }); + break; + case 'OPEN_POWERSHELL_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.OPEN_POWERSHELL_1_0))); + }); + break; + case 'GENERALIZED_WINDOWS_USER_PATH_1_0': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.GENERALIZED_WINDOWS_USER_PATH_1_0))); + }); + break; + // Both + case 'OPEN_SHELL': + active.edit(editBuilder => { + const code = new cpanel.Code(this._extension.extensionUri); + editBuilder.replace(selection, code.duckyscript(this._extension.asAbsolutePath(consts_1.PATH_TO_COOKBOOK.OPEN_SHELL))); + }); + break; + // showPanel + case 'showPanel': + this.showPanel(webviewView.webview); + break; + } + }); + vscode.window.onDidChangeActiveTextEditor((editor) => { + this.showPanel(webviewView.webview); + }); + } + _getHtmlForWebview(webview) { + // Do the same for the stylesheet. + const styleMainUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extension.extensionUri, 'media', 'css', 'main.css')); + // Get the local path to main script run in the webview, then convert it to a uri we can use in the webview. + const scriptMainUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extension.extensionUri, 'media', 'js', 'main.js')); + // Use a nonce to only allow a specific script to be run. + const nonce = getNonce(); + const cpBody = getCodePanelBody(); + return ` + + + + + + + + DuckyScript Cookbook + + + ${cpBody} + + + `; + } + showPanel(webview) { + const active = vscode.window.activeTextEditor; + if (!active) + return; + const type = active.document.fileName.split('.').pop(); + webview.postMessage({ command: type }); + } +} +exports.CodePanelViewProvider = CodePanelViewProvider; +CodePanelViewProvider.viewType = 'duckyscript.Cookbook'; +function getNonce() { + let text = ''; + const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (let i = 0; i < 32; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + return text; +} +function getCodePanelBody() { + const htmlBody = ` +
+

Cookbook

+
+
+

DuckyScript 3.0

+
+
+ `; + return htmlBody; +} +//# sourceMappingURL=code_panel_view_provider.js.map \ No newline at end of file diff --git a/out/cpanel/code_panel_view_provider.js.map b/out/cpanel/code_panel_view_provider.js.map new file mode 100644 index 0000000..1ac6829 --- /dev/null +++ b/out/cpanel/code_panel_view_provider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"code_panel_view_provider.js","sourceRoot":"","sources":["../../src/cpanel/code_panel_view_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/out/cpanel/run.js b/out/cpanel/run.js new file mode 100644 index 0000000..50df892 --- /dev/null +++ b/out/cpanel/run.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Code = void 0; +const fs = require("fs"); +class Code { + constructor(_extensionUri) { + this._extensionUri = _extensionUri; + } + duckyscript(code_type) { + let code = ''; + if (fs.existsSync(code_type)) { + code = fs.readFileSync(code_type, 'utf-8'); + } + return code; + } +} +exports.Code = Code; +//# sourceMappingURL=run.js.map \ No newline at end of file diff --git a/out/cpanel/run.js.map b/out/cpanel/run.js.map new file mode 100644 index 0000000..788d91c --- /dev/null +++ b/out/cpanel/run.js.map @@ -0,0 +1 @@ +{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cpanel/run.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAQzB,MAAa,IAAI;IACb,YAAqB,aAAyB;QAAzB,kBAAa,GAAb,aAAa,CAAY;IAAI,CAAC;IAEnD,WAAW,CAAC,SAAiB;QACzB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAVD,oBAUC"} \ No newline at end of file diff --git a/out/extension.js b/out/extension.js new file mode 100644 index 0000000..ad165b5 --- /dev/null +++ b/out/extension.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.activate = activate; +const vscode = require("vscode"); +const code_panel_view_provider_1 = require("./cpanel/code_panel_view_provider"); +function activate(context) { + //Cookbook + const provider = new code_panel_view_provider_1.CodePanelViewProvider(context); + context.subscriptions.push(vscode.window.registerWebviewViewProvider(code_panel_view_provider_1.CodePanelViewProvider.viewType, provider)); + vscode.commands.registerCommand('duckyscript.Cookbook', () => { + context.subscriptions.push(vscode.window.registerWebviewViewProvider(code_panel_view_provider_1.CodePanelViewProvider.viewType, provider)); + }); +} +// eslint-disable-next-line @typescript-eslint/no-empty-function +function deactivate() { } +module.exports = { + activate, + deactivate +}; +//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/out/extension.js.map b/out/extension.js.map new file mode 100644 index 0000000..cbcc898 --- /dev/null +++ b/out/extension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;AAGA,4BAUC;AAbD,iCAAiC;AACjC,gFAA0E;AAE1E,SAAgB,QAAQ,CAAC,OAAgC;IACxD,UAAU;IACV,MAAM,QAAQ,GAAG,IAAI,gDAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,aAAa,CAAC,IAAI,CACzB,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,gDAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5D,OAAO,CAAC,aAAa,CAAC,IAAI,CACzB,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,gDAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AAEJ,CAAC;AAED,gEAAgE;AAChE,SAAS,UAAU,KAAK,CAAC;AAEzB,MAAM,CAAC,OAAO,GAAG;IAChB,QAAQ;IACR,UAAU;CACV,CAAC"} \ No newline at end of file diff --git a/out/utils/consts.js b/out/utils/consts.js new file mode 100644 index 0000000..36c3e7f --- /dev/null +++ b/out/utils/consts.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PATH_TO_COOKBOOK = void 0; +const ROOT_DIR = "assets/"; +const DUCKYSCRIPT_CODE_DIR = "code/"; +const FULL_PATH = ROOT_DIR + DUCKYSCRIPT_CODE_DIR; +const COOKBOOK_EXTENSION_FILE = ".txt"; +exports.PATH_TO_COOKBOOK = { + PAYLOAD_INTRO_3_0: FULL_PATH + "3_0_PAYLOAD_INTRO" + COOKBOOK_EXTENSION_FILE, + DETECT_READY_3_0: FULL_PATH + "3_0_DETECT_READY" + COOKBOOK_EXTENSION_FILE, + PASSIVE_WINDOWS_DETECT_3_0: FULL_PATH + "3_0_PASSIVE_WINDOWS_DETECT" + COOKBOOK_EXTENSION_FILE, + ERASE_TRACES_POWERSHELL_3_0: FULL_PATH + "3_0_ERASE_TRACES_POWERSHELL" + COOKBOOK_EXTENSION_FILE, + ERASE_TRACES_SHELL_3_0: FULL_PATH + "3_0_ERASE_TRACES_SHELL" + COOKBOOK_EXTENSION_FILE, + EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_3_0: FULL_PATH + "3_0_EXFILTRATE_FILES_USING_DROPBOX_WINDOWS" + COOKBOOK_EXTENSION_FILE, + OPEN_POWERSHELL_3_0: FULL_PATH + "3_0_OPEN_POWERSHELL" + COOKBOOK_EXTENSION_FILE, + SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS_3_0: FULL_PATH + "3_0_SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS" + COOKBOOK_EXTENSION_FILE, + GENERALIZED_WINDOWS_USER_PATH_3_0: FULL_PATH + "3_0_GENERALIZED_WINDOWS_USER_PATH" + COOKBOOK_EXTENSION_FILE, + PAYLOAD_INTRO_1_0: FULL_PATH + "1_0_PAYLOAD_INTRO" + COOKBOOK_EXTENSION_FILE, + ERASE_TRACES_POWERSHELL_1_0: FULL_PATH + "1_0_ERASE_TRACES_POWERSHELL" + COOKBOOK_EXTENSION_FILE, + ERASE_TRACES_SHELL_1_0: FULL_PATH + "1_0_ERASE_TRACES_SHELL" + COOKBOOK_EXTENSION_FILE, + EXFILTRATE_FILES_USING_DROPBOX_WINDOWS_1_0: FULL_PATH + "1_0_EXFILTRATE_FILES_USING_DROPBOX_WINDOWS" + COOKBOOK_EXTENSION_FILE, + OPEN_POWERSHELL_1_0: FULL_PATH + "1_0_OPEN_POWERSHELL" + COOKBOOK_EXTENSION_FILE, + GENERALIZED_WINDOWS_USER_PATH_1_0: FULL_PATH + "1_0_GENERALIZED_WINDOWS_USER_PATH" + COOKBOOK_EXTENSION_FILE, + OPEN_SHELL: FULL_PATH + "OPEN_SHELL" + COOKBOOK_EXTENSION_FILE +}; +//# sourceMappingURL=consts.js.map \ No newline at end of file diff --git a/out/utils/consts.js.map b/out/utils/consts.js.map new file mode 100644 index 0000000..75b6582 --- /dev/null +++ b/out/utils/consts.js.map @@ -0,0 +1 @@ +{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,MAAM,oBAAoB,GAAG,OAAO,CAAC;AACrC,MAAM,SAAS,GAAG,QAAQ,GAAC,oBAAoB,CAAC;AAChD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAG1B,QAAA,gBAAgB,GAAG;IAC/B,iBAAiB,EAAG,SAAS,GAAG,mBAAmB,GAAG,uBAAuB;IAC7E,gBAAgB,EAAG,SAAS,GAAG,kBAAkB,GAAG,uBAAuB;IAC3E,0BAA0B,EAAG,SAAS,GAAG,4BAA4B,GAAG,uBAAuB;IAC/F,2BAA2B,EAAG,SAAS,GAAG,6BAA6B,GAAG,uBAAuB;IACjG,sBAAsB,EAAG,SAAS,GAAG,wBAAwB,GAAG,uBAAuB;IACvF,0CAA0C,EAAG,SAAS,GAAG,4CAA4C,GAAG,uBAAuB;IAC/H,mBAAmB,EAAG,SAAS,GAAG,qBAAqB,GAAG,uBAAuB;IACjF,8CAA8C,EAAG,SAAS,GAAG,gDAAgD,GAAG,uBAAuB;IACvI,iCAAiC,EAAG,SAAS,GAAG,mCAAmC,GAAG,uBAAuB;IAC7G,iBAAiB,EAAG,SAAS,GAAG,mBAAmB,GAAG,uBAAuB;IAC7E,2BAA2B,EAAG,SAAS,GAAG,6BAA6B,GAAG,uBAAuB;IACjG,sBAAsB,EAAG,SAAS,GAAG,wBAAwB,GAAG,uBAAuB;IACvF,0CAA0C,EAAG,SAAS,GAAG,4CAA4C,GAAG,uBAAuB;IAC/H,mBAAmB,EAAG,SAAS,GAAG,qBAAqB,GAAG,uBAAuB;IACjF,iCAAiC,EAAG,SAAS,GAAG,mCAAmC,GAAG,uBAAuB;IAC7G,UAAU,EAAG,SAAS,GAAG,YAAY,GAAG,uBAAuB;CAC/D,CAAC"} \ No newline at end of file