mapWOC logo

Inhalt

Vorheriges Thema

mapWOC-Cluster aufbauen

Nächstes Thema

mapWOC-Kommandozeilenwerkzeug

Diese Seite

mapWOC-Konfigurationsdateien

In diesem Kapitel werden die wichtigsten Konfigurationsdateien von mapWOC erläutert.

mapwoc-master

Der mapwoc-master steuert eine oder mehrere mapwoc-nodes und hört auf einer Adresse auf Befehle und Anfragen (z.B. von der mapwocgui).

/etc/mapwoc/mapwoc-master.config ist die Konfigurationsdatei für den mapwoc-master Befehl.

Hier ein Beispiel für so eine Konfigurationsdatei:

[config]
name=Master
address=localhost
node_config_dir=/var/lib/mapwoc/master/nodes/
credentials_path=/var/lib/mapwoc/master/key/master_key
ctrl_port=8558
work_dir=/var/lib/mapwoc/master/work/
db=/var/lib/mapwoc/db
redirector_port=8228
tolerance=101
#sslconfig=/var/lib/mapwoc/master/credentials

[notifications]
# Configuration of Mail notifications.

# Server used to send Mails with
smtp_server=mail.domain
smtp_port=25

# Mail address to send administrative notifications to
admin_mail=admin.mapwoc-demo@domain

# Address used by mapWOC as sender
sender_mail=MapWOC Demo <demo@mapWOC>

Alle Werte aus der Konfigurationsdatei lassen sich auch als Option über den Befehl mapwoc-master setzen. Hier ein Überblick aller verfügbarer Optionen (Auszug aus der Manpage von mapwoc-master, siehe auch mapwoc-master --help):

-v,--verbose
       Be verbose and chatty on stdout and logfile.

-q,--quiet
       Be quiet, only log warnings and errors.

--redirector_port
       Port to talk to when talking to redirector.

--ctrl_port
       Port to listen on for control commands.

--name Name of the master.

--address
       Interface to listen on.

--node_config_dir
       Directory in which to look for node config files.

--credentials_path
       Path to credentials to use when syncing results
       with nodes.

--work_dir
       Directory to place working data.

--db   Path to the database.

--tolerance
       Severity threshold (irrevertable).

--sslconfig
       Path to directory containing the {ca,cert,key}.pem files
       used for secured communication (talk plain text if not
       given).

--config
       Path to configuration file to read configuration from
       (or write to if called with --generate-config).

--generate-config
       Generate a configuration file.

-h,--help
       Show help and exit.

--version
       Show version and exit.

mapwoc-node

Die mapwoc-node hört auf Befehle des mapwoc-masters. Typischerweise resultieren diese Befehle im Starten und Stoppen von KVM-Prozessen und Analysieren des Netzwerkverkehrs von den Honey-Clients.

/etc/mapwoc/mapwoc-node.config ist die Konfigurationsdatei für den mapwoc-node Befehl.

Hier ein Beispiel für so eine Konfigurationsdatei:

[config]
ctrl_port=18158
ctrl_interface=localhost
hcsdir=/var/lib/mapwoc/node/hcs
result_dir=/var/lib/mapwoc/node/results
work_dir=/var/lib/mapwoc/node/work
num_analyser=4
max_gb_ram=4
analyser=/usr/bin/mapwocanalyse.pl
native_gate_script=/usr/lib/mapwoc/dumper_native_hc.sh
proxy_script=/usr/lib/mapwoc/mapwoc_redirect_script

#Port Range the node may use to start https proxies
proxy_ports=10000-11000

#sslconfig=/var/lib/mapwoc/node/credentials

Alle Werte aus der Konfigurationsdatei lassen sich auch als Option über den Befehl mapwoc-node setzen. Hier ein Überblick aller verfügbarer Optionen (Auszug aus der Manpage von mapwoc-node, siehe auch mapwoc-node --help):

-v,--verbose
       Be verbose and chatty on stdout and logfile.

-q,--quiet
       Be quiet, only log warnings and errors.

--ctrl_port
       Port to listen on for control commands.

--hcsdir
       Directory from which to read HC files.

--work_dir
       Directory in  which  to  work  and  store  temporary
       files.

--result_dir
       Directory in which to place results that are fetched
       from master.

--num_analyser
       Number of analyser processes to start in parallel.

--max_gb_ram
       Number of analyser processes to start in parallel.

--analyser
       The program to execute for analysis.

--analyser_conf
       Path to configuration file for analyser.

--native_gate_script
       The program to execute for control of native HCs.

--proxy_script
       Path to script for mitmproxy.

--proxy_ports
       The range of ports the node may use for ssl proxies

--sslconfig
       Path to credentials for secured communication.

--config
       Path to configuration file to read configuration from
       (or write to if called with --generate-config).

--generate-config
       Generate a configuration file.

-h,--help
       Show help and exit.

--version
       Show version and exit.

mapwoc-redirector

Der mapwoc-redirector startet zwei kleine Server. Auf dem einem Server werden HTTP-Anfragen mit HTTP-Redirects (Weiterleitungen) auf URLs einer Liste beantwortet. Der andere Server hört auf Kontrollbefehle, z.B. das Laden einer neuen URL-Liste.

/etc/mapwoc/mapwoc-redirector.config ist die Konfigurationsdatei für den mapwoc-redirector Befehl.

Hier ein Beispiel für so eine Konfigurationsdatei:

[config]
ctrl_interface=localhost
ctrl_port=8228
redirector_interface=localhost
redirector_port=8123
#sslconfig=/var/lib/mapwoc/redirector/credentials

Alle Werte aus der Konfigurationsdatei lassen sich auch als Option über den Befehl mapwoc-redirector setzen. Hier ein Überblick aller verfügbarer Optionen (Auszug aus der Manpage von mapwoc-redirector, siehe auch mapwoc-redirector --help):

-v,--verbose
       Be verbose and chatty on stdout and logfile.

-q,--quiet
       Be quiet, only log warnings and errors.

--urllist
       Path to file containing URLs.

-p,--redirector_port
       Port on which to listen for http requests

--redirector_interface
       Interface on which to listen for http requests.

--ctrl_interface
       Interface on which to listen for commands.

-c,--ctrl_port
       Port on which to listen for commands.

--sslconfig
       Path to credentials for secured communication.

--config
       Path to configuration file to read configuration from
       (or write to if called with --generate-config).

--generate-config
       Generate a configuration file.

-h,--help
       Show help and exit.

--version
       Show version and exit.

Honey-Clients

Honey-Client-Systeme (HCS) werden über hcs-Konfigurationsdateien der jeweiligen mapWOC-Node bekannt gemacht.

Das hcsdir – das Verzeichnis mit den Konfigurationsdateien – wird in der mapwoc-node.config festgelegt (Voreinstellung: /var/lib/mapwoc/node/hcs).

Hier ein Beispiel für eine hc-Datei winxp_ie6_demo.hc:

[hc]
name=WindowsXP Demo Image IE6
description=Lots of other software on it
hcsid=winxp_ie6_demo
max_parallel=-1
controllable=true
active_browser=cpe://a:microsoft:ie6
installed_software=cpe:o:microsoft:etc

[control]
type=kvm
boots=true
image_master=/usr/share/mapwoc/winxp-master.img
image_file=/usr/share/mapwoc/images/winxp_ie6_demo.ovl
image_memory=128

[network]
own_ip=10.0.0.4
dns_ip=10.0.0.3
proxy_ip=10.0.0.2
gateway_ip=10.0.0.1
homepage=http://10.0.0.1/winxp_ie6_demo

Hier ein Überblick der verfügbaren Parameter aus der Konfigurationsdatei eines Honey-Clients (HCs):

[hc]
name=
    Name des HCs.
description=
    Beschreibung des HCs.
hcsid=
    ID des HCs. Muss mit dem Dateinamen der HC-Konfigurationsdatei
    übereinstimmen.
max_parallel=
    Gibt an, wieviele Instanzen von diesem HC parallel gestartet
    werden können. Der Wert "-1" (= unendlich) wird für virtuelle
    HCs verwendet, "1" für native Geräte.
controllable=
    Gibt an, ob der HC von mapWOC steuerbar ist. Bei virtuellen
    HCs wird "true" verwendet, bei nativen HCs "false.
active_browser=
    Angabe des aktiven Browsers (in CPE-Form).
installed_software=
    Angabe der installierten Software (in CPE-Form). Mehrere
    Einträge durch ";" trennen.

[control]
type=
    Angabe des HC-Steuerungstyps. Mögliche Werte:
    - 'kvm' (KVM-Image)
    - 'kvm-mac' (KVM-Image mit MacOSX, erfordert spezielle
      KVM-Startparameter)
    - 'native' (nativer HC, wird manuell gesteuert)
boots=
    Diese Variable muss "true" sein, wenn sich das KVM-Image im
    Ruhezustand ("Supspend-to-disk") befindet. Andernfalls kann der
    'boots'-Parameter weggelassen werden.
image_master=
    Angabe des KVM-Master-Images (absoluter Pfad).
image_file=
    Angabe des KVM-Overlay-Images (absoluter Pfad).
image_snapshot=
    Angabe der KVM-Live-Migration-Snapshot-Datei (absoluter Pfad),
    sofern vorhanden.
image_memory=
    Angabe des durch den HC benötigten Arbeitsspeicher (in MB).
kvm_kernel=
    Angabe eines speziellen KVM-Kernel Parameters zum Starten.  Für
    KVM-MacOSX-Images wird z.B. benötigt:
    "kvm_kernel=/root/kvm-x/boot-osx-r327".  (Details siehe manpage
    von KVM, Option '-kernel').
interface=
    Bei Nutzung eines nativen HCs muss hier das VLAN-Interface
    angegeben werden, z.B.: 'vlan101'.

[network]
own_ip=
    IP-Adresse des HCs.
dns_ip=
    DNS-Adresse des HCs
proxy_ip=
    Proxy-Adresse des HCs
gateway_ip=
    Gateway-Adresse des HCs
homepage=
    Startseite des Browsers (Redirector mit hcsid), z.B.:
    'http://10.0.0.1/winxp_ie6_demo'
client_mac=
    MAC-Adresses des nativen HCs
wlan_ssid=
    SSID des zu verbindenen WLAN-Netzes für einen nativen HC.

[keyboard-shortcuts]
homepage=
    Optionaler Tastatur-Kurzbefehl, um die Browser-Startseite
    aufzurufen.  Voreingestellt ist bereits 'alt-home' (=Alt+Pos1).
    Anpassungen nur für bestimmte Browser/Betriebssysteme nötig.
    Z.B. für Safari unter MacOSX: '0xDB-shift-h' (=CMD+Shift+h)

Schweregrade

Die vorbelegten Schweregrad-Werte der Ergebnis-Typen lassen sich in der Datei /etc/mapwoc/severities.conf ändern.

Die Vorbelegung sieht wie folgt aus:

[severities]
RegularTraffic=000
UnknownProtocol=001
GraphicsFound=50
302=60
204=99
404=100
JSAnalyser=100
PDF=199
Flash=200
MSOfficeDocument=210
MACExecutable=211
GoogleAnalyticsParser=500
WindowsExecutable=500
MissingTraffic=600
VirusFound=900
unknown=999

Es können nur die Werte, nicht die Namen der Ergebnis-Typen, verändert werden. Nach Änderung muss der mapwoc-master neu gestartet werden. Die neue Belegung gilt dann nur für alle zukünftigen Scans; nicht rückwirkend für vergangene Scan.

Weitere relevante mapWOC-Dateien

Die nachfolgend genannten Pfade zu den Dateien sind Voreinstellungen von mapWOC. Änderungen der Pfade und Dateinamen sind über die zugehörigen Konfigurationsdateien von Master bzw. Node möglich. Die Angaben [Master] und [Node] sollen bei der Unterscheidung helfen, ob es sich um eine Datei des Masters oder der Node handelt.

  • [Master]: Die SQLite-Datenbank liegt unter

    /var/lib/mapwoc/db

    Die Datenbank existiert nur auf dem Master.

  • [Node]: Das Arbeitsverzeichnis der Node liegt unter:

    /var/lib/mapwoc/node/work/

    Hier werden die TCP-Dumps (im pcap-Format) von jedem KVM- und Proxy-Prozess für die Analyse abgelegt.

  • [Node]: Das Analysescript liegt auf jeder Node unter:

    /usr/bin/mapwocanalyse.pl

    Dieses Skript analysiert Netzwerkverkehr aus den vorliegenden Dump-Dateien. Dabei werden gesuchte Dateien extrahiert (sofern vorhanden) und durch einen konfigurierten Virenscanner untersucht.

  • [Node]: Die Anti-Virenscanner-Konfiguration werden in folgender Datei vorgenommen:

    /etc/mapwoc/antivir.cfg
  • [Node]: Analysierte Ergebnisse eines jeden URL-Besuchs werden von der Node hier als tar.gz-Archiv abgelegt:

    /var/lib/mapwoc/node/results/
  • [Master]: Der Master holt sich die bereitgestellten Ergebnisse von allen Nodes ab und legt sie alle gemeinsam in diesem Master-Ergebnis-Verzeichnis ab:

    /var/lib/mapwoc/master/