DC3 Malware Configuration Parser (DC3-MWCP) is a framework for parsing configuration information from malware. The information extracted from malware includes items such as addresses, passwords, filenames, and mutex names.
Other
293
stars
59
forks
source link
Bug: Installation Broken with SetupTools>=70.0.0 on Windows #46
MWCP doesn't work with setuptools>=70.0.0. I have verified that this still works with setuptools==69.5.1. This issue is tracked upstream at https://github.com/pypa/setuptools/issues/4399. If MWCP is updated to use a pyproject.toml for installation, then the setuptools version would be able to be specified and no longer cause opaque issues.
Traceback (most recent call last):
File "\\?\C:\Users\analyst\AppData\Roaming\Python\Python310\Scripts\mwcp-script.py", line 33, in <module>
sys.exit(load_entry_point('mwcp', 'console_scripts', 'mwcp')())
File "\\?\C:\Users\analyst\AppData\Roaming\Python\Python310\Scripts\mwcp-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Python310\lib\importlib\metadata\__init__.py", line 171, in load
module = import_module(match.group('module'))
File "C:\Python310\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "c:\users\analyst\git\mwcp\mwcp\__init__.py", line 9, in <module>
from mwcp.config import _config as config
File "c:\users\analyst\git\mwcp\mwcp\config\__init__.py", line 6, in <module>
import pkg_resources
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3283, in <module>
def _initialize_master_working_set():
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3266, in _call_aside
f(*args, **kwargs)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3295, in _initialize_master_working_set
working_set = _declare_state('object', 'working_set', WorkingSet._build_master())
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 589, in _build_master
ws.require(__requires__)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 926, in require
needed = self.resolve(parse_requirements(requirements))
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 787, in resolve
dist = self._resolve_dist(
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 816, in _resolve_dist
env = Environment(self.entries)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 1014, in __init__
self.scan(search_path)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 1046, in scan
for dist in find_distributions(item):
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2091, in find_on_path
yield from factory(fullpath)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2183, in resolve_egg_link
return next(dist_groups, ())
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2179, in <genexpr>
resolved_paths = (
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2167, in non_empty_lines
for line in _read_utf8_with_fallback(path).splitlines():
NameError: name '_read_utf8_with_fallback' is not defined
Traceback (most recent call last):
File "\\?\C:\Users\analyst\AppData\Roaming\Python\Python310\Scripts\kordesii-script.py", line 33, in <module>
sys.exit(load_entry_point('kordesii', 'console_scripts', 'kordesii')())
File "\\?\C:\Users\analyst\AppData\Roaming\Python\Python310\Scripts\kordesii-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Python310\lib\importlib\metadata\__init__.py", line 171, in load
module = import_module(match.group('module'))
File "C:\Python310\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "c:\users\analyst\git\kordesii\kordesii\__init__.py", line 7, in <module>
from .tester import Tester
File "c:\users\analyst\git\kordesii\kordesii\tester.py", line 17, in <module>
from kordesii import registry
File "c:\users\analyst\git\kordesii\kordesii\registry.py", line 9, in <module>
import pkg_resources
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3283, in <module>
def _initialize_master_working_set():
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3266, in _call_aside
f(*args, **kwargs)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 3295, in _initialize_master_working_set
working_set = _declare_state('object', 'working_set', WorkingSet._build_master())
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 589, in _build_master
ws.require(__requires__)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 926, in require
needed = self.resolve(parse_requirements(requirements))
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 787, in resolve
dist = self._resolve_dist(
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 816, in _resolve_dist
env = Environment(self.entries)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 1014, in __init__
self.scan(search_path)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 1046, in scan
for dist in find_distributions(item):
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2091, in find_on_path
yield from factory(fullpath)
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2183, in resolve_egg_link
return next(dist_groups, ())
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2179, in <genexpr>
resolved_paths = (
File "C:\Users\analyst\AppData\Roaming\Python\Python310\site-packages\pkg_resources\__init__.py", line 2167, in non_empty_lines
for line in _read_utf8_with_fallback(path).splitlines():
NameError: name '_read_utf8_with_fallback' is not defined
MWCP doesn't work with setuptools>=70.0.0. I have verified that this still works with setuptools==69.5.1. This issue is tracked upstream at https://github.com/pypa/setuptools/issues/4399. If MWCP is updated to use a pyproject.toml for installation, then the setuptools version would be able to be specified and no longer cause opaque issues.