
Verifica todos os mantenedores de todos os pacotes NPM e Pypi em busca de pacotes sequestráveis por meio de re-registro de domínio.
Esta ferramenta verifica todos os mantenedores de todos os pacotes nos registros NPM e Python Pypi em busca de domínios não registrados ou registros MX não registrados nesses domínios. Se um domínio não estiver registrado, você pode obter o domínio e iniciar uma redefinição de senha na conta, caso ela não tenha a autenticação de dois fatores habilitada. Isso permite que você sequestre um pacote e faça o que quiser com ele.
Por favor, não o utilize para fins ilegais; use-o apenas para verificar pacotes e submetê-los a programas de bug bounty.
Entrei em contato com a equipe de segurança do NPM sobre isso, mas eles não estão interessados nesse tipo de vulnerabilidade.
Observe também que os mantenedores retornados pela API nem sempre refletem os mantenedores reais, mas muitas vezes você pode ter sorte.
Baixe o índice de pacotes primeiro! Isso pode levar muito tempo, pois o servidor é extremamente lento (leva mais de 30 minutos):
wget https://skimdb.npmjs.com/registry/_all_docs
Depois disso, basta executar a ferramenta com ./hijagger npm. Para ver todas as opções, use a opção --help. A saída também é salva automaticamente em output.txt. Esta ferramenta provavelmente levará vários dias para ser executada devido ao grande número de pacotes.
Para encontrar facilmente as ocorrências na saída, faça grep por HIT. A coloração é baseada no número de downloads do pacote durante o último ano.
A ferramenta faz muitas consultas DNS e whois, então sugiro executá-la a partir de um servidor dedicado para não correr o risco de ter seu endereço IP privado bloqueado.
Este modo funciona exatamente igual ao modo NPM, mas a API do pypi não retorna o número de downloads de um pacote. Esses dados só estão disponíveis via Google BigQuery, mas isso complica muito as coisas, então os contadores de downloads e as cores baseadas em downloads não são implementados nos pacotes Pypi.
./hijagger pypi