
Überprüft alle Maintainer aller NPM- und Pypi-Pakete auf kaperbare Pakete durch Domain-Neuregistrierung.
Dieses Tool prüft für jeden Maintainer aus jedem Paket in der NPM- und Python-Pypi-Registry, ob nicht registrierte Domains oder nicht registrierte MX-Einträge auf diesen Domains vorhanden sind. Wenn eine Domain nicht registriert ist, kannst du dir die Domain sichern und eine Passwortzurücksetzung für das Konto einleiten, sofern keine Zwei-Faktor-Authentifizierung aktiviert ist. Dadurch kannst du ein Paket kapern und damit machen, was du willst.
Bitte verwende es nicht für illegale Zwecke, sondern nur, um Pakete zu prüfen und sie bei Bug-Bounty-Programmen einzureichen.
Ich habe das NPM-Sicherheitsteam kontaktiert, aber es interessiert sich nicht für diese Art von Schwachstelle.
Bitte beachte auch, dass die von der API zurückgegebenen Maintainer nicht immer die tatsächlichen Maintainer widerspiegeln, aber oft kann man Glück haben.
Lade zuerst den Paketindex herunter! Das kann lange dauern, da der Server extrem langsam ist (dauert mehr als 30 Minuten):
wget https://skimdb.npmjs.com/registry/_all_docs
Danach führst du einfach das Tool mit ./hijagger npm aus. Um alle Optionen zu sehen, verwende den --help-Schalter. Die Ausgabe wird automatisch auch in output.txt gespeichert. Dieses Tool wird aufgrund der hohen Anzahl an Paketen höchstwahrscheinlich mehrere Tage laufen.
Um Treffer in der Ausgabe leicht zu finden, grep nach HIT. Die Färbung basiert auf der Anzahl der Downloads des Pakets im letzten Jahr.
Das Tool sendet viele DNS- und Whois-Anfragen, daher empfehle ich, dieses Tool von einem dedizierten Server aus auszuführen, um nicht zu riskieren, dass deine private IP blockiert wird.
Dieser Modus funktioniert genauso wie der NPM-Modus, aber die Pypi-API gibt die Anzahl der Downloads für ein Paket nicht zurück. Diese Daten sind nur über Google BigQuery verfügbar, aber das verkompliziert die Sache erheblich, daher sind Download-Zähler und auf Downloads basierende Farben für Pypi-Pakete nicht implementiert.
./hijagger pypi