print ("\n The Social-Engineer Toolkit (SET) - by David Kennedy (ReL1K)")
print ("\n Not running as root. \n\nExiting the Social-Engineer Toolkit (SET).\n")
exit_set()
# if there isn't a set_config.py file yet, create one
if not os.path.isfile("/etc/setoolkit/set_config.py"):
update_config()
define_version = get_version()
cleanup_routine()
# create the set.options routine
filewrite = open(setdir + "/set.options", "w")
filewrite.write(
"{This is the main SET configuration file for all options used in SET}\n")
filewrite.close()
try:
# Remove old Signed_Updates
if os.path.isfile(setdir + "/Signed_Update.jar"):
os.remove(setdir + "/Signed_Update.jar")
# intitial user menu
if not os.path.isfile("src/agreement4"):
fileopen = open("readme/LICENSE", "r")
for line in fileopen:
print((line.rstrip()))
print((bcolors.RED + """
The Social-Engineer Toolkit is designed purely for good and not evil. If you are planning on using this tool for malicious purposes that are not authorized by the company you are performing assessments for, you are violating the terms of service and license of this toolset. By hitting yes (only one time), you agree to the terms of service and that you will only use this tool for lawful purposes only.""" + bcolors.GREEN))
choice = raw_input("\nDo you agree to the terms of service [y/n]: ")
choice += " " # b/c method below
if choice[0].lower() == "y":
filewrite = open("src/agreement4", "w")
filewrite.write("user accepted")
filewrite.close()
print((bcolors.ENDC))
else:
print((
bcolors.ENDC + "[!] Exiting the Social-Engineer Toolkit, have a nice day." + bcolors.ENDC))
bcolors.BOLD + "\nDon't miss it! Sep 23 - Sep 25th! Press {return} to continue." + bcolors.ENDC)
# rance
if main_menu_choice == "rance":
print_warning(bcolors.BOLD + "We miss you buddy. David Jones (Rance) changed a lot of us and you'll always be apart of our lives (and SET). Fuck Cancer." + bcolors.ENDC)
pause = raw_input("Press {return} to continue.")
# quit out
if main_menu_choice == 'exit' or main_menu_choice == "99" or main_menu_choice == "quit":
exit_set()
# cleans up stale processes from SET
try:
# kill anything python running on 80
kill_proc("80", "python")
# kill anything on 443 ruby which is generally a rogue listener
kill_proc("443", "ruby")
except:
pass
# load set
if main_menu_choice == '1':
try:
reload(src.core.set)
except:
import src.core.set
# load fasttrack
if main_menu_choice == '2':
try:
reload(src.core.fasttrack)
except:
import src.core.fasttrack
# third party modules
if main_menu_choice == '3':
try:
reload(src.core.module_handler)
except:
import src.core.module_handler
# update set
if main_menu_choice == '4':
update_set()
# credits
if main_menu_choice == '5':
update_config()
# update config
if main_menu_choice == '6':
help_menu()
# handle keyboard interrupts
except KeyboardInterrupt:
print(("\n\nThank you for " + bcolors.RED + "shopping" + bcolors.ENDC +
" with the Social-Engineer Toolkit.\n\nHack the Gibson...and remember...hugs are worth more than handshakes.\n"))