diff options
| author | Ada Isopods <me@bathynomus.xyz> | 2025-05-15 04:49:41 -0600 |
|---|---|---|
| committer | Ada Isopods <me@bathynomus.xyz> | 2026-10-21 23:04:23 -0600 |
| commit | 880d4d6c90611661269b445d79dcf892535b1efa (patch) | |
| tree | 1ba5ba51998e936f90d5b3563d149c5afee7f68d | |
| parent | 46b9b548dd5cfbbfadd9efde0a0f6245cc51ea9c (diff) | |
The World Of Colour Update
| -rw-r--r-- | cowrieder.py | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/cowrieder.py b/cowrieder.py index d1468d6..7194c20 100644 --- a/cowrieder.py +++ b/cowrieder.py @@ -6,7 +6,26 @@ import os def ccgen(seed=""): # Color code generator if(not os.isatty(1)): # Do not output color code at all if output is not a TTY that can accept them return "" - if(seed and seed != "reset" and seed != "RESET"): # If seed is provided, use it to generate a color. Return color reset code otherwise or if seed is the word "reset" + + match(seed): # Match color keywords to control codes + case "RED": + return "\x1b[31m" + case "GREEN": + return "\x1b[32m" + case "YELLOW": + return "\x1b[33m" + case "BLUE": + return "\x1b[34m" + case "PURPLE": + return "\x1b[35m" + case "CYAN": + return "\x1b[36m" + case "GREY": + return "\x1b[37m" + case "RESET": + return "\x1b[0m" + + if(seed): # If seed is provided, use it to generate a color random.seed(seed) return "\x1b[38;2;{r};{g};{b}m".format(r=random.randrange(50, 256), g=random.randrange(50, 256), b=random.randrange(50, 256)) return "\x1b[0m" @@ -89,10 +108,10 @@ else: # Default (low) verbosity: just the good stuff for session_id in sessions: ip = session_ips[session_id] - timestamp = session_timestamps[session_id][:22].replace("T", " ") + timestamp = session_timestamps[session_id][:22].replace("T", " ") # clean up the timestamp text all pretty like if(session_id not in session_successful_login): - print(timestamp + " > " + ppip(ip) + " > Empty ping lasting " + session_durations[session_id] + "s") + print(timestamp + " > " + ppip(ip) + " > " + ccgen("PURPLE") + "Empty ping" + ccgen() + " lasting " + session_durations[session_id] + "s") elif(not session_successful_login[session_id]): cred_combos = [] @@ -102,7 +121,7 @@ else: # Default (low) verbosity: just the good stuff if("password" in entry): pw = entry["password"] cred_combos.append((entry["username"], pw)) - print(timestamp + " > " + ppip(ip) + " > Failed login: " + str(cred_combos)) + print(timestamp + " > " + ppip(ip) + " > " + ccgen("RED") +"Failed login" + ccgen() + ": " + str(cred_combos)) elif(session_id in session_ran_command): collapse_cmdping = False @@ -122,10 +141,10 @@ else: # Default (low) verbosity: just the good stuff for entry in sessions[session_id]: if(entry["eventid"] == "cowrie.login.failed" or entry["eventid"] == "cowrie.login.success"): cred_combos.append((entry["username"], entry["password"])) - print(timestamp + " > " + ppip(ip) + " > Command ping: " + str(cred_combos) + " > " + str(pingcmds)) + print(timestamp + " > " + ppip(ip) + " > " + ccgen("BLUE") + "Command ping" + ccgen() + ": " + str(cred_combos) + " > " + str(pingcmds)) else: - print(timestamp + " > " + ppip(ip) + " > Session:") + print(timestamp + " > " + ppip(ip) + " > " + ccgen("CYAN") + "Session" + ccgen() + ":") for entry in sessions[session_id]: match(entry["eventid"]): case "cowrie.login.failed": @@ -151,4 +170,4 @@ else: # Default (low) verbosity: just the good stuff for entry in sessions[session_id]: if(entry["eventid"] == "cowrie.login.failed" or entry["eventid"] == "cowrie.login.success"): cred_combos.append((entry["username"], entry["password"])) - print(timestamp + " > " + ppip(ip) + " > Login ping: " + str(cred_combos)) + print(timestamp + " > " + ppip(ip) + " > " + ccgen("GREEN") + "Login ping" + ccgen() + ": " + str(cred_combos)) |
