
Framework zum Hashen deklarierter Berechtigungen in Chromium-Erweiterungen und APKs, das Clustering, Jagd und Pivotierung über potenziell bösartige Pakete hinweg ermöglicht.
Permhash ist ein erweiterbares Framework, das die deklarierten Berechtigungen von Chromium-basierten Browsererweiterungen und APKs hasht und so ähnlich wie Import-Hashing und Rich-Header-Hashing Clusterbildung, Hunting und Pivoting ermöglicht.
Permhash kann derzeit vier Dateitypen verarbeiten, ist aber darüber hinaus erweiterbar:
Installieren Sie die permhash-Bibliothek
pip install permhash
Permhash importieren
from permhash import functions as permhash
Permhash verwenden
# The path variable should be the full path to the file you wish to use to calculate the permhash.
# Calculate the permhash for a CRX
ph = permhash.permhash_crx(path)
# Calculate the permhash for a CRX manifest
ph = permhash.permhash_crx_manifest(path)
# Calculate the permhash for an APK
ph = permhash.permhash_apk(path)
# Calculate the permhash for an APK manifest
ph = permhash.permhash_apk_manifest(path)
Ein Beispiel für die Berechnung von Permhash in großen Mengen.
import csv
import os
from permhash import functions as permhash
def bulk_permhash_crx_manifest(path, output):
"""
Computes the permhash from a directory of CRX manifests
Outputs the results in a csv passed as input
:param path: The targeted directory
:type path: string
:param output:
:type path: string
"""
with open(output, mode="w", encoding="utf-8") as results:
out_writer = csv.writer(
results, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL
)
out_writer.writerow(["filename", "permhash"])
for filename in os.listdir(path):
if path.endswith("/"):
full_path = path + filename
else:
full_path = path + "/" + filename
calculated_permhash = permhash.permhash_crx_manifest(full_path)
if calculated_permhash:
out_writer.writerow([filename, calculated_permhash])
Permhash kann auch als Befehlszeilenwerkzeug verwendet werden. Geben Sie im Schalter --path/-p den vollständigen Pfad zu der Datei an, für die der Permhash berechnet werden soll, und im Schalter --type/-t den Typ der analysierten Datei. Der Befehl gibt den Permhash oder False aus, wenn die Datei ungültig ist.
permhash --type crx --path '[PATH TO CRX File]'
permhash --type crx_manifest --path '[PATH TO CRX Manifest File]'
permhash --type apk --path '[PATH TO APK File]'
permhash --type apk_manifest --path '[PATH TO APK Manifest Files]'
Weitere Einzelheiten finden Sie im Mandiant Permhash Blog.
Die Permhash Google Group kann für Diskussionen genutzt werden.
Dies ist kein offiziell unterstütztes Google-Produkt.