Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
slopShell — a única webshell PHP que você precisa. | Kitploit
Ferramentas/GitHubGitHub/oldkingcone/slopshell
Ferramentas de Criptografia/DescriptografiaGeração de PayloadsMecanismos de PersistênciaPós-ExploraçãoTestes de PenetraçãoComando e ControleAprendizado e EducaçãoRed TeamingFerramenta de Acesso Remoto
GitHuboldkingcone/slopshell

slopShell

a única webshell PHP que você precisa.

23037há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

GitHub forks GitHub stars GitHub watchers GitHub issues language language language BuyMeACoffee

slopShell

webshell php

Como eu vacilei e esqueci de falar sobre o uso. Aqui vai.

Para que este shell funcione, você precisa de 2 coisas: uma vítima que permita upload de arquivos PHP (você mesmo, em um ambiente educacional) e uma maneira de enviar requisições HTTP para este webshell (o script cliente é a melhor forma de se comunicar com este shell).

Obrigado por todo o apoio que a comunidade tem dado, significa muito para nós. Agora, sobre as coisas que serão adicionadas a este shell para torná-lo ainda mais incrível.

  • TLS mútuo, com a capacidade de gerar uma CA dinamicamente (se for possível)
  • Dropper/shell mais refinado, para garantir que o shell não seja encontrado por acesso prolongado.
  • Edições futuras terão acesso a um banco de dados pessoal de entidades na nuvem, basicamente um shodan pessoal meu. Será necessária uma taxa para isso (desculpe).

Taxa atual de detecção VT: 2/59 (versão mais nova)

Virus Total

Taxa atual de detecção VT (versão ofuscada): 1/59 //Esta é uma versão refinada do dropper reduzido. O tamanho total do arquivo é de pouco menos de 2KB. O Slopshell agora atribui corretamente um user-agent aleatório com um valor de user-agent correto, ou seja, um user-agent real como mozilla, opera, chrome, chromium, etc.

Virus Total

O problema com essa detecção acontecendo é que não encontrei uma solução viável para a palavra-chave eval; se não houvesse chamada para eval, este script seria indetectável.


Configuração

Ok, então vamos lá pessoal, eu estava com uma coceira para escrever algo em PHP, então aqui está. Este webshell tem alguns recursos extras, e mais são adicionados todos os dias. Você precisará de um servidor pgsql rodando que você controle. A forma como você implementa isso é por sua conta.

Debian: apt install -y postgresql php php-pear python3-pip php-readline php-curl libsodium libsodium-dev && python -m pip install proxybroker --user

Sistemas RHEL: dnf -y -b install postgresql-server postgresql php php-pear python3-pip php-readline php-curl libsodium libsodium-devel && python -m pip install proxybroker --user

WIN: instale o msi do php e certifique-se de ter um servidor postgresql ativo em execução em algum lugar que você possa conectar.

Depois de configurar tudo corretamente e confirmar que estão rodando, um comando que eu encorajo usar é com pg_ctl; você pode criar o DB dessa forma, ou pelo menos inicializá-lo e iniciá-lo. Então todas as consultas ao banco funcionarão bem.

Você precisa entrar em /lib/ e executar composer install para instalar as dependências do lado do servidor que serão necessárias para o cliente funcionar. O cliente agora roda muito mais rápido do que antes.


Créditos pelos métodos de execução

Você pode notar que estes são uma reinterpretação de outro backdoor do Wordpress, e assim que eu encontrar o repositório novamente, garantirei dar crédito pela função de execução de comandos presente nestes shells. Não gosto de copiar código e acredito que o crédito deve ser dado onde é devido. Obrigado, senhor, você me ajudou bastante com isso ao disponibilizar seus scripts ao público.


O que torna este shell único?

Então, enquanto fazia algumas mudanças, pensei: por que não adicionar uma maneira para o PRÓPRIO shell se esconder de um administrador menos observador? Limpei os métodos de execução de código, limpei todo o script. Não exibirá mais uma página falsa de erro 500, pois isso atrai muita atenção de um administrador observador (mais ainda por minha experiência como administrador de uma stack PHP em um servidor). Erros 500 atraem muita atenção, o que significa que o shell tem mais chances de ser descoberto. Uma resposta 404, no entanto, tem muito menos probabilidade de chamar a atenção do administrador do servidor. Isso torna o shell muito mais difícil de detectar e encontrar; além disso, com o nome do arquivo mudando, encontrar este shell será um pesadelo absoluto. A personalização do User-Agent ainda é algo que precisará ser feito, ou um valor de cookie único precisará ser usado no lugar do valor do User-Agent; isso, no entanto, não será definido por mim, e deixarei usuários mais experientes personalizarem este shell ao seu gosto. Novamente, se você notar algum problema ou deficiência (a maioria eu corrigi e atualizei este shell para PHP8 na maior parte; dicas de tipo ainda não posso adicionar por questões de compatibilidade reversa), por favor abra uma issue e me informe o que está errado, e verei o que posso fazer para corrigir. Obrigado, faça o bem, lute contra o mal, divirta-se.

Aqui está o que consegui criar para as rotinas evasivas adicionadas:

  • O shell renomeará a si mesmo dinamicamente (isso quebrou o cliente por enquanto, tenho tantas coisas para mudar no cliente, mas isso é apenas um projeto pessoal).
  • O arquivo original será deletado após ser escrito no disco; o script agora também adiciona um comentário aleatório no topo do arquivo, alterando completamente a soma de verificação do arquivo, tornando a detecção baseada em assinatura muito mais difícil. Não é polimórfico; seria legal se isso pudesse ser feito em PHP. Posso escrever uma função adicional para randomizar a localização das funções e adicionar funções aleatórias em locais aleatórios.
  • O valor do arquivo antigo e o novo nome do arquivo serão reportados ao usuário em um cabeçalho.
  • O shell agora responde HTTP 404 para tudo, até mesmo requisições válidas (outra razão pela qual o script cliente está quebrado).
  • Ainda trabalhando nas partes de MTLS do cliente e do script shell.
  • Eu o nomeei de forma diferente do que normalmente faço.
  • Reatribuí algumas funções extras para disparar por padrão agora, por exemplo, detecção de SO.
  • Adicionei a capacidade do script (se o diretório for gravável) de criar uma pasta oculta para o shell armazenar os "agrados" enviados e depois referenciá-los.
  • Ainda trabalhando no carregamento dinâmico e execução de scripts enviados.
  • Ei, agora o script também verificará funções MTLS! e definirá uma constante + criará um contexto com as informações fornecidas (ainda trabalhando em usar o contexto para se comunicar, mas está progredindo; enviarei quando estiver funcionando corretamente).
  • O script agora verificará se há um binário Tor do lado do bot.
  • O shell também terá a capacidade de importar e armazenar chaves do PGP, se você quiser usar PGP como esquema de criptografia.
  • O script agora verificará as funções necessárias para usar funções de criptografia/descriptografia com sodium; o script TAMBÉM será capaz de carregar uma DLL/objeto compartilhado do sodium a partir do diretório .scache criado.
  • O diretório .scache agora está no caminho de includes, então você pode armazenar e chamar funções dessa pasta.
  • Eba!

À medida que cresço na linguagem PHP, este projeto inteiro crescerá também, e as classes se tornarão classes adequadas, com namespaces e tudo. Só preciso de um tempo enquanto corrijo o código para padrões mais comuns de desenvolvimento PHP. Provavelmente adicionarei uma maneira de empacotar este shell como um plugin do WordPress, para que possa ser usado também no WordPress (um plugin adequado). O cliente agora cria plugins adequados do WordPress, que engancham a função init do site WordPress. Não testei isso completamente, então se houver algum problema, por favor, abra uma nova issue e descreva o problema que está enfrentando. O ativador para o plugin do WordPress é deixado em branco, porque estou procurando maneiras de torná-lo um valor único criptografado/seguro que não possa ser replicado. Por favor, tenha paciência.

Quando você chama a função cqI, ela imprime informações mais relevantes em vez de... você sabe, lixo. Exemplo:

root@kitploit:~
Max file uploads: 20
Safemode: cannot set safemode.
File_Uploads: true
Upload Temp Dir: cannot set upload_tmp_dir
Maximum File upload size: 2M
Include Path: .:/usr/share/php8:/usr/share/php/PEAR:/var/www/somesite/html/public/.scache/
---------------- SLOP DEFINES ---------------------
slopMTLS: true
slopEncryption: true
slopOS: LIN
slopShell: bash
slopTor: false
slopPGP: false
.scache full path: /var/www/somesite/html/public/.scache/

Estes terão cor dependendo da saída: falso padrão vermelho, verdadeiro padrão verde, com pequenas exceções para slopOS e sloppyshell, que são verdes independentemente.


Imagens de casos de uso

Uso do script cliente:

Conexão reversa iniciada a partir do script cliente:

Páginas de destino aleatórias:


Adicional

Eu, como mantenedor, não sou responsável de forma alguma pelo uso indevido deste produto. Ele foi publicado para fins legítimos de teste de penetração/red team e/ou valor educacional. Conheça as leis aplicáveis em seu país de residência antes de usar este script e não viole a lei ao usá-lo. Obrigado e tenha um bom dia.

Exemplo de dropper reduzido:

como a maioria dos servidores bloqueia a capacidade de scripts escreverem no diretório servido (como deveriam), estou padrão com o shell completo. A versão WordPress deste shell ainda funcionará corretamente, apenas engancha a função init em vez de ser apenas um shell ao vento.

Baixar ferramenta