Shells

Introduction

Getting command execution is a wonderful thing, but wouldn't you rather have an interactive shell? There are two types of shells you can interact with: bind shell or reverse shell.

Bind Shells

SSHD can be seen as an example of a bind shell (at least in my mind). A bind shell binds to an IP and port on the server which when connected to serves a shell.

Reverse Shells

Reverse shells send a shell to a listening server.

Shell in Shell

Sometimes you want to run a shell inside another shell. This can be problematic if the parent shell dies it will kill the second shell. You can get around this by using setsid in linux. I think start allows you to create a new process group as well but not 100% sure on that.

Linux Example

setsid -f revShell

Upgrade Shells

python -c 'import pty; pty.spawn("/bin/bash")'
stty raw -echo; fg

Last updated

Was this helpful?