Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nodauf/Girsh
Automatically spawn a reverse shell fully interactive for Linux or Windows victim
https://github.com/nodauf/Girsh
conpty go golang pentest redteam reverse-shell
Last synced: 12 days ago
JSON representation
Automatically spawn a reverse shell fully interactive for Linux or Windows victim
- Host: GitHub
- URL: https://github.com/nodauf/Girsh
- Owner: nodauf
- License: gpl-2.0
- Created: 2021-03-01T12:21:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-15T14:50:51.000Z (over 1 year ago)
- Last Synced: 2024-08-02T02:13:34.453Z (3 months ago)
- Topics: conpty, go, golang, pentest, redteam, reverse-shell
- Language: Go
- Homepage:
- Size: 1.07 MB
- Stars: 351
- Watchers: 8
- Forks: 47
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Go Report Card](https://goreportcard.com/badge/github.com/nodauf/Girsh)](https://goreportcard.com/report/github.com/nodauf/Girsh)
# Girsh (Golang Interactive Reverse SHell)Who didn't get bored of manually typing the few lines to upgrade a reverse shell to a full interactive reverse shell (tty spawn, stty size ..., stty raw -echo) or typing the command to use [ConPTY](https://github.com/antonioCoco/ConPtyShell).
## Description
With Girsh, just run it and it will detect the OS and execute the correct commands to upgrade it to a full interactive reverse shell.
For a Linux:
- Get the terminal's size
- Spawn a tty using python2.7, python3 and python
- Change the terminal as rawFor a Windows:
- Bypass AMSI and use [ConPTY](https://github.com/antonioCoco/ConPtyShell) to spawn an interactive terminal
- Listen for getting the ConPTY reverse shell## Custom command
```
sessions: Manage route to socks servers
connect: Manage route to socks servers
menu: Start the reverse shell menu
options: Manage current options (default print them)
start: Start the listener
stop: Stop the listener
restart: Restart the listener
help: help command
```## Usage
Two modes are available:
### Simple listener
```
go run main.go listener -h
Usage:
girsh listen [flags]Flags:
-h, --help help for listenGlobal Flags:
-d, --debug Debug output
-p, --port int port to listen (default is 1234) (default 1234)
```### Interactive
```
go run main.go -h
Generate a reverseshell oneliners (credits shellerator).
And listen then run stty raw -echo and send the python command to spawn a tty shell if it's Linux
or use ConPTY if it's windowsUsage:
girsh [flags]
girsh [command]Available Commands:
help Help about any command
listen Listen and spawn a fully interactive for windows and linux clientFlags:
-d, --debug Debug output
-h, --help help for revshell
-p, --port int port to listen (default is 1234) (default 1234)
```## Demo
### Linux
![Gif for linux victim](./images/girsh-linux.gif)
### Windows
![PNG for windows victim](./images/girsh-windows.png)