Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- # coding: utf-8
- import MySQLdb
- import datetime # récupere la date et heure
- import colorama # pour avoir de la couleur
- from colorama import Fore # pour avoir de la couleur
- import argparse # gere les arguments
- import sys # gere les commande systeme
- import hashlib # gere les hash md5
- #on désactive les warning
- import warnings
- warnings.filterwarnings("ignore")
- #banner
- banner = """
- $$$$$$\ $$\
- $$ __$$\ $$ |
- $$ / \__|$$\ $$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$\
- $$ | $$ | $$ |$$ __$$\ $$ __$$\ $$ __$$\ $$ _____|
- $$ | $$ | $$ |$$ | $$ |$$$$$$$$ |$$ | \__|\$$$$$$\
- $$ | $$\ $$ | $$ |$$ | $$ |$$ ____|$$ | \____$$\
- \$$$$$$ |\$$$$$$$ |$$$$$$$ |\$$$$$$$\ $$ | $$$$$$$ |
- \______/ \____$$ |\_______/ \_______|\__| \_______/
- $$\ $$ |
- \$$$$$$ |
- \______/
- """
- # Open database connection
- print(banner)
- try:
- print(Fore.BLUE + "[-] Tentative de connexion à la base de donnée ["+ sys.argv[1]+"]")
- db = MySQLdb.connect(sys.argv[1],"cyber","cyber","cybers")
- print(Fore.BLUE + "[+] Connecté à la base de donnée")
- except:
- print(Fore.RED + "[X] Impossible de se connecté à la base de donnée\n")
- quit()
- cursor = db.cursor()
- try:
- # Drop table if it already exist using execute() method.
- cursor.execute("DROP TABLE IF EXISTS POSTES")
- cursor.execute("DROP TABLE IF EXISTS UTILISATEUR")
- # Create table as per requirement
- sql_Postes = """CREATE TABLE POSTES (Adresse_Mac CHAR(250) NOT NULL, Adresse_IP CHAR(40), Nom_Poste CHAR(250), Etat CHAR(50), Date CHAR(50), Heure CHAR(50), OS CHAR(100), Kernel_Version CHAR(100))"""
- sql_Utilisateur = """CREATE TABLE UTILISATEUR (User CHAR(250), Password CHAR(250), Statut CHAR(250))"""
- cursor.execute(sql_Postes)
- cursor.execute(sql_Utilisateur)
- except:
- print(Fore.RED + "[X] Erreur Impossible de crée la base de donnée ou les tables")
- quit()
- def Menu():
- print(Fore.BLUE + "\n*=======================================================================*")
- print(Fore.BLUE + "[1] Ajouter un Administrateur")
- print(Fore.BLUE + "[2] Ajouter un Utilisateur")
- print(Fore.BLUE + "[3] Dump de la base de donnée")
- print(Fore.BLUE + "[4] Quitter\n")
- choix = input(Fore.BLUE + "Choix =>")
- if choix == "1":
- AddAdmin()
- if choix == "2":
- AddUser()
- if choix == "3":
- DumpDB()
- if choix == "4":
- quit()
- else:
- Menu()
- def AddAdmin():
- # Ajout de l'utilisateur Admin
- User = input("Entrez un nom d'utilisateur :")
- Password = input("Entrez un mot de passe :")
- Statut = "Administrateur"
- try:
- sql_User = """INSERT INTO utilisateur(User, Password, Statut)VALUES ('{}', '{}', '{}')""".format(User, hashlib.md5(Password.encode('utf-8')).hexdigest(), Statut)
- print(Fore.GREEN + "[+] L'utilisateur " + User + " à bien était crée dans le groupe Administrateur")
- cursor.execute(sql_User)
- db.commit()
- Menu()
- except:
- print(Fore.RED + "[X] Erreur Impossible de crée l'utilisateur Administrateur")
- quit()
- def AddUser():
- # Ajout de l'utilisateur Admin
- User = input("Entrez un nom d'utilisateur :")
- Password = input("Entrez un mot de passe :")
- Statut = "Utilisateur"
- try:
- sql_User = """INSERT INTO utilisateur(User, Password, Statut)VALUES ('{}', '{}', '{}')""".format(User, hashlib.md5(Password.encode('utf-8')).hexdigest(), Statut)
- print(Fore.GREEN + "[+] L'utilisateur " + User + " à bien était crée dans le groupe Utilisateur")
- cursor.execute(sql_User)
- db.commit()
- Menu()
- except:
- print(Fore.RED + "[X] Erreur Impossible de crée l'utilisateur " + User + " dans le groupe Utilisateur")
- quit()
- def DumpDB():
- print("1")
- cursor.execute("SELECT VERSION()")
- # Fetch a single row using fetchone() method.
- data = cursor.fetchone()
- print(Fore.BLUE + "\n[+] Version Base de donnée : {} ".format(data))
- sql_SE = "SELECT * FROM POSTES"
- try:
- print("2")
- # Execute the SQL command
- cursor.execute(sql_SE)
- # Fetch all the rows in a list of lists.
- results = cursor.fetchall()
- print(Fore.BLUE + "[+] Récupération des informations de la base de donnée ")
- for row in results:
- print("3")
- Adresse_Mac = row[0]
- Adresse_IP = row[1]
- Nom_Poste = row[2]
- Etat = row[3]
- Date = row[4]
- Heure = row[5]
- OS = row[6]
- Kernel_Version = row[7]
- # Now print fetched result
- print("\n*=======================================================================*\n")
- print("Adresse Mac : {} \n\nAdresse IP : {}Nom Poste : {} \nEtat : {} \nDate : {} \nHeure : {} \nSystème : {} \nVersion Noyau : {}".format('Adresse_Mac', 'Adresse_IP', 'Nom_Poste','Etat','Date','Heure', 'OS', 'Kernel_Version'))
- print("\n*=======================================================================*\n")
- print(Fore.GREEN + "[+] Récupération des informations Terminée ")
- except:
- print(Fore.RED + "[X] Erreur: Impossible de récuperai les données de la base")
- Menu()
- Menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement