Advertisement
Guest User

password

a guest
Jan 8th, 2017
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 56.37 KB | None | 0 0
  1. #!/usr/bin/python
  2. #
  3. # [Program]
  4. #
  5. # CUPP 3.1.0-alpha
  6. # Common User Passwords Profiler
  7. #
  8. #
  9. #
  10. # [Author]
  11. #
  12. # Muris Kurgas aka j0rgan
  13. # j0rgan [at] remote-exploit [dot] org
  14. # http://www.remote-exploit.org
  15. # http://www.azuzi.me
  16. #
  17. #
  18. #
  19. # [License]
  20. #
  21. # This program is free software; you can redistribute it and/or modify
  22. # it under the terms of the GNU General Public License as published by
  23. # the Free Software Foundation; either version 3 of the License, or
  24. # any later version.
  25. #
  26. # This program is distributed in the hope that it will be useful,
  27. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  28. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  29. # GNU General Public License for more details.
  30. #
  31. # You should have received a copy of the GNU General Public License
  32. # along with this program; if not, write to the Free Software
  33. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  34. #
  35. # See 'docs/LICENSE' for more information.
  36.  
  37. import sys
  38. import os
  39. import ftplib
  40. import ConfigParser
  41. import urllib
  42. import gzip
  43. import csv
  44.  
  45.  
  46. # Reading configuration file...
  47. config = ConfigParser.ConfigParser()
  48. config.read('cupp.cfg')
  49.  
  50. years = config.get('years', 'years').split(',')
  51. chars = config.get('specialchars', 'chars').split(',')
  52.  
  53. numfrom = config.getint('nums','from')
  54. numto = config.getint('nums','to')
  55.  
  56. wcfrom = config.getint('nums','wcfrom')
  57. wcto = config.getint('nums','wcto')
  58.  
  59. threshold = config.getint('nums','threshold')
  60.  
  61. # 1337 mode configs, well you can add more lines if you add it to config file too.
  62. # You will need to add more lines in two places in cupp.py code as well...
  63. a = config.get('leet','a')
  64. i = config.get('leet','i')
  65. e = config.get('leet','e')
  66. t = config.get('leet','t')
  67. o = config.get('leet','o')
  68. s = config.get('leet','s')
  69. g = config.get('leet','g')
  70. z = config.get('leet','z')
  71.  
  72.  
  73. # for concatenations...
  74.  
  75. def concats(seq, start, stop):
  76. for mystr in seq:
  77. for num in xrange(start, stop):
  78. yield mystr + str(num)
  79.  
  80.  
  81. # for sorting and making combinations...
  82.  
  83. def komb(seq, start, special = ""):
  84. for mystr in seq:
  85. for mystr1 in start:
  86. yield mystr + special + mystr1
  87.  
  88. # print list to file counting words
  89.  
  90. def print_to_file(filename, unique_list_finished):
  91. f = open ( filename, 'w' )
  92. unique_list_finished.sort()
  93. f.write (os.linesep.join(unique_list_finished))
  94. f = open ( filename, 'r' )
  95. lines = 0
  96. for line in f:
  97. lines += 1
  98. f.close()
  99. print "[+] Saving dictionary to \033[1;31m"+filename+"\033[1;m, counting \033[1;31m"+str(lines)+" words.\033[1;m"
  100. print "[+] Now load your pistolero with \033[1;31m"+filename+"\033[1;m and shoot! Good luck!"
  101.  
  102. if len(sys.argv) < 2 or sys.argv[1] == '-h':
  103. print " ___________ "
  104. print " \033[07m cupp.py! \033[27m # Common"
  105. print " \ # User"
  106. print " \ \033[1;31m,__,\033[1;m # Passwords"
  107. print " \ \033[1;31m(\033[1;moo\033[1;31m)____\033[1;m # Profiler"
  108. print " \033[1;31m(__) )\ \033[1;m "
  109. print " \033[1;31m ||--|| \033[1;m\033[05m*\033[25m\033[1;m [ Muris Kurgas | j0rgan@remote-exploit.org ]\r\n\r\n"
  110.  
  111. print " [ Options ]\r\n"
  112. print " -h You are looking at it baby! :)"
  113. print " For more help take a look in docs/README"
  114. print " Global configuration file is cupp.cfg\n"
  115.  
  116. print " -i Interactive questions for user password profiling\r\n"
  117.  
  118. print " -w Use this option to improve existing dictionary,"
  119. print " or WyD.pl output to make some pwnsauce\r\n"
  120.  
  121. print " -l Download huge wordlists from repository\r\n"
  122. print " -a Parse default usernames and passwords directly from Alecto DB."
  123. print " Project Alecto uses purified databases of Phenoelit and CIRT"
  124. print " which where merged and enhanced.\r\n"
  125. print " -v Version of the program\r\n"
  126. exit()
  127.  
  128. elif sys.argv[1] == '-v':
  129. print "\r\n \033[1;31m[ cupp.py ] v3.1.0-alpha\033[1;m\r\n"
  130. print " * Hacked up by j0rgan - j0rgan@remote-exploit.org"
  131. print " * http://www.remote-exploit.org\r\n"
  132. print " Take a look ./README.md file for more info about the program\r\n"
  133. exit()
  134.  
  135.  
  136. elif sys.argv[1] == '-w':
  137. if len(sys.argv) < 3:
  138. print "\r\n[Usage]: "+sys.argv[0]+" -w [FILENAME]\r\n"
  139. exit()
  140. fajl = open(sys.argv[2], "r")
  141. listic = fajl.readlines()
  142. linije = 0
  143. for line in listic:
  144. linije += 1
  145.  
  146. listica = []
  147. for x in listic:
  148. listica += x.split()
  149.  
  150. print "\r\n *************************************************"
  151. print " * \033[1;31mWARNING!!!\033[1;m *"
  152. print " * Using large wordlists in some *"
  153. print " * options bellow is NOT recommended! *"
  154. print " *************************************************\r\n"
  155.  
  156. conts = raw_input("> Do you want to concatenate all words from wordlist? Y/[N]: ").lower()
  157.  
  158.  
  159.  
  160. if conts == "y" and linije > threshold:
  161. print "\r\n[-] Maximum number of words for concatenation is "+str(threshold)
  162. print "[-] Check configuration file for increasing this number.\r\n"
  163. conts = raw_input("> Do you want to concatenate all words from wordlist? Y/[N]: ").lower()
  164. conts = conts
  165. cont = ['']
  166. if conts == "y":
  167. for cont1 in listica:
  168. for cont2 in listica:
  169. if listica.index(cont1) != listica.index(cont2):
  170. cont.append(cont1+cont2)
  171.  
  172. spechars = ['']
  173. spechars1 = raw_input("> Do you want to add special chars at the end of words? Y/[N]: ").lower()
  174. if spechars1 == "y":
  175. for spec1 in chars:
  176. spechars.append(spec1)
  177. for spec2 in chars:
  178. spechars.append(spec1+spec2)
  179. for spec3 in chars:
  180. spechars.append(spec1+spec2+spec3)
  181.  
  182. randnum = raw_input("> Do you want to add some random numbers at the end of words? Y/[N]:").lower()
  183. leetmode = raw_input("> Leet mode? (i.e. leet = 1337) Y/[N]: ").lower()
  184.  
  185.  
  186. kombinacija1 = list(komb(listica, years))
  187. kombinacija2 = ['']
  188. if conts == "y":
  189. kombinacija2 = list(komb(cont, years))
  190. kombinacija3 = ['']
  191. kombinacija4 = ['']
  192. if spechars1 == "y":
  193. kombinacija3 = list(komb(listica, spechars))
  194. if conts == "y":
  195. kombinacija4 = list(komb(cont, spechars))
  196. kombinacija5 = ['']
  197. kombinacija6 = ['']
  198. if randnum == "y":
  199. kombinacija5 = list(concats(listica, numfrom, numto))
  200. if conts == "y":
  201. kombinacija6 = list(concats(cont, numfrom, numto))
  202.  
  203. print "\r\n[+] Now making a dictionary..."
  204.  
  205. print "[+] Sorting list and removing duplicates..."
  206.  
  207. komb_unique1 = dict.fromkeys(kombinacija1).keys()
  208. komb_unique2 = dict.fromkeys(kombinacija2).keys()
  209. komb_unique3 = dict.fromkeys(kombinacija3).keys()
  210. komb_unique4 = dict.fromkeys(kombinacija4).keys()
  211. komb_unique5 = dict.fromkeys(kombinacija5).keys()
  212. komb_unique6 = dict.fromkeys(kombinacija6).keys()
  213. komb_unique7 = dict.fromkeys(listica).keys()
  214. komb_unique8 = dict.fromkeys(cont).keys()
  215.  
  216. uniqlist = komb_unique1+komb_unique2+komb_unique3+komb_unique4+komb_unique5+komb_unique6+komb_unique7+komb_unique8
  217.  
  218. unique_lista = dict.fromkeys(uniqlist).keys()
  219. unique_leet = []
  220. if leetmode == "y":
  221. for x in unique_lista: # if you want to add more leet chars, you will need to add more lines in cupp.cfg too...
  222. x = x.replace('a',a)
  223. x = x.replace('i',i)
  224. x = x.replace('e',e)
  225. x = x.replace('t',t)
  226. x = x.replace('o',o)
  227. x = x.replace('s',s)
  228. x = x.replace('g',g)
  229. x = x.replace('z',z)
  230. unique_leet.append(x)
  231.  
  232. unique_list = unique_lista + unique_leet
  233.  
  234. unique_list_finished = []
  235.  
  236. unique_list_finished = [x for x in unique_list if len(x) > wcfrom and len(x) < wcto]
  237.  
  238. print_to_file(sys.argv[2]+'.cupp.txt', unique_list_finished)
  239.  
  240. fajl.close()
  241. exit()
  242.  
  243.  
  244.  
  245. elif sys.argv[1] == '-i':
  246. print "\r\n[+] Insert the informations about the victim to make a dictionary"
  247. print "[+] If you don't know all the info, just hit enter when asked! ;)\r\n"
  248.  
  249. # We need some informations first!
  250.  
  251. name = raw_input("> First Name: ").lower()
  252. while len(name) == 0 or name == " " or name == " " or name == " ":
  253. print "\r\n[-] You must enter a name at least!"
  254. name = raw_input("> Name: ").lower()
  255. name = str(name)
  256.  
  257. surname = raw_input("> Surname: ").lower()
  258. nick = raw_input("> Nickname: ").lower()
  259. birthdate = raw_input("> Birthdate (DDMMYYYY): ")
  260. while len(birthdate) != 0 and len(birthdate) != 8:
  261. print "\r\n[-] You must enter 8 digits for birthday!"
  262. birthdate = raw_input("> Birthdate (DDMMYYYY): ")
  263. birthdate = str(birthdate)
  264.  
  265. print "\r\n"
  266.  
  267. wife = raw_input("> Partners) name: ").lower()
  268. wifen = raw_input("> Partners) nickname: ").lower()
  269. wifeb = raw_input("> Partners) birthdate (DDMMYYYY): ")
  270. while len(wifeb) != 0 and len(wifeb) != 8:
  271. print "\r\n[-] You must enter 8 digits for birthday!"
  272. wifeb = raw_input("> Partners birthdate (DDMMYYYY): ")
  273. wifeb = str(wifeb)
  274. print "\r\n"
  275.  
  276. kid = raw_input("> Child's name: ").lower()
  277. kidn = raw_input("> Child's nickname: ").lower()
  278. kidb = raw_input("> Child's birthdate (DDMMYYYY): ")
  279. while len(kidb) != 0 and len(kidb) != 8:
  280. print "\r\n[-] You must enter 8 digits for birthday!"
  281. kidb = raw_input("> Child's birthdate (DDMMYYYY): ")
  282. kidb = str(kidb)
  283. print "\r\n"
  284.  
  285. pet = raw_input("> Pet's name: ").lower()
  286. company = raw_input("> Company name: ").lower()
  287. print "\r\n"
  288.  
  289. words = ['']
  290. words1 = raw_input("> Do you want to add some key words about the victim? Y/[N]: ").lower()
  291. words2 = ""
  292. if words1 == "y":
  293. words2 = raw_input("> Please enter the words, separated by comma. [i.e. hacker,juice,black], spaces will be removed: ").replace(" ","")
  294. words = words2.split(",")
  295.  
  296. spechars = ['']
  297. spechars1 = raw_input("> Do you want to add special chars at the end of words? Y/[N]: ").lower()
  298. if spechars1 == "y":
  299. for spec1 in chars:
  300. spechars.append(spec1)
  301. for spec2 in chars:
  302. spechars.append(spec1+spec2)
  303. for spec3 in chars:
  304. spechars.append(spec1+spec2+spec3)
  305.  
  306. randnum = raw_input("> Do you want to add some random numbers at the end of words? Y/[N]:").lower()
  307. leetmode = raw_input("> Leet mode? (i.e. leet = 1337) Y/[N]: ").lower()
  308.  
  309.  
  310. print "\r\n[+] Now making a dictionary..."
  311.  
  312.  
  313. # Now me must do some string modifications...
  314.  
  315. # Birthdays first
  316.  
  317. birthdate_yy = birthdate[-2:]
  318. birthdate_yyy = birthdate[-3:]
  319. birthdate_yyyy = birthdate[-4:]
  320. birthdate_xd = birthdate[1:2]
  321. birthdate_xm = birthdate[3:4]
  322. birthdate_dd = birthdate[:2]
  323. birthdate_mm = birthdate[2:4]
  324.  
  325. wifeb_yy = wifeb[-2:]
  326. wifeb_yyy = wifeb[-3:]
  327. wifeb_yyyy = wifeb[-4:]
  328. wifeb_xd = wifeb[1:2]
  329. wifeb_xm = wifeb[3:4]
  330. wifeb_dd = wifeb[:2]
  331. wifeb_mm = wifeb[2:4]
  332.  
  333. kidb_yy = kidb[-2:]
  334. kidb_yyy = kidb[-3:]
  335. kidb_yyyy = kidb[-4:]
  336. kidb_xd = kidb[1:2]
  337. kidb_xm = kidb[3:4]
  338. kidb_dd = kidb[:2]
  339. kidb_mm = kidb[2:4]
  340.  
  341.  
  342. # Convert first letters to uppercase...
  343.  
  344. nameup = name.title()
  345. surnameup = surname.title()
  346. nickup = nick.title()
  347. wifeup = wife.title()
  348. wifenup = wifen.title()
  349. kidup = kid.title()
  350. kidnup = kidn.title()
  351. petup = pet.title()
  352. companyup = company.title()
  353.  
  354. wordsup = []
  355. wordsup = map(str.title, words)
  356.  
  357. word = words+wordsup
  358.  
  359. # reverse a name
  360.  
  361. rev_name = name[::-1]
  362. rev_nameup = nameup[::-1]
  363. rev_nick = nick[::-1]
  364. rev_nickup = nickup[::-1]
  365. rev_wife = wife[::-1]
  366. rev_wifeup = wifeup[::-1]
  367. rev_kid = kid[::-1]
  368. rev_kidup = kidup[::-1]
  369.  
  370. reverse = [rev_name, rev_nameup, rev_nick, rev_nickup, rev_wife, rev_wifeup, rev_kid, rev_kidup]
  371. rev_n = [rev_name, rev_nameup, rev_nick, rev_nickup]
  372. rev_w = [rev_wife, rev_wifeup]
  373. rev_k = [rev_kid, rev_kidup]
  374. # Let's do some serious work! This will be a mess of code, but... who cares? :)
  375.  
  376. # Birthdays combinations
  377.  
  378. bds = [birthdate_yy, birthdate_yyy, birthdate_yyyy, birthdate_xd, birthdate_xm, birthdate_dd, birthdate_mm]
  379.  
  380. bdss = []
  381.  
  382. for bds1 in bds:
  383. bdss.append(bds1)
  384. for bds2 in bds:
  385. if bds.index(bds1) != bds.index(bds2):
  386. bdss.append(bds1+bds2)
  387. for bds3 in bds:
  388. if bds.index(bds1) != bds.index(bds2) and bds.index(bds2) != bds.index(bds3) and bds.index(bds1) != bds.index(bds3):
  389. bdss.append(bds1+bds2+bds3)
  390.  
  391.  
  392.  
  393. # For a woman...
  394. wbds = [wifeb_yy, wifeb_yyy, wifeb_yyyy, wifeb_xd, wifeb_xm, wifeb_dd, wifeb_mm]
  395.  
  396. wbdss = []
  397.  
  398. for wbds1 in wbds:
  399. wbdss.append(wbds1)
  400. for wbds2 in wbds:
  401. if wbds.index(wbds1) != wbds.index(wbds2):
  402. wbdss.append(wbds1+wbds2)
  403. for wbds3 in wbds:
  404. if wbds.index(wbds1) != wbds.index(wbds2) and wbds.index(wbds2) != wbds.index(wbds3) and wbds.index(wbds1) != wbds.index(wbds3):
  405. wbdss.append(wbds1+wbds2+wbds3)
  406.  
  407.  
  408.  
  409. # and a child...
  410. kbds = [kidb_yy, kidb_yyy, kidb_yyyy, kidb_xd, kidb_xm, kidb_dd, kidb_mm]
  411.  
  412. kbdss = []
  413.  
  414. for kbds1 in kbds:
  415. kbdss.append(kbds1)
  416. for kbds2 in kbds:
  417. if kbds.index(kbds1) != kbds.index(kbds2):
  418. kbdss.append(kbds1+kbds2)
  419. for kbds3 in kbds:
  420. if kbds.index(kbds1) != kbds.index(kbds2) and kbds.index(kbds2) != kbds.index(kbds3) and kbds.index(kbds1) != kbds.index(kbds3):
  421. kbdss.append(kbds1+kbds2+kbds3)
  422.  
  423. # string combinations....
  424.  
  425. kombinaac = [pet, petup, company, companyup]
  426.  
  427. kombina = [name, surname, nick, nameup, surnameup, nickup]
  428.  
  429. kombinaw = [wife, wifen, wifeup, wifenup, surname, surnameup]
  430.  
  431. kombinak = [kid, kidn, kidup, kidnup, surname, surnameup]
  432.  
  433. kombinaa = []
  434. for kombina1 in kombina:
  435. kombinaa.append(kombina1)
  436. for kombina2 in kombina:
  437. if kombina.index(kombina1) != kombina.index(kombina2) and kombina.index(kombina1.title()) != kombina.index(kombina2.title()):
  438. kombinaa.append(kombina1+kombina2)
  439.  
  440. kombinaaw = []
  441. for kombina1 in kombinaw:
  442. kombinaaw.append(kombina1)
  443. for kombina2 in kombinaw:
  444. if kombinaw.index(kombina1) != kombinaw.index(kombina2) and kombinaw.index(kombina1.title()) != kombinaw.index(kombina2.title()):
  445. kombinaaw.append(kombina1+kombina2)
  446.  
  447. kombinaak = []
  448. for kombina1 in kombinak:
  449. kombinaak.append(kombina1)
  450. for kombina2 in kombinak:
  451. if kombinak.index(kombina1) != kombinak.index(kombina2) and kombinak.index(kombina1.title()) != kombinak.index(kombina2.title()):
  452. kombinaak.append(kombina1+kombina2)
  453.  
  454.  
  455.  
  456. komb1 = list(komb(kombinaa, bdss))
  457. komb1 += list(komb(kombinaa, bdss, "_"))
  458. komb2 = list(komb(kombinaaw, wbdss))
  459. komb2 += list(komb(kombinaaw, wbdss, "_"))
  460. komb3 = list(komb(kombinaak, kbdss))
  461. komb3 += list(komb(kombinaak, kbdss, "_"))
  462. komb4 = list(komb(kombinaa, years))
  463. komb4 += list(komb(kombinaa, years, "_"))
  464. komb5 = list(komb(kombinaac, years))
  465. komb5 += list(komb(kombinaac, years, "_"))
  466. komb6 = list(komb(kombinaaw, years))
  467. komb6 += list(komb(kombinaaw, years, "_"))
  468. komb7 = list(komb(kombinaak, years))
  469. komb7 += list(komb(kombinaak, years, "_"))
  470. komb8 = list(komb(word, bdss))
  471. komb8 += list(komb(word, bdss, "_"))
  472. komb9 = list(komb(word, wbdss))
  473. komb9 += list(komb(word, wbdss, "_"))
  474. komb10 = list(komb(word, kbdss))
  475. komb10 += list(komb(word, kbdss, "_"))
  476. komb11 = list(komb(word, years))
  477. komb11 += list(komb(word, years, "_"))
  478. komb12 = ['']
  479. komb13 = ['']
  480. komb14 = ['']
  481. komb15 = ['']
  482. komb16 = ['']
  483. komb21 = ['']
  484. if randnum == "y":
  485. komb12 = list(concats(word, numfrom, numto))
  486. komb13 = list(concats(kombinaa, numfrom, numto))
  487. komb14 = list(concats(kombinaac, numfrom, numto))
  488. komb15 = list(concats(kombinaaw, numfrom, numto))
  489. komb16 = list(concats(kombinaak, numfrom, numto))
  490. komb21 = list(concats(reverse, numfrom, numto))
  491. komb17 = list(komb(reverse, years))
  492. komb17 += list(komb(reverse, years, "_"))
  493. komb18 = list(komb(rev_w, wbdss))
  494. komb18 += list(komb(rev_w, wbdss, "_"))
  495. komb19 = list(komb(rev_k, kbdss))
  496. komb19 += list(komb(rev_k, kbdss, "_"))
  497. komb20 = list(komb(rev_n, bdss))
  498. komb20 += list(komb(rev_n, bdss, "_"))
  499. komb001 = ['']
  500. komb002 = ['']
  501. komb003 = ['']
  502. komb004 = ['']
  503. komb005 = ['']
  504. komb006 = ['']
  505. if spechars1 == "y":
  506. komb001 = list(komb(kombinaa, spechars))
  507. komb002 = list(komb(kombinaac, spechars))
  508. komb003 = list(komb(kombinaaw , spechars))
  509. komb004 = list(komb(kombinaak , spechars))
  510. komb005 = list(komb(word, spechars))
  511. komb006 = list(komb(reverse, spechars))
  512.  
  513. print "[+] Sorting list and removing duplicates..."
  514.  
  515. komb_unique1 = dict.fromkeys(komb1).keys()
  516. komb_unique2 = dict.fromkeys(komb2).keys()
  517. komb_unique3 = dict.fromkeys(komb3).keys()
  518. komb_unique4 = dict.fromkeys(komb4).keys()
  519. komb_unique5 = dict.fromkeys(komb5).keys()
  520. komb_unique6 = dict.fromkeys(komb6).keys()
  521. komb_unique7 = dict.fromkeys(komb7).keys()
  522. komb_unique8 = dict.fromkeys(komb8).keys()
  523. komb_unique9 = dict.fromkeys(komb9).keys()
  524. komb_unique10 = dict.fromkeys(komb10).keys()
  525. komb_unique11 = dict.fromkeys(komb11).keys()
  526. komb_unique12 = dict.fromkeys(komb12).keys()
  527. komb_unique13 = dict.fromkeys(komb13).keys()
  528. komb_unique14 = dict.fromkeys(komb14).keys()
  529. komb_unique15 = dict.fromkeys(komb15).keys()
  530. komb_unique16 = dict.fromkeys(komb16).keys()
  531. komb_unique17 = dict.fromkeys(komb17).keys()
  532. komb_unique18 = dict.fromkeys(komb18).keys()
  533. komb_unique19 = dict.fromkeys(komb19).keys()
  534. komb_unique20 = dict.fromkeys(komb20).keys()
  535. komb_unique21 = dict.fromkeys(komb21).keys()
  536. komb_unique01 = dict.fromkeys(kombinaa).keys()
  537. komb_unique02 = dict.fromkeys(kombinaac).keys()
  538. komb_unique03 = dict.fromkeys(kombinaaw).keys()
  539. komb_unique04 = dict.fromkeys(kombinaak).keys()
  540. komb_unique05 = dict.fromkeys(word).keys()
  541. komb_unique07 = dict.fromkeys(komb001).keys()
  542. komb_unique08 = dict.fromkeys(komb002).keys()
  543. komb_unique09 = dict.fromkeys(komb003).keys()
  544. komb_unique010 = dict.fromkeys(komb004).keys()
  545. komb_unique011 = dict.fromkeys(komb005).keys()
  546. komb_unique012 = dict.fromkeys(komb006).keys()
  547.  
  548. uniqlist = bdss+wbdss+kbdss+reverse+komb_unique01+komb_unique02+komb_unique03+komb_unique04+komb_unique05+komb_unique1+komb_unique2+komb_unique3+komb_unique4+komb_unique5+komb_unique6+komb_unique7+komb_unique8+komb_unique9+komb_unique10+komb_unique11+komb_unique12+komb_unique13+komb_unique14+komb_unique15+komb_unique16+komb_unique17+komb_unique18+komb_unique19+komb_unique20+komb_unique21+komb_unique07+komb_unique08+komb_unique09+komb_unique010+komb_unique011+komb_unique012
  549.  
  550. unique_lista = dict.fromkeys(uniqlist).keys()
  551. unique_leet = []
  552. if leetmode == "y":
  553. for x in unique_lista: # if you want to add more leet chars, you will need to add more lines in cupp.cfg too...
  554. x = x.replace('a',a)
  555. x = x.replace('i',i)
  556. x = x.replace('e',e)
  557. x = x.replace('t',t)
  558. x = x.replace('o',o)
  559. x = x.replace('s',s)
  560. x = x.replace('g',g)
  561. x = x.replace('z',z)
  562. unique_leet.append(x)
  563.  
  564. unique_list = unique_lista + unique_leet
  565.  
  566. unique_list_finished = []
  567. unique_list_finished = [x for x in unique_list if len(x) < wcto and len(x) > wcfrom]
  568.  
  569. print_to_file(name+'.txt', unique_list_finished)
  570. exit()
  571.  
  572.  
  573. elif sys.argv[1] == '-a':
  574. url = config.get('alecto','alectourl')
  575.  
  576. print "\r\n[+] Checking if alectodb is not present..."
  577. if os.path.isfile('alectodb.csv.gz') == 0:
  578. print "[+] Downloading alectodb.csv.gz..."
  579. webFile = urllib.urlopen(url)
  580. localFile = open(url.split('/')[-1], 'w')
  581. localFile.write(webFile.read())
  582. webFile.close()
  583. localFile.close()
  584.  
  585.  
  586. f = gzip.open('alectodb.csv.gz', 'rb')
  587.  
  588. data = csv.reader(f)
  589.  
  590. usernames = []
  591. passwords = []
  592. for row in data:
  593. usernames.append(row[5])
  594. passwords.append(row[6])
  595. gus = list(set(usernames))
  596. gpa = list(set(passwords))
  597. gus.sort()
  598. gpa.sort()
  599.  
  600. print "\r\n[+] Exporting to alectodb-usernames.txt and alectodb-passwords.txt\r\n[+] Done."
  601. f = open ( 'alectodb-usernames.txt', 'w' )
  602. f.write (os.linesep.join(gus))
  603. f.close()
  604.  
  605. f = open ( 'alectodb-passwords.txt', 'w' )
  606. f.write (os.linesep.join(gpa))
  607. f.close()
  608.  
  609.  
  610. f.close()
  611. sys.exit()
  612.  
  613.  
  614.  
  615. elif sys.argv[1] == '-l':
  616.  
  617. ftpname = config.get('downloader','ftpname')
  618. ftpurl = config.get('downloader','ftpurl')
  619. ftppath = config.get('downloader','ftppath')
  620. ftpuser = config.get('downloader','ftpuser')
  621. ftppass = config.get('downloader','ftppass')
  622.  
  623.  
  624. if os.path.isdir('dictionaries') == 0:
  625. os.mkdir('dictionaries')
  626.  
  627. print " \r\n Choose the section you want to download:\r\n"
  628.  
  629. print " 1 Moby 14 french 27 places"
  630. print " 2 afrikaans 15 german 28 polish"
  631. print " 3 american 16 hindi 39 random"
  632. print " 4 aussie 17 hungarian 30 religion"
  633. print " 5 chinese 18 italian 31 russian"
  634. print " 6 computer 19 japanese 32 science"
  635. print " 7 croatian 20 latin 33 spanish"
  636. print " 8 czech 21 literature 34 swahili"
  637. print " 9 danish 22 movieTV 35 swedish"
  638. print " 10 databases 23 music 36 turkish"
  639. print " 11 dictionaries 24 names 37 yiddish"
  640. print " 12 dutch 25 net 38 exit program"
  641. print " 13 finnish 26 norwegian \r\n"
  642. print " \r\n Files will be downloaded from "+ftpname+" repository"
  643. print " \r\n Tip: After downloading wordlist, you can improve it with -w option\r\n"
  644.  
  645. filedown = raw_input("> Enter number: ")
  646. filedown.isdigit()
  647. while filedown.isdigit() == 0:
  648. print "\r\n[-] Wrong choice. "
  649. filedown = raw_input("> Enter number: ")
  650. filedown = str(filedown)
  651. while int(filedown) > 38:
  652. print "\r\n[-] Wrong choice. "
  653. filedown = raw_input("> Enter number: ")
  654. filedown = str(filedown)
  655.  
  656.  
  657. def handleDownload(block):
  658. file.write(block)
  659. print ".",
  660.  
  661. def downloader():
  662. ftp.login(ftpuser, ftppass)
  663. ftp.cwd(ftppath)
  664.  
  665. def filequitter():
  666. file.close()
  667. print ' done.'
  668.  
  669.  
  670. if filedown == "1":
  671. print "\r\n[+] connecting...\r\n"
  672. ftp = ftplib.FTP(ftpurl)
  673. downloader()
  674. ftp.cwd('Moby')
  675. if os.path.isdir('dictionaries/Moby/') == 0:
  676. os.mkdir('dictionaries/Moby/')
  677. dire = 'dictionaries/Moby/'
  678. file = open(dire+'mhyph.tar.gz', 'wb')
  679. print "\r\n[+] downloading mhyph.tar.gz..."
  680. ftp.retrbinary('RETR ' + 'mhyph.tar.gz', handleDownload)
  681. filequitter()
  682.  
  683. file = open(dire+'mlang.tar.gz', 'wb')
  684. print "\r\n[+] downloading mlang.tar.gz..."
  685. ftp.retrbinary('RETR ' + 'mlang.tar.gz', handleDownload)
  686. filequitter()
  687.  
  688. file = open(dire+'moby.tar.gz', 'wb')
  689. print "\r\n[+] downloading moby.tar.gz..."
  690. ftp.retrbinary('RETR ' + 'moby.tar.gz', handleDownload)
  691. filequitter()
  692.  
  693. file = open(dire+'mpos.tar.gz', 'wb')
  694. print "\r\n[+] downloading mpos.tar.gz..."
  695. ftp.retrbinary('RETR ' + 'mpos.tar.gz', handleDownload)
  696. filequitter()
  697.  
  698. file = open(dire+'mpron.tar.gz', 'wb')
  699. print "\r\n[+] downloading mpron.tar.gz..."
  700. ftp.retrbinary('RETR ' + 'mpron.tar.gz', handleDownload)
  701. filequitter()
  702.  
  703. file = open(dire+'mthes.tar.gz', 'wb')
  704. print "\r\n[+] downloading mthes.tar.gz..."
  705. ftp.retrbinary('RETR ' + 'mthes.tar.gz', handleDownload)
  706. filequitter()
  707.  
  708. file = open(dire+'mwords.tar.gz', 'wb')
  709. print "\r\n[+] downloading mwords.tar.gz..."
  710. ftp.retrbinary('RETR ' + 'mwords.tar.gz', handleDownload)
  711. filequitter()
  712.  
  713. print '[+] files saved to '+ dire
  714. ftp.quit()
  715. exit()
  716.  
  717. if filedown == "2":
  718. print "[+] connecting..."
  719. ftp = ftplib.FTP(ftpurl)
  720. downloader()
  721. ftp.cwd('afrikaans')
  722. if os.path.isdir('dictionaries/afrikaans/') == 0:
  723. os.mkdir('dictionaries/afrikaans/')
  724. dire = 'dictionaries/afrikaans/'
  725.  
  726. file = open(dire+'afr_dbf.zip', 'wb')
  727. print "\r\n[+] downloading afr_dbf.zip..."
  728. ftp.retrbinary('RETR ' + 'afr_dbf.zip', handleDownload)
  729. filequitter()
  730.  
  731. print '[+] file saved to '+ dire
  732. ftp.quit()
  733. exit()
  734.  
  735. if filedown == "3":
  736. print "[+] connecting..."
  737. ftp = ftplib.FTP(ftpurl)
  738. downloader()
  739. ftp.cwd('american')
  740. if os.path.isdir('dictionaries/american/') == 0:
  741. os.mkdir('dictionaries/american/')
  742. dire = 'dictionaries/american/'
  743.  
  744. file = open(dire+'dic-0294.tar.gz', 'wb')
  745. print "\r\n[+] downloading dic-0294.tar.gz..."
  746. ftp.retrbinary('RETR ' + 'dic-0294.tar.gz', handleDownload)
  747. filequitter()
  748.  
  749. print '[+] file saved to '+ dire
  750. ftp.quit()
  751. exit()
  752.  
  753. if filedown == "4":
  754. print "[+] connecting..."
  755. ftp = ftplib.FTP(ftpurl)
  756. downloader()
  757. ftp.cwd('aussie')
  758. if os.path.isdir('dictionaries/aussie/') == 0:
  759. os.mkdir('dictionaries/aussie/')
  760. dire = 'dictionaries/aussie/'
  761.  
  762. file = open(dire+'oz.gz', 'wb')
  763. print "\r\n[+] downloading oz.gz..."
  764. ftp.retrbinary('RETR ' + 'oz.gz', handleDownload)
  765. filequitter()
  766.  
  767. print '[+] file saved to '+ dire
  768. ftp.quit()
  769. exit()
  770.  
  771.  
  772. if filedown == "5":
  773. print "[+] connecting..."
  774. ftp = ftplib.FTP(ftpurl)
  775. downloader()
  776. ftp.cwd('chinese')
  777. if os.path.isdir('dictionaries/chinese/') == 0:
  778. os.mkdir('dictionaries/chinese/')
  779. dire = 'dictionaries/chinese/'
  780.  
  781. file = open(dire+'chinese.gz', 'wb')
  782. print "\r\n[+] downloading chinese.gz..."
  783. ftp.retrbinary('RETR ' + 'chinese.gz', handleDownload)
  784. filequitter()
  785.  
  786. print '[+] file saved to '+ dire
  787. ftp.quit()
  788. exit()
  789.  
  790. if filedown == "6":
  791. print "[+] connecting..."
  792. ftp = ftplib.FTP(ftpurl)
  793. downloader()
  794. ftp.cwd('computer')
  795. if os.path.isdir('dictionaries/computer/') == 0:
  796. os.mkdir('dictionaries/computer/')
  797. dire = 'dictionaries/computer/'
  798.  
  799. file = open(dire+'Domains.gz', 'wb')
  800. print "\r\n[+] downloading Domains.gz..."
  801. ftp.retrbinary('RETR ' + 'Domains.gz', handleDownload)
  802. filequitter()
  803.  
  804. file = open(dire+'Dosref.gz', 'wb')
  805. print "\r\n[+] downloading Dosref.gz..."
  806. ftp.retrbinary('RETR ' + 'Dosref.gz', handleDownload)
  807. filequitter()
  808.  
  809. file = open(dire+'Ftpsites.gz', 'wb')
  810. print "\r\n[+] downloading Ftpsites.gz..."
  811. ftp.retrbinary('RETR ' + 'Ftpsites.gz', handleDownload)
  812. filequitter()
  813.  
  814. file = open(dire+'Jargon.gz', 'wb')
  815. print "\r\n[+] downloading Jargon.gz..."
  816. ftp.retrbinary('RETR ' + 'Jargon.gz', handleDownload)
  817. filequitter()
  818.  
  819. file = open(dire+'common-passwords.txt.gz', 'wb')
  820. print "\r\n[+] downloading common-passwords.txt.gz..."
  821. ftp.retrbinary('RETR ' + 'common-passwords.txt.gz', handleDownload)
  822. filequitter()
  823.  
  824. file = open(dire+'etc-hosts.gz', 'wb')
  825. print "\r\n[+] downloading etc-hosts.gz..."
  826. ftp.retrbinary('RETR ' + 'etc-hosts.gz', handleDownload)
  827. filequitter()
  828.  
  829. file = open(dire+'foldoc.gz', 'wb')
  830. print "\r\n[+] downloading foldoc.gz..."
  831. ftp.retrbinary('RETR ' + 'foldoc.gz', handleDownload)
  832. filequitter()
  833.  
  834. file = open(dire+'language-list.gz', 'wb')
  835. print "\r\n[+] downloading language-list.gz..."
  836. ftp.retrbinary('RETR ' + 'language-list.gz', handleDownload)
  837. filequitter()
  838.  
  839. file = open(dire+'unix.gz', 'wb')
  840. print "\r\n[+] downloading unix.gz..."
  841. ftp.retrbinary('RETR ' + 'unix.gz', handleDownload)
  842. filequitter()
  843.  
  844. print '[+] files saved to '+ dire
  845. ftp.quit()
  846. exit()
  847.  
  848. if filedown == "7":
  849. print "[+] connecting..."
  850. ftp = ftplib.FTP(ftpurl)
  851. downloader()
  852. ftp.cwd('croatian')
  853. if os.path.isdir('dictionaries/croatian/') == 0:
  854. os.mkdir('dictionaries/croatian/')
  855. dire = 'dictionaries/croatian/'
  856.  
  857. file = open(dire+'croatian.gz', 'wb')
  858. print "\r\n[+] downloading croatian.gz..."
  859. ftp.retrbinary('RETR ' + 'croatian.gz', handleDownload)
  860. filequitter()
  861.  
  862. print '[+] file saved to '+ dire
  863. ftp.quit()
  864. exit()
  865.  
  866. if filedown == "8":
  867. print "[+] connecting..."
  868. ftp = ftplib.FTP(ftpurl)
  869. downloader()
  870. ftp.cwd('czech')
  871. if os.path.isdir('dictionaries/czech/') == 0:
  872. os.mkdir('dictionaries/czech/')
  873. dire = 'dictionaries/czech/'
  874.  
  875. file = open(dire+'czech-wordlist-ascii-cstug-novak.gz', 'wb')
  876. print "\r\n[+] downloading czech-wordlist-ascii-cstug-novak.gz..."
  877. ftp.retrbinary('RETR ' + 'czech-wordlist-ascii-cstug-novak.gz', handleDownload)
  878. filequitter()
  879.  
  880. print '[+] file saved to '+ dire
  881. ftp.quit()
  882. exit()
  883.  
  884.  
  885. if filedown == "9":
  886. print "[+] connecting..."
  887. ftp = ftplib.FTP(ftpurl)
  888. downloader()
  889. ftp.cwd('danish')
  890. if os.path.isdir('dictionaries/danish/') == 0:
  891. os.mkdir('dictionaries/danish/')
  892. dire = 'dictionaries/danish/'
  893.  
  894. file = open(dire+'danish.words.gz', 'wb')
  895. print "\r\n[+] downloading danish.words.gz..."
  896. ftp.retrbinary('RETR ' + 'danish.words.gz', handleDownload)
  897. filequitter()
  898.  
  899. file = open(dire+'dansk.zip', 'wb')
  900. print "\r\n[+] downloading dansk.zip..."
  901. ftp.retrbinary('RETR ' + 'dansk.zip', handleDownload)
  902. filequitter()
  903.  
  904. print '[+] files saved to '+ dire
  905. ftp.quit()
  906. exit()
  907.  
  908. if filedown == "10":
  909. print "[+] connecting..."
  910. ftp = ftplib.FTP(ftpurl)
  911. downloader()
  912. ftp.cwd('databases')
  913. if os.path.isdir('dictionaries/databases/') == 0:
  914. os.mkdir('dictionaries/databases/')
  915. dire = 'dictionaries/databases/'
  916.  
  917. file = open(dire+'acronyms.gz', 'wb')
  918. print "\r\n[+] downloading acronyms.gz..."
  919. ftp.retrbinary('RETR ' + 'acronyms.gz', handleDownload)
  920. filequitter()
  921.  
  922. file = open(dire+'att800.gz', 'wb')
  923. print "\r\n[+] downloading att800.gz..."
  924. ftp.retrbinary('RETR ' + 'att800.gz', handleDownload)
  925. filequitter()
  926.  
  927. file = open(dire+'computer-companies.gz', 'wb')
  928. print "\r\n[+] downloading computer-companies.gz..."
  929. ftp.retrbinary('RETR ' + 'computer-companies.gz', handleDownload)
  930. filequitter()
  931.  
  932. file = open(dire+'world_heritage.gz', 'wb')
  933. print "\r\n[+] downloading world_heritage.gz..."
  934. ftp.retrbinary('RETR ' + 'world_heritage.gz', handleDownload)
  935. filequitter()
  936.  
  937. print '[+] files saved to '+ dire
  938. ftp.quit()
  939. exit()
  940.  
  941. if filedown == "11":
  942. print "[+] connecting..."
  943. ftp = ftplib.FTP(ftpurl)
  944. downloader()
  945. ftp.cwd('dictionaries')
  946. if os.path.isdir('dictionaries/dictionaries/') == 0:
  947. os.mkdir('dictionaries/dictionaries/')
  948. dire = 'dictionaries/dictionaries/'
  949.  
  950. file = open(dire+'Antworth.gz', 'wb')
  951. print "\r\n[+] downloading Antworth.gz..."
  952. ftp.retrbinary('RETR ' + 'Antworth.gz', handleDownload)
  953. filequitter()
  954.  
  955. file = open(dire+'CRL.words.gz', 'wb')
  956. print "\r\n[+] downloading CRL.words.gz..."
  957. ftp.retrbinary('RETR ' + 'CRL.words.gz', handleDownload)
  958. filequitter()
  959.  
  960. file = open(dire+'Roget.words.gz', 'wb')
  961. print "\r\n[+] downloading Roget.words.gz..."
  962. ftp.retrbinary('RETR ' + 'Roget.words.gz', handleDownload)
  963. filequitter()
  964.  
  965. file = open(dire+'Unabr.dict.gz', 'wb')
  966. print "\r\n[+] downloading Unabr.dict.gz..."
  967. ftp.retrbinary('RETR ' + 'Unabr.dict.gz', handleDownload)
  968. filequitter()
  969.  
  970. file = open(dire+'Unix.dict.gz', 'wb')
  971. print "\r\n[+] downloading Unix.dict.gz..."
  972. ftp.retrbinary('RETR ' + 'Unix.dict.gz', handleDownload)
  973. filequitter()
  974.  
  975. file = open(dire+'englex-dict.gz', 'wb')
  976. print "\r\n[+] downloading englex-dict.gz..."
  977. ftp.retrbinary('RETR ' + 'englex-dict.gz', handleDownload)
  978. filequitter()
  979.  
  980. file = open(dire+'knuth_britsh.gz', 'wb')
  981. print "\r\n[+] downloading knuth_britsh.gz..."
  982. ftp.retrbinary('RETR ' + 'knuth_britsh.gz', handleDownload)
  983. filequitter()
  984.  
  985. file = open(dire+'knuth_words.gz', 'wb')
  986. print "\r\n[+] downloading knuth_words.gz..."
  987. ftp.retrbinary('RETR ' + 'knuth_words.gz', handleDownload)
  988. filequitter()
  989.  
  990. file = open(dire+'pocket-dic.gz', 'wb')
  991. print "\r\n[+] downloading pocket-dic.gz..."
  992. ftp.retrbinary('RETR ' + 'pocket-dic.gz', handleDownload)
  993. filequitter()
  994.  
  995. file = open(dire+'shakesp-glossary.gz', 'wb')
  996. print "\r\n[+] downloading shakesp-glossary.gz..."
  997. ftp.retrbinary('RETR ' + 'shakesp-glossary.gz', handleDownload)
  998. filequitter()
  999.  
  1000. file = open(dire+'special.eng.gz', 'wb')
  1001. print "\r\n[+] downloading special.eng.gz..."
  1002. ftp.retrbinary('RETR ' + 'special.eng.gz', handleDownload)
  1003. filequitter()
  1004.  
  1005. file = open(dire+'words-english.gz', 'wb')
  1006. print "\r\n[+] downloading words-english.gz..."
  1007. ftp.retrbinary('RETR ' + 'words-english.gz', handleDownload)
  1008. filequitter()
  1009.  
  1010. print '[+] files saved to '+ dire
  1011. ftp.quit()
  1012. exit()
  1013.  
  1014. if filedown == "12":
  1015. print "[+] connecting..."
  1016. ftp = ftplib.FTP(ftpurl)
  1017. downloader()
  1018. ftp.cwd('dutch')
  1019. if os.path.isdir('dictionaries/dutch/') == 0:
  1020. os.mkdir('dictionaries/dutch/')
  1021. dire = 'dictionaries/dutch/'
  1022.  
  1023. file = open(dire+'words.dutch.gz', 'wb')
  1024. print "\r\n[+] downloading words.dutch.gz..."
  1025. ftp.retrbinary('RETR ' + 'words.dutch.gz', handleDownload)
  1026. filequitter()
  1027.  
  1028. print '[+] file saved to '+ dire
  1029. ftp.quit()
  1030. exit()
  1031.  
  1032. if filedown == "13":
  1033. print "[+] connecting..."
  1034. ftp = ftplib.FTP(ftpurl)
  1035. downloader()
  1036. ftp.cwd('finnish')
  1037. if os.path.isdir('dictionaries/finnish/') == 0:
  1038. os.mkdir('dictionaries/finnish/')
  1039. dire = 'dictionaries/finnish/'
  1040.  
  1041. file = open(dire+'finnish.gz', 'wb')
  1042. print "\r\n[+] downloading finnish.gz..."
  1043. ftp.retrbinary('RETR ' + 'finnish.gz', handleDownload)
  1044. filequitter()
  1045.  
  1046. file = open(dire+'firstnames.finnish.gz', 'wb')
  1047. print "\r\n[+] downloading firstnames.finnish.gz..."
  1048. ftp.retrbinary('RETR ' + 'firstnames.finnish.gz', handleDownload)
  1049. filequitter()
  1050.  
  1051. file = open(dire+'words.finnish.FAQ.gz', 'wb')
  1052. print "\r\n[+] downloading words.finnish.FAQ.gz..."
  1053. ftp.retrbinary('RETR ' + 'words.finnish.FAQ.gz', handleDownload)
  1054. filequitter()
  1055.  
  1056. print '[+] files saved to '+ dire
  1057. ftp.quit()
  1058. exit()
  1059.  
  1060. if filedown == "14":
  1061. print "[+] connecting..."
  1062. ftp = ftplib.FTP(ftpurl)
  1063. downloader()
  1064. ftp.cwd('french')
  1065. if os.path.isdir('dictionaries/french/') == 0:
  1066. os.mkdir('dictionaries/french/')
  1067. dire = 'dictionaries/french/'
  1068.  
  1069. file = open(dire+'dico.gz', 'wb')
  1070. print "\r\n[+] downloading dico.gz..."
  1071. ftp.retrbinary('RETR ' + 'dico.gz', handleDownload)
  1072. filequitter()
  1073.  
  1074. print '[+] file saved to '+ dire
  1075. ftp.quit()
  1076. exit()
  1077.  
  1078. if filedown == "15":
  1079. print "[+] connecting..."
  1080. ftp = ftplib.FTP(ftpurl)
  1081. downloader()
  1082. ftp.cwd('german')
  1083. if os.path.isdir('dictionaries/german/') == 0:
  1084. os.mkdir('dictionaries/german/')
  1085. dire = 'dictionaries/german/'
  1086.  
  1087. file = open(dire+'deutsch.dic.gz', 'wb')
  1088. print "\r\n[+] downloading deutsch.dic.gz..."
  1089. ftp.retrbinary('RETR ' + 'deutsch.dic.gz', handleDownload)
  1090. filequitter()
  1091.  
  1092. file = open(dire+'germanl.gz', 'wb')
  1093. print "\r\n[+] downloading germanl.gz..."
  1094. ftp.retrbinary('RETR ' + 'germanl.gz', handleDownload)
  1095. filequitter()
  1096.  
  1097. file = open(dire+'words.german.gz', 'wb')
  1098. print "\r\n[+] downloading words.german.gz..."
  1099. ftp.retrbinary('RETR ' + 'words.german.gz', handleDownload)
  1100. filequitter()
  1101.  
  1102. print '[+] files saved to '+ dire
  1103. ftp.quit()
  1104. exit()
  1105.  
  1106. if filedown == "16":
  1107. print "[+] connecting..."
  1108. ftp = ftplib.FTP(ftpurl)
  1109. downloader()
  1110. ftp.cwd('hindi')
  1111. if os.path.isdir('dictionaries/hindi/') == 0:
  1112. os.mkdir('dictionaries/hindi/')
  1113. dire = 'dictionaries/hindi/'
  1114.  
  1115. file = open(dire+'hindu-names.gz', 'wb')
  1116. print "\r\n[+] downloading hindu-names.gz..."
  1117. ftp.retrbinary('RETR ' + 'hindu-names.gz', handleDownload)
  1118. filequitter()
  1119.  
  1120. print '[+] file saved to '+ dire
  1121. ftp.quit()
  1122. exit()
  1123.  
  1124. if filedown == "17":
  1125. print "[+] connecting..."
  1126. ftp = ftplib.FTP(ftpurl)
  1127. downloader()
  1128. ftp.cwd('hungarian')
  1129. if os.path.isdir('dictionaries/hungarian/') == 0:
  1130. os.mkdir('dictionaries/hungarian/')
  1131. dire = 'dictionaries/hungarian/'
  1132.  
  1133. file = open(dire+'hungarian.gz', 'wb')
  1134. print "\r\n[+] downloading hungarian.gz..."
  1135. ftp.retrbinary('RETR ' + 'hungarian.gz', handleDownload)
  1136. filequitter()
  1137.  
  1138. print '[+] file saved to '+ dire
  1139. ftp.quit()
  1140. exit()
  1141.  
  1142. if filedown == "18":
  1143. print "[+] connecting..."
  1144. ftp = ftplib.FTP(ftpurl)
  1145. downloader()
  1146. ftp.cwd('italian')
  1147. if os.path.isdir('dictionaries/italian/') == 0:
  1148. os.mkdir('dictionaries/italian/')
  1149. dire = 'dictionaries/italian/'
  1150.  
  1151. file = open(dire+'words.italian.gz', 'wb')
  1152. print "\r\n[+] downloading words.italian.gz..."
  1153. ftp.retrbinary('RETR ' + 'words.italian.gz', handleDownload)
  1154. filequitter()
  1155.  
  1156. print '[+] file saved to '+ dire
  1157. ftp.quit()
  1158. exit()
  1159.  
  1160. if filedown == "19":
  1161. print "[+] connecting..."
  1162. ftp = ftplib.FTP(ftpurl)
  1163. downloader()
  1164. ftp.cwd('japanese')
  1165. if os.path.isdir('dictionaries/japanese/') == 0:
  1166. os.mkdir('dictionaries/japanese/')
  1167. dire = 'dictionaries/japanese/'
  1168.  
  1169. file = open(dire+'words.japanese.gz', 'wb')
  1170. print "\r\n[+] downloading words.japanese.gz..."
  1171. ftp.retrbinary('RETR ' + 'words.japanese.gz', handleDownload)
  1172. filequitter()
  1173.  
  1174. print '[+] file saved to '+ dire
  1175. ftp.quit()
  1176. exit()
  1177.  
  1178. if filedown == "20":
  1179. print "[+] connecting..."
  1180. ftp = ftplib.FTP(ftpurl)
  1181. downloader()
  1182. ftp.cwd('latin')
  1183. if os.path.isdir('dictionaries/latin/') == 0:
  1184. os.mkdir('dictionaries/latin/')
  1185. dire = 'dictionaries/latin/'
  1186.  
  1187. file = open(dire+'wordlist.aug.gz', 'wb')
  1188. print "\r\n[+] downloading wordlist.aug.gz..."
  1189. ftp.retrbinary('RETR ' + 'wordlist.aug.gz', handleDownload)
  1190. filequitter()
  1191.  
  1192. print '[+] file saved to '+ dire
  1193. ftp.quit()
  1194. exit()
  1195.  
  1196. if filedown == "21":
  1197. print "[+] connecting..."
  1198. ftp = ftplib.FTP(ftpurl)
  1199. downloader()
  1200. ftp.cwd('literature')
  1201. if os.path.isdir('dictionaries/literature/') == 0:
  1202. os.mkdir('dictionaries/literature/')
  1203. dire = 'dictionaries/literature/'
  1204.  
  1205. file = open(dire+'LCarrol.gz', 'wb')
  1206. print "\r\n[+] downloading LCarrol.gz..."
  1207. ftp.retrbinary('RETR ' + 'LCarrol.gz', handleDownload)
  1208. filequitter()
  1209.  
  1210. file = open(dire+'Paradise.Lost.gz', 'wb')
  1211. print "\r\n[+] downloading Paradise.Lost.gz..."
  1212. ftp.retrbinary('RETR ' + 'Paradise.Lost.gz', handleDownload)
  1213. filequitter()
  1214.  
  1215. file = open(dire+'aeneid.gz', 'wb')
  1216. print "\r\n[+] downloading aeneid.gz..."
  1217. ftp.retrbinary('RETR ' + 'aeneid.gz', handleDownload)
  1218. filequitter()
  1219.  
  1220. file = open(dire+'arthur.gz', 'wb')
  1221. print "\r\n[+] downloading arthur.gz..."
  1222. ftp.retrbinary('RETR ' + 'arthur.gz', handleDownload)
  1223. filequitter()
  1224.  
  1225. file = open(dire+'cartoon.gz', 'wb')
  1226. print "\r\n[+] downloading cartoon.gz..."
  1227. ftp.retrbinary('RETR ' + 'cartoon.gz', handleDownload)
  1228. filequitter()
  1229.  
  1230. file = open(dire+'cartoons-olivier.gz', 'wb')
  1231. print "\r\n[+] downloading cartoons-olivier.gz..."
  1232. ftp.retrbinary('RETR ' + 'cartoons-olivier.gz', handleDownload)
  1233. filequitter()
  1234.  
  1235. file = open(dire+'charlemagne.gz', 'wb')
  1236. print "\r\n[+] downloading charlemagne.gz..."
  1237. ftp.retrbinary('RETR ' + 'charlemagne.gz', handleDownload)
  1238. filequitter()
  1239.  
  1240. file = open(dire+'fable.gz', 'wb')
  1241. print "\r\n[+] downloading fable.gz..."
  1242. ftp.retrbinary('RETR ' + 'fable.gz', handleDownload)
  1243. filequitter()
  1244.  
  1245. file = open(dire+'iliad.gz', 'wb')
  1246. print "\r\n[+] downloading iliad.gz..."
  1247. ftp.retrbinary('RETR ' + 'iliad.gz', handleDownload)
  1248. filequitter()
  1249.  
  1250. file = open(dire+'myths-legends.gz', 'wb')
  1251. print "\r\n[+] downloading myths-legends.gz..."
  1252. ftp.retrbinary('RETR ' + 'myths-legends.gz', handleDownload)
  1253. filequitter()
  1254.  
  1255. file = open(dire+'odyssey.gz', 'wb')
  1256. print "\r\n[+] downloading odyssey.gz..."
  1257. ftp.retrbinary('RETR ' + 'odyssey.gz', handleDownload)
  1258. filequitter()
  1259.  
  1260. file = open(dire+'sf.gz', 'wb')
  1261. print "\r\n[+] downloading sf.gz..."
  1262. ftp.retrbinary('RETR ' + 'sf.gz', handleDownload)
  1263. filequitter()
  1264.  
  1265. file = open(dire+'shakespeare.gz', 'wb')
  1266. print "\r\n[+] downloading shakespeare.gz..."
  1267. ftp.retrbinary('RETR ' + 'shakespeare.gz', handleDownload)
  1268. filequitter()
  1269.  
  1270. file = open(dire+'tolkien.words.gz', 'wb')
  1271. print "\r\n[+] downloading tolkien.words.gz..."
  1272. ftp.retrbinary('RETR ' + 'tolkien.words.gz', handleDownload)
  1273. filequitter()
  1274.  
  1275. print '[+] files saved to '+ dire
  1276. ftp.quit()
  1277. exit()
  1278.  
  1279. if filedown == "22":
  1280. print "[+] connecting..."
  1281. ftp = ftplib.FTP(ftpurl)
  1282. downloader()
  1283. ftp.cwd('movieTV')
  1284. if os.path.isdir('dictionaries/movieTV/') == 0:
  1285. os.mkdir('dictionaries/movieTV/')
  1286. dire = 'dictionaries/movieTV/'
  1287.  
  1288. file = open(dire+'Movies.gz', 'wb')
  1289. print "\r\n[+] downloading Movies.gz..."
  1290. ftp.retrbinary('RETR ' + 'Movies.gz', handleDownload)
  1291. filequitter()
  1292.  
  1293. file = open(dire+'Python.gz', 'wb')
  1294. print "\r\n[+] downloading Python.gz..."
  1295. ftp.retrbinary('RETR ' + 'Python.gz', handleDownload)
  1296. filequitter()
  1297.  
  1298. file = open(dire+'Trek.gz', 'wb')
  1299. print "\r\n[+] downloading Trek.gz..."
  1300. ftp.retrbinary('RETR ' + 'Trek.gz', handleDownload)
  1301. filequitter()
  1302.  
  1303. print '[+] files saved to '+ dire
  1304. ftp.quit()
  1305. exit()
  1306.  
  1307. if filedown == "23":
  1308. print "[+] connecting..."
  1309. ftp = ftplib.FTP(ftpurl)
  1310. downloader()
  1311. ftp.cwd('music')
  1312. if os.path.isdir('dictionaries/music/') == 0:
  1313. os.mkdir('dictionaries/music/')
  1314. dire = 'dictionaries/music/'
  1315.  
  1316. file = open(dire+'music-classical.gz', 'wb')
  1317. print "\r\n[+] downloading music-classical.gz..."
  1318. ftp.retrbinary('RETR ' + 'music-classical.gz', handleDownload)
  1319. filequitter()
  1320.  
  1321. file = open(dire+'music-country.gz', 'wb')
  1322. print "\r\n[+] downloading music-country.gz..."
  1323. ftp.retrbinary('RETR ' + 'music-country.gz', handleDownload)
  1324. filequitter()
  1325.  
  1326. file = open(dire+'music-jazz.gz', 'wb')
  1327. print "\r\n[+] downloading music-jazz.gz..."
  1328. ftp.retrbinary('RETR ' + 'music-jazz.gz', handleDownload)
  1329. filequitter()
  1330.  
  1331. file = open(dire+'music-other.gz', 'wb')
  1332. print "\r\n[+] downloading music-other.gz..."
  1333. ftp.retrbinary('RETR ' + 'music-other.gz', handleDownload)
  1334. filequitter()
  1335.  
  1336. file = open(dire+'music-rock.gz', 'wb')
  1337. print "\r\n[+] downloading music-rock.gz..."
  1338. ftp.retrbinary('RETR ' + 'music-rock.gz', handleDownload)
  1339. filequitter()
  1340.  
  1341. file = open(dire+'music-shows.gz', 'wb')
  1342. print "\r\n[+] downloading music-shows.gz..."
  1343. ftp.retrbinary('RETR ' + 'music-shows.gz', handleDownload)
  1344. filequitter()
  1345.  
  1346. file = open(dire+'rock-groups.gz', 'wb')
  1347. print "\r\n[+] downloading rock-groups.gz..."
  1348. ftp.retrbinary('RETR ' + 'rock-groups.gz', handleDownload)
  1349. filequitter()
  1350.  
  1351. print '[+] files saved to '+ dire
  1352. ftp.quit()
  1353. exit()
  1354.  
  1355. if filedown == "24":
  1356. print "[+] connecting..."
  1357. ftp = ftplib.FTP(ftpurl)
  1358. downloader()
  1359. ftp.cwd('names')
  1360. if os.path.isdir('dictionaries/names/') == 0:
  1361. os.mkdir('dictionaries/names/')
  1362. dire = 'dictionaries/names/'
  1363.  
  1364. file = open(dire+'ASSurnames.gz', 'wb')
  1365. print "\r\n[+] downloading ASSurnames.gz..."
  1366. ftp.retrbinary('RETR ' + 'ASSurnames.gz', handleDownload)
  1367. filequitter()
  1368.  
  1369. file = open(dire+'Congress.gz', 'wb')
  1370. print "\r\n[+] downloading Congress.gz..."
  1371. ftp.retrbinary('RETR ' + 'Congress.gz', handleDownload)
  1372. filequitter()
  1373.  
  1374. file = open(dire+'Family-Names.gz', 'wb')
  1375. print "\r\n[+] downloading Family-Names.gz..."
  1376. ftp.retrbinary('RETR ' + 'Family-Names.gz', handleDownload)
  1377. filequitter()
  1378.  
  1379. file = open(dire+'Given-Names.gz', 'wb')
  1380. print "\r\n[+] downloading Given-Names.gz..."
  1381. ftp.retrbinary('RETR ' + 'Given-Names.gz', handleDownload)
  1382. filequitter()
  1383.  
  1384. file = open(dire+'actor-givenname.gz', 'wb')
  1385. print "\r\n[+] downloading actor-givenname.gz..."
  1386. ftp.retrbinary('RETR ' + 'actor-givenname.gz', handleDownload)
  1387. filequitter()
  1388.  
  1389. file = open(dire+'actor-surname.gz', 'wb')
  1390. print "\r\n[+] downloading actor-surname.gz..."
  1391. ftp.retrbinary('RETR ' + 'actor-surname.gz', handleDownload)
  1392. filequitter()
  1393.  
  1394. file = open(dire+'cis-givenname.gz', 'wb')
  1395. print "\r\n[+] downloading cis-givenname.gz..."
  1396. ftp.retrbinary('RETR ' + 'cis-givenname.gz', handleDownload)
  1397. filequitter()
  1398.  
  1399. file = open(dire+'cis-surname.gz', 'wb')
  1400. print "\r\n[+] downloading cis-surname.gz..."
  1401. ftp.retrbinary('RETR ' + 'cis-surname.gz', handleDownload)
  1402. filequitter()
  1403.  
  1404. file = open(dire+'crl-names.gz', 'wb')
  1405. print "\r\n[+] downloading crl-names.gz..."
  1406. ftp.retrbinary('RETR ' + 'crl-names.gz', handleDownload)
  1407. filequitter()
  1408.  
  1409. file = open(dire+'famous.gz', 'wb')
  1410. print "\r\n[+] downloading famous.gz..."
  1411. ftp.retrbinary('RETR ' + 'famous.gz', handleDownload)
  1412. filequitter()
  1413.  
  1414. file = open(dire+'fast-names.gz', 'wb')
  1415. print "\r\n[+] downloading fast-names.gz..."
  1416. ftp.retrbinary('RETR ' + 'fast-names.gz', handleDownload)
  1417. filequitter()
  1418.  
  1419. file = open(dire+'female-names-kantr.gz', 'wb')
  1420. print "\r\n[+] downloading female-names-kantr.gz..."
  1421. ftp.retrbinary('RETR ' + 'female-names-kantr.gz', handleDownload)
  1422. filequitter()
  1423.  
  1424. file = open(dire+'female-names.gz', 'wb')
  1425. print "\r\n[+] downloading female-names.gz..."
  1426. ftp.retrbinary('RETR ' + 'female-names.gz', handleDownload)
  1427. filequitter()
  1428.  
  1429. file = open(dire+'givennames-ol.gz', 'wb')
  1430. print "\r\n[+] downloading givennames-ol.gz..."
  1431. ftp.retrbinary('RETR ' + 'givennames-ol.gz', handleDownload)
  1432. filequitter()
  1433.  
  1434. file = open(dire+'male-names-kantr.gz', 'wb')
  1435. print "\r\n[+] downloading male-names-kantr.gz..."
  1436. ftp.retrbinary('RETR ' + 'male-names-kantr.gz', handleDownload)
  1437. filequitter()
  1438.  
  1439. file = open(dire+'male-names.gz', 'wb')
  1440. print "\r\n[+] downloading male-names.gz..."
  1441. ftp.retrbinary('RETR ' + 'male-names.gz', handleDownload)
  1442. filequitter()
  1443.  
  1444. file = open(dire+'movie-characters.gz', 'wb')
  1445. print "\r\n[+] downloading movie-characters.gz..."
  1446. ftp.retrbinary('RETR ' + 'movie-characters.gz', handleDownload)
  1447. filequitter()
  1448.  
  1449. file = open(dire+'names.french.gz', 'wb')
  1450. print "\r\n[+] downloading names.french.gz..."
  1451. ftp.retrbinary('RETR ' + 'names.french.gz', handleDownload)
  1452. filequitter()
  1453.  
  1454. file = open(dire+'names.hp.gz', 'wb')
  1455. print "\r\n[+] downloading names.hp.gz..."
  1456. ftp.retrbinary('RETR ' + 'names.hp.gz', handleDownload)
  1457. filequitter()
  1458.  
  1459. file = open(dire+'other-names.gz', 'wb')
  1460. print "\r\n[+] downloading other-names.gz..."
  1461. ftp.retrbinary('RETR ' + 'other-names.gz', handleDownload)
  1462. filequitter()
  1463.  
  1464. file = open(dire+'shakesp-names.gz', 'wb')
  1465. print "\r\n[+] downloading shakesp-names.gz..."
  1466. ftp.retrbinary('RETR ' + 'shakesp-names.gz', handleDownload)
  1467. filequitter()
  1468.  
  1469. file = open(dire+'surnames-ol.gz', 'wb')
  1470. print "\r\n[+] downloading surnames-ol.gz..."
  1471. ftp.retrbinary('RETR ' + 'surnames-ol.gz', handleDownload)
  1472. filequitter()
  1473.  
  1474. file = open(dire+'surnames.finnish.gz', 'wb')
  1475. print "\r\n[+] downloading surnames.finnish.gz..."
  1476. ftp.retrbinary('RETR ' + 'surnames.finnish.gz', handleDownload)
  1477. filequitter()
  1478.  
  1479. file = open(dire+'usenet-names.gz', 'wb')
  1480. print "\r\n[+] downloading usenet-names.gz..."
  1481. ftp.retrbinary('RETR ' + 'usenet-names.gz', handleDownload)
  1482. filequitter()
  1483.  
  1484. print '[+] files saved to '+ dire
  1485. ftp.quit()
  1486. exit()
  1487.  
  1488.  
  1489. if filedown == "25":
  1490. print "[+] connecting..."
  1491. ftp = ftplib.FTP(ftpurl)
  1492. downloader()
  1493. ftp.cwd('net')
  1494. if os.path.isdir('dictionaries/net/') == 0:
  1495. os.mkdir('dictionaries/net/')
  1496. dire = 'dictionaries/net/'
  1497.  
  1498. file = open(dire+'hosts-txt.gz', 'wb')
  1499. print "\r\n[+] downloading hosts-txt.gz..."
  1500. ftp.retrbinary('RETR ' + 'hosts-txt.gz', handleDownload)
  1501. filequitter()
  1502.  
  1503. file = open(dire+'inet-machines.gz', 'wb')
  1504. print "\r\n[+] downloading inet-machines.gz..."
  1505. ftp.retrbinary('RETR ' + 'inet-machines.gz', handleDownload)
  1506. filequitter()
  1507.  
  1508. file = open(dire+'usenet-loginids.gz', 'wb')
  1509. print "\r\n[+] downloading usenet-loginids.gz..."
  1510. ftp.retrbinary('RETR ' + 'usenet-loginids.gz', handleDownload)
  1511. filequitter()
  1512.  
  1513. file = open(dire+'usenet-machines.gz', 'wb')
  1514. print "\r\n[+] downloading usenet-machines.gz..."
  1515. ftp.retrbinary('RETR ' + 'usenet-machines.gz', handleDownload)
  1516. filequitter()
  1517.  
  1518. file = open(dire+'uunet-sites.gz', 'wb')
  1519. print "\r\n[+] downloading uunet-sites.gz..."
  1520. ftp.retrbinary('RETR ' + 'uunet-sites.gz', handleDownload)
  1521. filequitter()
  1522.  
  1523. print '[+] files saved to '+ dire
  1524. ftp.quit()
  1525. exit()
  1526.  
  1527. if filedown == "26":
  1528. print "[+] connecting..."
  1529. ftp = ftplib.FTP(ftpurl)
  1530. downloader()
  1531. ftp.cwd('norwegian')
  1532. if os.path.isdir('dictionaries/norwegian/') == 0:
  1533. os.mkdir('dictionaries/norwegian/')
  1534. dire = 'dictionaries/norwegian/'
  1535.  
  1536. file = open(dire+'words.norwegian.gz', 'wb')
  1537. print "\r\n[+] downloading words.norwegian.gz..."
  1538. ftp.retrbinary('RETR ' + 'words.norwegian.gz', handleDownload)
  1539. filequitter()
  1540.  
  1541. print '[+] file saved to '+ dire
  1542. ftp.quit()
  1543. exit()
  1544.  
  1545. if filedown == "27":
  1546. print "[+] connecting..."
  1547. ftp = ftplib.FTP(ftpurl)
  1548. downloader()
  1549. ftp.cwd('places')
  1550. if os.path.isdir('dictionaries/places/') == 0:
  1551. os.mkdir('dictionaries/places/')
  1552. dire = 'dictionaries/places/'
  1553.  
  1554. file = open(dire+'Colleges.gz', 'wb')
  1555. print "\r\n[+] downloading Colleges.gz..."
  1556. ftp.retrbinary('RETR ' + 'Colleges.gz', handleDownload)
  1557. filequitter()
  1558.  
  1559. file = open(dire+'US-counties.gz', 'wb')
  1560. print "\r\n[+] downloading US-counties.gz..."
  1561. ftp.retrbinary('RETR ' + 'US-counties.gz', handleDownload)
  1562. filequitter()
  1563.  
  1564. file = open(dire+'World.factbook.gz', 'wb')
  1565. print "\r\n[+] downloading World.factbook.gz..."
  1566. ftp.retrbinary('RETR ' + 'World.factbook.gz', handleDownload)
  1567. filequitter()
  1568.  
  1569. file = open(dire+'Zipcodes.gz', 'wb')
  1570. print "\r\n[+] downloading Zipcodes.gz..."
  1571. ftp.retrbinary('RETR ' + 'Zipcodes.gz', handleDownload)
  1572. filequitter()
  1573.  
  1574. file = open(dire+'places.gz', 'wb')
  1575. print "\r\n[+] downloading places.gz..."
  1576. ftp.retrbinary('RETR ' + 'places.gz', handleDownload)
  1577. filequitter()
  1578.  
  1579. print '[+] files saved to '+ dire
  1580. ftp.quit()
  1581. exit()
  1582.  
  1583. if filedown == "28":
  1584. print "[+] connecting..."
  1585. ftp = ftplib.FTP(ftpurl)
  1586. downloader()
  1587. ftp.cwd('polish')
  1588. if os.path.isdir('dictionaries/polish/') == 0:
  1589. os.mkdir('dictionaries/polish/')
  1590. dire = 'dictionaries/polish/'
  1591.  
  1592. file = open(dire+'words.polish.gz', 'wb')
  1593. print "\r\n[+] downloading words.polish.gz..."
  1594. ftp.retrbinary('RETR ' + 'words.polish.gz', handleDownload)
  1595. filequitter()
  1596.  
  1597. print '[+] file saved to '+ dire
  1598. ftp.quit()
  1599. exit()
  1600.  
  1601. if filedown == "29":
  1602. print "[+] connecting..."
  1603. ftp = ftplib.FTP(ftpurl)
  1604. downloader()
  1605. ftp.cwd('random')
  1606. if os.path.isdir('dictionaries/random/') == 0:
  1607. os.mkdir('dictionaries/random/')
  1608. dire = 'dictionaries/random/'
  1609.  
  1610. file = open(dire+'Ethnologue.gz', 'wb')
  1611. print "\r\n[+] downloading Ethnologue.gz..."
  1612. ftp.retrbinary('RETR ' + 'Ethnologue.gz', handleDownload)
  1613. filequitter()
  1614.  
  1615. file = open(dire+'abbr.gz', 'wb')
  1616. print "\r\n[+] downloading abbr.gz..."
  1617. ftp.retrbinary('RETR ' + 'abbr.gz', handleDownload)
  1618. filequitter()
  1619.  
  1620. file = open(dire+'chars.gz', 'wb')
  1621. print "\r\n[+] downloading chars.gz..."
  1622. ftp.retrbinary('RETR ' + 'chars.gz', handleDownload)
  1623. filequitter()
  1624.  
  1625. file = open(dire+'dogs.gz', 'wb')
  1626. print "\r\n[+] downloading dogs.gz..."
  1627. ftp.retrbinary('RETR ' + 'dogs.gz', handleDownload)
  1628. filequitter()
  1629.  
  1630. file = open(dire+'drugs.gz', 'wb')
  1631. print "\r\n[+] downloading drugs.gz..."
  1632. ftp.retrbinary('RETR ' + 'drugs.gz', handleDownload)
  1633. filequitter()
  1634.  
  1635. file = open(dire+'junk.gz', 'wb')
  1636. print "\r\n[+] downloading junk.gz..."
  1637. ftp.retrbinary('RETR ' + 'junk.gz', handleDownload)
  1638. filequitter()
  1639.  
  1640. file = open(dire+'numbers.gz', 'wb')
  1641. print "\r\n[+] downloading numbers.gz..."
  1642. ftp.retrbinary('RETR ' + 'numbers.gz', handleDownload)
  1643. filequitter()
  1644.  
  1645. file = open(dire+'phrases.gz', 'wb')
  1646. print "\r\n[+] downloading phrases.gz..."
  1647. ftp.retrbinary('RETR ' + 'phrases.gz', handleDownload)
  1648. filequitter()
  1649.  
  1650. file = open(dire+'sports.gz', 'wb')
  1651. print "\r\n[+] downloading sports.gz..."
  1652. ftp.retrbinary('RETR ' + 'sports.gz', handleDownload)
  1653. filequitter()
  1654.  
  1655. file = open(dire+'statistics.gz', 'wb')
  1656. print "\r\n[+] downloading statistics.gz..."
  1657. ftp.retrbinary('RETR ' + 'statistics.gz', handleDownload)
  1658. filequitter()
  1659.  
  1660. print '[+] files saved to '+ dire
  1661. ftp.quit()
  1662. exit()
  1663.  
  1664. if filedown == "30":
  1665. print "[+] connecting..."
  1666. ftp = ftplib.FTP(ftpurl)
  1667. downloader()
  1668. ftp.cwd('religion')
  1669. if os.path.isdir('dictionaries/religion/') == 0:
  1670. os.mkdir('dictionaries/religion/')
  1671. dire = 'dictionaries/religion/'
  1672.  
  1673. file = open(dire+'Koran.gz', 'wb')
  1674. print "\r\n[+] downloading Koran.gz..."
  1675. ftp.retrbinary('RETR ' + 'Koran.gz', handleDownload)
  1676. filequitter()
  1677.  
  1678. file = open(dire+'kjbible.gz', 'wb')
  1679. print "\r\n[+] downloading kjbible.gz..."
  1680. ftp.retrbinary('RETR ' + 'kjbible.gz', handleDownload)
  1681. filequitter()
  1682.  
  1683. file = open(dire+'norse.gz', 'wb')
  1684. print "\r\n[+] downloading norse.gz..."
  1685. ftp.retrbinary('RETR ' + 'norse.gz', handleDownload)
  1686. filequitter()
  1687.  
  1688. print '[+] files saved to '+ dire
  1689. ftp.quit()
  1690. exit()
  1691.  
  1692. if filedown == "31":
  1693. print "[+] connecting..."
  1694. ftp = ftplib.FTP(ftpurl)
  1695. downloader()
  1696. ftp.cwd('russian')
  1697. if os.path.isdir('dictionaries/russian/') == 0:
  1698. os.mkdir('dictionaries/russian/')
  1699. dire = 'dictionaries/russian/'
  1700.  
  1701. file = open(dire+'russian.lst.gz', 'wb')
  1702. print "\r\n[+] downloading russian.lst.gz..."
  1703. ftp.retrbinary('RETR ' + 'russian.lst.gz', handleDownload)
  1704. filequitter()
  1705.  
  1706. file = open(dire+'russian_words.koi8.gz', 'wb')
  1707. print "\r\n[+] downloading russian_words.koi8.gz..."
  1708. ftp.retrbinary('RETR ' + 'russian_words.koi8.gz', handleDownload)
  1709. filequitter()
  1710.  
  1711. print '[+] files saved to '+ dire
  1712. ftp.quit()
  1713. exit()
  1714.  
  1715. if filedown == "32":
  1716. print "[+] connecting..."
  1717. ftp = ftplib.FTP(ftpurl)
  1718. downloader()
  1719. ftp.cwd('science')
  1720. if os.path.isdir('dictionaries/science/') == 0:
  1721. os.mkdir('dictionaries/science/')
  1722. dire = 'dictionaries/science/'
  1723.  
  1724. file = open(dire+'Acr-diagnosis.gz', 'wb')
  1725. print "\r\n[+] downloading Acr-diagnosis.gz..."
  1726. ftp.retrbinary('RETR ' + 'Acr-diagnosis.gz', handleDownload)
  1727. filequitter()
  1728.  
  1729. file = open(dire+'Algae.gz', 'wb')
  1730. print "\r\n[+] downloading Algae.gz..."
  1731. ftp.retrbinary('RETR ' + 'Algae.gz', handleDownload)
  1732. filequitter()
  1733.  
  1734. file = open(dire+'Bacteria.gz', 'wb')
  1735. print "\r\n[+] downloading Bacteria.gz..."
  1736. ftp.retrbinary('RETR ' + 'Bacteria.gz', handleDownload)
  1737. filequitter()
  1738.  
  1739. file = open(dire+'Fungi.gz', 'wb')
  1740. print "\r\n[+] downloading Fungi.gz..."
  1741. ftp.retrbinary('RETR ' + 'Fungi.gz', handleDownload)
  1742. filequitter()
  1743.  
  1744. file = open(dire+'Microalgae.gz', 'wb')
  1745. print "\r\n[+] downloading Microalgae.gz..."
  1746. ftp.retrbinary('RETR ' + 'Microalgae.gz', handleDownload)
  1747. filequitter()
  1748.  
  1749. file = open(dire+'Viruses.gz', 'wb')
  1750. print "\r\n[+] downloading Viruses.gz..."
  1751. ftp.retrbinary('RETR ' + 'Viruses.gz', handleDownload)
  1752. filequitter()
  1753.  
  1754. file = open(dire+'asteroids.gz', 'wb')
  1755. print "\r\n[+] downloading asteroids.gz..."
  1756. ftp.retrbinary('RETR ' + 'asteroids.gz', handleDownload)
  1757. filequitter()
  1758.  
  1759. file = open(dire+'biology.gz', 'wb')
  1760. print "\r\n[+] downloading biology.gz..."
  1761. ftp.retrbinary('RETR ' + 'biology.gz', handleDownload)
  1762. filequitter()
  1763.  
  1764. file = open(dire+'tech.gz', 'wb')
  1765. print "\r\n[+] downloading tech.gz..."
  1766. ftp.retrbinary('RETR ' + 'tech.gz', handleDownload)
  1767. filequitter()
  1768.  
  1769. print '[+] files saved to '+ dire
  1770. ftp.quit()
  1771. exit()
  1772.  
  1773. if filedown == "33":
  1774. print "[+] connecting..."
  1775. ftp = ftplib.FTP(ftpurl)
  1776. downloader()
  1777. ftp.cwd('spanish')
  1778. if os.path.isdir('dictionaries/spanish/') == 0:
  1779. os.mkdir('dictionaries/spanish/')
  1780. dire = 'dictionaries/spanish/'
  1781.  
  1782. file = open(dire+'words.spanish.gz', 'wb')
  1783. print "\r\n[+] downloading words.spanish.gz..."
  1784. ftp.retrbinary('RETR ' + 'words.spanish.gz', handleDownload)
  1785. filequitter()
  1786.  
  1787. print '[+] file saved to '+ dire
  1788. ftp.quit()
  1789. exit()
  1790.  
  1791. if filedown == "34":
  1792. print "[+] connecting..."
  1793. ftp = ftplib.FTP(ftpurl)
  1794. downloader()
  1795. ftp.cwd('swahili')
  1796. if os.path.isdir('dictionaries/swahili/') == 0:
  1797. os.mkdir('dictionaries/swahili/')
  1798. dire = 'dictionaries/swahili/'
  1799.  
  1800. file = open(dire+'swahili.gz', 'wb')
  1801. print "\r\n[+] downloading swahili.gz..."
  1802. ftp.retrbinary('RETR ' + 'swahili.gz', handleDownload)
  1803. filequitter()
  1804.  
  1805. print '[+] file saved to '+ dire
  1806. ftp.quit()
  1807. exit()
  1808.  
  1809. if filedown == "35":
  1810. print "[+] connecting..."
  1811. ftp = ftplib.FTP(ftpurl)
  1812. downloader()
  1813. ftp.cwd('swedish')
  1814. if os.path.isdir('dictionaries/swedish/') == 0:
  1815. os.mkdir('dictionaries/swedish/')
  1816. dire = 'dictionaries/swedish/'
  1817.  
  1818. file = open(dire+'words.swedish.gz', 'wb')
  1819. print "\r\n[+] downloading words.swedish.gz..."
  1820. ftp.retrbinary('RETR ' + 'words.swedish.gz', handleDownload)
  1821. filequitter()
  1822.  
  1823. print '[+] file saved to '+ dire
  1824. ftp.quit()
  1825. exit()
  1826.  
  1827. if filedown == "36":
  1828. print "[+] connecting..."
  1829. ftp = ftplib.FTP(ftpurl)
  1830. downloader()
  1831. ftp.cwd('turkish')
  1832. if os.path.isdir('dictionaries/turkish/') == 0:
  1833. os.mkdir('dictionaries/turkish/')
  1834. dire = 'dictionaries/turkish/'
  1835.  
  1836. file = open(dire+'turkish.dict.gz', 'wb')
  1837. print "\r\n[+] downloading turkish.dict.gz..."
  1838. ftp.retrbinary('RETR ' + 'turkish.dict.gz', handleDownload)
  1839. filequitter()
  1840.  
  1841. print '[+] file saved to '+ dire
  1842. ftp.quit()
  1843. exit()
  1844.  
  1845. if filedown == "37":
  1846. print "[+] connecting..."
  1847. ftp = ftplib.FTP(ftpurl)
  1848. downloader()
  1849. ftp.cwd('yiddish')
  1850. if os.path.isdir('dictionaries/yiddish/') == 0:
  1851. os.mkdir('dictionaries/yiddish/')
  1852. dire = 'dictionaries/yiddish/'
  1853.  
  1854. file = open(dire+'yiddish.gz', 'wb')
  1855. print "\r\n[+] downloading yiddish.gz..."
  1856. ftp.retrbinary('RETR ' + 'yiddish.gz', handleDownload)
  1857. filequitter()
  1858.  
  1859. print '[+] file saved to '+ dire
  1860. ftp.quit()
  1861. exit()
  1862.  
  1863.  
  1864.  
  1865. else:
  1866. print '[-] leaving.'
  1867. exit()
  1868.  
  1869.  
  1870. else:
  1871. print "\r\n[Usage]: "+sys.argv[0] +" [OPTIONS] \r\n"
  1872. print "[Help]: "+sys.argv[0] +" -h\r\n"
  1873. exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement