main #1

Merged
p7mj merged 6 commits from SpyDrone/Sierra-Security:main into main 2026-02-01 10:04:21 -05:00
7 changed files with 597 additions and 294 deletions

View File

@@ -1,6 +1,4 @@
# Sierra-Security # Sierra Security
Sierra Security
<h3>Introduction</h3> <h3>Introduction</h3>
@@ -10,8 +8,37 @@ Sierra Security is a verification system I plan to integrate across my systems.
The code is designed to be pasted at the start of your program. There are many variations for this module. Ensure that you are downloading the correct one: The code is designed to be pasted at the start of your program. There are many variations for this module. Ensure that you are downloading the correct one:
`sierra-security-combination-X-X-X`: Combination of uuid verification and generation. Do not use for locks * `sierra-security-combination-x-x-x.py`: Combination of uuid verification and generation. **Do not use for locks.**
* `sierra-security-generation-x-x-x.py`: Generation only, suitable for portable "keychains".
* `sierra-security-verification-x-x-x.py`: Verification only, suitable for locks.
`sierra-security-generation-X-X-X`: Generation only, suitable for portable "keychains" ---
`sierra-security-verification-X-X-X`: verification only, suitable for locks ## V. A-2 Technical Enhancements & Hardening
Compared to the original A-1 logic, the **Version A-2** suite includes several critical security and cryptographic enhancements to prevent unauthorized access and forensic recovery across all P7MJ software.
### 1. Brute-Force Immunity (Hash Stretching)
* **The Upgrade**: Implements **50,000 rounds** of SHA-256 hashing (Hash Stretching). This forces the computer to perform significant mathematical work for every single guess.
* **Impact**: Even if an analyst identifies the 0-999 key range, testing all 1,000 keys would now take an automated script hours to complete. Since the ID expires every 15 minutes, brute-forcing is mathematically impossible.
### 2. Cryptographic Rolling Salt (Daily Expiration)
* **The Upgrade**: The internal cryptographic "base" of the program now shifts every 24 hours based on the current UTC date string.
* **How it Works**: The salt remains consistent for a 24-hour window. However, at 00:00 UTC, the date changes, causing the resulting UUIDs for the exact same keys to change entirely.
* **Impact**: If a master key or authorized UUID is leaked or captured by a listener today, it becomes **completely useless tomorrow**. This prevents long-term replay attacks.
### 3. Global Sync (UTC Persistence)
* **The Problem**: Standard local time varies by region, causing synchronization failures between a keychain and a target PC.
* **The Fix**: Synchronized to **Coordinated Universal Time (UTC)** using timezone-aware objects.
* **Impact**: Your keychain (phone/laptop) and your programs will always match perfectly, regardless of travel or geographical location.
### 4. Anti-Automation Delay
* **The Logic**: Added an artificial 1.5-second `time.sleep()` during the verification process.
* **Impact**: Limits the speed of manual or macro-based attempts. Combined with the 3-chance limit, automated "brute-force spam" is rendered ineffective.
### 5. Premium Visual Identity
* **Upgrade**: Switched to high-fidelity "Sierra Curvy" ASCII art and implemented ANSI color-coding (Blue/Green/Red/Yellow).
* **Impact**: Improved user experience and a professional, "elite" software feel.
---
*Developed for All P7MJ Projects 2026*

View File

@@ -1,100 +1,100 @@
# ____ _ ____ _ _ # ____ _ ____ _ _
# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _ # / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | | # \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| | # ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ # |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
# Combination V. A-1 |___/ 20260128 # Combination V. A-1 |___/ 20260128
# Required imports: # Required imports:
import datetime, hashlib, uuid, sys import datetime, hashlib, uuid, sys
# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate. # To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
sierra_verification_chances = 3 sierra_verification_chances = 3
def sierra_get_key(): # Get a key def sierra_get_key(): # Get a key
while True: while True:
try: try:
key = int(input("Enter a key (0-999) > ")) key = int(input("Enter a key (0-999) > "))
if 0 <= key <= 999: if 0 <= key <= 999:
return f"{key:03d}" # Format as 3-digit with leading zeros return f"{key:03d}" # Format as 3-digit with leading zeros
else: else:
print("Key must be between 0 and 999. Please try again.") print("Key must be between 0 and 999. Please try again.")
except ValueError: except ValueError:
print("Invalid input. Enter a number between 0 and 999.") print("Invalid input. Enter a number between 0 and 999.")
def sierra_create_time_code(): # Get the 12-digit time code def sierra_create_time_code(): # Get the 12-digit time code
now = datetime.datetime.now() now = datetime.datetime.now()
minutes = (now.minute // 15) * 15 # Quarter Hours minutes = (now.minute // 15) * 15 # Quarter Hours
rounded_time = now.replace(minute=minutes, second=0, microsecond=0) rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
def sierra_create_key(key, time_code): # Combine key and time code def sierra_create_key(key, time_code): # Combine key and time code
combined = f"{key}{time_code}" combined = f"{key}{time_code}"
hash_obj = hashlib.sha256(combined.encode()) hash_obj = hashlib.sha256(combined.encode())
hash_hex = hash_obj.hexdigest() hash_hex = hash_obj.hexdigest()
namespace = uuid.NAMESPACE_DNS namespace = uuid.NAMESPACE_DNS
name = combined.encode() name = combined.encode()
deterministic_uuid = uuid.uuid5(namespace, combined) deterministic_uuid = uuid.uuid5(namespace, combined)
return str(deterministic_uuid) return str(deterministic_uuid)
def sierra_verify(): def sierra_verify():
global sierra_verification_chances global sierra_verification_chances
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
correct_uuid = sierra_create_key(key, time_code) correct_uuid = sierra_create_key(key, time_code)
user_uuid = input("Enter UUID > ").strip() user_uuid = input("Enter UUID > ").strip()
# Compare # Compare
if user_uuid == correct_uuid: if user_uuid == correct_uuid:
print("Verification Successful.") print("Verification Successful.")
return True return True
else: else:
sierra_verification_chances -= 1 sierra_verification_chances -= 1
print(f"Verification Failed. {sierra_verification_chances} chances left.") print(f"Verification Failed. {sierra_verification_chances} chances left.")
def sierra_create_uuid(): def sierra_create_uuid():
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
generated_uuid = sierra_create_key(key, time_code) generated_uuid = sierra_create_key(key, time_code)
print(f""" print(f"""
Generated Key and UUID: Generated Key and UUID:
Key: {key} Key: {key}
UUID: {generated_uuid} UUID: {generated_uuid}
""") """)
def sierra(): def sierra():
global sierra_verification_chances global sierra_verification_chances
print("=" * 80) print("=" * 80)
print("Sierra Security Combination Version A-1") print("Sierra Security Combination Version A-1")
print("-" * 80) print("-" * 80)
try: try:
while True and sierra_verification_chances > 0: while True and sierra_verification_chances > 0:
print("""Select a mode: print("""Select a mode:
[1] Generate a UUID [1] Generate a UUID
[2] Verify a UUID [2] Verify a UUID
[3] Exit [3] Exit
""") """)
choice = input("Enter your choice > ").strip() choice = input("Enter your choice > ").strip()
if choice == "1": if choice == "1":
sierra_create_uuid() sierra_create_uuid()
elif choice == "2": elif choice == "2":
verification_result = sierra_verify() verification_result = sierra_verify()
if verification_result: if verification_result:
break break
elif choice == "3": elif choice == "3":
print("Exiting.") print("Exiting.")
sys.exit(0) sys.exit(0)
else: else:
print("Error: Invalid choice.") print("Error: Invalid choice.")
sys.exit(0) sys.exit(0)
except KeyboardInterrupt: except KeyboardInterrupt:
print("\nUser Terminated (Ctrl + C.)") print("\nUser Terminated (Ctrl + C.)")
if __name__ == "__main__": if __name__ == "__main__":
sierra() sierra()
# ========================================================================================================== # ==========================================================================================================

View File

@@ -1,95 +1,95 @@
# ____ _ ____ _ _ # ____ _ ____ _ _
# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _ # / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | | # \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| | # ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ # |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
# Generation V. A-1 |___/ 20260128 # Generation V. A-1 |___/ 20260128
# Required imports: # Required imports:
import datetime, hashlib, uuid, sys import datetime, hashlib, uuid, sys
# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate. # To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
sierra_verification_chances = 3 sierra_verification_chances = 3
def sierra_get_key(): # Get a key def sierra_get_key(): # Get a key
while True: while True:
try: try:
key = int(input("Enter a key (0-999) > ")) key = int(input("Enter a key (0-999) > "))
if 0 <= key <= 999: if 0 <= key <= 999:
return f"{key:03d}" # Format as 3-digit with leading zeros return f"{key:03d}" # Format as 3-digit with leading zeros
else: else:
print("Key must be between 0 and 999. Please try again.") print("Key must be between 0 and 999. Please try again.")
except ValueError: except ValueError:
print("Invalid input. Enter a number between 0 and 999.") print("Invalid input. Enter a number between 0 and 999.")
def sierra_create_time_code(): # Get the 12-digit time code def sierra_create_time_code(): # Get the 12-digit time code
now = datetime.datetime.now() now = datetime.datetime.now()
minutes = (now.minute // 15) * 15 # Quarter Hours minutes = (now.minute // 15) * 15 # Quarter Hours
rounded_time = now.replace(minute=minutes, second=0, microsecond=0) rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
def sierra_create_key(key, time_code): # Combine key and time code def sierra_create_key(key, time_code): # Combine key and time code
combined = f"{key}{time_code}" combined = f"{key}{time_code}"
hash_obj = hashlib.sha256(combined.encode()) hash_obj = hashlib.sha256(combined.encode())
hash_hex = hash_obj.hexdigest() hash_hex = hash_obj.hexdigest()
namespace = uuid.NAMESPACE_DNS namespace = uuid.NAMESPACE_DNS
name = combined.encode() name = combined.encode()
deterministic_uuid = uuid.uuid5(namespace, combined) deterministic_uuid = uuid.uuid5(namespace, combined)
return str(deterministic_uuid) return str(deterministic_uuid)
def sierra_verify(): def sierra_verify():
global sierra_verification_chances global sierra_verification_chances
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
correct_uuid = sierra_create_key(key, time_code) correct_uuid = sierra_create_key(key, time_code)
user_uuid = input("Enter UUID > ").strip() user_uuid = input("Enter UUID > ").strip()
# Compare # Compare
if user_uuid == correct_uuid: if user_uuid == correct_uuid:
print("Verification Successful.") print("Verification Successful.")
return True return True
else: else:
sierra_verification_chances -= 1 sierra_verification_chances -= 1
print(f"Verification Failed. {sierra_verification_chances} chances left.") print(f"Verification Failed. {sierra_verification_chances} chances left.")
def sierra_create_uuid(): def sierra_create_uuid():
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
generated_uuid = sierra_create_key(key, time_code) generated_uuid = sierra_create_key(key, time_code)
print(f""" print(f"""
Generated Key and UUID: Generated Key and UUID:
Key: {key} Key: {key}
UUID: {generated_uuid} UUID: {generated_uuid}
""") """)
def sierra(): def sierra():
global sierra_verification_chances global sierra_verification_chances
print("=" * 80) print("=" * 80)
print("Sierra Security Generation Version A-1") print("Sierra Security Generation Version A-1")
print("-" * 80) print("-" * 80)
try: try:
while True and sierra_verification_chances > 0: while True and sierra_verification_chances > 0:
print("""Select a mode: print("""Select a mode:
[1] Generate a UUID [1] Generate a UUID
[2] Exit [2] Exit
""") """)
choice = input("Enter your choice > ").strip() choice = input("Enter your choice > ").strip()
if choice == "1": if choice == "1":
sierra_create_uuid() sierra_create_uuid()
elif choice == "2": elif choice == "2":
print("Exiting.") print("Exiting.")
sys.exit(0) sys.exit(0)
else: else:
print("Error: Invalid choice.") print("Error: Invalid choice.")
sys.exit(0) sys.exit(0)
except KeyboardInterrupt: except KeyboardInterrupt:
print("\nUser Terminated (Ctrl + C.)") print("\nUser Terminated (Ctrl + C.)")
if __name__ == "__main__": if __name__ == "__main__":
sierra() sierra()
# ========================================================================================================== # ==========================================================================================================

View File

@@ -1,96 +1,96 @@
# ____ _ ____ _ _ # ____ _ ____ _ _
# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _ # / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | | # \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| | # ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ # |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
# Verification V. A-1 |___/ 20260128 # Verification V. A-1 |___/ 20260128
# Required imports: # Required imports:
import datetime, hashlib, uuid, sys import datetime, hashlib, uuid, sys
# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate. # To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
sierra_verification_chances = 3 sierra_verification_chances = 3
def sierra_get_key(): # Get a key def sierra_get_key(): # Get a key
while True: while True:
try: try:
key = int(input("Enter a key (0-999) > ")) key = int(input("Enter a key (0-999) > "))
if 0 <= key <= 999: if 0 <= key <= 999:
return f"{key:03d}" # Format as 3-digit with leading zeros return f"{key:03d}" # Format as 3-digit with leading zeros
else: else:
print("Key must be between 0 and 999. Please try again.") print("Key must be between 0 and 999. Please try again.")
except ValueError: except ValueError:
print("Invalid input. Enter a number between 0 and 999.") print("Invalid input. Enter a number between 0 and 999.")
def sierra_create_time_code(): # Get the 12-digit time code def sierra_create_time_code(): # Get the 12-digit time code
now = datetime.datetime.now() now = datetime.datetime.now()
minutes = (now.minute // 15) * 15 # Quarter Hours minutes = (now.minute // 15) * 15 # Quarter Hours
rounded_time = now.replace(minute=minutes, second=0, microsecond=0) rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
def sierra_create_key(key, time_code): # Combine key and time code def sierra_create_key(key, time_code): # Combine key and time code
combined = f"{key}{time_code}" combined = f"{key}{time_code}"
hash_obj = hashlib.sha256(combined.encode()) hash_obj = hashlib.sha256(combined.encode())
hash_hex = hash_obj.hexdigest() hash_hex = hash_obj.hexdigest()
namespace = uuid.NAMESPACE_DNS namespace = uuid.NAMESPACE_DNS
name = combined.encode() name = combined.encode()
deterministic_uuid = uuid.uuid5(namespace, combined) deterministic_uuid = uuid.uuid5(namespace, combined)
return str(deterministic_uuid) return str(deterministic_uuid)
def sierra_verify(): def sierra_verify():
global sierra_verification_chances global sierra_verification_chances
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
correct_uuid = sierra_create_key(key, time_code) correct_uuid = sierra_create_key(key, time_code)
user_uuid = input("Enter UUID > ").strip() user_uuid = input("Enter UUID > ").strip()
# Compare # Compare
if user_uuid == correct_uuid: if user_uuid == correct_uuid:
print("Verification Successful.") print("Verification Successful.")
return True return True
else: else:
sierra_verification_chances -= 1 sierra_verification_chances -= 1
print(f"Verification Failed. {sierra_verification_chances} chances left.") print(f"Verification Failed. {sierra_verification_chances} chances left.")
def sierra_create_uuid(): def sierra_create_uuid():
key = sierra_get_key() key = sierra_get_key()
time_code = sierra_create_time_code() time_code = sierra_create_time_code()
generated_uuid = sierra_create_key(key, time_code) generated_uuid = sierra_create_key(key, time_code)
print(f""" print(f"""
Generated Key and UUID: Generated Key and UUID:
Key: {key} Key: {key}
UUID: {generated_uuid} UUID: {generated_uuid}
""") """)
def sierra(): def sierra():
global sierra_verification_chances global sierra_verification_chances
print("=" * 80) print("=" * 80)
print("Sierra Security Verification Version A-1") print("Sierra Security Verification Version A-1")
print("-" * 80) print("-" * 80)
try: try:
while True and sierra_verification_chances > 0: while True and sierra_verification_chances > 0:
print("""Select a mode: print("""Select a mode:
[1] Verify a UUID [1] Verify a UUID
[2] Exit [2] Exit
""") """)
choice = input("Enter your choice > ").strip() choice = input("Enter your choice > ").strip()
if choice == "1": if choice == "1":
verification_result = sierra_verify() verification_result = sierra_verify()
if verification_result: if verification_result:
break break
elif choice == "2": elif choice == "2":
print("Exiting.") print("Exiting.")
sys.exit(0) sys.exit(0)
else: else:
print("Error: Invalid choice.") print("Error: Invalid choice.")
sys.exit(0) sys.exit(0)
except KeyboardInterrupt: except KeyboardInterrupt:
print("\nUser Terminated (Ctrl + C.)") print("\nUser Terminated (Ctrl + C.)")
if __name__ == "__main__": if __name__ == "__main__":
sierra() sierra()
# ========================================================================================================== # ==========================================================================================================

View File

@@ -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")

View File

@@ -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")

View File

@@ -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)