Hacking Tools

ShellOpsLog : A Lightweight Command Logger

ShellOpsLog is a versatile tool designed to capture and log all executed commands during various operations, such as red and purple team engagements.

It provides a lightweight solution for tracking command history without recording their output. The logged commands are saved in a CSV file, making it easy to analyze and include in client deliverables or internal reviews.

Key Features

  • Portability: ShellOpsLog functions are portable, allowing deployment on remote hosts via SSH or RDP, providing flexibility in logging commands across different environments.
  • CSV Output: Logs are saved in a CSV format with columns for Timestamp, User, Path, and Command, facilitating easy review and analysis.
  • Responsibility: Users are reminded to be responsible for their actions when using this tool.

ShellOpsLog offers two primary implementations:

  1. Bash/Zsh Version (ShellOpsLog.sh):
    • Utilizes shell hooks like PROMPT_COMMAND in Bash or preexec in Zsh to log commands in Unix-based shells.
    • Usage:
      • Place the script in your filesystem or clone the repository.
      • Add source /path/to/ShellOpsLog.sh to your shell startup file (e.g., ~/.bashrc or ~/.zshrc).
      • Open a new terminal and manually call or uncomment the auto-start line at the bottom of the script.
      • Optionally specify a custom log directory with start_operation_log ~/Projects/MyClient.
      • Stop logging with stop_operation_log.
  2. PowerShell Version (Microsoft.PowerShell_profile.ps1):
    • Automatically logs commands in PowerShell sessions.
    • Usage:
      • Copy the script into your PowerShell profile file.
      • If the file doesn’t exist, create it with New-Item -ItemType File -Path $PROFILE -Force.
      • Restart PowerShell or open a new tab.
      • Manually call or uncomment the auto-start line.
      • Optionally specify a custom log directory with Start-OperationLog "C:\Projects\MyClient".
      • Stop logging with Stop-OperationLog.

While CMD support is available, it currently has limitations and is slated for updates in the future.

ShellOpsLog provides a simple yet effective way to track command history across different shell environments, making it a valuable tool for maintaining a clear record of activities during various operational engagements.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

How Swiss Privacy Rules Affect AI Companies Under GDPR

AI companies operating in or around Switzerland face a compliance challenge that most legal teams…

15 hours ago

Swiss FADP vs EU GDPR: Key Differences for AI and Data Privacy

Two major data privacy laws now govern how organizations handle personal data across Europe; the…

2 days ago

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

1 month ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

1 month ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

1 month ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

1 month ago