diff --git a/sierra-security-combination-v-a-2.py b/sierra-security-combination-v-a-2.py new file mode 100644 index 0000000..1f6dd07 --- /dev/null +++ b/sierra-security-combination-v-a-2.py @@ -0,0 +1,106 @@ +import datetime +import hashlib +import uuid +import sys +import time +import os +import ctypes + +# _____ _ _____ _ _ +# / ___(_) / ___| (_) | +# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ +# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | +# __/ | +# Combination V. A-2 |___/ + +# --- ENABLE ANSI COLORS ON WINDOWS --- +if os.name == 'nt': + kernel32 = ctypes.windll.kernel32 + kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7) + +# --- CONFIGURATION --- +BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN" +TIMEFRAME_MINUTES = 15 + +def get_rolling_salt(): + """Generates a salt that changes every 24 hours (UTC) to invalidate old keys.""" + # Using timezone-aware UTC to prevent deprecation warnings + date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d") + return f"{BASE_SALT}:{date_string}" + +def get_time_token(): + """Returns a time string rounded to the timeframe (Uses UTC for global sync).""" + now = datetime.datetime.now(datetime.timezone.utc) + minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES + rounded = now.replace(minute=minutes, second=0, microsecond=0) + return rounded.strftime("%Y-%m-%d %H:%M") + +def generate_sierra_id(user_key: str): + time_token = get_time_token() + salt = get_rolling_salt() + raw_payload = f"{salt}:{time_token}:{user_key}" + hash_result = raw_payload.encode() + for _ in range(50000): + hash_result = hashlib.sha256(hash_result).digest() + return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex())) + +def print_header(subtitle="Combination"): + os.system('cls' if os.name == 'nt' else 'clear') + print("\033[94m" + "="*80) + print(r""" + _____ _ _____ _ _ +/ ___(_) / ___| (_) | +\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ + `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | + __/ | + |___/ + """ + f"--- {subtitle} V. A-2 ---".center(70)) + print("="*80 + "\033[0m") + +def verify_access(): + print_header("Verification") + chances = 3 + while chances > 0: + print(f"\n[!] Attempts remaining: \033[93m{chances}\033[0m") + user_key = input(" > Enter Secret Key: ").strip() + provided_uuid = input(" > Enter Time-Locked UUID: ").strip() + print("\n[*] \033[96mVerifying cryptographic integrity...\033[0m") + correct_uuid = generate_sierra_id(user_key) + time.sleep(1.5) + if provided_uuid == correct_uuid: + print("\n[+] \033[92mAccess Granted...\033[0m") + return True + else: + chances -= 1 + print("\n[-] \033[91mInvalid Key/UUID combination.\033[0m") + print("\n\033[41mCritical Failure: Access Denied.\033[0m") + sys.exit(1) + +def tool_menu(): + while True: + print_header("Main Terminal") + print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n") + print(" \033[1m[1]\033[0m Generate a UUID") + print(" \033[1m[2]\033[0m Verify a UUID") + print(" \033[1m[3]\033[0m Exit\n") + choice = input("Enter your choice > ").strip() + if choice == "1": + user_key = input("\n > Enter your secret key: ").strip() + print(f"\n [+] \033[92mGenerated UUID:\033[0m {generate_sierra_id(user_key)}\n") + input("Press Enter to return to menu...") + elif choice == "2": + if verify_access(): + print("\n[✓] Entering Secure Shell...") + time.sleep(2) + elif choice == "3": + sys.exit(0) + +if __name__ == "__main__": + try: + tool_menu() + except KeyboardInterrupt: + print("\n\033[91mProcess Terminated.\033[0m") diff --git a/sierra-security-generation-v-a-2.py b/sierra-security-generation-v-a-2.py new file mode 100644 index 0000000..29c627a --- /dev/null +++ b/sierra-security-generation-v-a-2.py @@ -0,0 +1,81 @@ +import datetime +import hashlib +import uuid +import sys +import time +import os +import ctypes + +# _____ _ _____ _ _ +# / ___(_) / ___| (_) | +# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ +# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | +# __/ | +# Generation V. A-2 |___/ + +# --- ENABLE ANSI COLORS ON WINDOWS --- +if os.name == 'nt': + kernel32 = ctypes.windll.kernel32 + kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7) + +# --- CONFIGURATION (Sync with Verification Script) --- +BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN" +TIMEFRAME_MINUTES = 15 + +def get_rolling_salt(): + """Generates a salt that changes every 24 hours (UTC).""" + date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d") + return f"{BASE_SALT}:{date_string}" + +def get_time_token(): + """Returns a time string rounded to the timeframe (UTC).""" + now = datetime.datetime.now(datetime.timezone.utc) + minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES + rounded = now.replace(minute=minutes, second=0, microsecond=0) + return rounded.strftime("%Y-%m-%d %H:%M") + +def generate_sierra_id(user_key: str): + time_token = get_time_token() + salt = get_rolling_salt() + raw_payload = f"{salt}:{time_token}:{user_key}" + hash_result = raw_payload.encode() + for _ in range(50000): + hash_result = hashlib.sha256(hash_result).digest() + return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex())) + +def print_header(subtitle="Generation"): + os.system('cls' if os.name == 'nt' else 'clear') + print("\033[92m" + "="*80) + print(r""" + _____ _ _____ _ _ +/ ___(_) / ___| (_) | +\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ + `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | + __/ | + |___/ + """ + f"--- {subtitle} V. A-2 ---".center(70)) + print("="*80 + "\033[0m") + +def tool_menu(): + while True: + print_header("Generator") + print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n") + print(" \033[1m[1]\033[0m Generate a UUID") + print(" \033[1m[2]\033[0m Exit\n") + choice = input("Enter your choice > ").strip() + if choice == "1": + user_key = input("\n > Enter your secret key: ").strip() + print(f"\n [+] \033[92mGenerated UUID:\033[0m {generate_sierra_id(user_key)}\n") + input("Press Enter to return to menu...") + elif choice == "2": + sys.exit(0) + +if __name__ == "__main__": + try: + tool_menu() + except KeyboardInterrupt: + print("\n\033[91mProcess Terminated.\033[0m") diff --git a/sierra-security-verification-v-a-2.py b/sierra-security-verification-v-a-2.py new file mode 100644 index 0000000..a8f6cdf --- /dev/null +++ b/sierra-security-verification-v-a-2.py @@ -0,0 +1,89 @@ +import datetime +import hashlib +import uuid +import sys +import time +import os +import ctypes + +# _____ _ _____ _ _ +# / ___(_) / ___| (_) | +# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ +# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | +# __/ | +# Verification V. A-2 |___/ + +# --- ENABLE ANSI COLORS ON WINDOWS --- +if os.name == 'nt': + kernel32 = ctypes.windll.kernel32 + kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7) + +# --- CONFIGURATION (Sync with Generation Script) --- +BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN" +TIMEFRAME_MINUTES = 15 + +def get_rolling_salt(): + """Generates a salt that changes every 24 hours (UTC).""" + date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d") + return f"{BASE_SALT}:{date_string}" + +def get_time_token(): + """Returns a time string rounded to the timeframe (UTC).""" + now = datetime.datetime.now(datetime.timezone.utc) + minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES + rounded = now.replace(minute=minutes, second=0, microsecond=0) + return rounded.strftime("%Y-%m-%d %H:%M") + +def generate_sierra_id(user_key: str): + time_token = get_time_token() + salt = get_rolling_salt() + raw_payload = f"{salt}:{time_token}:{user_key}" + hash_result = raw_payload.encode() + for _ in range(50000): + hash_result = hashlib.sha256(hash_result).digest() + return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex())) + +def print_header(subtitle="Verification"): + os.system('cls' if os.name == 'nt' else 'clear') + print("\033[91m" + "="*80) + print(r""" + _____ _ _____ _ _ +/ ___(_) / ___| (_) | +\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _ + `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | | +/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| | +\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, | + __/ | + |___/ + """ + f"--- {subtitle} V. A-2 ---".center(70)) + print("="*80 + "\033[0m") + +def verify_access(): + print_header("Access Control") + print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n") + chances = 3 + while chances > 0: + print(f"\n[!] Attempts remaining: \033[93m{chances}\033[0m") + user_key = input(" > Enter Secret Key: ").strip() + provided_uuid = input(" > Enter Time-Locked UUID: ").strip() + print("\n[*] \033[96mVerifying cryptographic integrity...\033[0m") + correct_uuid = generate_sierra_id(user_key) + time.sleep(1.5) + if provided_uuid == correct_uuid: + print("\n[+] \033[92mAccess Granted...\033[0m") + return True + else: + chances -= 1 + print("\n[-] \033[91mInvalid Key/UUID combination.\033[0m") + print("\n\033[41mCritical Failure: Access Denied.\033[0m") + sys.exit(1) + +if __name__ == "__main__": + try: + if verify_access(): + print("\n[✓] Handshake Verified. Initializing.") + except KeyboardInterrupt: + print("\n\033[91mProcess Terminated.\033[0m") + sys.exit(1)