├── web
├── dashboard
│ ├── __init__.py
│ ├── urls.py
│ └── views.py
├── static
│ ├── img
│ │ ├── close.png
│ │ ├── next.png
│ │ ├── prev.png
│ │ └── loading.gif
│ ├── graphic
│ │ ├── cuckoo.png
│ │ └── background.png
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ └── glyphicons-halflings-regular.woff
│ └── css
│ │ └── style.css
├── templates
│ ├── analysis
│ │ ├── behavior
│ │ │ ├── index.html
│ │ │ ├── _tree.html
│ │ │ ├── _tree_process.html
│ │ │ └── _chunk.html
│ │ ├── static
│ │ │ ├── _strings.html
│ │ │ ├── index.html
│ │ │ └── _antivirus.html
│ │ ├── overview
│ │ │ ├── _screenshots.html
│ │ │ ├── _url.html
│ │ │ ├── index.html
│ │ │ ├── _info.html
│ │ │ ├── _signatures.html
│ │ │ ├── _summary.html
│ │ │ └── _file.html
│ │ ├── network
│ │ │ ├── _http.html
│ │ │ ├── _hosts.html
│ │ │ ├── _dns.html
│ │ │ ├── _irc.html
│ │ │ ├── _icmp.html
│ │ │ └── index.html
│ │ ├── memory
│ │ │ ├── _malfind.html
│ │ │ ├── _modscan.html
│ │ │ ├── _pslist.html
│ │ │ ├── _svcscan.html
│ │ │ └── index.html
│ │ ├── report.html
│ │ ├── pending.html
│ │ └── dropped
│ │ │ └── index.html
│ ├── error.html
│ ├── success.html
│ ├── base.html
│ ├── footer.html
│ ├── dashboard
│ │ └── index.html
│ └── header.html
├── analysis
│ ├── __init__.py
│ ├── forms.py
│ └── urls.py
├── submission
│ ├── __init__.py
│ └── urls.py
├── manage.py
└── web
│ ├── urls.py
│ ├── __init__.py
│ ├── headers.py
│ ├── wsgi.py
│ ├── local_settings.py
│ └── upload.py
├── external
└── CPU.exe
├── data
├── src
│ └── binpackage
│ │ ├── Makefile
│ │ └── execsc.c
├── peutils
│ └── UserDB.TXT
├── html
│ ├── img
│ │ ├── glyphicons-halflings.png
│ │ └── glyphicons-halflings-white.png
│ ├── js
│ │ └── functions.js
│ ├── sections
│ │ ├── errors.html
│ │ ├── screenshots.html
│ │ ├── info.html
│ │ ├── signatures.html
│ │ └── url.html
│ ├── error.html
│ ├── success.html
│ ├── report.html
│ ├── pagination-rpp.html
│ └── browse.html
├── yara
│ ├── index_binary.yar
│ └── signatures
│ │ ├── shellcodes.yar
│ │ ├── embedded.yar
│ │ └── vmdetect.yar
└── patchers
│ └── patchpe.xml
├── IDA
├── idag_patched.exe
└── script.idc
├── analyzer
└── windows
│ ├── bin
│ └── execsc.exe
│ ├── dll
│ ├── cuckoomon.dll
│ ├── cuckoomon_bson.dll
│ └── cuckoomon_netlog.dll
│ ├── lib
│ ├── __init__.py
│ ├── api
│ │ ├── __init__.py
│ │ └── screenshot.py
│ ├── common
│ │ ├── __init__.py
│ │ ├── exceptions.py
│ │ ├── rand.py
│ │ ├── constants.py
│ │ ├── abstracts.py
│ │ └── results.py
│ └── core
│ │ ├── __init__.py
│ │ ├── startup.py
│ │ ├── config.py
│ │ ├── packages.py
│ │ └── privileges.py
│ └── modules
│ ├── __init__.py
│ ├── packages
│ ├── __init__.py
│ ├── bin.py
│ ├── exe.py
│ ├── html.py
│ ├── ie.py
│ ├── generic.py
│ ├── dll.py
│ ├── cpl.py
│ ├── vbs.py
│ ├── jar.py
│ ├── pdf.py
│ ├── xls.py
│ ├── doc.py
│ ├── zip.py
│ └── applet.py
│ └── auxiliary
│ ├── __init__.py
│ ├── disguise.py
│ └── screenshots.py
├── docs
├── book
│ └── src
│ │ ├── _images
│ │ ├── logo
│ │ │ └── cuckoo.png
│ │ ├── schemas
│ │ │ └── architecture-main.png
│ │ └── screenshots
│ │ │ ├── shared_folders.png
│ │ │ └── windows_security.png
│ │ ├── development
│ │ ├── index.rst
│ │ └── development_notes.rst
│ │ ├── usage
│ │ ├── index.rst
│ │ ├── start.rst
│ │ ├── results.rst
│ │ └── utilities.rst
│ │ ├── introduction
│ │ ├── index.rst
│ │ └── license.rst
│ │ ├── customization
│ │ ├── index.rst
│ │ ├── auxiliary.rst
│ │ └── reporting.rst
│ │ ├── installation
│ │ ├── host
│ │ │ ├── index.rst
│ │ │ └── installation.rst
│ │ ├── index.rst
│ │ ├── guest
│ │ │ ├── index.rst
│ │ │ ├── cloning.rst
│ │ │ ├── agent.rst
│ │ │ ├── creation.rst
│ │ │ ├── requirements.rst
│ │ │ └── network.rst
│ │ └── upgrade.rst
│ │ └── index.rst
├── README
└── AUTHORS
├── WP_AND_PRESENTATION
├── Automated Memory Analysis - WP.pdf
└── Automated Memory Analysis - Slide.pdf
├── lib
├── __init__.py
├── maec
│ └── __init__.py
└── cuckoo
│ ├── __init__.py
│ ├── common
│ ├── __init__.py
│ ├── defines.py
│ ├── colors.py
│ ├── exceptions.py
│ └── config.py
│ └── core
│ └── __init__.py
├── modules
├── __init__.py
├── auxiliary
│ └── __init__.py
├── machinery
│ ├── __init__.py
│ ├── kvm.py
│ └── esx.py
├── processing
│ ├── __init__.py
│ ├── dropped.py
│ ├── strings.py
│ ├── targetinfo.py
│ ├── debug.py
│ ├── analysisinfo.py
│ └── virustotal.py
├── reporting
│ ├── __init__.py
│ ├── jsondump.py
│ ├── hpfclient.py
│ └── reporthtml.py
└── signatures
│ ├── __init__.py
│ ├── creates_exe.py
│ └── generic_metrics.py
├── .gitignore
├── tests
├── colors_tests.py
├── sniffer_tests.py
├── reporter_tests.py
├── config_tests.py
└── processor_tests.py
├── conf
├── auxiliary.conf
├── reporting.conf
├── processing.conf
├── kvm.conf
├── vmware.conf
├── esx.conf
└── virtualbox.conf
├── utils
├── clean.sh
├── stats.py
└── process.py
└── cuckoo.py
/web/dashboard/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/external/CPU.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/external/CPU.exe
--------------------------------------------------------------------------------
/data/src/binpackage/Makefile:
--------------------------------------------------------------------------------
1 | execsc.exe: execsc.c
2 | i586-mingw32msvc-cc -Wall -o $@ $<
3 |
4 |
--------------------------------------------------------------------------------
/IDA/idag_patched.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/IDA/idag_patched.exe
--------------------------------------------------------------------------------
/data/peutils/UserDB.TXT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/data/peutils/UserDB.TXT
--------------------------------------------------------------------------------
/web/static/img/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/img/close.png
--------------------------------------------------------------------------------
/web/static/img/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/img/next.png
--------------------------------------------------------------------------------
/web/static/img/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/img/prev.png
--------------------------------------------------------------------------------
/web/static/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/img/loading.gif
--------------------------------------------------------------------------------
/web/static/graphic/cuckoo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/graphic/cuckoo.png
--------------------------------------------------------------------------------
/analyzer/windows/bin/execsc.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/analyzer/windows/bin/execsc.exe
--------------------------------------------------------------------------------
/analyzer/windows/dll/cuckoomon.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/analyzer/windows/dll/cuckoomon.dll
--------------------------------------------------------------------------------
/web/static/graphic/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/graphic/background.png
--------------------------------------------------------------------------------
/docs/book/src/_images/logo/cuckoo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/docs/book/src/_images/logo/cuckoo.png
--------------------------------------------------------------------------------
/analyzer/windows/dll/cuckoomon_bson.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/analyzer/windows/dll/cuckoomon_bson.dll
--------------------------------------------------------------------------------
/data/html/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/data/html/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/analyzer/windows/dll/cuckoomon_netlog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/analyzer/windows/dll/cuckoomon_netlog.dll
--------------------------------------------------------------------------------
/web/templates/analysis/behavior/index.html:
--------------------------------------------------------------------------------
1 | {% include "analysis/behavior/_tree.html" %}
2 | {% include "analysis/behavior/_processes.html" %}
--------------------------------------------------------------------------------
/data/html/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/data/html/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/web/static/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/web/static/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/docs/book/src/_images/schemas/architecture-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/docs/book/src/_images/schemas/architecture-main.png
--------------------------------------------------------------------------------
/docs/book/src/_images/screenshots/shared_folders.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/docs/book/src/_images/screenshots/shared_folders.png
--------------------------------------------------------------------------------
/web/static/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/web/static/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/WP_AND_PRESENTATION/Automated Memory Analysis - WP.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/WP_AND_PRESENTATION/Automated Memory Analysis - WP.pdf
--------------------------------------------------------------------------------
/docs/book/src/_images/screenshots/windows_security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/docs/book/src/_images/screenshots/windows_security.png
--------------------------------------------------------------------------------
/WP_AND_PRESENTATION/Automated Memory Analysis - Slide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/djteller/MemoryAnalysis/HEAD/WP_AND_PRESENTATION/Automated Memory Analysis - Slide.pdf
--------------------------------------------------------------------------------
/web/templates/analysis/behavior/_tree.html:
--------------------------------------------------------------------------------
1 |
2 | {% for process in analysis.behavior.processtree %}
3 | {% include "analysis/behavior/_tree_process.html" %}
4 | {% endfor %}
5 |
6 |
--------------------------------------------------------------------------------
/lib/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/lib/maec/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/web/analysis/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
--------------------------------------------------------------------------------
/lib/cuckoo/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/web/submission/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
--------------------------------------------------------------------------------
/lib/cuckoo/common/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/lib/cuckoo/core/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/auxiliary/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/machinery/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/processing/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/reporting/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/modules/signatures/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/api/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/common/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/core/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/modules/packages/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/analyzer/windows/modules/auxiliary/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
--------------------------------------------------------------------------------
/data/html/js/functions.js:
--------------------------------------------------------------------------------
1 | function showHide(id) {
2 | var e = document.getElementById(id);
3 |
4 | if(e.style.display == "none")
5 | e.style.display = "block";
6 | else
7 | e.style.display = "none";
8 | }
9 |
--------------------------------------------------------------------------------
/web/templates/error.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block content %}
3 | 
4 | ERROR :-(
{{error}}
5 | {% endblock %}
--------------------------------------------------------------------------------
/web/templates/success.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 | {% block content %}
3 | 
4 | Great! :-)
{{message}}
5 | {% endblock %}
--------------------------------------------------------------------------------
/web/templates/base.html:
--------------------------------------------------------------------------------
1 | {%include "header.html" %}
2 |
3 | {% autoescape on %}
4 | {% block content %}{% endblock %}
5 | {% endautoescape %}
6 |
7 | {%include "footer.html" %}
8 |
--------------------------------------------------------------------------------
/web/templates/analysis/static/_strings.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {% for string in analysis.strings %}
4 |
{{string}}
5 | {% endfor %}
6 |
7 |
--------------------------------------------------------------------------------
/docs/book/src/development/index.rst:
--------------------------------------------------------------------------------
1 | .. Development chapter frontpage
2 |
3 | Development
4 | ===========
5 |
6 | This chapter explains how to write Cuckoo's code and how to contribute.
7 |
8 | .. toctree::
9 |
10 | development_notes
11 | code_style
12 |
--------------------------------------------------------------------------------
/docs/book/src/usage/index.rst:
--------------------------------------------------------------------------------
1 | .. Usage chapter frontpage
2 |
3 | Usage
4 | =====
5 |
6 | This chapter explains how to use Cuckoo.
7 |
8 | .. toctree::
9 |
10 | start
11 | submit
12 | web
13 | api
14 | packages
15 | results
16 | utilities
17 |
--------------------------------------------------------------------------------
/data/yara/index_binary.yar:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | // This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | // See the file 'docs/LICENSE' for copying permission.
4 |
5 | include "signatures/embedded.yar"
6 | include "signatures/shellcodes.yar"
7 | include "signatures/vmdetect.yar"
8 |
--------------------------------------------------------------------------------
/data/html/sections/errors.html:
--------------------------------------------------------------------------------
1 | {% if results.debug.errors %}
2 |
3 |
Errors
4 |
5 |
6 |
7 | {% for error in results.debug.errors %}
8 | - {{error}}
9 | {% endfor %}
10 |
11 |
12 | {% endif %}
--------------------------------------------------------------------------------
/web/dashboard/urls.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file "docs/LICENSE" for copying permission.
4 |
5 | from django.conf.urls import patterns, url
6 |
7 | urlpatterns = patterns("",
8 | url(r"^$", "dashboard.views.index"),
9 | )
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore Cuckoo Database
2 | db/cuckoo.db
3 |
4 | # Ignore Cuckoo logs
5 | log/*.log
6 |
7 | # Ignore Cuckoo analyses
8 | storage/*
9 |
10 | # Ignore Python byte code
11 | *.pyc
12 |
13 | # Ignore certificates
14 | *.pem
15 | *.cert
16 |
17 | # Ignore OS generated files
18 | .DS_Store*
19 | ehthumbs.db
20 | Icon?
21 | Thumbs.db
22 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/common/exceptions.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 |
6 | class CuckooError(Exception):
7 | pass
8 |
9 |
10 | class CuckooPackageError(Exception):
11 | pass
12 |
--------------------------------------------------------------------------------
/web/submission/urls.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | from django.conf.urls import patterns, url
6 |
7 | urlpatterns = patterns("",
8 | url(r"^$", "submission.views.index"),
9 | )
10 |
--------------------------------------------------------------------------------
/docs/book/src/introduction/index.rst:
--------------------------------------------------------------------------------
1 | .. Introduction chapter frontpage
2 |
3 | Introduction
4 | ============
5 |
6 | This is an introductory chapter to Cuckoo Sandbox.
7 | It explains some basic malware analysis concepts, what's Cuckoo and how it can fit
8 | in malware analysis.
9 |
10 | .. toctree::
11 |
12 | sandboxing
13 | what
14 | license
15 |
16 |
--------------------------------------------------------------------------------
/data/html/error.html:
--------------------------------------------------------------------------------
1 | {% extends "base-web.html" %}
2 | {% block content %}
3 |
6 |
7 |
8 | Error: {{error}}
9 |
10 |
11 | {% endblock %}
--------------------------------------------------------------------------------
/data/patchers/patchpe.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 000000000300000004000000ffff0000b8
5 |
6 |
7 | 4d5a90
8 | 5045
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/book/src/customization/index.rst:
--------------------------------------------------------------------------------
1 | .. Customization chapter frontpage
2 |
3 | Customization
4 | =============
5 |
6 | This chapter explains how to customize Cuckoo.
7 | Cuckoo is written in a modular architecture built to be as much customizable it can,
8 | to fit all user's needs.
9 |
10 | .. toctree::
11 |
12 | auxiliary
13 | machinery
14 | packages
15 | processing
16 | signatures
17 | reporting
18 |
--------------------------------------------------------------------------------
/lib/cuckoo/common/defines.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | REG_NONE = 0
6 | REG_SZ = 1
7 | REG_EXPAND_SZ = 2
8 | REG_BINARY = 3
9 | REG_DWORD_LITTLE_ENDIAN = 4
10 | REG_DWORD = 4
11 | REG_DWORD_BIG_ENDIAN = 5
12 |
--------------------------------------------------------------------------------
/tests/colors_tests.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | from nose.tools import assert_equals
6 |
7 | from lib.cuckoo.common.colors import color
8 |
9 |
10 | def test_return_text():
11 | """Test colorized text contains the input string."""
12 | assert "foo" in color("foo", 11)
--------------------------------------------------------------------------------
/modules/machinery/kvm.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | from lib.cuckoo.common.abstracts import LibVirtMachinery
6 |
7 | class KVM(LibVirtMachinery):
8 | """Virtualization layer for KVM based on python-libvirt."""
9 |
10 | # Set KVM connection string.
11 | dsn = "qemu:///system"
12 |
--------------------------------------------------------------------------------
/analyzer/windows/lib/common/rand.py:
--------------------------------------------------------------------------------
1 | import random
2 | import string
3 |
4 | def random_string(minimum, maximum=None):
5 | if maximum is None:
6 | maximum = minimum
7 |
8 | count = random.randint(minimum, maximum)
9 | return "".join(random.choice(string.ascii_letters) for x in xrange(count))
10 |
11 | def random_integer(digits):
12 | start = 10 ** (digits - 1)
13 | end = (10 ** digits) - 1
14 | return random.randint(start, end)
15 |
--------------------------------------------------------------------------------
/data/html/success.html:
--------------------------------------------------------------------------------
1 | {% extends "base-web.html" %}
2 | {% block content %}
3 |
6 |
7 |
8 |
GOOD! File {{submitfile}} was submitted for analysis with Task ID
{{taskid}}.
9 |
10 |
11 | {% endblock %}
--------------------------------------------------------------------------------
/docs/book/src/installation/host/index.rst:
--------------------------------------------------------------------------------
1 | ==================
2 | Preparing the Host
3 | ==================
4 |
5 | Even though it's reported to run on other operating systems too, Cuckoo is
6 | originally supposed to run on a *GNU/Linux* native system.
7 | For the purpose of this documentation, we chose **latest Ubuntu LTS** as
8 | reference system for the commands examples.
9 |
10 | .. toctree::
11 |
12 | requirements
13 | installation
14 | configuration
15 |
--------------------------------------------------------------------------------
/web/templates/analysis/behavior/_tree_process.html:
--------------------------------------------------------------------------------
1 |
2 | {{process.name}} {{process.pid}}
3 | {% if process.children %}
4 |
5 | {% for child in process.children %}
6 | {% with process=child template_name="analysis/behavior/_tree_process.html" %}
7 | {% include template_name %}
8 | {% endwith %}
9 | {% endfor %}
10 |
11 | {% endif %}
12 |
13 |
--------------------------------------------------------------------------------
/data/src/binpackage/execsc.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | int main (int argc, char ** argv) {
6 | int fd;
7 | char buf[2048] = {0};
8 |
9 | if (argc < 2) return 1;
10 |
11 | // read in shellcode from analysis target file
12 | fd = open(argv[1], 0);
13 | read(fd, buf, 2048);
14 | close(fd);
15 |
16 | // jump into shellcode
17 | int (*func)();
18 | func = (int (*)()) buf;
19 | (int)(*func)();
20 |
21 | return 0;
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/web/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
3 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
4 | # See the file 'docs/LICENSE' for copying permission.
5 |
6 | import os
7 | import sys
8 |
9 | if __name__ == "__main__":
10 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings")
11 |
12 | from django.core.management import execute_from_command_line
13 |
14 | execute_from_command_line(sys.argv)
15 |
--------------------------------------------------------------------------------
/conf/auxiliary.conf:
--------------------------------------------------------------------------------
1 | [sniffer]
2 | # Enable or disable the use of an external sniffer (tcpdump) [yes/no].
3 | enabled = yes
4 |
5 | # Specify the path to your local installation of tcpdump. Make sure this
6 | # path is correct.
7 | tcpdump = /usr/sbin/tcpdump
8 |
9 | # Specify the network interface name on which tcpdump should monitor the
10 | # traffic. Make sure the interface is active.
11 | interface = vboxnet0
12 |
13 | # Specify a Berkeley packet filter to pass to tcpdump.
14 | # bpf = not arp
15 |
--------------------------------------------------------------------------------
/docs/book/src/introduction/license.rst:
--------------------------------------------------------------------------------
1 | =======
2 | License
3 | =======
4 |
5 | Cuckoo Sandbox license is shipped with Cuckoo and contained in "LICENSE" file
6 | inside "docs" folder.
7 |
8 | ==========
9 | Disclaimer
10 | ==========
11 |
12 | Cuckoo is distributed as it is, in the hope that it will be useful, but without
13 | any warranty neither the implied merchantability or fitness for a particular
14 | purpose.
15 |
16 | Whatever you do with this tool is uniquely your own responsibility.
17 |
18 |
--------------------------------------------------------------------------------
/data/html/sections/screenshots.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Screenshots
4 |
5 | {% if results.screenshots %}
6 | {% for shot in results.screenshots %}
7 |
8 | {% endfor %}
9 | {% else %}
10 | No screenshots available.
11 | {% endif %}
12 |
13 |
--------------------------------------------------------------------------------
/docs/book/src/installation/index.rst:
--------------------------------------------------------------------------------
1 | .. Installation chapter frontpage
2 |
3 | Installation
4 | ============
5 |
6 | This chapter explains how to install Cuckoo.
7 |
8 | .. note::
9 |
10 | This documentation refers to *Host* as the underlying operating systems on
11 | which you are running Cuckoo (generally being a GNU/Linux distribution) and
12 | to *Guest* as the Windows virtual machine used to run the isolated analysis.
13 |
14 | .. toctree::
15 |
16 | host/index
17 | guest/index
18 | upgrade
19 |
20 |
--------------------------------------------------------------------------------
/docs/book/src/installation/guest/index.rst:
--------------------------------------------------------------------------------
1 | ===================
2 | Preparing the Guest
3 | ===================
4 |
5 | At this point you should have configured Cuckoo host component and you
6 | should have designed and defined the number and the names of the virtual
7 | machines you are going to use for malware execution.
8 |
9 | Now it's time to create such machines and to configure them properly.
10 |
11 | .. toctree::
12 |
13 | creation
14 | requirements
15 | network
16 | agent
17 | saving
18 | cloning
19 |
20 |
--------------------------------------------------------------------------------
/web/analysis/forms.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | from django import forms
6 |
7 | from submission.models import Comment, Tag
8 |
9 | class CommentForm(forms.ModelForm):
10 | class Meta:
11 | model = Comment
12 | fields = ["message"]
13 |
14 | class TagForm(forms.ModelForm):
15 | class Meta:
16 | model = Tag
17 | fields = ["name"]
18 |
--------------------------------------------------------------------------------
/web/templates/analysis/overview/_screenshots.html:
--------------------------------------------------------------------------------
1 |
2 | Screenshots
3 | {% if analysis.shots %}
4 |
5 | {% for shot in analysis.shots %}
6 |

7 | {% endfor %}
8 |
9 | {% else %}
10 | No screenshots available.
11 | {% endif %}
12 |
--------------------------------------------------------------------------------
/web/templates/analysis/overview/_url.html:
--------------------------------------------------------------------------------
1 |
2 | URL Details
3 |
4 |
5 |
6 |
7 | | URL |
8 |
9 |
10 |
11 |
12 | | {{analysis.target.url}} |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/web/templates/analysis/network/_http.html:
--------------------------------------------------------------------------------
1 | HTTP Requests
2 | {% if analysis.network.http %}
3 |
4 |
5 | | URI |
6 | Data |
7 |
8 | {% for request in analysis.network.http %}
9 |
10 | | {{request.uri}} |
11 | {{request.data}} |
12 |
13 | {% endfor %}
14 |
15 | {% else %}
16 | No HTTP requests performed.
17 | {% endif %}
--------------------------------------------------------------------------------
/web/web/urls.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permission.
4 |
5 | from django.conf.urls import patterns, include, url
6 |
7 | urlpatterns = patterns("",
8 | url(r"^$", "dashboard.views.index"),
9 | url(r"^analysis/", include("analysis.urls")),
10 | url(r"^submit/", include("submission.urls")),
11 | url(r"^file/(?P\w+)/(?P\w+)/$", "analysis.views.file"),
12 | url(r"^dashboard/", include("dashboard.urls")),
13 | )
--------------------------------------------------------------------------------
/web/analysis/urls.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file "docs/LICENSE" for copying permission.
4 |
5 | from django.conf.urls import patterns, url
6 |
7 | urlpatterns = patterns("",
8 | url(r"^$", "analysis.views.index"),
9 | url(r"^(?P\d+)/$", "analysis.views.report"),
10 | url(r"^chunk/(?P\d+)/(?P\d+)/(?P\d+)/$", "analysis.views.chunk"),
11 | url(r"^search/$", "analysis.views.search"),
12 | url(r"^pending/$", "analysis.views.pending"),
13 | )
14 |
--------------------------------------------------------------------------------
/utils/clean.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
3 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
4 | # See the file 'docs/LICENSE' for copying permission.
5 |
6 | # I'm sure this can be done easier, but I'm not very familiar with bash
7 | # scripting.. So, here we go. Also, this only works from "./cuckoo" and
8 | # "./cuckoo/utils" directory, but it's still better than before.
9 | if [[ $PWD/ = */utils/ ]]; then
10 | export PWD=${PWD:0:${#PWD}-6}
11 | fi
12 |
13 | rm -rf $PWD/db/ $PWD/log/ $PWD/storage/
14 | find $PWD/ -name '*.pyc' -exec rm {} \;
15 |
--------------------------------------------------------------------------------
/web/templates/analysis/network/_hosts.html:
--------------------------------------------------------------------------------
1 |
2 | Hosts
3 | {% if analysis.network.hosts %}
4 |
5 |
6 | | IP |
7 |
8 | {% for host in analysis.network.hosts %}
9 |
10 | {% if host|slice:":7" != "192.168" %}
11 | | {{host}} |
12 | {% endif %}
13 |
14 | {% endfor %}
15 |
16 | {% else %}
17 | No hosts contacted.
18 | {% endif %}
19 |
20 |
--------------------------------------------------------------------------------
/docs/book/src/installation/guest/cloning.rst:
--------------------------------------------------------------------------------
1 | ===========================
2 | Cloning the Virtual Machine
3 | ===========================
4 |
5 | In case you planned to use more than one virtual machine, there's no need to
6 | repeat all the steps done so far: you can clone it. In this way you'll have
7 | a copy of the original virtualized Windows with all requirements already
8 | installed.
9 |
10 | The new virtual machine will eventually bring along also the settings of the
11 | original one, which is not good. Now you need to proceed repeating the steps
12 | explained in :doc:`network`, :doc:`agent` and :doc:`saving` for this new machine.
13 |
--------------------------------------------------------------------------------
/tests/sniffer_tests.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | # This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | # See the file 'docs/LICENSE' for copying permissi
4 |
5 | from nose.tools import assert_equals
6 | from lib.cuckoo.core.sniffer import Sniffer
7 |
8 |
9 | class TestSniffer:
10 | def test_tcpdump_path_(self):
11 | assert_equals(Sniffer("foo").tcpdump, "foo")
12 |
13 | def test_tcpdump_not_found(self):
14 | assert_equals(False, Sniffer("foo").start())
15 |
16 | def test_interface_not_found(self):
17 | assert_equals(False, Sniffer("foo").start("ethfoo"))
18 |
--------------------------------------------------------------------------------
/web/templates/analysis/network/_dns.html:
--------------------------------------------------------------------------------
1 |
2 | Domains
3 | {% if analysis.network.domains %}
4 |
5 |
6 | | Domain |
7 | IP |
8 |
9 | {% for domain in analysis.network.domains %}
10 |
11 | | {{domain.domain}} |
12 | {{domain.ip}} |
13 |
14 | {% endfor %}
15 |
16 | {% else %}
17 | No domains contacted.
18 | {% endif %}
19 |
20 |
--------------------------------------------------------------------------------
/web/templates/analysis/network/_irc.html:
--------------------------------------------------------------------------------
1 | IRC traffic
2 | {% if analysis.network.irc %}
3 |
4 |
5 | | Command |
6 | Params |
7 | Type |
8 |
9 | {% for irc in analysis.network.irc %}
10 |
11 | | {{irc.command}} |
12 | {{irc.params}} |
13 | {{irc.type}} |
14 |
15 | {% endfor %}
16 |
17 | {% else %}
18 | No IRC requests performed.
19 | {% endif %}
--------------------------------------------------------------------------------
/web/templates/analysis/memory/_malfind.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | | PID |
5 | Process Name |
6 | Start |
7 | Tag |
8 |
9 |
10 |
11 | {% for mal in analysis.memory.malfind.data %}
12 |
13 | | {{mal.process_id}} |
14 | {{mal.process_name}} |
15 | {{mal.vad_start}} |
16 | {{mal.vad_tag}} |
17 |
18 | {% endfor %}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/README:
--------------------------------------------------------------------------------
1 | README
2 |
3 | The documentation for installing, using and customizing Cuckoo Sandbox is
4 | available under different forms and formats.
5 |
6 | Under "docs/book/" you can find the complete Cuckoo Sandbox Book in three
7 | different formats:
8 | * HTML
9 | * PDF
10 | * Text
11 |
12 | Under "docs/books/src" you'll find the Sphinx sources used to build the book.
13 |
14 | Under "epydoc/" you'll find the Python documentation of Cuckoo's libs and apis
15 | generated by Epydoc. This directory contains two sub-directories: "host" and
16 | "guest", containing references for Cuckoo's Host and Guest components
17 | respectively.
18 |
--------------------------------------------------------------------------------
/data/yara/signatures/shellcodes.yar:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2010-2014 Cuckoo Sandbox Developers.
2 | // This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
3 | // See the file 'docs/LICENSE' for copying permission.
4 |
5 | rule shellcode
6 | {
7 | meta:
8 | author = "nex"
9 | description = "Matched shellcode byte patterns"
10 |
11 | strings:
12 | $a = { 64 8b 64 }
13 | $b = { 64 a1 30 }
14 | $c = { 64 8b 15 30 }
15 | $d = { 64 8b 35 30 }
16 | $e = { 55 8b ec 83 c4 }
17 | $f = { 55 8b ec 81 ec }
18 | $g = { 55 8b ec e8 }
19 | $h = { 55 8b ec e9 }
20 | condition:
21 | any of them
22 | }
23 |
--------------------------------------------------------------------------------
/web/templates/analysis/overview/index.html:
--------------------------------------------------------------------------------
1 | {% include "analysis/overview/_info.html" %}
2 |
3 | {% if analysis.info.category == "file" %}
4 | {% include "analysis/overview/_file.html" %}
5 | {% elif analysis.info.category == "url" %}
6 | {% include "analysis/overview/_url.html" %}
7 | {% endif %}
8 |
9 | {% include "analysis/overview/_signatures.html" %}
10 |
11 | {% include "analysis/overview/_screenshots.html" %}
12 |
13 |
14 |
{% include "analysis/network/_hosts.html" %}
15 |
{% include "analysis/network/_dns.html" %}
16 |
17 |
18 | {% include "analysis/overview/_summary.html" %}
19 |
--------------------------------------------------------------------------------
/web/templates/footer.html:
--------------------------------------------------------------------------------
1 |
3 |
8 |
13 |
14 |
15 |
16 |