Vous êtes sur la page 1sur 55

Cuckoo Sandbox

Analyse automatise de code malveillant


Alain Sullam OWASP 2 mars 2015

Alain Sullam OWASP 2 mars 2015 1 55


WHO AM I?
Alain Sullam
alain.sullam [at] gmail.com
GPG key id: 0x999EF732
https://ch.linkedin.com/in/alainsullam
https://github.com/sysinsider

Ingnieur de formation, puis dautres petites choses


Dans linfosec depuis ~2000 2003
o Consulting (administration publique, groupes industriels)
o Domaine bancaire
o Domaine juridique depuis environ 10 ans
Intervenant lUniversit de Genve - Master Infosec (DFIR)
Membre de lISC2, ISACA, OWASP et ISMA

Alain Sullam OWASP 2 mars 2015 2 55


AGENDA
Les entreprises face aux malwares / APT
Cuckoo sandbox, cest quoi?
Analyse manuelle vs. automatise
Larchitecture de Cuckoo Sandbox et ses prrequis
La configuration
Points importants de la virtualisation et du sandboxing
Demo et reporting
Etendre et/ou intgrer Cuckoo Sandbox
Conclusion
(Bonus) un peu de visualisation
(Bonus) Pour aller plus loin
Questions
Alain Sullam OWASP 2 mars 2015 3 55
Alain Sullam OWASP 2 mars 2015 4 55
QUELQUES CHIFFRES
LA PERCEPTION

2% 4%
Pas du tout probable 17% Pas du tout capable 13%
Trs probable Trs capable

24%
Pas vraiment
Pense tre capable Pense tre
32% la future capable de
Pas vraiment
probable cible dune dtecter
APT une APT

49% 59%
Probable Capable

Isaca APT survey report, 2014

Alain Sullam OWASP 2 mars 2015 5 55


QUELQUES CHIFFRES (CONTD)
LA PERCEPTION

4% 5%
Pas du tout capable 14% Pas du tout capable 11%
Trs capable Trs capable

29%
Pense tre Pas vraiment
capable
Pense tre
24% capable de capable de
Pas vraiment
capable ragir une stopper une
APT APT russie

58% 55%
Capable Capable

Isaca APT survey report, 2014

Alain Sullam OWASP 2 mars 2015 6 55


Alain Sullam OWASP 2 mars 2015 7 55
QUELQUES CHIFFRES
LES STATISTIQUES
12%
des attaques
325000
nombre de nouveaux
taient des
attaques cibles
fichiers malicieux
dcouverts par jour

67%
par Kaspersky

des victimes ont t averties


par une entit tierces/externe

15%
223
nombre de jours
des victimes median de lAPT
reprsentent des avant sa
services financiers 42% dtection
Des attaques ont
t dcouvertes
par les forces de
lordre
Mandiant & Kaspersky
(Rapports 2013 & 2014)
Alain Sullam OWASP 2 mars 2015 8 55
LES GRANDES QUESTIONS
En cas dincident, on va naturellement se demander :

Quels fichiers (locaux ou non) ont t accds, crs,


supprims?
Y-a-t-il eu des communications rseaux, et si oui,
lesquelles (internes, externes, multiples, ponctuelles,
permanentes, etc.)?
En cas de communications rseaux, quels sont leurs
buts / contenus (spamming, (D)DOS, exfiltration de
donnes, etc.) et leurs destinations?
Est-ce une attaque cible ou opportuniste?
Est-ce une attaque persistante ou non?
Quel est le primtre de compromission?

Alain Sullam OWASP 2 mars 2015 9 55
CUCKOO SANDBOX, CEST QUOI?

In three words, Cuckoo Sandbox is a malware analysis system.

What does that mean? It simply means that you can throw any suspicious file at it
and in a matter of seconds Cuckoo will provide you back some detailed results
outlining what such file did when executed inside an isolated environment.

http://www.cuckoosandbox.org

Analyse automatique de fichiers suspects


Gnration automatise de rapports (dtaills)
Dans un environnement sandbox

Alain Sullam OWASP 2 mars 2015 10 55


OPEN SOURCE VS. PRODUITS COMMERCIAUX

( )
Anubis Sandbox *

*online
Alain Sullam OWASP 2 mars 2015 11 55
COMMENT A FONCTIONNE?

EXCUTABLES WINDOWS RAPPORTS SOUS DIFFRENTS


FORMATS

FICHIERS DLL TRACES DES APPELS


WIN32
FICHIERS CRS,
DOCUMENTS PDF MODIFIS, EFFACS,
TLCHARGS

DOCUMENTS MICROSOFT DUMP DU PROCESS ANALYS


OFFICE

URLS ET FICHIERS TRACES RSEAU AU


HTML FORMAT PCAP

SCRIPTS PHP, VBS CAPTURES DCRAN


DURANT LEXCUTION

FICHIERS CPL, ZIP, JAR ET DUMP MMOIRE COMPLET


PRESQUE NIMPORTE DE LA MACHINE, RSULTATS
QUOI DAUTRE VIRUSTOTAL, ETC

ANALYSE
AUTOMATISE

Alain Sullam OWASP 2 mars 2015 12 55


LANALYSE MANUELLE
LES COMPTENCES REQUISES

DESASSEMBLAGE CRYPTOGRAPHIE
DECOMPILATION CONNAISSANCES DES ALGOS
ASSEMBLEUR, C/C++, IDA PRO, STANDARDS ET EXOTIQUES,
HOPPER, OLLYDBG, ETC. DE LEURS IMPLMENTATIONS
ETC.

SYSTEMES PACKERS
DEXPLOITATION OBFUSCATION
FONCTIONNEMENT BAS NIVEAU,
APPELS SYSTMES, GESTION DTECTION DE PACKER,
MMOIRE, SYSTMES DE FICHIERS, UNPACKING,
REGISTRE, API WINDOWS, ETC. DSOBFUSCATION, ETC.

RESEAU ETC
CONNAISSANCES DES (ANTI-)DEBBUGING,
PROTOCOLES STANDARDS, (ANTI-)FORENSIC,
FUZZING DE PROTOCOLES, HONEYPOTTING,
CONCEPTS TCP/IP, ETC. SANDBOXING, ETC.

Alain Sullam OWASP 2 mars 2015 13 55


ANALYSE MANUELLE VS. AUTOMATISE

VS.

Alain Sullam OWASP 2 mars 2015 14 55


ANALYSE MANUELLE VS. AUTOMATISE

Analyse manuelle
approfondie

Acquisition Analyse Analyse Analyse Analyse Reporting


soumission statique dynamique mmoire rseau

Alain Sullam OWASP 2 mars 2015 15 55


ARCHITECTURE
VM cibles
- environnement
infecter et analyser
Hte Cuckoo
VM analyse N1
- Hyperviseur
- Dmarre lanalyse
- Dump le trafic
- Gnre les rapports

Rseau virtuel VM analyse N2

Internet / VM analyse N...


Sinkhole / Aucune
connexion

Alain Sullam OWASP 2 mars 2015 16 55


ARCHITECTURE
Cuckoo Internet
Sinkhole / Simu.
Sandbox VM
Cuckoo main server Windows

Cuckoo web server Agent.py

Cuckoo web service (REST) Applications tierces

Utilisateur Etendre Cuckoo: Intgrer Cuckoo dans linfrastructure:


Maltego CuckooMX
El Jefe El Jefe
Etc... SOC
CERT, CSIRT
Etc...
Alain Sullam OWASP 2 mars 2015 17 55
FLUX DEXCUTION

1 2 3 4 5 6
Retour au Transfert Lancement
Soumission Analyse Dmarrage
snapshot du malware du
du sample statique de la VM
clean la VM monitoring

7 8 9 10 11 12
Acquisition Analyse
Excution Arrt du Suspension
du dump du dump Reporting
du malware monitoring de la VM
mmoire rseau

Alain Sullam OWASP 2 mars 2015 18 55


PRREQUIS (HTE)

Hardware :
Les prrequis habituels pour de la virtualisation (CPUs, RAM et
HDD)

Software :
Linux (Debian, Ubuntu, etc.), Windows et MacOsX possibles en
thorie.
Un hyperviseur (Thoriquement ouvert plusieurs systme mais
VirtualBox reste fortement conseill).
Python (version 2.7 fortement conseille).
SQLAlchemy, Python BSON, Tcpdump, Volatility, DPKT, Jinja2, Magic,
Pydeep, MongoDB, Pymongo, Yara, Yara Python, Libvirt, Bottlepy,
Django, Pefile, MAEC Python bindings, Chardet.

Alain Sullam OWASP 2 mars 2015 19 55


PRREQUIS OBLIGATOIRES (GUEST)
vHardware :
Les prrequis habituels pour de la virtualisation (CPUs, RAM et
HDD).

Software :
Windows XP SP3 (Windows 7, UAC dsactiv).
Logiciels tiers (Office, Adobe reader, navigateurs, etc.)
Dsactivation du firewall.
Dsactivation des mises jour automatiques.
Python 2.7 + PIL for Python.
Cuckoo agent.py (agent.pyw).
Paramtrer le rseau.
Activer le login automatique.
SNAPSHOT!

Alain Sullam OWASP 2 mars 2015 20 55


LA CONFIGURATION
6 fichiers de configuration principaux :

cuckoo.conf : Configuration gnrale et options danalyse.


auxiliary.conf : Configuration des modules auxiliaires
(ex: capture rseau).
<machinery>.conf : Configuration de la virtualisation.
memory.conf : Configuration de lanalyse mmoire
(Volatility framework).
processing.conf : Activation / dsactivation des tapes
danalyse.
reporting.conf : Configuration du reporting.

Alain Sullam OWASP 2 mars 2015 21 55


QUELQUES POINTS IMPORTANTS
Un environnement isol nest que rarement sr 100%:

Cuckoo Sandbox (Evasion) : http://cuckoosandbox.org/2014-10-07-


cuckoo-sandbox-111.html
Oracle VirtualBox : CVE-2014-4261, CVE-2014-4228, CVE-2014-2489,
etc
Instructions CPU non virtualisables, offloading (interface rseau)

Lors de lattribution de laccs internet au malware, attention aux


infections sur le LAN:

Solution (partielle) : Simulation de services rseau (ex : InetSim)

Un environnement sandbox et/ou virtualis peut tre dtect par


certains malwares:

Test : Pafish https://github.com/a0rtega/pafish


Solution (partielle) : Zer0m0n ou Markedoe + tweak(s) manuel(s)
Alain Sullam OWASP 2 mars 2015 22 55
ANTI DTECTION : VM

Alain Sullam OWASP 2 mars 2015 23 55


ANTI DTECTION : VM + CUCKOO

Alain Sullam OWASP 2 mars 2015 24 55


DTECTION : VM + CUCKOO + TWEAKING

Alain Sullam OWASP 2 mars 2015 25 55


ITS DEMOTIME!
La facture Zalando

Alain Sullam OWASP 2 mars 2015 26 55


Alain Sullam OWASP 2 mars 2015 27 55
Alain Sullam OWASP 2 mars 2015 28 55
Alain Sullam OWASP 2 mars 2015 29 55
Alain Sullam OWASP 2 mars 2015 30 55
La capture rseau

Les fichiers crs / dropps

Le dump mmoire

Le reporting

Les captures dcran

Alain Sullam OWASP 2 mars 2015 31 55


Super, mais jaime pas les lignes de commandes
LE REPORTING

Alain Sullam OWASP 2 mars 2015 32 55


CARACTRISTIQUES DU FICHIER

Alain Sullam OWASP 2 mars 2015 33 55


LES SIGNATURES
Communications rseau

Sandboxing dtect !!!

Probablement un
driv de Zeus

Persistance

Alain Sullam OWASP 2 mars 2015 34 55


LANALYSE STATIQUE

Quelques chanes de caractres intressantes :

*\AC:\FA2\C7\YkYW.vbp
vgybhy, fvgdcf, cvfdezcvg, uhuihiuh, cvfrdsdfvc
Etc

Alain Sullam OWASP 2 mars 2015 35 55


LES FICHIERS CRS / DROPPS

Alain Sullam OWASP 2 mars 2015 36 55


LANALYSE DYNAMIQUE
Excution doprations
au dmarrage et/ou
persistance

Persistance

Rcupration du
nom de la machine

Alain Sullam OWASP 2 mars 2015 37 55


LANALYSE RSEAU

Surprenant

a sexplique

Alain Sullam OWASP 2 mars 2015 38 55


ON VRIFIE LHISTORIQUE

Encore plus surprenant

Alain Sullam OWASP 2 mars 2015 39 55


RETWEAKING DE LA VM

Dsinstallation des VirtualBox guest tools.


Nettoyage du registre (rfrences
VirtualBox).
Nettoyage des fichiers rsiduels (rfrences
VirtualBox).
Modifications des drivers.

Nouvelle analyse!

Alain Sullam OWASP 2 mars 2015 40 55


NOUVELLES SIGNATURES

Ne dtecte plus VirtualBox.

Alain Sullam OWASP 2 mars 2015 41 55


TOUT DE SUITE PLUS BAVARD

Alain Sullam OWASP 2 mars 2015 42 55


AUTRES FORMATS DE REPORTING
JSON MAEC XML

Alain Sullam OWASP 2 mars 2015 43 55


Alain Sullam OWASP 2 mars 2015 44 55
CUCKOO SANDBOX, O ET QUAND?
RACTIF POST-MORTEM THREAT
PRVENTIF
(LEVE DE DOUTE)
(INCIDENT (ANALYSE INTELLIGENCE
RESPONSE) FORENSIQUE) (IOC, SIGNATURES)

Equipe scurit

SOC,
intgration infra.

CERT / CSIRT

Equipe
forensique

Prestataires
externes

Autre ? ? ? ?

Apprciations compltement subjectives


Alain Sullam OWASP 2 mars 2015 45 55
CONCLUSION
Ne demande pas des connaissances aussi pointues que pour
lanalyse manuelle.
La qualit de lanalyse dpend fortement de la capacit
dinterprtation des rsultats.
Lenvironnement Cuckoo + VM peut tre dtectable par
certains malwares.
La globalit du code du malware ne sera trs probablement
pas totalement excute.
Comporte toujours un risque (dbordement du sandboxing,
LAN, etc.)

Trs bonne documentation.


Communaut trs active autour du produit.
Automatisable et intgrable au sein dune architecture.
Alain Sullam OWASP 2 mars 2015 46 55
BONUS
Un peu de visualisation
avec Maltego

Alain Sullam OWASP 2 mars 2015 47 55


UN PEU DE VISUALISATION - MALTEGO

Alain Sullam OWASP 2 mars 2015 48 55


UN PEU DE VISUALISATION - MALTEGO

Alain Sullam OWASP 2 mars 2015 49 55


UN PEU DE VISUALISATION - MALTEGO

Alain Sullam OWASP 2 mars 2015 50 55


UN PEU DE VISUALISATION - MALTEGO

Alain Sullam OWASP 2 mars 2015 51 55


UN PEU DE VISUALISATION - MALTEGO

Alain Sullam OWASP 2 mars 2015 52 55


POUR ALLER PLUS LOIN
Malwr:
Version online gratuite de Cuckoo Sandbox.
Parfait pour des tests de malwares communs.
Attention la confidentialit!!!
Pas de possibilit de rcuprer les dumps mmoire et rseau.

Cuckoo Android Extension:


Support de lmulateur Android ARM pour excuter des APKs et des URL.

Community.py:
Utilitaire pour tlcharger et installer les modules dvelopps par la
communaut.

El Jefe:
Intgration avec loutil El Jefe (dtection, rponse et traage des menaces).

Alain Sullam OWASP 2 mars 2015 53 55


QUESTIONS

Alain Sullam OWASP 2 mars 2015 54 55


MERCI!
Alain Sullam
alain.sullam [at] gmail.com
https://ch.linkedin.com/in/alainsullam
https://github.com/sysinsider

Quelques rfrences utiles:

http://www.cuckoosandbox.org http://docs.cuckoosandbox.org/en/latest/
https://www.packtpub.com/networking-and-servers/cuckoo-
malware-analysis
https://github.com/a0rtega/pafish
https://github.com/conix-security/zer0m0n
https://github.com/markedoe/cuckoo-sandbox
http://www.inetsim.org/
https://github.com/cuckoobox/community
https://www.paterva.com/web6/products/maltego.php
https://malwr.com/
https://eljefe.immunityinc.com/
https://github.com/idanr1986/cuckoo
https://github.com/xme/cuckoomx

Alain Sullam OWASP 2 mars 2015 55 55