All Projects → theparanoids → aterm

theparanoids / aterm

Licence: MIT license
It records your terminal, then lets you upload to ASHIRT

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to aterm

Thecollective
The Collective. A repo for a collection of red-team projects found mostly on Github.
Stars: ✭ 85 (+400%)
Mutual labels:  offensive-security, red-team, redteam
Redteam Tactics And Techniques
Red Teaming Tactics and Techniques
Stars: ✭ 2,190 (+12782.35%)
Mutual labels:  offensive-security, redteam
Blackmamba
C2/post-exploitation framework
Stars: ✭ 544 (+3100%)
Mutual labels:  offensive-security, red-team
InlineWhispers2
Tool for working with Direct System Calls in Cobalt Strike's Beacon Object Files (BOF) via Syswhispers2
Stars: ✭ 156 (+817.65%)
Mutual labels:  red-team, redteam
Shelly
Automatic Reverse Shell Generator
Stars: ✭ 38 (+123.53%)
Mutual labels:  offensive-security, redteam
Black Hat Rust
Applied offensive security with Rust - Early access - https://academy.kerkour.com/black-hat-rust?coupon=GITHUB
Stars: ✭ 331 (+1847.06%)
Mutual labels:  offensive-security, red-team
Atomic Red Team Intelligence C2
ARTi-C2 is a post-exploitation framework used to execute Atomic Red Team test cases with rapid payload deployment and execution capabilities via .NET's DLR.
Stars: ✭ 87 (+411.76%)
Mutual labels:  offensive-security, redteam
RedTeaming-Tactics-and-Techniques
Red Teaming Tactics and Techniques
Stars: ✭ 2,991 (+17494.12%)
Mutual labels:  offensive-security, redteam
Ghostwriter
The SpecterOps project management and reporting engine
Stars: ✭ 394 (+2217.65%)
Mutual labels:  reporting, red-team
Fudgec2
FudgeC2 - a command and control framework designed for team collaboration and post-exploitation activities.
Stars: ✭ 191 (+1023.53%)
Mutual labels:  offensive-security, redteam
Bifrost
Bifrost C2. Open-source post-exploitation using Discord API
Stars: ✭ 37 (+117.65%)
Mutual labels:  offensive-security, red-team
Some Pentesters SecurityResearchers RedTeamers
Some Pentesters, Security Researchers, Red Teamers which i learned from them a lot...
Stars: ✭ 60 (+252.94%)
Mutual labels:  offensive-security, redteam
meteor
A cross-platform C2/teamserver supporting multiple transport protocols, written in Go.
Stars: ✭ 31 (+82.35%)
Mutual labels:  offensive-security, redteam
Bigbountyrecon
BigBountyRecon tool utilises 58 different techniques using various Google dorks and open source tools to expedite the process of initial reconnaissance on the target organisation.
Stars: ✭ 541 (+3082.35%)
Mutual labels:  offensive-security, red-team
AutoWin
Autowin is a framework that helps organizations simulate custom attack scenarios in order to improve detection and response capabilities.
Stars: ✭ 18 (+5.88%)
Mutual labels:  offensive-security, red-team
Gopher
C# tool to discover low hanging fruits
Stars: ✭ 73 (+329.41%)
Mutual labels:  offensive-security, redteam
Community Threats
The GitHub of Adversary Emulation Plans in JSON. Share SCYTHE threats with the community. #ThreatThursday adversary emulation plans are shared here.
Stars: ✭ 169 (+894.12%)
Mutual labels:  red-team, redteam
ligolo-ng
An advanced, yet simple, tunneling/pivoting tool that uses a TUN interface.
Stars: ✭ 418 (+2358.82%)
Mutual labels:  offensive-security, redteam
Invoke Apex
A PowerShell-based toolkit and framework consisting of a collection of techniques and tradecraft for use in red team, post-exploitation, adversary simulation, or other offensive security tasks.
Stars: ✭ 162 (+852.94%)
Mutual labels:  offensive-security, redteam
Oscp Exam Report Template
Modified template for the OSCP Exam and Labs. Used during my passing attempt
Stars: ✭ 506 (+2876.47%)
Mutual labels:  reporting, offensive-security

ASHIRT Terminal Recorder (ATerm)

ATerm provides the ability to record a terminal session in a separate pty. After recording, you can upload the file to an ASHIRT server.

Overview / User's Guide

The terminal recorder can be started via the aterm binary.

There are a handful of modes and options that can be supplied at startup. The application attempts to describe what it is doing, and the menus try to be intuative. This overview tries to provide some basic guidance without being overly thorough.

First Run

On first run, a small dialog will run asking for various required details (API URL, Access Key, Secret Key, etc). This data is saved, though first run can be triggered again via command line options. More details on this below.

Navigating Menus

Menus primarily navigate through arrow keys and j, k keys. Pressing / will allow you to search/filter the options by name. Any case-insenstive substring will be included post-filter. Pressing / once more will leave search.

Starting a recording

A normal start of the aterm binary will attempt to start a new recording. The application will prompt you to select an operation to associate with the recording. Select an operation from the list, and the psuedo terminal will start. The terminal should behave exactly as normal.

To exit a recording, try entering exit or pressing ctrl+D on an empty prompt.

Uploading a recording

After each recording, a small menu is presented with available options:

  1. Upload Recording
    • The primary intent after recording is to upload that recording. A small guide will prompt you to supply a description and select valid tags for this recording. After this data has been collected, you may submit this to the server. A successful submit will save the recorded metadata (e.g. description and tags) and send you to the main menu.
  2. Rename Recording File
    • For certain cases, you may want to make the recording file a bit more permanent/memorable. In these cases, you can opt to rename the recording to any name, normal filename rules still apply.
  3. Discard Recording
    • In sitatutions where the recording was unfruitful, you can opt to delete the recording.
  4. Return to Main Menu
    • As the name implies, you can return to the normal menu. You can exit from here. Returning to the main menu saves the recording metadata as well.

Configuration

This binary supports a few configuration options, and will attempt to load from each configuration level in order to come up with a complete view of how the interaction should be handled. The configuration levels are as follows: First, load from the config file, then replace with defined values from the env vars, then replace with command line switches.

Additionally, on first run, if you are using the ASHIRT application, then some configuration details can be pulled from its configuration file.

The configuration file adheres to the XDG standard, where applicable. If you have XDG_CONFIG_HOME set, then your config file will be found under the ashirt directory. If this value is not set, then it will likely be saved to /home/{who}/ashirt/aterm.yaml. However, most settings can be tweaked in the application itself, by going to the main menu and choosing "Update Settings". A small guide will take you through common configuration values

Config File Parameter Env Parameter CLI flag Meaning
outputDir ASHIRT_TERM_RECORDER_OUTPUT_DIR Determines where to store recording files. Defaults to home directory
recordingShell ASHIRT_TERM_RECORDER_RECORDING_SHELL -shell -s Which shell to use when starting up (defaults to env's SHELL)
operationSlug ASHIRT_TERM_RECORDER_OPERATION_SLUG -operation Which operation to upload to (by default -- can be selected prior to recording)
apiURL ASHIRT_TERM_RECORDER_API_URL Where the backend service is located.
N/A ASHIRT_TERM_RECORDER_OUTPUT_FILE_NAME --name -n What filename to use when writing the file locally (and remotely as well)
accessKey ASHIRT_TERM_RECORDER_ACCESS_KEY N/A The Access Key needed to connect with the backend (created on the frontend)
secretKey ASHIRT_TERM_RECORDER_SECRET_KEY N/A The Secret Key needed to connect with the backend (created on the frontend). This is a base-64 value
-menu -m Starts in the main menu
-pring-config -pc Prints the loaded configuration, then exits
-help -h Opens the help menu
-shell -s Launches the recoder with the specified shell. This should be the path to the binary
-reset Launches first-run to set up initial values. Uses the existing values as a base.
-reset-hard Launches first-run to set up initial config values. Does not use the existing configuration as a base

Known Issues

  1. pressing the delete (not backspace) key generates a ^d signal, causing input to fail
  2. Exiting a recording with ^d prevents arrow keys from working when the terminal returns. this is due to the terminal being placed into application mode (rather than interactive mode). Navigation with the j and k keys will continue to work. Entering a new shell and exiting with exit will return the application to interactive mode.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].