Guia Definitivo da Metodologia de Reconhecimento D4RK INTEL's avatar
GITHUB OSINT
O Guia Definitivo da Metodologia de Reconhecimento
Índice
Introdução: GitHub como uma mina de ouro de OSINT
Estrutura Metodológica
Descoberta de usuários e organizações
Coleta de informações do repositório
Técnicas avançadas de busca de código
Análise de metadados e dados históricos
Comandos de investigação rápida
Métodos de detecção da data de criação da conta do GitHub
Ferramentas automatizadas de reconhecimento
Considerações Legais e Éticas
Estudos de caso e exemplos do mundo real
Melhores Práticas e Relatórios
1. Introdução: GitHub como uma mina de ouro de OSINT
O GitHub evoluiu de um simples repositório de código para uma presença digital abrangente de organizações e indivíduos. Para investigadores de OSINT (Inteligência de Fontes Abertas), representa uma fonte de inteligência incomparável, contendo:
Detalhes da infraestrutura técnica
Informações sobre funcionários e estrutura organizacional
Metodologias de desenvolvimento e conjuntos de tecnologias
Exposições acidentais de dados sensíveis
Mudanças históricas e evolução do projeto
Redes de colaboração e parcerias
A extensa API e os recursos de busca da plataforma a tornam um componente essencial das investigações digitais modernas.
2. Estrutura Metodológica
Abordagem de Reconhecimento Sistemático
Fase 1 : Identificação do Alvo
Fase 2 : Perfil do Usuário e da Organização
Fase 3 : Enumeração do Repositório
Fase 4 : Análise de Código e Reconhecimento de Padrões
Fase 5 : Coleta de Metadados
Fase 6 : Correlação e Análise
Fase 7 : Relatórios e Documentação
Descoberta de usuários e organizações
Inteligência do usuário individual
Informações básicas do perfil:
Endpoint da API para dados do usuário
Retorna um perfil completo, incluindo :
- Nome, biografia, localização, empresa
- Número de repositórios públicos
- Redes de seguidores/seguidos
- Data de criação da conta
- Links de redes sociais
- Disponibilidade para contratação
Exemplos:
Investigação de usuários aprimorada:
Enumeração do repositório:
Mapeamento de conexões sociais:
Cronograma de atividades:
Investigação geral :
Coleta de Inteligência Organizacional
Análise da Estrutura da Empresa:
Perfil da organização:
Lista de membros da equipe:
Portfólio do repositório:
Estrutura da equipe:
> Requer autenticação
Análises Organizacionais Avançadas:
Contagem de funcionários e funções por meio de padrões de compromisso
Estrutura e hierarquia da equipe de desenvolvimento
Preferências de conjunto de tecnologias
Metodologias de gestão de projetos
Colaborações e parcerias externas
4. Coleta de Inteligência de Repositório “inteligência de repositório”
Análise abrangente do repositório
Pesquisa básica no repositório:
Descoberta de repositórios baseada em palavras-chave:
Retorna informações essenciais :
- Nomes e descrições dos repositórios
- Principais linguagens de programação
- Contagem de estrelas e forks (indicadores de popularidade)
- Data e hora da última atualização
- Informações de licença
- Contagem de problemas em aberto
Enumeração do conteúdo do repositório:
# Directory structure exploration:
https://api.github.com/repos/[owner]/[repo]/contentsBranch analysis:
https://api.github.com/repos/[owner]/[repo]/branches
Contributor identification:
https://api.github.com/repos/[owner]/[repo]/contributors
Release history:
https://api.github.com/repos/[owner]/[repo]/releasesExploração da estrutura de diretórios :
Elementos críticos do repositório a serem examinados
Arquivos de configuração ( .env, config.json, settings.py )
Documentação ( README.md, especificações técnicas )
Pipelines de CI/CD ( .github/workflows, .gitlab-ci.yml )
Arquivos de dependência ( package.json, requirements.txt )
Esquemas de banco de dados e scripts de migração
Documentação da API e exemplos de integração
5. Técnicas avançadas de busca de código
Operadores de Busca de Precisão
Busca direcionada a um alvo específico :
User/Organization targeting
user:[username] [search_term]
org:[orgname] [search_term]
repo:[owner/repo] [search_term]Example: Search for API keys in specific organization
org:targetcorp “api_key”usuário:d4rk_intel “webrecon”
Coleta de informações baseada em arquivos:
File extension filtering:
extension:env “DATABASE_URL”
extension:json “password”
extension:yml “secret”
extension:pem “PRIVATE KEY”Filename pattern matching:
filename:.env.example
filename:config.xml
filename:docker-compose.yml
filename:travis.yml
Path-specific searching:
path:.github/workflows
path:src/config
path:databasePadrões de descoberta de dados sensíveis
Credenciais e autenticação :
API keys and tokens:
“api_key”, “apikey”, “api-key”
“secret”, “password”, “token”, “auth”
“aws_access_key”, “aws_secret”
“ghp_”, “xoxb-”, “sk-”Database connections:
“DATABASE_URL”, “DB_PASSWORD”
“MONGODB_URI”, “REDIS_URL
OAuth and social media:
“FACEBOOK_APP_SECRET”, “TWITTER_API_KEY”
“GOOGLE_CLIENT_SECRET”Exposição da infraestrutura:
Cloud service configurations:
AWS Key pattern
“AKIA[0-9A-Z]{16}”
“herokuapp.com”
“firebaseio.com”Internal network references:
“192.168.”, “10.”, “172.16.”
“internal”, “localhost”, “staging”6. Metadados e Análise Histórica “análise de metadados”
Investigação de histórico de crimes
Extração e atribuição de e-mails :
Extrair e-mails de commit de repositórios:
Plataforma avançada de inteligência de e-mail:
https://ghintel.secrets.ninja/
Análise de padrões históricos:
Horário e padrões de trabalho da equipe de desenvolvimento
Cronograma dos principais marcos do projeto
Áreas de propriedade e responsabilidade do código
Mesclar padrões e processos de revisão
Análise de ramificação e bifurcação
Mapeamento de Redes Bifurcadas :
Identificar cópias internas de projetos externos
Rastrear a reutilização de código em toda a organização.
Descubra espelhos e backups não oficiais
Análises de Estratégia de Agências :
Compreensão do fluxo de trabalho de desenvolvimento
Cronograma de desenvolvimento de funcionalidades
Padrões de preparação para lançamento
7. Ferramentas automatizadas de reconhecimento “ferramentas automatizadas”
Ferramentas OSINT especializadas do GitHub
Verificação de credenciais :
TruffleHog -h Gitleaks - Pattern-based detection:
gitleaks detect --source=/path/to/repo -v
GitRob - Comprehensive repository analysis:
gitrob target-organizationGitRecon -h8. Comandos de Investigação Rápida
1. Reconhecimento de perfil:
curl -s "https://api.github.com/users/Techenthusiast167" | jq '. | {nome, empresa, localização, repositórios_públicos}'
2. Varredura do repositório: trufflehog git https://github.com/Techenthusiast167 --json --verify > techenthusiast_scan.json 3. Busca de código:
código de pesquisa gh “filename:.env password” --owner=Techenthusiast1674. Análise de Rede gh api users/Techenthusiast167/following | jq '.[].login'
Reconhecimento de perfil
9. Métodos de detecção da data de criação da conta do GitHub
Método 1: Chamada direta à API (Método principal)
Endpoint da API
Exemplo para o nosso alvo:
A resposta inclui > JSON :
“login”: “Techenthusiast167”,
“id”: 123456789,
“node_id”: “...”,
“avatar_url”: “...”,
“gravatar_id”: “”,
“url”: “https://api.github.com/users/Techenthusiast167”,
“html_url”: “https://github.com/Techenthusiast167”,
“created_at”: “2020-05-15T10:30:00Z”,
“updated_at”: “2024-01-20T08:45:00Z”Método 2: Usando a CLI do GitHub
Install GitHub CLI first
gh auth loginGet user info with creation date:gh api users/Techenthusiast167 | jq ‘.created_at’# Full user details
gh api users/Techenthusiast167 --jq ‘. | {username: .login, created_at: .created_at, public_repos: .public_repos}’Equivalente a curvatura direta
Informações básicas do usuário com data de criação
Simple curl request
curl -s “https://api.github.com/users/Techenthusiast167”
Filter specific fields using jq
curl -s "https://api.github.com/users/Techenthusiast167" | jq '{username: .login, created_at: .created_at, public_repos: .public_repos}'
Or extract individual fields
curl -s "https://api.github.com/users/Techenthusiast167" | jq '.created_at'
curl -s "https://api.github.com/users/Techenthusiast167" | jq '.login'
curl -s "https://api.github.com/users/Techenthusiast167" | jq '.public_repos'Com autenticação (limites de taxa mais altos)
Using personal access token
curl -H “Authorization: token ghp_your_token_here” \
-s “https://api.github.com/users/Techenthusiast167” | jq ‘.created_at’Or using GitHub CLI token (if installed)
curl -H “Authorization: token $(gh auth token)” \
-s “https://api.github.com/users/Techenthusiast167” | jq ‘.created_at’Exemplos completos de cachos
Exemplo 1: Obter apenas a data de criação da conta
curl -s “https://api.github.com/users/Techenthusiast167” | jq -r ‘.created_at’Exemplo 2: Informações da conta formatadas
curl -s "https://api.github.com/users/Techenthusiast167" | \
jq -r '"Nome de usuário: \(.login)\nCriado em: \(.created_at)\nRepositórios: \(.public_repos)\nSeguidores: \(.followers)"'
Exemplo 3: Calcular a idade da conta
Obtenha a data de criação e calcule a idade em dias.
creation_date=$(curl -s "https://api.github.com/users/Techenthusiast167" | jq -r '.created_at')
account_age=$(( ($(date +%s) - $(date -d "$creation_date" +%s)) / 86400 ))
echo "Idade da conta: $account_age dias"
Exemplo 4: Instantâneo completo do perfil
curl -s “https://api.github.com/users/Techenthusiast167” | \
jq
username: .login,
name: .name,
company: .company,
location: .location,
email: .email,
blog: .blog,
bio: .bio,
account_created: .created_at,
account_updated: .updated_at,
public_repos: .public_repos,
public_gists: .public_gists,
followers: .followers,
following: .following,
hireable: .hireable
Verificação em lote de vários usuários
Check multiple accounts
usernames=(”Techenthusiast167” “octocat” “torvalds”)
for user in “${usernames[@]}”; do
echo -n “$user: “
curl -s “https://api.github.com/users/$user” | jq -r ‘.created_at’
sleep 1 # Rate limit respect
doneSalvar em arquivo com carimbo de data/hora
Salvar perfil completo com registro de data e hora:
curl -s "https://api.github.com/users/Techenthusiast167" | \
jq --arg date "$(date -Iseconds)" '. + {investigation_date: $date}' > techenthusiast167_profile_$(date +%Y%m%d_%H%M%S).json
Frases curtas
Obtenha apenas a data de criação :
curl -s “https://api.github.com/users/Techenthusiast167” | jq -r ‘.created_at’Verificar se o usuário existe e obter a data de criação:
curl -s -o -w "%{http_code}" "https://api.github.com/users/Techenthusiast167" && curl -s "https://api.github.com/users/Techenthusiast167" | jq '.created_at'
Na verdade, essa curl + jqcombinação é mais universal do que o GitHub CLI, pois funciona em qualquer sistema com essas ferramentas básicas instaladas e não exige autenticação adicional para consultas básicas de perfis públicos.
10. Considerações Legais e Éticas “Legal-éticas”
Estrutura de Conformidade
Requisitos de autorização: Certifique-se sempre de possuir a devida autorização legal.
Respeito aos limites de taxa: siga as políticas de uso da API do GitHub.
Tratamento de dados: armazenamento e processamento seguros das informações coletadas.
Protocolos de divulgação: Siga as diretrizes de divulgação responsável para vulnerabilidades encontradas.
Limites Éticos
Acesse somente informações disponíveis publicamente.
Respeite as configurações de privacidade da organização.
Evite técnicas de digitalização disruptivas.
Manter o sigilo profissional
11. Estudos de Caso e Exemplos do Mundo Real “estudos de caso”
Cenários de Resposta a Incidentes
Estudo de Caso 1: Exposição Acidental de Credenciais
O desenvolvedor envia as chaves da AWS para o repositório público.
A investigação OSINT identificou a exposição em 2 horas.
Resposta rápida evita comprometimento da infraestrutura em nuvem
Estudo de Caso 2: Identificação de Ameaças Internas
Cópia de código não autorizada detectada por meio de análise de fork.
Avaliação do risco de saída de funcionários por meio de alterações no padrão de compromisso.
Medidas proativas implementadas com base em informações de inteligência.
12. Melhores Práticas e “Práticas” de Relatórios
Documentação da investigação
Formato de relatório padronizado :
Resumo executivo das conclusões
Evidências técnicas detalhadas
Avaliação de riscos e análise de impacto
Estratégias de mitigação recomendadas
Artefatos e referências de apoio
Padrões profissionais
Mantenha anotações detalhadas da investigação.
Valide as descobertas por meio de múltiplas fontes.
Correlacione informações do GitHub com outros dados de OSINT.
Apresente as conclusões em formatos claros e acionáveis.
Este guia representa os padrões profissionais para investigações OSINT no GitHub . Sempre opere dentro dos limites legais e respeite os termos de serviço da plataforma ao realizar atividades de reconhecimento .
























Comentários
Postar um comentário