#!/usr/bin/python # Grid Computing Hackers Kit # > Enumerate Headnode by analyzing GridFTP and Webservice Container # > Guess username & password for Gridsphere portal # > Crack passphrase for certificate authority on headnode # > Propagate attack exploiting headnode trusteeship # import sys,os #Download goto module for python http://entrian.com/goto/goto-1.0.tar.gz try: from goto import goto,comefrom,label except: print "You have to install goto module for python" print "Exiting.." quit() MENUS = ['help','enum','guess','crack','prop','shell','exit'] def banner(): print "" print "Grid Toolkit Written by Ph03n1X" print "Copyright ipsecs (c) 2010" os.system("uname -sor") print """ ::::::::::: ::::::::: :::::::: :::::::::: :::::::: :::::::: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: +:+ +:+ +:+ +:+ +:+ +:+ +:+ +#+ +#++:++#+ +#++:++#++ +#++:++# +#+ +#++:++#++ +#+ +#+ +#+ +#+ +#+ +#+ #+# #+# #+# #+# #+# #+# #+# #+# #+# ########### ### ######## ########## ######## ######## Grid Toolkit - The Grid Computing Hackers Kit """ def subhelp(): print """ Usage : run - run a requested user command exit - exit and back to core menu help - print this page """ def doRequest(args,cmdpath,errcmd): parts=args.split(" ") theargs="" for i in range (1,len(parts)): theargs=theargs + " " + parts[i] PARAM="python " + cmdpath + theargs if os.path.isfile(cmdpath) == True: #Check if the required file is exist if parts[0] == 'run': #User type run command os.system(PARAM) #Execute user requested command else: #User type any characters subhelp() #Print sub help menu else: print errcmd + ": " + cmdpath + " is not found!" quit() def main(): #Main function grid-toolkit banner() #Show banner label .menucore #Core menu grid-toolkit while True: CMD = raw_input("#gridtoolkit~> ") #Get user input from STDIN if CMD in MENUS: goto *CMD #Go to user requested menu else: goto .help #In case CMD is not in MENUS go to help label .help print """ Usage: enum - Enumerate Headnode by analyzing GridFTP and Webservice Container guess - Guess username & password for Gridsphere portal crack - Crack passphrase for certificate authority on headnode prop - Propagate attack by exploiting headnode trusteeship shell - Execute linux shell command from grid toolkit exit - Exit from this program help - Print this help page """ goto .menucore label .enum while True: ENUM = raw_input("#gridtool(enum)~> ") #Get user input from STDIN if ENUM == 'exit': goto .menucore doRequest(ENUM,'./enum/gethead.py','ERRENUM'); #Request to enumerate headnode label .guess while True: GUESS = raw_input("#gridtool(guess)~> ") #Get user input from STDIN if GUESS == 'exit': goto .menucore doRequest(GUESS,'./guess/bruteuser.py','ERRGUESS') #Request to guess user/password label .crack while True: CRACK = raw_input("#gridtool(crack)~> ") #Get user input from STDIN if CRACK == 'exit': goto .menucore doRequest(CRACK,'./crack/crackca.py','ERRCRACK') #Request to crack pass phrase label .prop while True: PROP = raw_input("#gridtool(prop)~> ") #Get user input from STDIN if PROP == 'exit': goto .menucore doRequest(PROP,'./prop/propagate.py','ERRPROP') #Request to propagate attack label .shell while True: SHELL = raw_input("#gridtool(shell)~> ") #Get user input from STDIN if SHELL == 'exit': goto .menucore os.system(SHELL) label .exit print "Bye bye!" #Say Bye bye then exit if __name__ == "__main__": main()