
Neto | Uno strumento per analizzare le estensioni del browser
Project Neto è un pacchetto Python 3 concepito per analizzare e svelare funzionalità nascoste dei plugin e delle estensioni del browser per browser noti come Firefox e Chrome. Automatizza il processo di decompressione dei file impacchettati per estrarre queste caratteristiche dalle risorse pertinenti di un'estensione come manifest.json, cartelle di localizzazione o file sorgente Javascript e HTML.
Per installare il pacchetto, l'utente può scegliere pip3.
pip3 install -e . --user
Opzionalmente, può essere installato anche con privilegi di amministratore usando sudo:
sudo pip3 install -e .
Un'installazione riuscita può essere verificata usando:
python3 -c "import neto; print(neto.__version__)"
Per eseguire l'analisi di un'estensione, l'analista può digitare quanto segue:
neto analysis -u https://yoururl.com/extension-name.xpi
L'estensione verrà automaticamente scaricata e decompressa di default nella cartella temporanea del sistema.
Tuttavia, l'analista può anche lanciare l'analisi verso un'estensione memorizzata localmente:
neto analysis -e ./my-extension-name.xpi
Dopo aver eseguito l'analisi statica, verrà generato un file Json che viene salvato per default in una nuova cartella chiamata output.
Se usi Python, puoi anche importare il pacchetto come libreria nei tuoi moduli Python:
>>> from neto.lib.extensions import Extension
>>> my_extension = Extension ("./sample.xpi")
>>> my_extension.filename
'adblock_for_firefox-3.8.0-an+fx.xpi'
>>> my_extension.digest
'849ec142a8203da194a73e773bda287fe0e830e4ea59b501002ee05121b85a2b'
Oltre ad accedere agli elementi trovati nell'estensione tramite proprietà, l'analista può sempre accedervi come a un dizionario:
>>> my_extension.__dict__
{'_analyser_version': '0.0.1', '_digest': '849ec142a8203da194a73e773bda287fe0e830e4ea59b501002ee05121b85a2b'…
Se non stai usando Python, puoi utilizzare il demone JSON RPC:
$ neto daemon
____ _ _ _ _ _
| _ \ _ __ ___ (_) ___ ___| |_ | \ | | ___| |_ ___
| |_) | '__/ _ \| |/ _ \/ __| __| | \| |/ _ \ __/ _ \
| __/| | | (_) | | __/ (__| |_ | |\ | __/ || (_) |
|_| |_| \___// |\___|\___|\__| |_| \_|\___|\__\___/
|__/
Developed by @ElevenPaths
Version: 0.5.0b
* Running on http://localhost:14041/ (Press CTRL+C to quit)
Puoi quindi eseguire comandi usando la tua libreria JSON RPC preferita per scrivere un client (abbiamo scritto una breve demo nella cartella bin) o anche con curl:
curl --data-binary '{"id":0, "method":"remote", "params":["https://example.com/myextension.xpi"], "jsonrpc": "2.0"}' -H 'content-type:text/json;' http://localhost:14041
Il seguente è un elenco non esaustivo delle caratteristiche incluse in questo pacchetto:
eval().