Пример #1
0
def forgotPassword():
    disegno()
    print("|               FORGOT PASSWORD                 |")
    print("+-----------------------------------------------+")
    while True:
        username = input("Username: "******"Email: ")
        controllo = 0
        if "." in email and "@" in email:
            reader = csv.reader(open("userDB.csv"), delimiter='|')
            lines = list(reader)
            for i in range(len(lines)):
                if lines[i][1] == username and lines[i][3] == email:
                    controllo = 1
                    # Criteri della password
                    policy = PasswordPolicy.from_names(
                        length=8,  # min length: 8
                        uppercase=1,  # need min. 1 uppercase letters
                        numbers=1,  # need min. 1 digits
                        special=1,  # need min. 1 special characters
                        nonletters=
                        1,  # need min. 1 non-letter characters (digits, specials, anything)
                    )
                    while True:
                        password1 = getpass.getpass(
                            "Password must contain:\n- 8 Character\n- Number\n- Uppercase character\n- Special character\nPassword: "******"Confirm password: "******"Invalid email!")
                                else:
                                    print("Invalid code!")
                            else:
                                print("Password doesn't match!")
                        print("")
            if controllo == 1:
                print("Password was change successful!\n")
                x = input("Press any key to go to login menu ")
                login()
            else:
                print("Invalid credential...\n")
        else:
            print("Invalid email!\n")
Пример #2
0
def loginRegisterMenu():
    disegno()
    print("|                 HELLO USER                    |")
    print("+-----------------------------------------------+")
    print("1) Login\n2) Register\n")
    x = scelta(1, 2)
    if x == 1:
        login()
    else:
        register()
Пример #3
0
def nmapMenu():
    disegno()
    print("|                   NMAP MENU                   |")
    print("+-----------------------------------------------+")
    print("1) Net scan\n2) OS scan")
    x = scelta(1, 2)
    if x == 1:
        nmap()
    else:
        os()
Пример #4
0
def settings():
    # Impostazioni dell account (API/shortcut)
    disegno()
    print("|                  SETTINGS                     |")
    print("+-----------------------------------------------+")
    data["firstTime"] = "0"
    updateCSV()
    print("1) Change password\n2) Back to menu\n")
    x = scelta(1, 2)
    if x == 1:
        changePassword()
    else:
        mainMenu()
Пример #5
0
def checkInternetConnection():
    disegno()
    print("|           CHECK INTERNET CONNECTION           |")
    print("+-----------------------------------------------+")
    import urllib.request

    try:
        urllib.request.urlopen('http://google.com')
        conn = True
    except:
        conn = False
    if conn:
        print('You are connected to the internet\n')
    else:
        print('You are NOT connected to the internet\n')
Пример #6
0
def changePassword():
    disegno()
    print("|               CHANGE PASSWORD                 |")
    print("+-----------------------------------------------+")

    while True:
        password = getpass.getpass("Password: "******"userDB.csv"), delimiter='|')
        lines = list(reader)
        for i in range(len(lines)):
            if lines[i][1] == data["username"] and lines[i][2] == passwordHash:
                controllo = 1
                # Criteri della password
                policy = PasswordPolicy.from_names(
                    length=8,  # min length: 8
                    uppercase=1,  # need min. 1 uppercase letters
                    numbers=1,  # need min. 1 digits
                    special=1,  # need min. 1 special characters
                    nonletters=
                    1,  # need min. 1 non-letter characters (digits, specials, anything)
                )
                while True:
                    password1 = getpass.getpass(
                        "Password must contain:\n- 8 Character\n- Number\n- Uppercase character\n- Special character\nPassword: "******"Confirm password: "******"Password doesn't match!")
                    print("")
        if controllo == 1:
            print("Password was change successful!\n")
            exit()
        else:
            print("Invalid credential...\n")
Пример #7
0
def login():
    disegno()
    print("|                 LOGIN MENU                    |")
    print("+-----------------------------------------------+")
    print("1) Login\n2) Forgot password\n")
    x = scelta(1, 2)
    if x == 1:
        disegno()
        print("|                   LOGIN                       |")
        print("+-----------------------------------------------+")

        error = 0
        while True:
            username = input("Username: "******"Password: "******"username"] == username and row[
                            "password"] == passwordHash:
                        data["id"] = row["id"]
                        data["username"] = row["username"]
                        data["password"] = row["password"]
                        data["email"] = row["email"]
                        data["block"] = row["block"]
                        data["firstTime"] = row["firstTime"]
                        if data["firstTime"] == "1":
                            settings()
                            exit()
                        else:
                            mainMenu()
                            exit()
                print("Invalid credential...\n")
                error += 1
                if error == 3:
                    print("Sorry we must block you!")
                    exit()
    else:
        forgotPassword()
Пример #8
0
def speedTest():
    disegno()
    print("|                   SPEED TEST                  |")
    print("+-----------------------------------------------+")
    import speedtest
    print("Inizio speed test in corso...\n")
    print("Ricerca miglior server...")
    s = speedtest.Speedtest()
    s.get_servers()
    s.get_best_server()
    print("Server migliore trovato\n\nTest Download...")
    s.download()
    print("Test Upload...\n")
    s.upload()
    res = s.results.dict()
    print("+-----------------------------------------------+")
    print("|                   Risultati                   |")
    print("+-----------------------------------------------+")
    print("             Download [{:.2f}] Kb/s".format(res["download"] / 1024))
    print("             Upload [{:.2f}] Kb/s".format(res["upload"] / 1024))
    print("             Ping [{:.0f}]".format(res["ping"]))
    print("+-----------------------------------------------+")
Пример #9
0
def netcut():
    disegno()
    print("|                    NETCUT                     |")
    print("+-----------------------------------------------+")
Пример #10
0
def whoisDomainTool():
    disegno()
    print("|               WHOIS DOMAIN TOOL                |")
    print("+-----------------------------------------------+")
Пример #11
0
def os():
    disegno()
    print("|                    NMAP OS                    |")
    print("+-----------------------------------------------+")
    import nmap3
    import json
    ip = input("Insert specific IP or \"<IP>/24\" for entire network: ")
    while True:
        scelta = input("Port to scan: ")
        try:
            scelta = int(scelta)
        except ValueError:
            print("Number please")
            continue
        if type(scelta) == int:
            break
        else:
            print("Select a valid option")
    port = str(scelta)
    print("\n")

    nmap = nmap3.Nmap()
    results = nmap.nmap_os_detection(ip)

    # Creo file json [report] con i dati di results
    report = json.dumps(results, sort_keys=True, indent=4)

    # Trasformo da json in a dizionario
    data = json.loads(report)

    stampa = False
    testo = ""
    testo1 = ""
    testo2 = ""
    testo3 = ""

    # Stampo il dizionario
    for i, info in data.items():
        testo1 += "Scanned IP [{}]\n".format(i)
        for categoria, dizionario in info.items():
            if categoria == "hostname":
                if len(dizionario) != 0:
                    for dettaglio, valoreDettaglio in dizionario[0].items():
                        testo1 += "{} : {}\n".format(dettaglio,
                                                     valoreDettaglio)
                else:
                    testo1 += "name : Not identified\ntype : Not identified\n"
            elif categoria == "ports":
                testo3 += "\nPORT       PROTOCOL       SERVICE        STATUS\n"
                for dettaglio in dizionario:
                    for porta, valorePorta in dettaglio.items():
                        if valorePorta == port:
                            testo3 += "{:<13s}".format(valorePorta)
                            stampa = True
                        if stampa == True and porta == "protocol":
                            testo3 += "{:<13s}".format(valorePorta)
                        if stampa == True and porta == "service":
                            testo3 += "{:<15s}".format(valorePorta["name"])
                        if stampa == True and porta == "state":
                            testo3 += "{:<13s}".format(valorePorta)
                            stampa = False
                testo3 += "\n\n"
            elif categoria == "osmatch":
                testo2 = "Operative System: "
                for dettaglio in dizionario:
                    for os, valoreOS in dettaglio.items():
                        if os == "name":
                            testo2 += valoreOS + " "
                            stampa = True
                if stampa == False:
                    testo2 += "Not identified"
                stampa = False

            testo += testo1 + testo2 + testo3
            testo3 = ""
            testo2 = ""
            testo1 = ""

    # Rinomino il file
    x = "OS_"
    x += ip.replace("/24", "_EN")
    x += "_port_" + str(port)
    wfile = open("./Nmap/OS/" + x + ".txt", "w")
    wfile.write(testo)
    wfile.close()
    print(testo)
Пример #12
0
def abuseIPDB():
    disegno()
    print("|                  ABUSE IP DB                  |")
    print("+-----------------------------------------------+")
Пример #13
0
def ipVoid():
    disegno()
    print("|                     PROXY                     |")
    print("+-----------------------------------------------+")
Пример #14
0
def MACspoofing():
    disegno()
    print("|                 MAC SPOOFING                  |")
    print("+-----------------------------------------------+")
Пример #15
0
def whoisMAC():
    disegno()
    print("|                   WHOIS MAC                   |")
    print("+-----------------------------------------------+")
Пример #16
0
def hybridAnalisys():
    disegno()
    print("|                 HYBRID ANALYSIS               |")
    print("+-----------------------------------------------+")
Пример #17
0
def downDector():
    disegno()
    print("|                  DOWN DETECTOR                |")
    print("+-----------------------------------------------+")
Пример #18
0
def proxy():
    disegno()
    print("|                    PROXY                      |")
    print("+-----------------------------------------------+")
Пример #19
0
def DNS():
    disegno()
    print("|                     DNS                       |")
    print("+-----------------------------------------------+")
Пример #20
0
def mxToolbox():
    disegno()
    print("|                   MX TOOLBOX                  |")
    print("+-----------------------------------------------+")
Пример #21
0
def howStrongIsMyPassword():
    disegno()
    print("|           HOW STRONG IS MY PASSWORD           |")
    print("+-----------------------------------------------+")
Пример #22
0
def vpn():
    disegno()
    print("|                     VPN                       |")
    print("+-----------------------------------------------+")
Пример #23
0
def jumperDNS():
    disegno()
    print("|                   JUMPERDNS                   |")
    print("+-----------------------------------------------+")
Пример #24
0
def hashChecker():
    disegno()
    print("|                 HASH CHECKER                  |")
    print("+-----------------------------------------------+")
Пример #25
0
def emailChecker():
    disegno()
    print("|                 EMAIL CHECKER                  |")
    print("+-----------------------------------------------+")
Пример #26
0
def register():
    disegno()
    print("|                  REGISTER                     |")
    print("+-----------------------------------------------+")

    # Scorro database dei nomi per vedere se il nome è gia registrato
    # Primary key [id]
    # Foreign key [username]

    # ---Soluzione intelligente per database grandi-------------------------------
    # Controllo se l username non è presente
    userDB = []
    id = 0
    with open('userDB.csv', newline='\n') as csvfile:
        reader = csv.DictReader(csvfile, delimiter='|')
        for row in reader:
            # Carico l'intero database colonna username in una lista
            userDB.append(row["username"])
            id += 1

    while True:
        username: str = input("Username: "******"Username already used!\n")
        else:
            break

    # ---Soluzione intelligente per database piccoli--------------------------------
    # Funzional ma non troppo in quanto se nella password cifrata si presenta
    # lo username il programma dirà che il nome gia esiste

    # username = input('Enter username >')
    # if username in open('names.csv', 'r').read():
    #    print('Username already exists')
    # -----------------------------------------------------------------------------

    # Criteri della password
    policy = PasswordPolicy.from_names(
        length=8,  # min length: 8
        uppercase=1,  # need min. 1 uppercase letters
        numbers=1,  # need min. 1 digits
        special=1,  # need min. 1 special characters
        nonletters=
        1,  # need min. 1 non-letter characters (digits, specials, anything)
    )
    while True:
        password1 = getpass.getpass(
            "Password must contain:\n- 8 Character\n- Number\n- Uppercase character\n- Special character\nPassword: "******"Confirm password: "******"Email: ")
                        if "." in email and "@" in email:
                            esito = sendMail(email, 0)
                            if esito == 0:
                                wfile = open("userDB.csv", "a")
                                wfile.write(
                                    str(id) + "|" + username + "|" +
                                    passwordHash + "|" + email + "|0|1\n")
                                wfile.close()

                                login()
                            elif esito == 1:
                                print("Invalid email!\n")
                            else:
                                print("Invalid code!\n")
                        else:
                            print("Invalid email!\n")
            else:
                print("Password doesn't match!\n")
        else:
            print("")
Пример #27
0
def virusTotal():
    disegno()
    print("|                   VIRUSTOTAL                  |")
    print("+-----------------------------------------------+")
Пример #28
0
def hostname():
    disegno()
    print("|                   HOSTNAME                    |")
    print("+-----------------------------------------------+")