
Shell interativo multiplataforma para Microsoft Defender for Endpoint Live Response
Shell interativo multiplataforma para Microsoft Defender for Endpoint Live Response.
| Recurso | Detalhe |
|---|---|
| Plataforma | PowerShell Core 7.0+ (Windows, Linux, macOS) |
| Modos de API | Interno (portal, quase em tempo real) e Oficial (público, sem estado) |
| Execução | Comandos arbitrários + 25 comandos nativos do LR |
| Autenticação | 7 métodos de autenticação, menu unificado, atualização automática |
| Licença | MIT |
LaraC2 Shell conecta-se ao MDE Live Response por meio de dois caminhos de API independentes -- a API interna do portal (sessões persistentes, latência de ~2-5s) e a API pública oficial (por comando, latência de ~20-60s). Ele faz upload automático de stubs de executor, lida com limitação de taxa de forma transparente e fornece um REPL completo com gerenciamento de máquinas, gerenciamento de bibliotecas e um sistema de ajuda integrado.
| Documento | Finalidade |
|---|---|
| Guia do Usuário | Configuração passo a passo, autenticação e operação |
| Referência de Comandos | Todos os comandos, roteamento, loteamento, conclusão por tabulação |
| Referência de Erros | Códigos HTTP, erros do shell, erros de autenticação, correções |
| Desempenho | Latência interna vs oficial, taxa de transferência, limites |
| Arquitetura | Detalhes internos, cadeias de autenticação, endpoints, estrutura de arquivos |
| Contribuindo | Como contribuir, testar, enviar PRs |
| Política de Segurança | Como relatar uma vulnerabilidade em particular |
| Referências | Trabalhos anteriores, pesquisas relacionadas, créditos |
| Aviso Legal | Autorização, créditos |
connect reautentica quando a sessão expiramulti com filtragem por padrão de nome e limitação de top-NMachine.LiveResponse + Library.Manage (modo oficial)git clone https://github.com/akefallonitis/larac2shell.git cd larac2shell pwsh -File shell/Invoke-MDEShell.ps1
É isso. O shell apresenta um menu de autenticação unificado com 7 métodos no primeiro lançamento — escolha um, autentique-se, selecione uma máquina, e você estará em um REPL. Sem arquivo de configuração, sem flags, nada para configurar.```
Select API mode:
Internal API (security.microsoft.com — near real-time, ~2-5s/cmd)
1 Credentials + MFA username + password, TOTP/push/SMS [auto-refresh]
2 Software passkey FIDO2/WebAuthn JSON key file [auto-refresh]
3 ESTS cookie ESTSAUTHPERSISTENT from browser (~24hr)
4 Temporary Access Pass one-time admin-issued code
5 Direct sccauth + XSRF cookies from browser DevTools (~1hr)
Official API (api.securitycenter.microsoft.com — CI/CD ready, ~20-60s/cmd)
6 Device code browser login (interactive)
7 Client credentials app registration with client secret
Auth method (1-7):
As opções 1-5 definem o modo interno, 6-7 definem o oficial. Você pode alternar modos posteriormente sem reiniciar — veja Alternando modos inline abaixo.
[INT myhost C:]> mode Current mode: Internal API Switch with: 'mode internal' or 'mode official'.
[INT myhost C:]> mode official [Mode] Switching from Internal API to official... (auth menu for official mode opens) [Mode] Now in official mode. Run 'machines' to list targets or 'connect <name|id>' to select one.
`mode <target>` desconecta qualquer sessão LR atual, limpa o estado de autenticação antigo e executa novamente o fluxo de autenticação para o modo alvo. Quando retorna, você está autenticado no novo modo sem nenhuma máquina selecionada — execute `machines` para listar, ou `connect <name|id>` para ir diretamente a um alvo. Nenhuma reinicialização necessária.
### Atalhos de CLI (opcional)```powershell
# Pre-select the mode (narrows the auth menu to 1-5 or 6-7)
pwsh -File shell/Invoke-MDEShell.ps1 -Mode internal
pwsh -File shell/Invoke-MDEShell.ps1 -Mode official
# Pre-select a machine (skips the picker)
pwsh -File shell/Invoke-MDEShell.ps1 -Machine myhost
# Software passkey path (internal mode)
pwsh -File shell/Invoke-MDEShell.ps1 -PasskeyPath ./keys/passkey.json
# Non-interactive single command (exits with remote command's exit code)
pwsh -File shell/Invoke-MDEShell.ps1 -Machine myhost -Command 'whoami'