Advertisement
Guest User

Untitled

a guest
Oct 4th, 2018
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.51 KB | None | 0 0
  1. #!/usr/bin/python3
  2. # coding: utf-8
  3.  
  4. import MySQLdb
  5. import datetime # récupere la date et heure
  6. import colorama # pour avoir de la couleur
  7. from colorama import Fore # pour avoir de la couleur
  8. import argparse # gere les arguments
  9. import sys # gere les commande systeme
  10. import hashlib # gere les hash md5
  11.  
  12. #on désactive les warning
  13. import warnings
  14. warnings.filterwarnings("ignore")
  15.  
  16.  
  17. #banner
  18. banner = """
  19. $$$$$$\ $$\
  20. $$ __$$\ $$ |
  21. $$ / \__|$$\ $$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$\
  22. $$ | $$ | $$ |$$ __$$\ $$ __$$\ $$ __$$\ $$ _____|
  23. $$ | $$ | $$ |$$ | $$ |$$$$$$$$ |$$ | \__|\$$$$$$\
  24. $$ | $$\ $$ | $$ |$$ | $$ |$$ ____|$$ | \____$$\
  25. \$$$$$$ |\$$$$$$$ |$$$$$$$ |\$$$$$$$\ $$ | $$$$$$$ |
  26. \______/ \____$$ |\_______/ \_______|\__| \_______/
  27. $$\ $$ |
  28. \$$$$$$ |
  29. \______/
  30. """
  31. # Open database connection
  32. print(banner)
  33. try:
  34. print(Fore.BLUE + "[-] Tentative de connexion à la base de donnée ["+ sys.argv[1]+"]")
  35. db = MySQLdb.connect(sys.argv[1],"cyber","cyber","cybers")
  36. print(Fore.BLUE + "[+] Connecté à la base de donnée")
  37. except:
  38. print(Fore.RED + "[X] Impossible de se connecté à la base de donnée\n")
  39. quit()
  40.  
  41. cursor = db.cursor()
  42. try:
  43. # Drop table if it already exist using execute() method.
  44. cursor.execute("DROP TABLE IF EXISTS POSTES")
  45. cursor.execute("DROP TABLE IF EXISTS UTILISATEUR")
  46. # Create table as per requirement
  47. 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))"""
  48. sql_Utilisateur = """CREATE TABLE UTILISATEUR (User CHAR(250), Password CHAR(250), Statut CHAR(250))"""
  49. cursor.execute(sql_Postes)
  50. cursor.execute(sql_Utilisateur)
  51. except:
  52. print(Fore.RED + "[X] Erreur Impossible de crée la base de donnée ou les tables")
  53. quit()
  54.  
  55.  
  56. def Menu():
  57. print(Fore.BLUE + "\n*=======================================================================*")
  58. print(Fore.BLUE + "[1] Ajouter un Administrateur")
  59. print(Fore.BLUE + "[2] Ajouter un Utilisateur")
  60. print(Fore.BLUE + "[3] Dump de la base de donnée")
  61. print(Fore.BLUE + "[4] Quitter\n")
  62. choix = input(Fore.BLUE + "Choix =>")
  63. if choix == "1":
  64. AddAdmin()
  65. if choix == "2":
  66. AddUser()
  67. if choix == "3":
  68. DumpDB()
  69. if choix == "4":
  70. quit()
  71. else:
  72. Menu()
  73.  
  74. def AddAdmin():
  75. # Ajout de l'utilisateur Admin
  76. User = input("Entrez un nom d'utilisateur :")
  77. Password = input("Entrez un mot de passe :")
  78. Statut = "Administrateur"
  79. try:
  80. sql_User = """INSERT INTO utilisateur(User, Password, Statut)VALUES ('{}', '{}', '{}')""".format(User, hashlib.md5(Password.encode('utf-8')).hexdigest(), Statut)
  81. print(Fore.GREEN + "[+] L'utilisateur " + User + " à bien était crée dans le groupe Administrateur")
  82. cursor.execute(sql_User)
  83. db.commit()
  84. Menu()
  85. except:
  86. print(Fore.RED + "[X] Erreur Impossible de crée l'utilisateur Administrateur")
  87. quit()
  88.  
  89. def AddUser():
  90. # Ajout de l'utilisateur Admin
  91. User = input("Entrez un nom d'utilisateur :")
  92. Password = input("Entrez un mot de passe :")
  93. Statut = "Utilisateur"
  94. try:
  95. sql_User = """INSERT INTO utilisateur(User, Password, Statut)VALUES ('{}', '{}', '{}')""".format(User, hashlib.md5(Password.encode('utf-8')).hexdigest(), Statut)
  96. print(Fore.GREEN + "[+] L'utilisateur " + User + " à bien était crée dans le groupe Utilisateur")
  97. cursor.execute(sql_User)
  98. db.commit()
  99. Menu()
  100. except:
  101. print(Fore.RED + "[X] Erreur Impossible de crée l'utilisateur " + User + " dans le groupe Utilisateur")
  102. quit()
  103.  
  104.  
  105. def DumpDB():
  106. print("1")
  107. cursor.execute("SELECT VERSION()")
  108. # Fetch a single row using fetchone() method.
  109. data = cursor.fetchone()
  110. print(Fore.BLUE + "\n[+] Version Base de donnée : {} ".format(data))
  111. sql_SE = "SELECT * FROM POSTES"
  112. try:
  113. print("2")
  114. # Execute the SQL command
  115. cursor.execute(sql_SE)
  116. # Fetch all the rows in a list of lists.
  117. results = cursor.fetchall()
  118. print(Fore.BLUE + "[+] Récupération des informations de la base de donnée ")
  119. for row in results:
  120. print("3")
  121. Adresse_Mac = row[0]
  122. Adresse_IP = row[1]
  123. Nom_Poste = row[2]
  124. Etat = row[3]
  125. Date = row[4]
  126. Heure = row[5]
  127. OS = row[6]
  128. Kernel_Version = row[7]
  129. # Now print fetched result
  130. print("\n*=======================================================================*\n")
  131. 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'))
  132. print("\n*=======================================================================*\n")
  133. print(Fore.GREEN + "[+] Récupération des informations Terminée ")
  134. except:
  135. print(Fore.RED + "[X] Erreur: Impossible de récuperai les données de la base")
  136. Menu()
  137.  
  138.  
  139. Menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement