Pandora analysis

Pandora

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. :

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 !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.