-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
54 lines (40 loc) · 2.51 KB
/
config.py
File metadata and controls
54 lines (40 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import configparser
import os
def validate(option, section, key):
if option == '--INVALID--':
raise configparser.Error('Found default invalid option in \'{}\' key in \'{}\' section!'.format(key, section))
return option
APP_DIR = os.path.dirname(os.path.realpath(__file__))
config_file = os.path.join(APP_DIR, 'malware.conf')
config = configparser.ConfigParser()
if os.path.isfile(config_file) is False:
raise OSError('Missing file: \'{0}\'! Please copy \'{1}\' to \'{0}\' and edit necessary values.'.format(config_file, os.path.join(APP_DIR, 'defaults.conf')))
config.read(config_file)
SECRET_KEY = validate(config.get('Flask Setup', 'Secret Key'), 'Flask Setup', 'Secret Key')
UPLOAD_FOLDER = validate(config.get('Flask Setup', 'Upload Folder'), 'Flask Setup', 'Upload Folder')
TRANSFER_FOLDER = validate(config.get('Flask Setup', 'Transfer Folder'), 'Flask Setup', 'Transfer Folder')
SAMPLES_ZIP = validate(config.get('Flask Setup', 'Samples File'), 'Flask Setup', 'Samples File')
ALLOW_ALL = validate(config.getboolean('Flask Setup', 'Allow All Extensions'), 'Flask Setup', 'Allow All Extensions')
ALLOWED_EXTENSIONS = set(['so', 'exe', 'dll', 'docx', 'pdf'])
AUTOMATION_IP = validate(config.get('Automation Server', 'IP'), 'Automation Server', 'IP')
VT = {}
VT['API'] = validate(config.get('VirusTotal', 'API Token', fallback=None), 'VirusTotal', 'API Token')
VT['isPro'] = validate(config.getboolean('VirusTotal', 'is Pro'), 'VirusTotal', 'is Pro')
if VT.get('API') == None or VT.get('API') == '':
print('Missing VirusTotal API Key!', flush=True)
VT = None
HA = {}
HA['SECRET'] = validate(config.get('HybridAnalysis', 'Secret Token', fallback=None), 'HybridAnalysis', 'Secret Token')
HA['API'] = validate(config.get('HybridAnalysis', 'API Token', fallback=None), 'HybridAnalysis', 'API Token')
HA['level'] = validate(config.get('HybridAnalysis', 'Level'), 'HybridAnalysis', 'Level')
if HA.get('SECRET') == None or HA.get('SECRET') == '':
print('Missing HybridAnalysis Secret Key!', flush=True)
HA = None
elif HA.get('API') == None or HA.get('API') == '':
print('Missing HybridAnalysis API Key!', flush=True)
HA = None
DUO = {}
DUO['ikey'] = validate(config.get('DUO Authentication', 'IKey'), 'DUO Authentication', 'IKey')
DUO['skey'] = validate(config.get('DUO Authentication', 'SKey'), 'DUO Authentication', 'SKey')
DUO['akey'] = validate(config.get('DUO Authentication', 'AKey'), 'DUO Authentication', 'AKey')
DUO['host'] = validate(config.get('DUO Authentication', 'Host'), 'DUO Authentication', 'Host')