
Framework para aplicar hash a los permisos declarados en extensiones de Chromium y APKs, lo que permite agrupar, buscar y pivotar entre paquetes potencialmente maliciosos.
Permhash es un marco extensible para calcular el hash de los permisos declarados aplicados a las extensiones de navegador basadas en Chromium y a los APK, lo que permite agrupamiento, búsqueda y pivoteo similar al hash de importaciones y al hash de cabeceras rich.
Permhash actualmente es capaz de ejecutarse en cuatro tipos de archivos, pero es extensible más allá de esto:
Instala la librería permhash
pip install permhash
Importa permhash
from permhash import functions as permhash
Usa permhash
# 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)
Un ejemplo de cálculo de permhash en lote.
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 también se puede utilizar como herramienta de línea de comandos. Proporcione la ruta completa al archivo para calcular el permhash en el modificador --path/-p y el tipo de archivo que se analiza en el modificador --type/-t. El comando generará el permhash o False si el archivo no es válido.
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]'
Consulta el Blog de Mandiant sobre Permhash para obtener más detalles.
El Grupo de Google de Permhash se puede utilizar para facilitar la discusión.
Este no es un producto de Google con soporte oficial.