Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Cuckoo sandbox

187 vues

Publié le

Cuckoo sandbox

Publié dans : Formation
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Cuckoo sandbox

  1. 1. Sesión 01
  2. 2.  Muchos de nosotros habrás tenido ganas de poder realizar algún análisis de malware para saber que hacía algunas de las muestras que nos han llegado, bien por correo electrónico, bien la has encontrado en aquel pen drive que algún familiar nos dice "Toma copia estas fotos" y en el USB hay mas malware que fotos para copiar.  Si no has lidiado realizando un análisis dinámico de la muestra o bien, no tienes práctica ni tiempo, al final acabas subiendo la muestra aquellos servicios que ya conocemos, Virus Total Jottis, Threat Expert o similares.  Pero, y si por un momento ¿No queremos subir la muestra a este tipo de servicios? Por ejemplo nos encontramos en un caso en el que no puedes distribuir la muestra ya que estás investigando un caso y la muestra no puedes subirla a cualquier sitio. En ese caso y otros, para hacerte con una idea general de lo que hace la muestra y poder realizar perfectamente un análisis dinámico tenemos entre otros proyectos Cuckoo.  El proyecto se encuentra MUY vivo y se va actualizando añadiendo nuevos módulos al sandbox y nuevas versiones cada cierto tiempo. Además las últimas versiones se instalan en no mas de 10 minutos, no como las primeras, que tenías que lidiar realizando mas pasos.
  3. 3.  El sandbox se apoya en el sistema de virtualbox o vmware con un sistema windows instalado como cliente para poder realizar los análisis.  La estructura de Cuckoo es así:  Desde tu máquina enviarás tus muestras a los diferentes clientes que tengas configurados con Cuckoo para poder hacer los análisis pertinentes.
  4. 4.  La instalación mas sencilla es en Ubuntu, aunque el Bugtraq ya la trae por default.  Si miramos la documentación de Cuckoo, necesitaremos:  Python  Magic (Highly Recommended): for identifying files’ formats (otherwise use “file” command line utility)  Dpkt (Highly Recommended): for extracting relevant information from PCAP files.  Mako (Highly Recommended): for rendering the HTML reports and the web interface.  Pydeep (Optional): for calculating ssdeep fuzzy hash of files.  Pymongo (Optional): for storing the results in a MongoDB database.  Yara and Yara Python (Optional): for matching Yara signatures.  Libvirt (Optional): for using the KVM module.
  5. 5.  Algunos de los módulos se pueden instalar mediante:  sudo apt-get install python-magic python-dpkt python-mako python-pymongo
  6. 6.  En una máquina en VirtualBox. Tan solo que en la máquina Windows instalada deberemos de configurar ciertas cosas:  Pondremos en OFF, el cortafuegos de windows y también las actualizaciones. Esto nos evitará en el caso del análisis de las trazas de red que no nos molesten las actualizaciones de red. Y el firewall lo desactivamos para que el malware se pueda conectar libremente a donde quiera.
  7. 7.  Python, para poder ejecutar el agente en la máquina virtual. Además necesitaremos software vulnerable, es por eso que instalaremos el software que necesitemos.  Para versiones viejas de software, oldapps.
  8. 8.  Solo configuraremos opciones básicas de cuckoo para hacerlo funcionar. Recomiendo trabajar con los archivos de configuración y adaptarlo a nuestras necesidades.  Bajamos Cuckoo o de la siguiente captura como se muestra a continuación:  xxxxxxxxxxx:~/tools/malware:git clone git://github.com/cuckoobox/cuckoo.git  Cloning into 'cuckoo'...  remote: Counting objects: 6324, done.  remote: Compressing objects: 100% (2048/2048), done.  remote: Total 6324 (delta 4101), reused 6214 (delta 4017)  Receiving objects: 100% (6324/6324), 4.88 MiB | 124 KiB/s, done.  Resolving deltas: 100% (4101/4101), done.
  9. 9.  Ahora configuraremos varias cosas de Cuckoo para hacerlo funcionar:  Editamos el archivo cuckoo.conf:  xxxxxxx:~/tools/malware/cuckoo:nano conf/cuckoo.conf
  10. 10.  De aquí lo que tendremos que cambiar es:  # Specify the name of the machine manager module to use, this module will  # define the interaction between Cuckoo and your virtualization software  # of choice.  machine_manager = virtualbox
  11. 11.  # Enable or disable the use of an external sniffer (tcpdump) [yes/no].  use_sniffer = yes  # Specify the network interface name on which tcpdump should monitor the  # traffic. Make sure the interface is active.  interface = en0
  12. 12.  Si usamos otro sistema que no sea Virtualbox, lo cambiamos. En mi caso dejo Virtualbox.  Si recuerdas como requisito instalamos tcpdump, si queremos que se capture el tráfico de red con tcpdump, dejamos marcado yes.  En cuanto a la interfaz de red, esto es muy importante y ha dado varios problemas de que no haya funcionado la última versión de cuckoo.
  13. 13.  En la documentación oficial de Cuckoo, aconsejan usar vboxnet0. La máquina virtual configurada con esta extensión NO tendrá acceso a internet por lo tanto si estamos estudiando algún tipo de troyano bancario, o un dropper no podrá hacerse el análisis dinámico correcto al no contar con el tráfico de red.  Si queremos poner la red en modo vboxnet0, lo configuramos en Virtualbox
  14. 14.  En la máquina virtual especificamos que usaremos esa interfaz en concreto:
  15. 15.  El poner la red en vboxnet0 nos sirve para poder controlar las conexiones que realice la máquina virtual. En mi caso me da igual por lo tanto, dejo la máquina en brigde y asigno la interfaz de la máquina. En el caso del mac, en0.  Ahora configuramos otro archivo:  xxxxxx:~/tools/malware/cuckoo:nano conf/virtualbox.conf  [cuckoo1]  # Specify the label name of the current machine as specified in your  # VirtualBox configuration.  label = sandbox
  16. 16.  Specify the operating system platform used by current machine  # [windows/darwin/linux].  platform = windows  # Specify the IP address of the current machine. Make sure that the IP address  # is valid and that the host machine is able to reach it. If not, the analysis  # will fail.  ip = 192.168.1.113  Aquí especificamos el nombre que le hemos dado a la máquina virtual, la plataforma que usaremos y la dirección IP que tendrá la máquina virtual.
  17. 17.  Con la última versión de Cuckoo, lo que se necesita es un agente en python:  xxxxx:~/tools/malware/cuckoo:ls agent/  agent.py  El agente deberemos de colocarlo para que se inicie al arrancar Windows, o bien con una entrada del registro, o en la carpeta startup.
  18. 18.  En este momento pausamos la máquina. Posteriormente la apagamos la máquina.  Restauramos la máquina al snapshot con la máquina virtual parada.  Arrancamos Cuckoo:
  19. 19.  xxxx:~/tools/malware/cuckoo:python cuckoo.py  Por ejemplo como se muestra a continuación
  20. 20.  Cuckoo estará a la espera de que hagamos submit de una muestra:
  21. 21.  Cuckoo empezará el análisis de la máquina virtual  Una vez acabado podremos ver el resultado en la parte web de Cuckoo, arrancamos la parte web:  xxxxx:~/tools/malware/cuckoo/utils:python web.py  Bottle v0.11.dev server starting up (using WSGIRefServer())...  Listening on http://0.0.0.0:8080/  Hit Ctrl-C to quit.
  22. 22.  Desde la parte web podremos hacer un submit nuevo de una muestra, además de indicarle la prioridad.
  23. 23.  En el apartado Browse, encontraremos las muestras que ya hayamos subido.  Clicando en el MD5, encontraremos un report de la muestra:
  24. 24.  Información que nos arroja Cuckoo
  25. 25.  Podremos ver también la parte de red, y cambios a nivel de directorios.  Para saber mas del proyecto visitar:  http://www.cuckoosandbox.org/

×