Lucene search
+L

Linux Execute Command

🗓️ 24 Jan 2026 22:19:45Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 2 Views

KittySploit Linux Execute Command executes commands on Linux shell, Metasploit, and SSH sessions.

Refs
Code
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from kittysploit import *
from lib.post.linux.system import System
from lib.post.linux.session import LinuxSessionMixin
import time
import threading


class Module(Post, System, LinuxSessionMixin):

    __info__ = {
        "name": "Linux Execute Command",
        "description": "Execute commands on Linux sessions with support for short/long responses and fire-and-forget mode",
        "platform": Platform.LINUX,
        "author": "KittySploit Team",
        "session_type": [SessionType.SHELL, 
                        SessionType.METERPRETER,
                        SessionType.SSH],
    'agent': {
        'risk': 'intrusive',
        'effects': ['active_exploitation'],
        'expected_requests': 2,
        'reversible': False,
        'approval_required': True,
        'produces': ['risk_signals'],
        'cost': 1.5,
        'noise': 0.5,
        'value': 1.0,
        'requires':         {'min_endpoints': 0,
         'min_params': 0,
         'tech_hints_any': [],
         'tech_hints_all': [],
         'specializations_any': [],
         'risk_signals_any': [],
         'auth_session': False,
         'capabilities_any': [],
         'capabilities_all': [],
         'confidence_min': {},
         'confidence_min_any': {},
         'endpoint_pattern_any': [],
         'param_any': [],
         'api_surface_ready': False},
        'chain':         {'produces_capabilities': [],
         'consumes_capabilities': [],
         'option_bindings': {},
         'suggested_followups': []},
    },
    }
    
    command = OptString("ls -la", "Command to execute", required=True)
    wait_for_response = OptBool(True, "Wait for command response (False for fire-and-forget)", required=False)
    timeout = OptInteger(30, "Timeout in seconds for command execution (0 = no timeout)", required=False, advanced=True)
    max_output_length = OptInteger(10000, "Maximum output length to display (0 = unlimited)", required=False, advanced=True)

    def run(self):
        if not self.linux_require_linux():
            return False

        if not self.wait_for_response:
            print_status(f"Executing command in background: {self.command}")
            try:
                def execute_async():
                    try:
                        self.linux_execute(str(self.command))
                    except Exception as e:
                        print_error(f"Background command error: {e}")
                
                thread = threading.Thread(target=execute_async, daemon=True)
                thread.start()
                print_success("Command sent in background (fire-and-forget mode)")
                return True
            except Exception as e:
                print_error(f"Error executing command in background: {e}")
                return False
        
        print_status(f"Executing command: {self.command}")
        
        try:
            start_time = time.time()
            to = int(self.timeout or 0)
            result = self.linux_execute(str(self.command), timeout=to if to > 0 else 0)
            execution_time = time.time() - start_time
            
            if not result:
                print_warning("Command executed but returned no output")
                return True
            
            if result.startswith("Error:") or "error" in result.lower():
                print_error(f"Command error: {result}")
                return False
            
            output_length = len(result)
            is_long_output = output_length > 1000
            
            display_result = result
            if self.max_output_length > 0 and output_length > self.max_output_length:
                display_result = result[:self.max_output_length]
                truncated = True
            else:
                truncated = False
            
            if truncated:
                print_info("\n--- Command Output (truncated) ---")
                print_info(display_result)
                print_warning(f"... ({output_length - self.max_output_length} more characters)")
            elif is_long_output:
                print_info("\n--- Command Output ---")
                print_info(display_result)
                print_info(f"\nExecution time: {execution_time:.2f} seconds")
            else:
                print_success("Command executed successfully")
                print_info("\n--- Command Output ---")
                print_info(display_result)
                print_info(f"Execution time: {execution_time:.2f} seconds")
                        
        except Exception as e:
            print_error(f"Error executing command: {e}")
            return False

        return True

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

02 Aug 2026 20:51Current
5.9Medium risk
Vulners AI Score5.9
2