Skip to main content

Teams Forensic Investigation & Data Export Tool

Project description

TeamsReaver Banner

TeamsReaver: Teams Forensic Investigation & Data Export Tool

TeamsReaver é uma ferramenta de perícia computacional e exfiltração de dados desenvolvida para análise, busca e extração automatizada de informações do Microsoft Teams através da Microsoft Graph API.

Funcionalidades Principais

A ferramenta oferece três modos principais de operação para investigações:

  • Busca por Termos e Arquivos com Extração de Contexto: Ao realizar uma busca por termos (ex: apikey, senha) ou nomes de arquivos específicos (ex: documento.pdf, planilha.xlsx), a ferramenta não extrai apenas a mensagem ou anexo isolado. Caso um "match" seja encontrado no conteúdo da mensagem ou no nome de um arquivo, o histórico completo daquela conversa é baixado automaticamente, incluindo todos os anexos vinculados.
  • Extração Completa 1:1: Permite baixar todo o histórico de mensagens e arquivos trocados entre dois usuários específicos, sendo ideal para investigações direcionadas de conduta ou vazamento de informações.
  • Flexibilidade de Varredura Temporal:
    • Deep Sweep (Padrão): Se nenhum filtro de data for aplicado, a ferramenta realiza uma varredura completa desde a primeira mensagem do usuário.
    • Fast Search (-Fast): Varredura focada nos últimos X dias.
    • Data Específica (-Date): Alvo em um dia exato de incidente.

Público-Alvo e Casos de Uso

  1. Defensivo (Hunting, CTI, DLP e Blue Team): Projetado para investigações onde o Microsoft Purview se mostra limitado. O Purview pode levar horas para processar buscas e frequentemente entrega resultados fragmentados. O TeamsReaver entrega os dados de forma imediata, organizada em pastas e com todos os anexos vinculados.
  2. Ofensivo (Pentesters e Red Teamers): Essencial em cenários de Cloud Pentest. Se uma Enterprise Application for comprometida com permissões de leitura, a ferramenta permite exfiltrar comunicações sensíveis de forma rápida e silenciosa.

Instalação e Configuração

Via Pip (Recomendado)

Agora você pode instalar o TeamsReaver diretamente via pip:

pip install teamsreaver

Após a instalação, o comando teamsreaver estará disponível globalmente no seu terminal. Você não precisa mais baixar o script manualmente ou rodar com python3 script.py.

Dica (Windows/Linux/Mac): Caso receba um erro de "comando não encontrado" após instalar, você pode rodar a ferramenta utilizando o Python diretamente:

python -m teamsreaver -TargetUPN usuario ...

Adicionando ao PATH (Caso o comando acima falhe)

Se você deseja usar apenas o comando teamsreaver e o sistema não o reconhecer, adicione a pasta de scripts do Python ao seu PATH:

Windows (PowerShell)

# Descubra onde o Python guarda os scripts
$path = python -c "import sysconfig; print(sysconfig.get_path('scripts'))"
# Adicione ao PATH do usuário atual
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$path", "User")

Reinicie o terminal após rodar os comandos.

Linux / macOS (Bash/Zsh)

# Adicione ao seu .bashrc ou .zshrc
echo 'export PATH="$PATH:$(python3 -m site --user-base)/bin"' >> ~/.zshrc
source ~/.zshrc

Configuração Inicial

Na primeira execução, a ferramenta iniciará um modo interativo no terminal solicitando as credenciais da sua Enterprise Application no Azure (Client ID, Secret, Tenant ID e o Domínio Padrão).

As configurações serão salvas automaticamente em ~/.reaverconf no seu diretório de usuário.

Configuração de Permissões (Microsoft Graph)

A ferramenta requer permissões de nível de Application no Microsoft Graph:

Módulo de Mensagens

  • User.Read.All: Mapeamento de usuários.
  • Chat.Read.All: Leitura de históricos de chat.

Módulo de Arquivos e Anexos

  • Files.Read.All: Download de anexos.
  • Sites.Read.All: Acesso a arquivos em canais/SharePoint.
  • Group.Read.All: Metadados de grupos.

Nota sobre acessos:

  • Se possuir apenas Chat.Read.All, a ferramenta extrairá todos os textos, mas não baixará os arquivos.
  • Caso tenha apenas acesso a arquivos (Files.Read.All) sem acesso aos chats, utilize a ferramenta GraphDump ([LINK_AQUI]).

Como Utilizar

Exemplos Práticos

# Busca termos especificos em um usuario alvo:
teamsreaver -TargetUPN usuario -SearchTerms "senha","chave"

# Busca um termo em TODOS os usuarios em uma data especifica:
teamsreaver -SearchTerms "senha" -Date "01/05/2026"

# Extrai toda a conversa entre dois usuarios:
teamsreaver -TargetUPN usuario -TargetTwo outro_usuario

# Busca parcial (ex: AKIA) em todos nos ultimos 30 dias:
teamsreaver -Fast 30 -SearchTerms "AKIA"

# Busca por um nome de arquivo especifico em todo o tenant:
teamsreaver -SearchTerms "relatorio.xlsx"

# Busca combinando alvo, termo e data:
teamsreaver -TargetUPN "admin" -SearchTerms "backup" -Date "20/04/2026"

Estrutura de Exportação

Os resultados são organizados para facilitar a custódia da prova:

Matches_Export_usuario/
├── Nome_Participante_ID/
│   ├── Nome_Participante.txt  <-- Histórico completo do chat onde houve o match
│   └── Files/                 <-- Todos os anexos daquela conversa

Disclaimer

O uso desta ferramenta para fins ilícitos não é apoiado. O TeamsReaver foi criado exclusivamente para auxiliar estudos, técnicas de segurança e profissionais de Blue e Red Team em atividades autorizadas. O desenvolvedor não se responsabiliza pelo uso indevido da ferramenta.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

teamsreaver-0.2.8.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

teamsreaver-0.2.8-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file teamsreaver-0.2.8.tar.gz.

File metadata

  • Download URL: teamsreaver-0.2.8.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for teamsreaver-0.2.8.tar.gz
Algorithm Hash digest
SHA256 2bcac3795dddaf0ff43a2da808f4c8889486fc05a333a20b1be572468859c88d
MD5 a71728afbb7c3f5b50c12ff86da50bbb
BLAKE2b-256 73198aecf3c9b9342ecee55d8d820845537cdee7b788b9a092af044e603bbdc8

See more details on using hashes here.

File details

Details for the file teamsreaver-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: teamsreaver-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for teamsreaver-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b072d9c41be9a35f2b847dc9ec6c8ab605b684a055c43e5a8b542d6032eca2b6
MD5 4da6e72e5fe0dd434d42eb9a511e31a2
BLAKE2b-256 d28e2264b4e3fd92fcae89786f6752d6ea1399fd1fc2bb2279e12a105d9ee8d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page