[PYTHON] Beim Ausführen von Cuckoo Sandbox wird ein Yara-Fehler angezeigt

Als ich Cuckoo Sandbox laufen ließ, wurde ich wütend auf Yara, also untersuche ich die Ursache und löse sie. Ich dachte, die Ursache sei die Version, und als ich versuchte, eine andere Version von Yara einzufügen, blieb sie hängen. Machen Sie sich also eine Notiz, also vergessen Sie nicht. Als ich einen Fehler behoben habe, ist ein neuer Fehler aufgetreten, sodass mir nicht langweilig wurde. Ich habe den Prozess von Versuch und Irrtum so geschrieben, wie er ist, und dachte, dass er ursprünglich für mich selbst ist und dass er für diejenigen nützlich sein wird, die denselben Fehler haben, aber er wird am Ende zusammengefasst.

Referenz

Umgebung

Fehlerdetails und Lösung

Yara Fehler

Ich wurde wütend, als ich "cuckoo.py" lief. Das Folgende ist der Inhalt.

$ python cuckoo/cuckoo.py

  _____________________________________/\/\_______________________________
  ___/\/\/\/\__/\/\__/\/\____/\/\/\/\__/\/\__/\/\____/\/\/\______/\/\/\___
  _/\/\________/\/\__/\/\__/\/\________/\/\/\/\____/\/\__/\/\__/\/\__/\/\_
  _/\/\________/\/\__/\/\__/\/\________/\/\/\/\____/\/\__/\/\__/\/\__/\/\_
  ___/\/\/\/\____/\/\/\/\____/\/\/\/\__/\/\__/\/\____/\/\/\______/\/\/\___
  ________________________________________________________________________

 Cuckoo Sandbox 1.2-dev
 www.cuckoosandbox.org
 Copyright (c) 2010-2014

 Checking for updates...
 Good! You have the latest version available.

2014-10-11 17:13:09,487 [lib.cuckoo.core.scheduler] INFO: Using "kvm" machine manager
2014-10-11 17:13:09,919 [lib.cuckoo.core.scheduler] INFO: Loaded 1 machine/s
2014-10-11 17:13:09,925 [lib.cuckoo.core.scheduler] INFO: Waiting for analysis tasks.
2014-10-11 17:13:30,206 [lib.cuckoo.core.scheduler] INFO: Starting analysis of FILE "/home/cuckoo/ZeuS_binary_9498ff82a64ff445398c8426ed63ea5b.exe" (task=2)
2014-10-11 17:13:30,218 [lib.cuckoo.core.scheduler] INFO: File already exists at "/home/cuckoo/cuckoo/storage/binaries/8b2e701e91101955c73865589a4c72999aeabc11043f712e05fdb1c17c4ab19a"
2014-10-11 17:13:30,331 [lib.cuckoo.core.scheduler] INFO: Task #2: acquired machine Windows7_default_1412852245584_47636 (label=Windows7_default_1412852245584_47636)
2014-10-11 17:13:30,339 [modules.auxiliary.sniffer] INFO: Started sniffer with PID 14069 (interface=hostonly0, host=192.168.124.2, dump path=/home/cuckoo/cuckoo/storage/analyses/2/dump.pcap)
2014-10-11 17:13:39,623 [lib.cuckoo.core.guest] INFO: Starting analysis on guest (id=Windows7_default_1412852245584_47636, ip=192.168.124.2)
2014-10-11 17:14:06,404 [lib.cuckoo.core.guest] INFO: Windows7_default_1412852245584_47636: analysis completed successfully
2014-10-11 17:14:08,420 [modules.processing.behavior] WARNING: Analysis results folder does not contain any file.
2014-10-11 17:14:08,748 [lib.cuckoo.common.objects] WARNING: Unable to import pydeep (install with `pip install pydeep`)
2014-10-11 17:14:08,749 [lib.cuckoo.common.objects] WARNING: Unable to match Yara signatures: 'error_on_warning' is an invalid keyword argument for this function
2014-10-11 17:14:09,797 [lib.cuckoo.core.scheduler] INFO: Task #2: reports generation completed (path=/home/cuckoo/cuckoo/storage/analyses/2)
2014-10-11 17:14:09,894 [lib.cuckoo.core.scheduler] INFO: Task #2: analysis procedure completed

Es gibt zwei WARNHINWEISE, aber ich möchte sie vorerst beiseite legen und zuerst Yaras WARNUNG lösen.

2014-10-11 17:14:08,749 [lib.cuckoo.common.objects] WARNING: Unable to match Yara signatures: 'error_on_warning' is an invalid keyword argument for this function

Hier ist es. Nach der Untersuchung gibt es eine Geschichte, dass die Version von Yara anders sein könnte. Cuckoo sagte, dass ich Yara v1.7 oder höher verwenden sollte, also habe ich v1.7 verwendet, aber ich werde die neueste Version ausprobieren.

Setzen Sie die neueste Version von Yara

Derzeit scheint v3.1.0 die neueste zu sein. https://github.com/plusvic/yara/releases/tag/v3.1.0 Ich möchte Yaras Dokumentation folgen. http://yara.readthedocs.org/en/latest/gettingstarted.html

$ wget https://github.com/plusvic/yara/archive/v3.1.0.tar.gz
$ tar zxvf v3.1.0.tar.gz
$ cd yara-3.1.0/
$ ./bootstrap.sh
== bootstraping yara
libtoolize...
Did not find a supported libtoolize

Ich war wütend auf etwas. Es scheint, dass es kein "libtoolize" gibt, also werde ich das "libtool" -Paket installieren.

Fügen Sie libtool ein

$ sudo apt-get install libtool
./bootstrap.sh
== bootstraping yara
libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
aclocal...
Did not find a supported aclocal

Ich denke, es ist weiter fortgeschritten als zuvor, aber dieses Mal heißt es, dass es kein "Aclocal" gibt. Es scheint, dass das "automake" -Paket enthalten sein sollte, um das "aclocal" einzuschließen (oder war es nicht enthalten).

Automake einfügen

$ sudo apt-get install automake
$ ./bootstrap.sh
== bootstraping yara
libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
aclocal...
autoheader...
automake...
autoconf...

Oh, es sieht so aus, als wäre es gut. Also würde ich es gerne kompilieren.

Kompilieren

Geben Sie zunächst die erforderlichen Bibliotheken ein. Im Fall von Kuckuck scheint es, dass Jansson verwendet wird, um JSON zu analysieren, daher ist es notwendig, es im Voraus zu setzen, aber es scheint, dass es in libjansson-dev enthalten ist, also installieren Sie es. Außerdem scheint Magie "libmagic-dev" zu benötigen, also installieren Sie es auch. Es ist vielleicht nicht notwendig, aber ich möchte mich später nicht darauf einlassen (ich bin müde).

$ sudo apt-get install libjansson-dev libmagic-dev

Lesen Sie nach Abschluss der Installation die Dokumentation. Es scheint, dass Sie "--enable-cuckoo" hinzufügen müssen, wenn Sie es mit Kuckuck verwenden. Fügen Sie also eine Option hinzu und machen Sie "make".

$ ./configure --enable-cuckoo --enable-magic
(Weggelassen)
checking for pthread_create in -lpthread... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libyara/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
$ make
$ sudo make install

Es ist in Ordnung, wenn kein bestimmter Fehler vorliegt.

yara-install python

Kuckuck braucht auch Yara-Python, nachdem er Yara hinzugefügt hat. Es befindet sich im Verzeichnis, als Sie Yara früher gelöscht haben. Erstellen und installieren Sie es einfach! Einfach! (Ich dachte es wäre)

$ cd yara-python/
$ python setup.py build
$ sudo python setup.py install

Jetzt, wo Sie bereit sind, versuchen Sie erneut, Kuckuck zu laufen. Nach dem Ausführen von "cuckoo.py" wird die entsprechende Malware von "submit.py" gesendet.

$ python ~/cuckoo/cuckoo.py

            _       _                   _             _              _            _
          /\ \     /\_\               /\ \           /\_\           /\ \         /\ \
         /  \ \   / / /         _    /  \ \         / / /  _       /  \ \       /  \ \
        / /\ \ \  \ \ \__      /\_\ / /\ \ \       / / /  /\_\    / /\ \ \     / /\ \ \
       / / /\ \ \  \ \___\    / / // / /\ \ \     / / /__/ / /   / / /\ \ \   / / /\ \ \
      / / /  \ \_\  \__  /   / / // / /  \ \_\   / /\_____/ /   / / /  \ \_\ / / /  \ \_\
     / / /    \/_/  / / /   / / // / /    \/_/  / /\_______/   / / /   / / // / /   / / /
    / / /          / / /   / / // / /          / / /\ \ \     / / /   / / // / /   / / /
   / / /________  / / /___/ / // / /________  / / /  \ \ \   / / /___/ / // / /___/ / /
  / / /_________\/ / /____\/ // / /_________\/ / /    \ \ \ / / /____\/ // / /____\/ /
  \/____________/\/_________/ \/____________/\/_/      \_\_\\/_________/ \/_________/

 Cuckoo Sandbox 1.2-dev
 www.cuckoosandbox.org
 Copyright (c) 2010-2014

 Checking for updates...
 Good! You have the latest version available.

2014-10-11 21:54:13,566 [lib.cuckoo.core.scheduler] INFO: Using "kvm" machine manager
2014-10-11 21:54:14,611 [lib.cuckoo.core.scheduler] INFO: Loaded 1 machine/s
2014-10-11 21:54:14,618 [lib.cuckoo.core.scheduler] INFO: Waiting for analysis tasks.
2014-10-11 21:54:22,819 [lib.cuckoo.core.scheduler] INFO: Starting analysis of FILE "/home/cuckoo/ZeuS_binary_9498ff82a64ff445398c8426ed63ea5b.exe" (task=7)
2014-10-11 21:54:22,830 [lib.cuckoo.core.scheduler] INFO: File already exists at "/home/cuckoo/cuckoo/storage/binaries/8b2e701e91101955c73865589a4c72999aeabc11043f712e05fdb1c17c4ab19a"
2014-10-11 21:54:22,959 [lib.cuckoo.core.scheduler] INFO: Task #7: acquired machine Windows7_default_1412852245584_47636 (label=Windows7_default_1412852245584_47636)
2014-10-11 21:54:22,967 [modules.auxiliary.sniffer] INFO: Started sniffer with PID 13437 (interface=hostonly0, host=192.168.124.2, dump path=/home/cuckoo/cuckoo/storage/analyses/7/dump.pcap)
2014-10-11 21:54:39,130 [lib.cuckoo.core.guest] INFO: Starting analysis on guest (id=Windows7_default_1412852245584_47636, ip=192.168.124.2)
2014-10-11 21:55:11,988 [lib.cuckoo.core.guest] INFO: Windows7_default_1412852245584_47636: analysis completed successfully
2014-10-11 21:55:13,435 [modules.processing.behavior] WARNING: Analysis results folder does not contain any file.
2014-10-11 21:55:13,843 [lib.cuckoo.common.objects] WARNING: Unable to import yara (please compile from sources)
2014-10-11 21:55:14,883 [lib.cuckoo.core.scheduler] INFO: Task #7: reports generation completed (path=/home/cuckoo/cuckoo/storage/analyses/7)
2014-10-11 21:55:15,028 [lib.cuckoo.core.scheduler] INFO: Task #7: analysis procedure completed

Ich erhalte wieder einen Fehler. traurig...

WARNING: Unable to import yara (please compile from sources)

Yara aus der Quelle kompilieren? Ich habe es vor einiger Zeit getan! !! Anscheinend hat es nicht gut importiert.

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yara
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libyara.so.3: cannot open shared object file: No such file or directory

Sicher nicht importierbar. https://github.com/styx/YARA/tree/master/yara-python Wenn ich mir das ansehe, heißt es "ldconfig", wenn ein Fehler auftritt.

Laut http://www.atmarkit.co.jp/flinux/rensai/linuxtips/300sharelib.html

Das Verzeichnis / usr / local / lib ist nicht registriert, daher müssen Sie die Datei /etc/ld.so.conf bearbeiten, bevor Sie den Befehl ldconfig ausführen.

Es scheint, dass. Damit

$ sudo su
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

Ich werde versuchen. Wenn / usr / local / lib bereits in ld.so.conf geschrieben ist, sollten Sie wahrscheinlich nur ldconfig machen. Also habe ich es erneut versucht.

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yara
>>>

Diesmal ist der Fehler weg. Wenn Sie es in diesem Zustand ausführen, sollten Sie keinen Fehler erhalten.

$ python ~/cuckoo/cuckoo.py
(Weggelassen)
2014-10-11 23:44:29,156 [lib.cuckoo.core.plugins] DEBUG: Running non-evented signatures
2014-10-11 23:44:29,156 [lib.cuckoo.core.plugins] DEBUG: Running signature "creates_exe"
2014-10-11 23:44:29,157 [lib.cuckoo.core.plugins] DEBUG: Running signature "generic_metrics"
2014-10-11 23:44:29,178 [lib.cuckoo.core.plugins] DEBUG: Executed reporting module "JsonDump"
2014-10-11 23:44:29,462 [lib.cuckoo.core.plugins] DEBUG: Executed reporting module "ReportHTML"
2014-10-11 23:44:29,462 [lib.cuckoo.core.scheduler] INFO: Task #18: reports generation completed (path=/home/cuckoo/cuckoo/storage/analyses/18)
2014-10-11 23:44:29,601 [lib.cuckoo.core.scheduler] INFO: Task #18: analysis procedure completed

Das war gut

Zusammenfassung

Ich habe den Prozess von Versuch und Irrtum so wie er ist gepostet, aber um es zusammenzufassen

  1. Da die Version von Yara unterschiedlich ist, fügen Sie eine neue Version ein
  2. Beim Kompilieren von Yara habe ich nicht genügend Bibliotheken, also lege ich sie ein.
  3. Wenn / usr / local / lib nicht in ld.so.conf enthalten ist, fügen Sie es hinzu Es ist wie es ist. Unten finden Sie eine Liste der Befehle.
#Zum Kompilierungszeitpunkt erforderliche Bibliotheken usw.
$ sudo apt-get install libtool automake
#Für die Verwendung mit Kuckuck usw. erforderliche Bibliotheken.
$ sudo apt-get install libjansson-dev libmagic-dev
#Setzen Sie die neueste Version von Yara und kompilieren Sie
$ wget https://github.com/plusvic/yara/archive/v3.1.0.tar.gz
$ tar zxvf v3.1.0.tar.gz
$ cd yara-3.1.0/
$ ./bootstrap.sh
$ ./configure --enable-cuckoo --enable-magic
$ make
$ sudo make install
#yara-Kompilieren Sie Python
$ cd yara-python/
$ python setup.py build
$ sudo python setup.py install
#ldconfig
$ sudo su
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

Diese Vorgänge verursachen in meiner Umgebung keine Fehler mehr. Ich weiß es nicht in der Umgebung anderer Leute, also tun Sie es bitte auf eigenes Risiko.

Recommended Posts

Beim Ausführen von Cuckoo Sandbox wird ein Yara-Fehler angezeigt
Proxy-Fehler beim Ausführen von "pip install"
Reaktion auf Fehler bei der Installation von mecab-python
Geben Sie Optionen an, wenn Sie Python ausführen
Fehler beim Spielen mit Python
Polyfit-Fehler bei der Installation von matplotlib