def test_SchRpcRun(self): dce, rpctransport = self.connect(self.stringBindingAtSvc, tsch.MSRPC_UUID_TSCHS) dce2, rpctransport = self.connect(self.stringBindingAtSvc, atsvc.MSRPC_UUID_ATSVC) atInfo = AT_INFO() atInfo['JobTime'] = NULL atInfo['DaysOfMonth'] = 0 atInfo['DaysOfWeek'] = 0 atInfo['Flags'] = 0 atInfo[ 'Command'] = '%%COMSPEC%% /C dir > %%SYSTEMROOT%%\\Temp\\ANI 2>&1\x00' try: resp = atsvc.hNetrJobAdd(dce2, NULL, atInfo) resp.dump() except Exception as e: if e.get_error_code() != ERROR_NOT_SUPPORTED: raise else: # OpNum not supported, aborting test return jobId = resp['pJobId'] request = tsch.SchRpcRun() request['path'] = '\\At%d\x00' % jobId #request['cArgs'] = 2 #arg0 = LPWSTR() #arg0['Data'] = 'arg0\x00' #arg1 = LPWSTR() #arg1['Data'] = 'arg1\x00' #request['pArgs'].append(arg0) #request['pArgs'].append(arg1) request['cArgs'] = 0 request['pArgs'] = NULL request['flags'] = tsch.TASK_RUN_AS_SELF request['sessionId'] = 0 request['user'] = NULL try: resp = dce.request(request) resp.dump() except Exception as e: print(e) pass resp = atsvc.hNetrJobDel(dce2, NULL, jobId, jobId) resp.dump()
def test_SchRpcRun(self): dce, rpc_transport = self.connect() dce_2, rpc_transport_2 = self.connect( iface_uuid=atsvc.MSRPC_UUID_ATSVC) atInfo = AT_INFO() atInfo['JobTime'] = NULL atInfo['DaysOfMonth'] = 0 atInfo['DaysOfWeek'] = 0 atInfo['Flags'] = 0 atInfo[ 'Command'] = '%%COMSPEC%% /C dir > %%SYSTEMROOT%%\\Temp\\ANI 2>&1\x00' try: resp = atsvc.hNetrJobAdd(dce_2, NULL, atInfo) resp.dump() except atsvc.DCERPCSessionError as e: if e.get_error_code() != ERROR_NOT_SUPPORTED: raise else: # OpNum not supported, aborting test return jobId = resp['pJobId'] request = tsch.SchRpcRun() request['path'] = '\\At%d\x00' % jobId request['cArgs'] = 0 request['pArgs'] = NULL request['flags'] = tsch.TASK_RUN_AS_SELF request['sessionId'] = 0 request['user'] = NULL try: resp = dce.request(request) resp.dump() except tsch.DCERPCSessionError as e: print(e) pass resp = atsvc.hNetrJobDel(dce_2, NULL, jobId, jobId) resp.dump()
def test_SchRpcRun(self): dce, rpctransport = self.connect(self.stringBindingAtSvc, tsch.MSRPC_UUID_TSCHS) dce2, rpctransport = self.connect(self.stringBindingAtSvc, atsvc.MSRPC_UUID_ATSVC) atInfo = AT_INFO() atInfo['JobTime'] = NULL atInfo['DaysOfMonth'] = 0 atInfo['DaysOfWeek'] = 0 atInfo['Flags'] = 0 atInfo[ 'Command'] = '%%COMSPEC%% /C dir > %%SYSTEMROOT%%\\Temp\\ANI 2>&1\x00' resp = atsvc.hNetrJobAdd(dce2, NULL, atInfo) resp.dump() jobId = resp['pJobId'] request = tsch.SchRpcRun() request['path'] = '\\At%d\x00' % jobId #request['cArgs'] = 2 #arg0 = LPWSTR() #arg0['Data'] = 'arg0\x00' #arg1 = LPWSTR() #arg1['Data'] = 'arg1\x00' #request['pArgs'].append(arg0) #request['pArgs'].append(arg1) request['cArgs'] = 0 request['pArgs'] = NULL request['flags'] = tsch.TASK_RUN_AS_SELF request['sessionId'] = 0 request['user'] = NULL try: resp = dce.request(request) resp.dump() except Exception, e: print e pass