Example #1
0
 def test_dumpert_upload_error(self):
     dump_option = Dumper.Options()
     dump_option.dumpert_path = dumpert_path
     dump_option.share = "INVALID_SHARE"
     ret = Dumper(self.conn, dump_option).dumpert_dump(())
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_DUMPERT_NOT_UPLOADED[1], ret.error_msg)
Example #2
0
 def test_dumpert_execute_error(self):
     dump_option = Dumper.Options()
     dump_option.dumpert_path = dumpert_path
     dumper = Dumper(self.conn, dump_option)
     ret = dumper.dumpert_dump(())
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_DUMPERT_NO_EXECUTE[1], ret.error_msg)
     dumper.clean()
Example #3
0
 def test_procdump_execute_error(self):
     dump_option = Dumper.Options()
     dump_option.procdump_path = procdump_path
     dump = Dumper(self.conn, dump_option)
     ret = dump.procdump_dump(())
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_PROCDUMP_NO_EXECUTE[1], ret.error_msg)
     dump.clean()
Example #4
0
 def test_dump_protected(self):
     dump_option = Dumper.Options()
     dump_option.method = 2
     dump_option.procdump_path = procdump_path
     dumper = Dumper(self.conn, dump_option)
     ret = dumper.dump()
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_LSASS_PROTECTED[1], ret.error_msg)
     dumper.clean()
Example #5
0
    def dump_lsass(self, options=Dumper.Options()):
        is_admin = self._conn.isadmin()
        if not is_admin.success():
            self._conn.close()
            return is_admin

        self._dumper = Dumper(self._conn, options)
        dump_result = self._dumper.dump()
        if not dump_result.success():
            return dump_result
        self._dumpfile = self._dumper.getfile()

        self._log.info("Process lsass.exe has been dumped")
        return RetCode(ERROR_SUCCESS)
Example #6
0
 def test_dump_success(self):
     dumper = Dumper(self.conn)
     ret = dumper.dump()
     dumper.clean()
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_SUCCESS[1], ret.error_msg)
Example #7
0
 def test_dump_method_unknown(self):
     dump_option = Dumper.Options()
     dump_option.method = 99
     ret = Dumper(self.conn, dump_option).dump()
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_METHOD_NOT_SUPPORTED[1], ret.error_msg)
Example #8
0
 def test_dumpert_invalid_parameter(self):
     dump_option = Dumper.Options()
     dump_option.dumpert_path = "/invalid/path"
     ret = Dumper(self.conn, dump_option).dumpert_dump(())
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_DUMPERT_NOT_FOUND[1], ret.error_msg)
Example #9
0
 def test_dumpert_missing_parameter(self):
     ret = Dumper(self.conn).dumpert_dump(("wmi", ))
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_DUMPERT_NOT_PROVIDED[1], ret.error_msg)
Example #10
0
 def test_dll_execute_success(self):
     ret = Dumper(self.conn).dll_dump(("task", ), "cmd")
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_SUCCESS[1], ret.error_msg)
Example #11
0
 def test_dll_execute_error(self):
     ret = Dumper(self.conn).dll_dump((), "cmd")
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_DLL_NO_EXECUTE[1], ret.error_msg)
Example #12
0
 def test_dll_dump_invalid_shell(self):
     ret = Dumper(self.conn).dll_dump(("wmi", ), "unknown")
     self.assertIsInstance(ret, RetCode)
     self.assertEqual(ERROR_METHOD_NOT_SUPPORTED[1], ret.error_msg)