diff --git a/imports/db_handler.py b/imports/db_handler.py index c774e13..90cdc30 100644 --- a/imports/db_handler.py +++ b/imports/db_handler.py @@ -26,7 +26,10 @@ class DBHandler: def query(self, query, param=''): try: - return self.cur.execute(query, param).fetchall() + if param is not '': + return self.cur.execute(query, param if type(param) is list else [param]).fetchall() + else: + return self.cur.execute(query).fetchall() except lite.Error as e: print "An error occurred:", e.args[0] sys.exit() diff --git a/imports/globals.py b/imports/globals.py index 9af2c1c..2a2fd74 100644 --- a/imports/globals.py +++ b/imports/globals.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . import sys - +import os class init: @@ -55,12 +55,20 @@ class init: class bcolors: - PURPLE = '\033[95m' - BLUE = '\033[94m' - GREEN = '\033[92m' - YELLOW = '\033[93m' - RED = '\033[91m' - WHITE = '\033[0m' + PURPLE = '' + BLUE = '' + GREEN = '' + YELLOW = '' + RED = '' + WHITE = '' + if os.name is not 'nt': + PURPLE = '\033[95m' + BLUE = '\033[94m' + GREEN = '\033[92m' + YELLOW = '\033[93m' + RED = '\033[91m' + WHITE = '\033[0m' + class vars: @@ -99,22 +107,26 @@ class vars: eula_file = conf_folder + '/eula_run.conf' maldb_ver_file = conf_folder + '/db.ver' db_path = conf_folder + "/maldb.db" - giturl = 'https://raw.github.com/ytisf/theZoo/master/' + giturl_dl = 'https://github.com/ytisf/theZoo/raw/master/malwares/' + giturl = 'https://github.com/ytisf/theZoo' with file(maldb_ver_file) as f: db_ver = f.read() + maldb_banner = "\n" + maldb_banner += " sMMs oMMy \n" + maldb_banner += " :ooooo/ /ooooo: \n" + maldb_banner += " ```+MMd````````hMMo``` \n" + maldb_banner += " oNNNMMMNNNNNNNNMMMNNNs \n" + maldb_banner += " /oodMMdooyMMMMMMMMyoodMMdoo/ \ttheZoo " + version + " beta\n" + maldb_banner += " `..dMMMMMy. :MMMMMMMM/ sMMMMMm..`\t DB ver. " + db_ver + "\n" + maldb_banner += " dmmMMMMMMNmmNMMMMMMMMNmmNMMMMMMmmm\n" + maldb_banner += " NMMyoodMMMMMMMMMMMMMMMMMMMMdoosMMM\t" + giturl + "\n" + maldb_banner += " NMM- sMMMNNNNNNNNNNNNNNNMMy .MMM\n" + maldb_banner += " NMM- sMMy``````````````sMMy .MMM\n" + maldb_banner += " ooo. :ooooooo+ +ooooooo/ `ooo\n" + maldb_banner += " /MMMMN mMMMM+ \n" + maldb_banner += " Authors: " + authors + "\n" - maldb_banner = " __ ___ __ ____ ____\n" - maldb_banner += " / |/ /___ _/ / ______ _________ / __ \/ __ )\n" - maldb_banner += " / /|_/ / __ `/ / | /| / / __ `/ ___/ _ \______/ / / / __ |\n" - maldb_banner += " / / / / /_/ / /| |/ |/ / /_/ / / / __/_____/ /_/ / /_/ /\n" - maldb_banner += " /_/ /_/\__,_/_/ |__/|__/\__,_/_/ \___/ /_____/_____/\n\n" - maldb_banner += " version: " + \ - version + "\n" - maldb_banner += " db_version: " + \ - db_ver + "\n" - maldb_banner += " built by: " + \ - authors + "\n\n" addrs = ['reverce_tcp/', 'crazy_mal/', 'mal/', 'show malwares'] addrs = ['list', 'search', 'get', 'exit'] diff --git a/imports/terminal_handler.py b/imports/terminal_handler.py index bac6a7f..11a074c 100644 --- a/imports/terminal_handler.py +++ b/imports/terminal_handler.py @@ -62,13 +62,11 @@ class Controller: if re.match('^search', cmd): manySearch = manysearches.MuchSearch() num_args = len(cmd.rsplit(' ')) - if num_args > 1: + try: args = cmd.rsplit(' ')[1:] - num_args = len(args) - if num_args > 0: - manySearch.sort(args) - else: - print "Uh oh, Invalid search query" + manySearch.sort(args) + except: + print 'Uh oh, Invalid query.' self.MainMenu() if cmd == 'exit': @@ -121,11 +119,9 @@ class Controller: updateHandler = Updater() try: updateHandler.get_malware(self.currentmodule) - self.MainMenu() except: - print globals.bcolors.RED + '[-]' + globals.bcolors.WHITE + 'Error getting malware.' - self.MainMenu() - + print globals.bcolors.RED + '[-] ' + globals.bcolors.WHITE + 'Error getting malware.' + self.MainMenu() # If used the 'use' command if re.match('^use', cmd): try: diff --git a/imports/updatehandler.py b/imports/updatehandler.py index 488dfea..1137b0b 100644 --- a/imports/updatehandler.py +++ b/imports/updatehandler.py @@ -15,6 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . + import sys import urllib2 from imports import globals @@ -50,7 +51,7 @@ class Updater: curr_maldb_ver = f response = urllib2.urlopen( - globals.vars.giturl + globals.vars.maldb_ver_file) + globals.vars.giturl_dl_dl + globals.vars.maldb_ver_file) new_maldb_ver = response.read() if new_maldb_ver == curr_maldb_ver: print globals.bcolors.GREEN + '[+]' + globals.bcolors.WHITE + " No need for an update.\n" + globals.bcolors.GREEN + '[+]' + globals.bcolors.WHITE + " You are at " + new_maldb_ver + " which is the latest version." @@ -62,7 +63,7 @@ class Updater: f.close() # Get the new CSV and update it - csvurl = globals.vars.giturl + globals.vars.main_csv_file + csvurl = globals.vars.giturl_dl_dl + globals.vars.main_csv_file u = urllib2.urlopen(csvurl) f = open(globals.vars.main_csv_file, 'wb') meta = u.info() @@ -88,9 +89,8 @@ class Updater: loc = db.query("SELECT LOCATION FROM MALWARES WHERE ID=?", id)[0][0] name = loc.rsplit('/')[-1] # concat with location - ziploc = globals.vars.giturl + 'malwares/' + loc + '/' + name + '.zip' - passloc = globals.vars.giturl + 'malwares/' + loc + '/' + name + '.pass' - print ziploc + '\n' + passloc + ziploc = globals.vars.giturl_dl + loc + '/' + name + '.zip' + passloc = globals.vars.giturl_dl + loc + '/' + name + '.pass' # get from git u = urllib2.urlopen(ziploc) f = open(name + '.zip', 'wb') @@ -108,9 +108,10 @@ class Updater: status = r"%10d [%3.2f%%]" % ( file_size_dl, file_size_dl * 100. / file_size) status = status + chr(8) * (len(status) + 1) - print status, + sys.stdout.write('\r' + status) + print "\n" f.close() - + # get pass from git u = urllib2.urlopen(passloc) f = open(name + '.pass', 'wb') @@ -128,6 +129,6 @@ class Updater: status = r"%10d [%3.2f%%]" % ( file_size_dl, file_size_dl * 100. / file_size) status = status + chr(8) * (len(status) + 1) - print status, - f.close() - # alert ready + sys.stdout.write('\r' + status) + print "\n" + f.close() \ No newline at end of file diff --git a/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.md5 b/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.md5 similarity index 100% rename from malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.md5 rename to malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.md5 diff --git a/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.pass b/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.pass similarity index 100% rename from malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.pass rename to malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.pass diff --git a/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.sha256 b/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.sha256 similarity index 100% rename from malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.sha256 rename to malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.sha256 diff --git a/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.zip b/malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.zip similarity index 100% rename from malwares/Source/Original/ExploitKit.CrimePack.3.1.3/Crimepack.3.1.3.zip rename to malwares/Source/Original/ExploitKit.CrimePack.3.1.3/ExploitKit.Crimepack.3.1.3.zip