
Lab & PoC
Este repositório parece ser um projeto de pesquisa de prova de conceito para validar um problema de desserialização e processamento de painel de ferramentas do estilo SharePoint em um laboratório controlado. Inclui um driver Python, um aplicativo vulnerável simulado e ativos de contêiner para testes isolados.
[!AVISO] Este projeto deve ser usado apenas em sistemas, contêineres ou redes que você possui ou para os quais está explicitamente autorizado a testar. Não execute este código contra infraestrutura pública, serviços de terceiros, ambientes de produção ou qualquer destino sem permissão por escrito. Testes de segurança não autorizados podem violar leis, contratos, políticas ou termos de uso aceitáveis.
O conteúdo deste repositório deve ser tratado como material de pesquisa de segurança sensível. Se você usar este projeto para trabalho de avaliação, mantenha a execução isolada, registre toda a atividade e coordene com o proprietário do sistema antes de testar.
O repositório atualmente contém:
sploit.py: driver Python assíncrono que envia requisições criadas a um endpoint ToolPane.lab/mock_vulnerable_app.cs: aplicativo ASP.NET simulado que reflete um marcador de validação e, em sua forma atual, pode executar um comando fornecido dentro do contêiner do laboratório.lab/docker-compose.yml: laboratório local de dois contêineres que separa o alvo simulado do terminal do atacante.lab/Dockerfile: compilação multi-estágio .NET que publica o aplicativo vulnerável simulado em uma imagem de runtime ASP.NET menor e o executa como um usuário não root.lab/attacker.Dockerfile: definição do contêiner atacante Python que pré-instala o conjunto de dependências do script necessário para o terminal do laboratório.lab/vulnerable.csproj: arquivo de projeto web .NET 6 para o aplicativo vulnerável simulado.lab/genGadget.py: script auxiliar para gerar um payload Base64 compactado para teste de desserialização apenas no laboratório.Este fluxo de trabalho é destinado apenas ao laboratório local.
Pré-requisitos:
Inicie o laboratório a partir do diretório lab/:
cd lab
docker-compose up --build -d
Se sua configuração do Docker exigir privilégios elevados, execute os mesmos comandos com sudo.
Confirme que ambos os contêineres estão em execução:
docker-compose ps
Registro de logs em caso de problemas ou validação de exploit:
docker logs sp_attacker
docker logs sp_vulnerable_lab
O laboratório está intencionalmente isolado:
lab_net;Abra um shell no contêiner atacante:
docker exec -it sp_attacker bash
Dentro do contêiner atacante, você pode realizar verificações seguras no laboratório, como confirmar que o alvo está acessível e testar o script no modo de verificação contra o alvo simulado:
python3 sploit.py http://sp_vulnerable_lab/
# Se a resolução de DNS do nome do serviço falhar no seu ambiente, use o IP do laboratório:
# python3 sploit.py http://10.10.10.5
# Se desejar ir além da validação básica, pode incluir comandos desejados.
python3 sploit.py http://sp_vulnerable_lab whoami
Comportamento esperado no ambiente simulado local:
http://sharepoint-target a partir do contêiner atacante;Notas operacionais:
Pare e remova os contêineres e a rede do laboratório:
cd lab
docker-compose down
Se desejar remover também as imagens construídas:
docker-compose down --rmi local
Se desejar uma reinicialização completa dos artefatos do espaço de trabalho do laboratório, remova quaisquer arquivos de resultado gerados após o desligamento:
rm -f vuln.lst
Prática de limpeza recomendada após cada exercício:
docker-compose down;O projeto é estruturalmente válido como um laboratório de pesquisa local, mas não deve ser tratado como um validador seguro para produção em sua forma atual.
O que está funcionando:
O que requer cautela:
vuln.lst, o que pode criar dados residuais sensíveis desnecessários.Use este projeto apenas para validação controlada de detecção e exposição, não para exploração operacional.
Metodologia recomendada:
Para trabalhos de avaliação no mundo real, o padrão mais seguro é substituir a validação do tipo exploit por um ou mais dos seguintes:
Se um alvo for genuinamente vulnerável a uma falha de desserialização em um componente de aplicativo privilegiado, o impacto potencial pode ser grave:
Mesmo em um laboratório, semânticas de execução de comandos aumentam significativamente o risco, pois normalizam fluxos de trabalho que devem ser reservados para investigação estritamente controlada e autorizada.
O caminho de mitigação adequado é defensivo e em camadas.
Ações imediatas:
Ações de endurecimento:
/_layouts/15/ToolPane.aspx e caminhos administrativos adjacentes.Mitigações específicas para laboratório de pesquisa:
Este README não fornece instruções para explorar sistemas ativos. Ele documenta o repositório como um artefato de pesquisa controlada e descreve práticas mais seguras de validação e mitigação.