From 5b4dbc9e11f6d6e691f3a0a6db0827035019e28a Mon Sep 17 00:00:00 2001 From: Josh Abraham Date: Wed, 27 Dec 2023 11:29:51 -0500 Subject: [PATCH 1/2] if a python module fails, 'False' will be returned --- Bofbelt/bofbelt.py | 2 +- SamDump/samdump.py | 2 +- mimidrv/mimidrv.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Bofbelt/bofbelt.py b/Bofbelt/bofbelt.py index 85e6890..6778ebf 100644 --- a/Bofbelt/bofbelt.py +++ b/Bofbelt/bofbelt.py @@ -716,7 +716,7 @@ def bofbelt_report( demonID, bof_output ): #print(json.dumps(report, indent=2)) except Exception as e: demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Failed to parse BOF data: {e}" ) - return True + return False # OS diff --git a/SamDump/samdump.py b/SamDump/samdump.py index ee8427f..445a2d6 100644 --- a/SamDump/samdump.py +++ b/SamDump/samdump.py @@ -19,7 +19,7 @@ def samdump(demonID, *params): if num_params != 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "missing the path" ) - return True + return False path = params[ 0 ] diff --git a/mimidrv/mimidrv.py b/mimidrv/mimidrv.py index 1330d46..862416b 100644 --- a/mimidrv/mimidrv.py +++ b/mimidrv/mimidrv.py @@ -12,18 +12,18 @@ def mimidrv( demonID, *params ): if num_params < 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Not enough parameters" ) - return True + return False elif num_params == 1: pid = params[ 0 ] elif num_params > 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many parameters" ) - return True + return False try: pid = int( pid ) except Exception as e: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Invalid PID" ) - return True + return False packer.adduint32(pid) From 117656c35d34d8cc25221a9292a30211ceb605e0 Mon Sep 17 00:00:00 2001 From: Josh Abraham Date: Wed, 27 Dec 2023 14:00:40 -0500 Subject: [PATCH 2/2] a few more instances --- InvokeAssembly/invokeassembly.py | 4 +-- Jump-exec/ScShell/scshell.py | 6 ++--- PowerPick/powerpick.py | 2 +- nanorobeus/nanorobeus.py | 44 ++++++++++++++++---------------- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/InvokeAssembly/invokeassembly.py b/InvokeAssembly/invokeassembly.py index d4f143e..6ea7749 100644 --- a/InvokeAssembly/invokeassembly.py +++ b/InvokeAssembly/invokeassembly.py @@ -17,7 +17,7 @@ def InvokeAssembly( demonID, *param ): if len( param ) < 2: demon.ConsoleWrite(demon.CONSOLE_ERROR, "Not enough arguments") - return + return False try: Assembly = open( param[ 0 ], 'rb' ) @@ -29,7 +29,7 @@ def InvokeAssembly( demonID, *param ): except OSError: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Failed to open assembly file: " + param[ 0 ] ) - return + return False arg = packer.getbuffer() diff --git a/Jump-exec/ScShell/scshell.py b/Jump-exec/ScShell/scshell.py index 04cc09e..2f02afd 100644 --- a/Jump-exec/ScShell/scshell.py +++ b/Jump-exec/ScShell/scshell.py @@ -15,7 +15,7 @@ def scshell( demonID, *params ): if len(params) < 2: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Not enough arguments" ) - return + return False else: Host = params[ 0 ] SvcName = params[ 1 ] @@ -23,12 +23,12 @@ def scshell( demonID, *params ): if exists( SvcPath ) == False: demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Service executable not found: {SvcPath}" ) - return + return False else: SvcBinary = open( SvcPath, 'rb' ).read() if len(SvcBinary) == 0: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Specified service executable is empty" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute {SvcPath} on {Host} using scshell" ) diff --git a/PowerPick/powerpick.py b/PowerPick/powerpick.py index 41e147a..40ccce4 100644 --- a/PowerPick/powerpick.py +++ b/PowerPick/powerpick.py @@ -14,7 +14,7 @@ def PowerPick(demonID, *param): if len( param ) < 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Not enough arguments" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, "Tasked demon to execute unmanaged powershell commands" ) diff --git a/nanorobeus/nanorobeus.py b/nanorobeus/nanorobeus.py index 848819b..58489fc 100644 --- a/nanorobeus/nanorobeus.py +++ b/nanorobeus/nanorobeus.py @@ -50,7 +50,7 @@ def sessions( demonID, *param ): if num_params > 2: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many arguments" ) - return + return False elif num_params == 2: arg1 = param[ 1 ] arg2 = param[ 2 ] @@ -64,7 +64,7 @@ def sessions( demonID, *param ): arg1 = param[ 1 ] if arg1 != '/all': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute sessions" ) @@ -94,21 +94,21 @@ def klist( demonID, *param ): if num_params > 2: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many arguments" ) - return + return False elif num_params == 2: arg1 = param[ 1 ] arg2 = param[ 2 ] if arg1 != '/luid': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False if not is_hex_number(arg2): demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid second argument: {arg2}" ) - return + return False elif num_params == 1: arg1 = param[ 1 ] if arg1 != '/all': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute klist" ) @@ -138,21 +138,21 @@ def dump( demonID, *param ): if num_params > 2: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many arguments" ) - return + return False elif num_params == 2: arg1 = param[ 1 ] arg2 = param[ 2 ] if arg1 != '/luid': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False if not is_hex_number(arg2): demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid second argument: {arg2}" ) - return + return False elif num_params == 1: arg1 = param[ 1 ] if arg1 != '/all': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute dump" ) @@ -182,30 +182,30 @@ def ptt( demonID, *param ): if num_params > 3: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many arguments" ) - return + return False if num_params < 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Not enough arguments" ) - return + return False arg1 = param[ 1 ] if not is_base64(arg1): demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False if num_params == 2: arg2 = param[ 2 ] if arg2 != '/all': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid second argument: {arg2}" ) - return + return False elif num_params == 3: arg2 = param[ 2 ] arg3 = param[ 3 ] if arg2 != '/luid': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid second argument: {arg2}" ) - return + return False if not is_hex_number(arg3): demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid third argument: {arg3}" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute ptt" ) @@ -235,20 +235,20 @@ def purge( demonID, *param ): if num_params > 2: demon.ConsoleWrite( demon.CONSOLE_ERROR, "Too many arguments" ) - return + return False elif num_params == 2: arg1 = param[ 1 ] arg2 = param[ 2 ] if arg1 != '/luid': demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False if not is_hex_number(arg2): demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid second argument: {arg2}" ) - return + return False elif num_params == 1: arg1 = param[ 1 ] demon.ConsoleWrite( demon.CONSOLE_ERROR, f"Invalid first argument: {arg1}" ) - return + return False TaskID = demon.ConsoleWrite( demon.CONSOLE_TASK, f"Tasked demon to execute purge" ) @@ -278,7 +278,7 @@ def tgtdeleg( demonID, *param ): if num_params != 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "One argument must be entered" ) - return + return False arg1 = param[ 1 ] @@ -310,7 +310,7 @@ def kerberoast( demonID, *param ): if num_params != 1: demon.ConsoleWrite( demon.CONSOLE_ERROR, "One argument must be entered" ) - return + return False arg1 = param[ 0 ]