Change name from Alive-Services

This commit is contained in:
2023-08-22 21:19:25 +02:00
parent 670eadac8c
commit f050940b24
55 changed files with 149 additions and 84513 deletions
+84 -47
View File
@@ -1,48 +1,64 @@
import subprocess
import csv
from datetime import datetime
from Controller import mysql_connect
import requests
from Controller import create_service
import socket
import random
import time
def request(function,variable):
####
####
#### --- RUN AS SINGEL SERVICE --- ####
####
####
def request_post(function,variable):
url = (f"http://api.stines.de:8001/{function}")
response = requests.post(url,json = variable,headers={'access_token':'^YWUbG7yX*V!tV^KBSd*2c&vdN3wV9a2i7f3hfGFMBYFxi6#mMiJGiaA5KEHE%B*miK%qb7rQ67gmcYP@gqmux8'})
return response
def request_get(function,variable):
url = (f"http://api.stines.de:8001/{function}")
response = requests.get(url,headers={'access_token':'^YWUbG7yX*V!tV^KBSd*2c&vdN3wV9a2i7f3hfGFMBYFxi6#mMiJGiaA5KEHE%B*miK%qb7rQ67gmcYP@gqmux8'})
return response
# create_service.addservice("REPORTS-AD")
def adcontroller (ip,name):
# command = ["powershell", "-Command",
# "Get-ADUser -Filter * -Properties * | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'users.csv'"]
# subprocess.run(command)
# # CSV-Datei einlesen und Feldnamen auslesen
# with open("users.csv", "r", encoding='utf-8-sig') as file:
# reader = csv.DictReader(file)
# fieldnames = reader.fieldnames
#
# # Tabelle erstellen, falls sie noch nicht existiert
# table_name = "Active-Directory-User"
# create_table_query = f"CREATE TABLE IF NOT EXISTS `{table_name}` (id INT AUTO_INCREMENT PRIMARY KEY, importdate BIGINT(11), "
# for field in fieldnames:
# create_table_query += f"`{field}` TEXT, "
# create_table_query = create_table_query.rstrip(", ") + ")"
# request("dbset", {"query": create_table_query, 'dbname': name})
#
# # Daten aus der CSV-Datei in die Tabelle einfügen
# with open("users.csv", "r", encoding='utf-8-sig') as file:
# reader = csv.reader(file)
# next(reader) # Überspringe die erste Zeile (Feldnamen)
# for row in reader:
# row = [cell if cell.strip() else "-" for cell in row]
# unix_time = int(datetime.now().timestamp())
# print(unix_time)
# row = [unix_time] + row
# insert_query = f"INSERT INTO `{table_name}` (importdate, `{'`, `'.join(fieldnames)}`) VALUES (%s, {', '.join(['%s'] * len(fieldnames))})"
# print(request("add_ad_user", {"query": insert_query, 'dbname': name, 'entry': row}).text)
# # mysql_connect.add_user(insert_query, name, row)
#
# command = ["powershell", "-Command",
# "Get-ADGroupMember -Identity G-RDP-User | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'group.csv'"]
# subprocess.run(command)
command = ["powershell", "-Command",
"Get-ADUser -Filter * -Properties * | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'users.csv'"]
subprocess.run(command)
# CSV-Datei einlesen und Feldnamen auslesen
with open("users.csv", "r", encoding='utf-8-sig') as file:
reader = csv.DictReader(file)
fieldnames = reader.fieldnames
# Tabelle erstellen, falls sie noch nicht existiert
table_name = "Active-Directory-User"
create_table_query = f"CREATE TABLE IF NOT EXISTS `{table_name}` (id INT AUTO_INCREMENT PRIMARY KEY, importdate BIGINT(11), "
for field in fieldnames:
create_table_query += f"`{field}` TEXT, "
create_table_query = create_table_query.rstrip(", ") + ")"
request_post("dbset", {"query": create_table_query, 'dbname': name})
# Daten aus der CSV-Datei in die Tabelle einfügen
with open("users.csv", "r", encoding='utf-8-sig') as file:
reader = csv.reader(file)
next(reader) # Überspringe die erste Zeile (Feldnamen)
for row in reader:
row = [cell if cell.strip() else "-" for cell in row]
unix_time = int(datetime.now().timestamp())
print(unix_time)
row = [unix_time] + row
insert_query = f"INSERT INTO `{table_name}` (importdate, `{'`, `'.join(fieldnames)}`) VALUES (%s, {', '.join(['%s'] * len(fieldnames))})"
print(request_post("ad/adduser", {"query": insert_query, 'dbname': name, 'entry': row}).text)
# mysql_connect.add_user(insert_query, name, row)
command = ["powershell", "-Command",
"Get-ADGroupMember -Identity G-RDP-User | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'group.csv'"]
subprocess.run(command)
# CSV-Datei einlesen und Feldnamen auslesen
with open("group.csv", "r", encoding='utf-8-sig') as file:
@@ -53,7 +69,7 @@ def adcontroller (ip,name):
for field in fieldnames:
create_table_query += f"`{field}` TEXT, "
create_table_query = create_table_query.rstrip(", ") + ")"
request("dbset", {"query": create_table_query, 'dbname': name})
request_post("dbset", {"query": create_table_query, 'dbname': name})
# Daten aus der CSV-Datei in die Tabelle aktualisieren oder einfügen
with open("group.csv", "r", encoding='utf-8-sig') as file:
@@ -62,14 +78,12 @@ def adcontroller (ip,name):
sam_account_name = row["SamAccountName"]
# Abfrage, um die ID für den Benutzernamen zu erhalten
query_id = f"SELECT id FROM `{table_name}` WHERE SamAccountName = %s"
query_id = f"SELECT id FROM `{table_name}` WHERE SamAccountName = '{sam_account_name}'"
result = request("get_ad_user", {"query": query_id, 'dbname': name}).text
print(result)
# result = mysql_connect.get_user(query_id, name, (sam_account_name,))
result = request_post("ad/getuserid", {"query": query_id, 'dbname': name}).text
if result:
user_id = result[0]
if result != "false":
user_id = result
print(user_id)
update_query = f"UPDATE `{table_name}` SET "
for field in fieldnames:
@@ -78,14 +92,13 @@ def adcontroller (ip,name):
update_query = update_query.rstrip(", ")
update_query += ", `importdate` = %s" # Importdate als Unix-Timestamp aktualisieren
update_query += " WHERE id = %s"
row_data = [row[field] for field in fieldnames if field != "SamAccountName"]
unix_time = int(datetime.now().timestamp())
row_data = row_data + [unix_time]
row_data.append(user_id)
print(row_data)
mysql_connect.add_user(update_query, name, row_data)
print(request_post("ad/adduser",{"query": update_query, "dbname":name, "entry":row_data}).text)
else:
print("false in side else")
insert_query = f"INSERT INTO `{table_name}` ("
insert_query += ", ".join(fieldnames) # Spaltennamen in die INSERT-Abfrage einbeziehen
insert_query += ", `importdate`) VALUES ("
@@ -95,8 +108,32 @@ def adcontroller (ip,name):
unix_time = int(datetime.now().timestamp())
row_data = row_data + [unix_time]
print(row_data)
mysql_connect.add_user(insert_query, name, row_data)
# connection.commit()
request_post("ad/adduser",{"query": insert_query, "dbname":name, "entry":row_data})
def get_local_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
local_ip = s.getsockname()[0]
s.close()
return local_ip
except Exception as e:
print(f"Fehler beim Abrufen der lokalen IP-Adresse: {e}")
return None
adcontroller("172.18.1.6","tnp-Invest-GmbH")
service_time = f"23:{str(random.randint(1, 59)).zfill(2)}"
while True:
print(f"ERROR {service_time}")
current_time = datetime.now().strftime("%H:%M")
try:
with open ("log.txt","w") as datei:
datei.writelines(request_get("gettime",{}).text)
except Exception as e:
with open ("log.txt","w") as datei:
datei.writelines(f"{current_time}No Connection to Server!")
if current_time == service_time:
ip = get_local_ip()
database = request_post("info/getdatabase",{"ip":ip}).text.replace('"',"")
adcontroller(ip,database)
time.sleep(22*3600)
time.sleep(60)
+31
View File
@@ -0,0 +1,31 @@
import os
import shutil
import requests
import zipfile
import time
def addservice(service):
path = f"C:\Scripte\{service}"
if not os.path.isfile(f"{path}\.{service}"):
main_folder = f"{path}"
try:
os.mkdir(main_folder)
except:
print("Folder exist")
shutil.copy(f"{service}.exe",main_folder)
response = requests.get("https://nssm.cc/release/nssm-2.24.zip", stream=True)
with open('C:\Scripte\\nssm.zip', 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
# Entpacken der ZIP-Datei
with zipfile.ZipFile('C:\Scripte\\nssm.zip', 'r') as zip_ref:
zip_ref.extractall('C:\Scripte\\nssm')
shutil.move("C:\Scripte\\nssm\\nssm-2.24\win64\\nssm.exe",f"{main_folder}\\Windows_Dienst_Builder.exe")
os.system(f"{main_folder}\\Windows_Dienst_Builder.exe install STI-{service} {main_folder}\\{service}.exe")
open(f"{main_folder}\.{service}", 'a').close()
time.sleep(2)
print("Remove not Used Files")
shutil.rmtree('C:\Scripte\\nssm')
os.remove('C:\Scripte\\nssm.zip')
-24
View File
@@ -1,24 +0,0 @@
"distinguishedName","name","objectClass","objectGUID","SamAccountName","SID"
"CN=Nathalie Batura-Senebier,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Nathalie Batura-Senebier","user","e021d98f-aa51-4b3f-8db4-c5b790ca2b8c","batura","S-1-5-21-4196924754-1305228144-1931124329-1111"
"CN=RDP Admin,OU=TNP Admins,DC=tnp-gruppe,DC=de","RDP Admin","user","c0eec35e-923d-4d2c-b7e6-8d56720355bc","rdpadmin","S-1-5-21-4196924754-1305228144-1931124329-1164"
"CN=Johannes Wimmer,OU=Deaktivierte User,DC=tnp-gruppe,DC=de","Johannes Wimmer","user","2b107489-dbab-4dfb-a9ac-4e81d78c1850","johannnes.wimmer","S-1-5-21-4196924754-1305228144-1931124329-2620"
"CN=Alex Bondarenko,OU=Deaktivierte User,DC=tnp-gruppe,DC=de","Alex Bondarenko","user","b89bd5b7-223d-41b4-ae1f-b8457e1d3d20","alex.bondarenko","S-1-5-21-4196924754-1305228144-1931124329-2670"
"CN=Rita Hofmann,OU=Deaktivierte User,DC=tnp-gruppe,DC=de","Rita Hofmann","user","7de5af49-3e36-44ab-a345-1012cdef0b0a","rita.hofmann","S-1-5-21-4196924754-1305228144-1931124329-3108"
"CN=Diana Eichelberger,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Diana Eichelberger","user","d2e1db66-7f66-4660-bbf1-4831cf743d93","diana.eichelberger","S-1-5-21-4196924754-1305228144-1931124329-4138"
"CN=Milena Jovanovic,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Milena Jovanovic","user","3acacb97-c208-4446-a9f5-33787c7d4b70","milena.jovanovic","S-1-5-21-4196924754-1305228144-1931124329-4141"
"CN=Maximilian Wirth,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Maximilian Wirth","user","53311b2b-0c03-470a-98b9-054064a99584","maximilian.wirth","S-1-5-21-4196924754-1305228144-1931124329-4144"
"CN=Volker Neumann,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Volker Neumann","user","891e1491-0eac-4006-9fd8-960dec8d5266","volker.neumann","S-1-5-21-4196924754-1305228144-1931124329-1106"
"CN=Jan Treu,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Jan Treu","user","079ec7f2-a3b1-4182-a862-953bcd3c0c0a","jan.treu","S-1-5-21-4196924754-1305228144-1931124329-1107"
"CN=Julia Weiske,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Julia Weiske","user","f4dc59c5-f55d-47ce-b24d-909a998af89b","julia.weiske","S-1-5-21-4196924754-1305228144-1931124329-1109"
"CN=Kati Guckel,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Kati Guckel","user","590757b8-d4e8-45ba-9094-a965a7be7008","kati.guckel","S-1-5-21-4196924754-1305228144-1931124329-1110"
"CN=Petra Schubert,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Petra Schubert","user","c037b750-44d5-4137-a2f1-3a5fd3e29308","petra.schubert","S-1-5-21-4196924754-1305228144-1931124329-1112"
"CN=Susanne Eisel,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Susanne Eisel","user","2e7c23fa-da52-463d-8bf2-914b95abeabf","susanne.eisel","S-1-5-21-4196924754-1305228144-1931124329-1114"
"CN=Tobias Zander,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Tobias Zander","user","2e05a40a-6fb7-44be-9516-b5c151c415ee","tobias.zander","S-1-5-21-4196924754-1305228144-1931124329-1115"
"CN=Eva-Maria Lehmann,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Eva-Maria Lehmann","user","bf7c0205-b0c9-48e5-97f6-bbc009758560","eva-maria.lehmann","S-1-5-21-4196924754-1305228144-1931124329-2611"
"CN=Abdalrahman Islambouli,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Abdalrahman Islambouli","user","c3e294c2-ae05-43ee-9bd0-9b9a227fe65c","Islambouli","S-1-5-21-4196924754-1305228144-1931124329-2619"
"CN=Maike Hinrichs,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Maike Hinrichs","user","cfe67a05-06d0-443b-8bbd-73d0d81aadf5","maike.hinrichs","S-1-5-21-4196924754-1305228144-1931124329-2622"
"CN=Admin-Test-User,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Admin-Test-User","user","f48f294d-f644-46e1-b701-f843985e0251","ad-test-user","S-1-5-21-4196924754-1305228144-1931124329-2668"
"CN=Manuela Blecha,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Manuela Blecha","user","2ddbc19a-42b7-48ed-bb9d-5a7eb503cfe6","manuela.blecha","S-1-5-21-4196924754-1305228144-1931124329-4103"
"CN=Paula Wagner,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Paula Wagner","user","2a75206d-facc-48d4-9f96-62a767afdf40","paula.wagner","S-1-5-21-4196924754-1305228144-1931124329-4125"
"CN=Oliver Klöcker,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Oliver Klöcker","user","232094a2-831a-4ad2-8836-e59a8546fb82","oliver.klöcker","S-1-5-21-4196924754-1305228144-1931124329-4128"
"CN=Winz Sabine,OU=TNP Benutzer,DC=tnp-gruppe,DC=de","Winz Sabine","user","3efc64e9-3f06-4722-ad47-6596feb9ffc0","winz.sabine","S-1-5-21-4196924754-1305228144-1931124329-4145"
1 distinguishedName name objectClass objectGUID SamAccountName SID
2 CN=Nathalie Batura-Senebier,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Nathalie Batura-Senebier user e021d98f-aa51-4b3f-8db4-c5b790ca2b8c batura S-1-5-21-4196924754-1305228144-1931124329-1111
3 CN=RDP Admin,OU=TNP Admins,DC=tnp-gruppe,DC=de RDP Admin user c0eec35e-923d-4d2c-b7e6-8d56720355bc rdpadmin S-1-5-21-4196924754-1305228144-1931124329-1164
4 CN=Johannes Wimmer,OU=Deaktivierte User,DC=tnp-gruppe,DC=de Johannes Wimmer user 2b107489-dbab-4dfb-a9ac-4e81d78c1850 johannnes.wimmer S-1-5-21-4196924754-1305228144-1931124329-2620
5 CN=Alex Bondarenko,OU=Deaktivierte User,DC=tnp-gruppe,DC=de Alex Bondarenko user b89bd5b7-223d-41b4-ae1f-b8457e1d3d20 alex.bondarenko S-1-5-21-4196924754-1305228144-1931124329-2670
6 CN=Rita Hofmann,OU=Deaktivierte User,DC=tnp-gruppe,DC=de Rita Hofmann user 7de5af49-3e36-44ab-a345-1012cdef0b0a rita.hofmann S-1-5-21-4196924754-1305228144-1931124329-3108
7 CN=Diana Eichelberger,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Diana Eichelberger user d2e1db66-7f66-4660-bbf1-4831cf743d93 diana.eichelberger S-1-5-21-4196924754-1305228144-1931124329-4138
8 CN=Milena Jovanovic,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Milena Jovanovic user 3acacb97-c208-4446-a9f5-33787c7d4b70 milena.jovanovic S-1-5-21-4196924754-1305228144-1931124329-4141
9 CN=Maximilian Wirth,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Maximilian Wirth user 53311b2b-0c03-470a-98b9-054064a99584 maximilian.wirth S-1-5-21-4196924754-1305228144-1931124329-4144
10 CN=Volker Neumann,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Volker Neumann user 891e1491-0eac-4006-9fd8-960dec8d5266 volker.neumann S-1-5-21-4196924754-1305228144-1931124329-1106
11 CN=Jan Treu,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Jan Treu user 079ec7f2-a3b1-4182-a862-953bcd3c0c0a jan.treu S-1-5-21-4196924754-1305228144-1931124329-1107
12 CN=Julia Weiske,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Julia Weiske user f4dc59c5-f55d-47ce-b24d-909a998af89b julia.weiske S-1-5-21-4196924754-1305228144-1931124329-1109
13 CN=Kati Guckel,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Kati Guckel user 590757b8-d4e8-45ba-9094-a965a7be7008 kati.guckel S-1-5-21-4196924754-1305228144-1931124329-1110
14 CN=Petra Schubert,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Petra Schubert user c037b750-44d5-4137-a2f1-3a5fd3e29308 petra.schubert S-1-5-21-4196924754-1305228144-1931124329-1112
15 CN=Susanne Eisel,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Susanne Eisel user 2e7c23fa-da52-463d-8bf2-914b95abeabf susanne.eisel S-1-5-21-4196924754-1305228144-1931124329-1114
16 CN=Tobias Zander,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Tobias Zander user 2e05a40a-6fb7-44be-9516-b5c151c415ee tobias.zander S-1-5-21-4196924754-1305228144-1931124329-1115
17 CN=Eva-Maria Lehmann,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Eva-Maria Lehmann user bf7c0205-b0c9-48e5-97f6-bbc009758560 eva-maria.lehmann S-1-5-21-4196924754-1305228144-1931124329-2611
18 CN=Abdalrahman Islambouli,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Abdalrahman Islambouli user c3e294c2-ae05-43ee-9bd0-9b9a227fe65c Islambouli S-1-5-21-4196924754-1305228144-1931124329-2619
19 CN=Maike Hinrichs,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Maike Hinrichs user cfe67a05-06d0-443b-8bbd-73d0d81aadf5 maike.hinrichs S-1-5-21-4196924754-1305228144-1931124329-2622
20 CN=Admin-Test-User,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Admin-Test-User user f48f294d-f644-46e1-b701-f843985e0251 ad-test-user S-1-5-21-4196924754-1305228144-1931124329-2668
21 CN=Manuela Blecha,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Manuela Blecha user 2ddbc19a-42b7-48ed-bb9d-5a7eb503cfe6 manuela.blecha S-1-5-21-4196924754-1305228144-1931124329-4103
22 CN=Paula Wagner,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Paula Wagner user 2a75206d-facc-48d4-9f96-62a767afdf40 paula.wagner S-1-5-21-4196924754-1305228144-1931124329-4125
23 CN=Oliver Klöcker,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Oliver Klöcker user 232094a2-831a-4ad2-8836-e59a8546fb82 oliver.klöcker S-1-5-21-4196924754-1305228144-1931124329-4128
24 CN=Winz Sabine,OU=TNP Benutzer,DC=tnp-gruppe,DC=de Winz Sabine user 3efc64e9-3f06-4722-ad47-6596feb9ffc0 winz.sabine S-1-5-21-4196924754-1305228144-1931124329-4145
-4
View File
@@ -1,4 +0,0 @@
# ssh_tunnel.server_start()
# set_system_info("172.19.1.5")
# ssh_tunnel.server_stop()