
Ideaslocas Repository
Dieses Projekt soll bei der Suche nach durchgesickerten Passwörtern helfen, dabei aber ein hohes Maß an Privatsphäre durch die k-Anonymitäts-Methode wahren.
Um dies zu erreichen, werden die APIs verschiedener Dienste verwendet, wobei nur ein Teil des Hashs des zu überprüfenden Passworts gesendet wird, z. B. die ersten 5 Zeichen.
Das Projekt benötigt einige Bibliotheken, um zu funktionieren. Verwenden Sie zur Installation den folgenden Befehl:
pip install -r requirements
Denken Sie daran, dass Python 3 erforderlich ist.
passme.py [FUNC] [ELEMENT] -engine [ENGINE] -api_key [API_KEY]
FUNC: Die Art des Elements, das Sie überprüfen möchten. Es kann -h/--hash oder -p/--password oder -f/--file oder -l/--list oder --help sein.
ELEMENT: Der "Hash", das "Passwort" oder der Name der Datei, die eine Liste von Hashes oder Passwörtern enthält, getrennt durch eine neue Zeile.
ENGINE: Die Leak-Engine, die verwendet werden soll. Standardmäßig wird HIBP (Have I been PWN) verwendet.
API_KEY: Der API_KEY, der für einige Funktionen einiger Engines erforderlich ist.
Die Hauptfunktion des Projekts erhält das gehashte Passwort, die zu verwendende Engine und den API-Schlüssel.
Abhängig von der empfangenen Engine werden sowohl der API-Schlüssel als auch das gehashte Passwort an die eine oder andere Funktion gesendet.
Wenn Sie Ihre eigene Engine oder eine noch nicht implementierte Engine hinzufügen möchten, fügen Sie hier einfach eine weitere Option hinzu.
passme_hash(hashed_password, engine="HIBP", api_key="0")
Diese Funktion hasht das empfangene Passwort mit SHA-1 und sendet den Hash an die Funktion passme_hash().
passme_password(password, engine="HIBP", api_key="0")
Diese Funktion liest nacheinander die Zeilen der empfangenen Datei, um jedes Passwort zu überprüfen, und gibt Informationen über das empfangene Passwort und darüber, ob es gefiltert wurde oder nicht.
passme_file(filename, engine="HIBP", api_key="0")
Diese Funktion liest nacheinander die Zeilen der empfangenen Datei, um jeden Hash zu überprüfen, und gibt Informationen über den empfangenen Hash und darüber, ob er gefiltert wurde oder nicht.
passme_list(filename, engine="HIBP", api_key="0")
Die Funktion, die sich mit der HIBP (Have i been pwned) API befasst, sendet die ersten fünf Zeichen des Hashs und vergleicht sie dann mit dem vollständigen Hash, um festzustellen, ob das Passwort/der Hash durchgesickert ist.
engine_HIBP(hashed_password, engine, api_key)
Dieses Projekt enthält eine Reihe von Tests, um die korrekte Funktion aller seiner Funktionen zu überprüfen. Zu diesem Zweck wurde die Bibliothek "pytest" verwendet. Führen Sie zum Ausführen der Tests den folgenden Befehl aus, um pytest zu installieren:
pip install pytest
Nach der Installation führen Sie einfach den Befehl "pytest" aus, um die Tests automatisch auszuführen. Eventuell auftretende Fehler werden im Terminal ausgegeben.
Die Ergebnisse des Tests im Labor sind die folgenden:
| Python-Version | Funktion Hash | Funktion Liste | Funktion Passwort | RANDOM Hash | RANDOM Passwort | Bemerkung |
|---|---|---|---|---|---|---|
| 3.9 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.8 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.7 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.6 | ✅ | ✅ | ✅ | ✅ | ✅ | |
| 3.5 | ✅ | ✅ | ✅ | ❌ | ❌ | Random.choice ist in Python 3.5 nicht verfügbar // Veraltete Python-Version |
Dieses Projekt ist unter der GNU General Public License lizenziert - siehe die LICENSE-Datei für Details
DIE SOFTWARE WIRD WIE BESEHEN ZUR VERFÜGUNG GESTELLT, OHNE GEWÄHRLEISTUNG JEGLICHER ART, AUSDRÜCKLICH ODER IMPLIZIT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR ANSPRÜCHE, SCHÄDEN ODER ANDERE VERPFLICHTUNGEN, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.
Diese Software hat keinen QA-Prozess. Diese Software ist ein Proof of Concept.
Wenn Sie Probleme haben, können Sie sich wenden an:
[email protected] - Ideas Locas CDCO - Telefónica
An vielen Orten kann es eine Straftat sein, Software auf einem Computer zu installieren, der Ihnen nicht gehört, ohne die Zustimmung des Eigentümers. Wir befürworten nicht die Nutzung von PoC für illegale Zwecke. Um unsere Software herunterzuladen oder in irgendeiner Weise zu nutzen, müssen Sie Folgendes anerkennen und zustimmen:
1 - Sie erklären, dass dieser PoC ausschließlich auf legale Weise genutzt wird. Wenn Sie Zweifel an der Legalität haben, konsultieren Sie einen zugelassenen Rechtsanwalt in der Rechtsordnung, in der Sie diesen PoC nutzen werden.
2 - Sie bestätigen, dass der Computer, auf dem die Software installiert werden soll, Ihnen gehört oder Sie die Zustimmung des Eigentümers haben, die Software darauf zu verwalten und zu installieren.