Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Enviar
FerramentasExploitsBlog
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
OneDrive-UDC2 — OneDrive como transporte C2 encoberto para Cobalt Strike | Kitploit
Ferramentas/GitHubGitHub/nmht3t/onedrive-udc2
Ferramentas DefensivasFrameworks de Testes de PenetraçãoPós-ExploraçãoSegurança na NuvemComando e ControleRed TeamingDesenvolvimento de Payloads
GitHubnmht3t/onedrive-udc2

OneDrive-UDC2

OneDrive como transporte C2 encoberto para Cobalt Strike

Ver Repositório
34843há 5 diasAinda não revisado

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

OneDrive UDC2

Um canal C2 definido pelo usuário do Cobalt Strike que usa o OneDrive como camada de transporte.

Architecture

O que você precisa

  • Um tenant do Microsoft Entra ID com um usuário que tenha OneDrive for Business.
  • Um registro de aplicativo com a permissão de aplicativo Files.ReadWrite.All.

Configuração

1. Registrar um aplicativo

No Portal do Azure, vá para Registros de aplicativo e crie um novo aplicativo:

  • Tipo de conta: Locatário único.
  • URI de redirecionamento: Deixe em branco.

Anote o ID do locatário e o ID do cliente na página de visão geral.

2. Adicionar a permissão do Graph

Em Permissões de API:

  1. Adicione Microsoft Graph, depois Permissões de aplicativo, depois Files.ReadWrite.All.
Baixar ferramenta
  • Clique em Conceder consentimento do administrador.
  • 3. Criar um segredo de cliente

    Em Certificados e segredos, crie um novo segredo e copie seu valor.

    4. Criar as pastas do OneDrive

    No OneDrive do usuário, crie duas pastas, uma para a caixa de entrada e outra para a caixa de saída (por exemplo, c2inbox e c2outbox).

    5. Obter os IDs da unidade e das pastas

    Abra o Graph Explorer, faça login como esse usuário e execute:

    root@kitploit:~
    GET https://graph.microsoft.com/v1.0/me/drive/root/children
    

    Pegue o id de cada pasta e o driveId de qualquer entrada na resposta JSON.

    Compilar

    root@kitploit:~
    cp server/config.json.example server/config.json
    

    Preencha server/config.json:

    CampoValor
    tenant_idID do locatário do Microsoft Entra ID
    client_idID do cliente do aplicativo
    client_secretValor do segredo do cliente
    drive_idID da unidade do OneDrive
    inbox_folder_idID da pasta de entrada
    outbox_folder_idID da pasta de saída

    Em seguida, compile o cliente:

    root@kitploit:~
    make
    

    Executar

    Inicie o relay (use screen ou tmux para que ele permaneça ativo caso seu terminal desconecte):

    root@kitploit:~
    python3 server/relay.py --config server/config.json --ts-addr <teamserver-ip> --ts-port <udc2-port>
    

    No Cobalt Strike, crie um listener UDC2 na mesma porta e carregue client/bof.o.

    Opções do relay

    FlagDescrição
    --configCaminho para config.json (obrigatório)
    --ts-addrIP do Teamserver
    --ts-portPorta do listener UDC2
    --pollIntervalo de polling em segundos (padrão 2.0)
    --stateCaminho para o arquivo de estado (padrão: <config>.state.json)
    --debugAtivar registro de depuração
    --cleanExcluir o arquivo de estado e o diretório de spool, depois sair

    Arquivo de estado, spool e lock

    O relay cria alguns arquivos ao lado da sua configuração para acompanhar as coisas entre reinicializações:

    • Arquivo de estado (config.json.state.json) - rastreia quais arquivos da caixa de entrada foram processados, uploads pendentes e informações de sessão do beacon. Defina um caminho personalizado com --state.
    • Diretório de spool (config.json.state.json.spool/) - contém dados de resposta que ainda não foram enviados ao OneDrive. Se o relay travar no meio de um upload, o spool mantém os dados para que ele possa tentar novamente na próxima inicialização.
    • Arquivo de lock (config.json.state.json.lock) - impede que duas instâncias do relay sejam executadas com o mesmo estado. Se você vir Another relay holds the lock e nenhum outro relay estiver em execução, o lock está obsoleto devido a um travamento.

    Redefinindo o estado do relay

    Se o estado local do relay ficar corrompido ou um lock obsoleto estiver bloqueando a inicialização, use --clean para apagar o arquivo de estado e o diretório de spool para que o relay comece do zero:

    root@kitploit:~
    python3 server/relay.py --config server/config.json --clean
    

    O arquivo de lock é mantido. O relay não fará a limpeza enquanto outra instância estiver em execução. Na próxima inicialização normal, ele se reinicializa e ignora quaisquer arquivos da caixa de entrada com mais de 30 minutos.

    Você também pode redefinir manualmente excluindo o arquivo de estado e o diretório de spool por conta própria. Se o arquivo de lock estiver obsoleto (nenhum relay em execução), exclua-o também.

    Demonstração

    POC

    Referências

    • Cobalt Strike UDC2 docs
    • Cobalt Strike ICMP UDC2
    • WKL Slack UDC2