forked from p34709852/monkey
Merge pull request #280 from VakarisZ/monkey_dir
New directory for monkey and it's files
This commit is contained in:
commit
9c0f4efce5
|
@ -161,6 +161,10 @@ class Configuration(object):
|
||||||
|
|
||||||
keep_tunnel_open_time = 60
|
keep_tunnel_open_time = 60
|
||||||
|
|
||||||
|
# Monkey files directories
|
||||||
|
monkey_dir_linux = '/tmp/monkey_dir'
|
||||||
|
monkey_dir_windows = r'C:\Windows\Temp\monkey_dir'
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# scanners config
|
# scanners config
|
||||||
###########################
|
###########################
|
||||||
|
|
|
@ -76,6 +76,9 @@ class InfectionMonkey(object):
|
||||||
LOG.info("Monkey couldn't find server. Going down.")
|
LOG.info("Monkey couldn't find server. Going down.")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Create a dir for monkey files if there isn't one
|
||||||
|
utils.create_monkey_dir()
|
||||||
|
|
||||||
if WindowsUpgrader.should_upgrade():
|
if WindowsUpgrader.should_upgrade():
|
||||||
self._upgrading_to_64 = True
|
self._upgrading_to_64 = True
|
||||||
self._singleton.unlock()
|
self._singleton.unlock()
|
||||||
|
@ -215,6 +218,7 @@ class InfectionMonkey(object):
|
||||||
self.send_log()
|
self.send_log()
|
||||||
self._singleton.unlock()
|
self._singleton.unlock()
|
||||||
|
|
||||||
|
utils.remove_monkey_dir()
|
||||||
InfectionMonkey.self_delete()
|
InfectionMonkey.self_delete()
|
||||||
LOG.info("Monkey is shutting down")
|
LOG.info("Monkey is shutting down")
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import shutil
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
from infection_monkey.config import WormConfiguration
|
from infection_monkey.config import WormConfiguration
|
||||||
|
@ -35,3 +36,25 @@ def utf_to_ascii(string):
|
||||||
# Converts utf string to ascii. Safe to use even if string is already ascii.
|
# Converts utf string to ascii. Safe to use even if string is already ascii.
|
||||||
udata = string.decode("utf-8")
|
udata = string.decode("utf-8")
|
||||||
return udata.encode("ascii", "ignore")
|
return udata.encode("ascii", "ignore")
|
||||||
|
|
||||||
|
|
||||||
|
def create_monkey_dir():
|
||||||
|
"""
|
||||||
|
Creates directory for monkey and related files
|
||||||
|
"""
|
||||||
|
if not os.path.exists(get_monkey_dir_path()):
|
||||||
|
os.mkdir(get_monkey_dir_path())
|
||||||
|
|
||||||
|
|
||||||
|
def remove_monkey_dir():
|
||||||
|
"""
|
||||||
|
Removes monkey's root directory
|
||||||
|
"""
|
||||||
|
shutil.rmtree(get_monkey_dir_path(), ignore_errors=True)
|
||||||
|
|
||||||
|
|
||||||
|
def get_monkey_dir_path():
|
||||||
|
if is_windows_os():
|
||||||
|
return WormConfiguration.monkey_dir_windows
|
||||||
|
else:
|
||||||
|
return WormConfiguration.monkey_dir_linux
|
||||||
|
|
|
@ -423,7 +423,19 @@ SCHEMA = {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"default": 60,
|
"default": 60,
|
||||||
"description": "Time to keep tunnel open before going down after last exploit (in seconds)"
|
"description": "Time to keep tunnel open before going down after last exploit (in seconds)"
|
||||||
}
|
},
|
||||||
|
"monkey_dir_windows": {
|
||||||
|
"title": "Monkey's windows directory",
|
||||||
|
"type": "string",
|
||||||
|
"default": r"C:\Windows\temp\monkey_dir",
|
||||||
|
"description": "Directory containing all monkey files on windows"
|
||||||
|
},
|
||||||
|
"monkey_dir_linux": {
|
||||||
|
"title": "Monkey's linux directory",
|
||||||
|
"type": "string",
|
||||||
|
"default": "/tmp/monkey_dir",
|
||||||
|
"description": "Directory containing all monkey files on linux"
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"classes": {
|
"classes": {
|
||||||
|
|
Loading…
Reference in New Issue