Hello tout le monde, aujourd’hui je vous propose de se pencher sur Pandora. L’outil d’analyse évoqué dans le NoLimitSecu #369. Pandora analysis est un outils d’analyse statique (c’est important) de fichier pour la cybersécurité. Le partie pris étant qu’il soit utilisable par le fameux « utilisateur lambda » (aka Mme Michu) et fournissent donc des réponses simple et rapidement.
Pandora se présente également sous la forme d’un cadriciel (oui, un Framework) et à donc vocation à permettre rapidement d’intégrer d’autre outils tiers dans les résultats. Les modules suivant sont buit-in dans la solution : hashlookup, hybridanalysis, irma, joesandbox, malwarebazaar, msodde, mwdb, ole, virustotal, xmldeobfuscator, yara.
Autant vous dire que ca fait du monde et que out-of-the-box vous avez déjà un bien bel outil d’analyse !
Installation de Pandora
Alors comme de plus ou plus souvent, un déploiement docker est disponible. Simplement les image ne sont pas proposé, à l’heure ou j’écrit ces lignes, sur le docker-hub. Ce qui implique de passer par un build local à votre serveur.
1. Cloner le repo github
cd /opt git clone https://github.com/pandora-analysis/pandora.git
2. Editer votre docker compose ajuster à vos besoins. De mon côté cela donne ça :
cd pandora cp docker-compose.yml pandora-compose.yml vim pandora-compose.yml
version: '3'
services:
kvrocks:
image: kvrocks/kvrocks
working_dir: /kvrocks
volumes:
- ./storage:/kvrocks/conf
#ports:
#- 6101:6101
expose:
- 6101
networks:
Proxy_net:
ipv4_address: 172.20.2.1
redis:
image: redis
working_dir: /cache
command: ./cache.conf --daemonize no
volumes:
- ./cache:/cache
networks:
Proxy_net:
ipv4_address: 172.20.2.2
clamav:
image: clamav/clamav
volumes:
- /tmp:/var/run/clamav
networks:
Proxy_net:
ipv4_address: 172.20.2.3
pandora:
build: .
working_dir: /pandora
tty: true
command:
- /bin/sh
- -c
- |
sleep 60
poetry run start
tail -F ./LICENSE
volumes:
- ./cache:/pandora/cache
- ./storage:/pandora/storage
- ./pandora/workers:/pandora/pandora/workers
- ./config:/pandora/config
- ./yara_rules:/pandora/yara_rules
- ./yara_repos:/pandora/yara_repos
- ./tasks:/pandora/tasks
- /tmp:/var/run/clamav
links:
- "clamav"
- "redis"
- "kvrocks"
#ports:
#- 6100:6100
expose:
- 6100
networks:
Proxy_net:
ipv4_address: 172.20.2.4
networks:
Proxy_net:
external: true
3. Go éditer votre config :
cp config/generic.json.sample config/generic.json vim config/generic.json
A minima au départ vous devez régler ces lignes :
"loglevel": "INFO",
"debug_web": false,
"website_listen_ip": "0.0.0.0",
"website_listen_port": 6100,
"public_url": "https://pandora.geekeries.org",
"storage_db_hostname": "172.20.2.1",
"storage_db_port": 6101,
et go up
docker-compose -f pandora-compose.yml up -d
L’installation va déployer une pelleté de truc, ca prend un moement mais à la fin ca fonctionne bien. Faite la redirection sur votre reverse proxy, et voilà :
Ajouter des contrôles dans Pandora
Bon en fait la il y a plein de contrôle qui requiert une clé d’API qui sont pas présent : Virus Total, ClamaV, etc. Pour les configurer vous devez passer dans le dossier pandora/workers
Et copier tous les fichier « $replace.yml.sample » par leur copie en « .yml » et éditer chacun d’entre eux avec la configuration qui vous intéresse.
Dans chacun d’eux il faudra ajouter les clé d’API manquante, faire les bons mapping avec les fichiers système locaux dans votre docker compose (par exemple pour clamav avec /var/run/clamav/clamd.ctl)
Dans les trucs que vous pouvez utiliser rapidement et gratuitement (jusqu’au limites des API gratuite):
- blocklists
- clamav
- extractor
- hashlookup
- hybridanalysis
- lookyloo
- malwarebazaar
- msodde
- observables
- preview
- virustotal
- xmldeobfuscator
- yara
A partir de là, il suffit d’uploader un fichier pour avoir une estimation de risque par Pandora. :
And voilà !
Conclusion
Voilà pour Pandora, au final c’est une bonne solution à fournir à vos end-users pour contrôler leur P.J qui vous permet à la fois de construire une base interne de vos P.J soumise par les users, sans tout balancer chez des services tiers. Surtout ne confondez pas pandora avec un outil à destination de vos analystes ou un méta-antivirus (à la IRMA de Quarkslab), c’est un outils clairement orienté oui/non pour les P.J et téléchargement douteux. et qui n’effectue que des analyses statiques et de réputation, Pas d’execution en sandbox.
Bref, voilà pour aujourd’hui, ouvrez la boîte et geekez bien avec !