예제 #1
0
def banner():
    Color.log('Printing Banner..')

    print('\n\n\n\n')
    Color.writenolog(
        '                       {C}############################\n')
    Color.writenolog(
        '                     {G}RootSec Toolin\' Up Install Script\n')
    Color.writenolog('                       {C}############################')
    print('\n\n\n')
예제 #2
0
def install_sources():
    Color.log('Writing GPG keys and Installing Kali Sources..')
    try:
        Color.write('	{?} Attempting to install Kali Sources..\n\n')
        os.system(
            'apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6'
        )
        f = open('/etc/apt/sources.list.d/rootsec-kali.list', 'w')
        f.write(
            '# Installed By RootSec Install Script\ndeb http://http.kali.org/kali kali-rolling main non-free contrib'
        )
        f.close()
        os.system(
            'apt-get update -o Dir::Etc::sourcelist="sources.list.d/rootsec-kali.list" -o Dir::Etc::sourceparts="-" -o apt::Get::List-Cleanup="0"'
        )
        Color.log('Completed installing of Kali Sources..')
        Color.write('\n\n	{+} Completed install of Kali Sources!')
    except IOError:
        Color.log(IOError)
        Color.exception(IOError)
    return
예제 #3
0
def exit_gracefully(sig, frame):
    clear()
    banner()
    Color.log(Color.println('\n\n{?} SIGINT recieved, Exiting Gracefully..'))
    Color.writetoline('{+} SIGING recieved, Exiting Gracefully..Done \n\n{W}')
    sys.exit(0)
예제 #4
0
def check_prereq():
    Color.log('Check pre-reqs..')
    banner()
    Color.log('Checking perms..')
    Color.println('         {?} Checking Proper Permissions..')

    if os.geteuid() != 0:
        Color.write('{-} You need root permissions to run this script.')
        sys.exit()
    Color.writetoline('     {+} Proper Permissions Verified!')

    import socket
    Color.log('Checking Internet Connection..')
    try:
        print('\n\n')
        Color.println(' {?} Checking Internet Connection..')
        socket.create_connection(("www.github.com", 80))
    except OSError:
        Color.log('No internet connection!')
        Color.writetoline(
            '     {-} An active internet connection is needed to run this script!'
        )
        Color.write(
            '\n         {!}{C} This Check will change later on!{W}\n\n')
        sys.exit()
    Color.writetoline('     {+} You have internet connection!')

    Color.log('Checking if pip2 and pip3 is installed..')
    try:
        print('\n\n')
        Color.println('     {?} Checking if PIP 3 is installed..')
        test = subprocess.Popen(['python3', '-m', 'pip', '-V'],
                                stdout=subprocess.PIPE,
                                stderr=subprocess.STDOUT)
        stdout, stderr = test.communicate()

        Color.write(str(stdout)[2:-3])

        if 'no module' in str(stdout).lower():
            raise ModuleNotFoundError('There was a problem getting PIP 3')

        Color.println('	      {+} PIP 3 seems to be installed!')

        print('\n\n')
        Color.println('     {?} Checking if PIP 2 is installed..')
        test = subprocess.Popen(['python2', '-m', 'pip', '-V'],
                                stdout=subprocess.PIPE,
                                stderr=subprocess.STDOUT)
        stdout, stderr = test.communicate()

        Color.write(str(stdout)[2:-3])

        if 'no module' in str(stdout).lower():
            raise ModuleNotFoundError('There was a problem getting PIP 2')

        Color.println('	      {+} PIP 2 seems to be installed!')

    except (ImportError or ModuleNotFoundError) as e:
        Color.writetoline(
            '     {-} Error getting pip. Is it installed correctly?')
        Color.write('\n         {-} %s \n{W}' % str(e))
        sys.exit()

    Color.log('All seems good here.')
    time.sleep(5)
    clear()
예제 #5
0
def clear():
    Color.log('Clearing Screen..')
    os.system('clear')
예제 #6
0
def kali_metas():
    clear()
    banner()
    options = [('99', 'Continue')]

    from core.metapackages import packages

    count = 0
    for item in packages.items():
        count += 1
        options.append((str(count), str(item[0]).upper()))

    step = 1
    poptions = int(len(options))
    for package in range(1, poptions):
        if step == 1:
            option_str = ('         {G}{D}[{W}{G}%s{D}]{W} : %s' %
                          (options[package][0], options[package][1]))
            if len(option_str) < 66:
                Color.printlnnolog('\n		' + f'{option_str: <77}')
        if step == 2:
            Color.printlnnolog('{G}{D}[{W}{G}%s{D}]{W} : %s\n' %
                               (options[package][0], options[package][1]))
            step = 1
            continue
        step = 2

    Color.writenolog('\n							{G}{D}[{W}{G}%s{D}]{W}{G} :{W} %s {W}' %
                     (options[0]))
    Color.println('\n	{+} Please Choose an Option: ')

    try:
        choice = int(input(''))
        if choice == 99:
            return
        if choice not in range(1, poptions):
            Color.write('	{-} Not a viable option, try again')
            raise ValueError

        option = str(options[choice][1]).lower()
        for apt_package in packages.get(option):
            if apt_package in packages.keys():
                Color.log('Found Dependancy: ' + apt_package +
                          ' installing now..')
                Color.write(
                    '\n\n\n		{!} %s is required for this Meta Package \n\n\n' %
                    apt_package)
                for depend in packages.get(apt_package):
                    os.system('apt-get install -y %s' % depend)
                continue
            try:
                Color.log('Installing apt-package ' + apt_package)
                os.system('apt-get install %s -y' % apt_package)
            except:
                Color.println('')
    except ValueError:
        Color.write('	{-} Please Select an number from the options above')
        time.sleep(1)
        return kali_metas()
    Color.write('\n\n		{+} Cleaning up extra Packages')
    time.sleep(3)
    os.system('apt autoremove -y')

    Color.write('		\n\n{+} Completed installing: ' + option)
    time.sleep(5)
    return kali_metas()