
Webshell PHP furtivo disfarçado de página de erro 404 com console AJAX, execução oculta de comandos através do cabeçalho Referrer e ações pré-configuradas para acesso remoto ao servidor.
Clone ou baixe o projeto:
git clone --depth=1 https://github.com/CosasDePuma/SecurityNotFound.git
O arquivo src/404.php deve ser colocado no servidor alvo e este deve ter capacidade de executar arquivos .php.
Aqui está um exemplo de algumas das rotas mais comuns onde os servidores estão localizados:
# 🏁 Windows
C:\Xampp\htdocs\ # Xampp
# 🐧 Linux
/var/www/html/ # Apache
/usr/share/nginx/html/ # Nginx
👮 Obviamente, você e eu sabemos que você tem acesso legítimo àquele servidor.
Agora, você pode acessá-lo através do navegador:
https://www.example.com/404.php

💡 Você pode substituir o template de erro 404 do servidor para acessar a partir de qualquer URL inválida.
Para acessar o painel de controle, pressione a tecla TAB ou pesquise o campo de senha usando as ferramentas do seu navegador:

A senha padrão é: cosasdepuma.
🥚 Você pode deixar a variável
$passphraseno script como uma string vazia para acessar diretamente o painel de controle.
🔒 Para definir um valor personalizado, insira sua senha na variável
$passphraseapós aplicar o algoritmoMD5três vezes consecutivas.
Após o login, o webshell mostrará sua aparência real:
O painel apresenta um console AJAX e várias ações pré-configuradas:
| Nome |
|---|
Deve-se notar que a execução de comandos é feita usando o cabeçalho "Referrer", cujo conteúdo é o payload executado.
Isso tem duas vantagens: maior discrição dentro do arquivo de log e a capacidade de executar comandos sem a necessidade de acessar a interface web.
172.18.0.1 - - [25/Jul/2022:04:52:17 +0000] "GET /404.php HTTP/1.1" 404 771 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:21 +0000] "POST /404.php HTTP/1.1" 404 3560 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:27 +0000] "GET /404.php HTTP/1.1" 404 375 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:31 +0000] "GET /404.php HTTP/1.1" 404 470 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:37 +0000] "GET /404.php?p HTTP/1.1" 404 75790 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:41 +0000] "GET /404.php HTTP/1.1" 404 3560 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:43 +0000] "GET /404.php?c HTTP/1.1" 302 373 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:43 +0000] "GET /404.php HTTP/1.1" 404 771 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
Tudo que faço e publico pode ser usado gratuitamente, desde que eu receba o devido crédito.
De qualquer forma, se você quiser me ajudar de forma mais direta, pode me deixar uma gorjeta clicando neste selo:
| Descrição |
|---|
| PHP Info | Mostra a página phpinfo();. |
| Geolocalizar | Mostra no Google Maps o local onde o servidor está fisicamente localizado. |
| Exploit-DB (...) | Pesquisa exploits compatíveis em exploit-db.com. |
| Sair | Sai do painel. |
# de linhas em access.log | Ação |
|---|
| 1 | Acesso sem login |
| 1 | Acesso com sessão já iniciada |
| 1 | Login |
| 2 | Logout |
| 1 | Executar um comando pelo console |
| 1 | Plugin: PHP Info |
| 0 | Plugin: Geolocalizar |
| 0 | Plugin: Exploit-DB (...) |