MCPcopy
hub / github.com/Pennyw0rth/NetExec / first_run_setup

Function first_run_setup

nxc/first_run.py:10–46  ·  view source on GitHub ↗
(logger=nxc_logger)

Source from the content-addressed store, hash-verified

8
9
10def first_run_setup(logger=nxc_logger):
11 if not exists(NXC_PATH):
12 logger.display("First time use detected")
13 logger.display("Creating home directory structure")
14 mkdir(NXC_PATH)
15 if not exists(TMP_PATH):
16 mkdir(TMP_PATH)
17
18 folders = (
19 "logs",
20 "modules",
21 "workspaces",
22 "obfuscated_scripts",
23 "screenshots",
24 )
25 for folder in folders:
26 if not exists(path_join(NXC_PATH, folder)):
27 logger.display(f"Creating missing folder {folder}")
28 mkdir(path_join(NXC_PATH, folder))
29
30 log_subfolders = (
31 "sam",
32 "lsa",
33 "ntds",
34 "dpapi",
35 )
36 for subfolder in log_subfolders:
37 if not exists(path_join(NXC_PATH, f"logs/{subfolder}")):
38 logger.display(f"Creating missing folder logs/{subfolder}")
39 mkdir(path_join(NXC_PATH, f"logs/{subfolder}"))
40
41 initialize_db()
42
43 if not exists(CONFIG_PATH):
44 logger.display("Copying default configuration file")
45 default_path = path_join(DATA_PATH, "nxc.conf")
46 shutil.copy(default_path, NXC_PATH)

Callers 3

db_setupFunction · 0.90
mainFunction · 0.90
config.pyFile · 0.90

Calls 2

initialize_dbFunction · 0.90
displayMethod · 0.80

Tested by 1

db_setupFunction · 0.72